Спасибо за все ответы, всем. С вашей помощью мне удалось составить список команд, которые могут извлечь количество страниц практически из всех соответствующих офисных документов:
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
.
Я не нашел способа извлечь
odt
информацию о файле, как этоpdfinfo
делает, но вы можете создать быстрый скрипт для использованияpdfinfo
сodt
файлами, конвертируя каждый файл odt в PDF и позже удаляя преобразованный файл, если вы не собираетесь его использовать:Надеюсь, что это помогло вам.
источник