CLIからodt、doc、docx、およびその他のofficeドキュメントのページ数を確認するにはどうすればよいですか?


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]*'

注:pdfinfopoppler-utilsUbuntuの一部であり、Ubuntuにプリインストールされています。

DJVU

djvused -e "n" sample.djvu

注:djvuseddjvulibre-binパッケージの一部であり、とともにインストールできますsudo apt-get install djvulibre-bin


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

詳細については、こちらをご覧ください


リンクありがとうございます!それは非常に興味深い読み物でした。私はあなたの答えを受け入れたでしょうが、私は他のオフィス文書のためのいくつかの他の気の利いたコマンドを見つけ、私自身の答えにまとめました。気にしないでください。
グルタニメート

5

私は抽出する方法で見つけることができませんでしたodtとして、ファイル情報をpdfinfo行いますが、しかし、あなたが使用する高速なスクリプトを作成することができますpdfinfoodt、ファイル、PDFに各ODTファイルを変換し、あなたがそれを使用しない場合は、後で変換されたファイルを削除します:

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

これがあなたのお役に立てば幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.