Легко найти количество страниц PDF-документа из командной строки:
pdfinfo sample.pdf | grep ^Pages:
... но мне не удалось найти аналогичный метод для файлов odt
и других офисные документы.
Есть ли способ программно определить количество страниц этих документов?
unzip -p document.odt meta.xml | grep -o 'page-count="[0-9]*"'
Я не нашел способа извлечь информацию из файла odt
, как это делает pdfinfo
, но вы можете создать быстрый скрипт для использования pdfinfo
с файлами odt
, конвертируя каждый файл odt в PDF и более поздние версии. удаление преобразованного файла, если вы не собираетесь его использовать:
libreoffice --headless --invisible --convert-to pdf sample.odt
pdfinfo sample.pdf | grep ^Pages:
rm sample.pdf
Надеюсь, что это вам помогло.
DOCX / PPTX
unzip -p 'sample.docx' docProps/app.xml | grep -oP '(?<=\<Pages\>).*(?=\</Pages\>)'
unzip -p 'sample.pptx' docProps/app.xml | grep -oP '(?<=\<Slides\>).*(?=\</Slides\>)'
[ 1115] Примечание : 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]*'
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
.