Як я можу визначити кількість сторінок odt, doc, docx та інших офісних документів із CLI?


13

У командному рядку легко знайти кількість сторінок PDF-документа:

pdfinfo sample.pdf | grep ^Pages:

... але мені не вдалося знайти подібний метод для odtфайлів та інших офісних документів.

Чи існує спосіб програмного визначення кількості сторінок цих документів?

Відповіді:


10

Дякую за всі відповіді, всі. З вашою допомогою я зміг скласти список команд, які можуть витягувати кількість сторінок практично з усіх відповідних офісних документів:

DOCX / PPTX

unzip -p 'sample.docx' docProps/app.xml | grep -oP '(?<=\<Pages\>).*(?=\</Pages\>)'

unzip -p 'sample.pptx' docProps/app.xml | grep -oP '(?<=\<Slides\>).*(?=\</Slides\>)'

Примітка : unzipможна встановити за допомогою sudo apt-get install unzip.

DOC / PPT

wvSummary sample.doc | grep -oP '(?<=of Pages = )[ A-Za-z0-9]*'

wvSummary sample.ppt | grep -oP '(?<=of Slides = )[ A-Za-z0-9]*'

Примітка : wvSummary(залежно від регістру!) Є частиною wvпакету. Встановіть його за допомогою sudo apt-get install wv.

ODT

unzip -p sample.odt meta.xml | grep -oP '(?<=page-count=")[ A-Za-z0-9]*'

PDF

pdfinfo sample.pdf | grep -oP '(?<=Pages:          )[ A-Za-z0-9]*'

Примітка: pdfinfoє частиною poppler-utilsта має бути попередньо встановлено на Ubuntu.

DJVU

djvused -e "n" sample.djvu

Примітка: djvusedє частиною djvulibre-binпакету і може бути встановлений разом із sudo apt-get install djvulibre-bin.


6
unzip -p document.odt meta.xml | grep -o 'page-count="[0-9]*"'

Дивіться тут для отримання додаткової довідки .


Дякую за посилання! це було дуже цікаве прочитання. Я б прийняв вашу відповідь, але знайшов кілька чудових команд для інших офісних документів і склав їх у відповідь власноруч. Сподіваюся, ви не заперечуєте.
Glutanimate

5

Я не знайшов способу витягнути odtінформацію про файл так pdfinfoсамо, але ви можете створити швидкий скрипт для використання pdfinfoз odtфайлами, перетворивши кожен невідкритий файл у PDF та пізніше видаливши перетворений файл, якщо ви не збираєтесь його використовувати:

libreoffice --headless --invisible --convert-to pdf sample.odt
pdfinfo sample.pdf | grep ^Pages:
rm sample.pdf

Сподіваюся, що це вам допомогло.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.