Wie kann ich die Seitenzahl von odt-, doc-, docx- und anderen Office-Dokumenten über die CLI ermitteln?

13

Die Seitenzahl eines PDF-Dokuments können Sie ganz einfach über die Befehlszeile ermitteln:

pdfinfo sample.pdf | grep ^Pages:

... aber ich konnte keine ähnliche Methode für odtDateien und andere Office-Dokumente finden.

Gibt es eine Möglichkeit, die Seitenzahl dieser Dokumente programmgesteuert zu bestimmen?

Glutanimate
quelle

Antworten:

10

Vielen Dank für alle Antworten, alle. Mit Ihrer Hilfe konnte ich eine Liste von Befehlen zusammenstellen, mit denen die Seitenzahl aus fast allen relevanten Office-Dokumenten extrahiert werden kann:

DOCX / PPTX

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

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

Hinweis : unzipKann mit installiert werden 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]*'

Hinweis : wvSummary(Groß- und Kleinschreibung beachten !) Ist Bestandteil des wvPakets. Installieren Sie es mit 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]*'

Hinweis: pdfinfoist Teil von poppler-utilsund sollte auf Ubuntu vorinstalliert sein.

DJVU

djvused -e "n" sample.djvu

Hinweis: djvusedist Teil des djvulibre-binPakets und kann mit installiert werden sudo apt-get install djvulibre-bin.

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

Weitere Informationen finden Sie hier .

Nykakin
quelle
Danke für den Link! Das war eine sehr interessante Lektüre. Ich hätte Ihre Antwort akzeptiert, aber ich habe ein paar andere nützliche Befehle für andere Office-Dokumente gefunden und sie in einer eigenen Antwort zusammengefasst. Ich hoffe es macht dir nichts aus.
Glutanimate
5

Ich habe keine Möglichkeit gefunden, odtDateiinformationen wie pdfinfofolgt zu extrahieren , aber Sie können ein schnelles Skript zur Verwendung pdfinfomit den odtDateien erstellen, jede einzelne ODT-Datei in PDF konvertieren und die konvertierte Datei später löschen, wenn Sie sie nicht verwenden möchten:

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

Ich hoffe, das hat dir geholfen.

Löwe
quelle