Come posso determinare il conteggio delle pagine di odt, doc, docx e altri documenti dell'ufficio dalla CLI?


13

È facile trovare il conteggio delle pagine di un documento PDF dalla riga di comando:

pdfinfo sample.pdf | grep ^Pages:

... ma non sono stato in grado di trovare un metodo simile per odtfile e altri documenti di Office.

C'è un modo per determinare a livello di codice il conteggio delle pagine di questi documenti?

Risposte:


10

Grazie per tutte le risposte, a tutti. Con il tuo aiuto sono stato in grado di compilare un elenco di comandi in grado di estrarre il conteggio delle pagine da quasi tutti i documenti di Office pertinenti:

DOCX / PPTX

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

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

Nota : unzippuò essere installato con 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]*'

Nota : wvSummary(con distinzione tra maiuscole e minuscole!) Fa parte del wvpacchetto. Installalo con 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]*'

Nota: pdfinfofa parte di poppler-utilse dovrebbe essere preinstallato su Ubuntu.

DJVU

djvused -e "n" sample.djvu

Nota: djvusedfa parte del djvulibre-binpacchetto e può essere installato con sudo apt-get install djvulibre-bin.


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

Vedi qui per ulteriori riferimenti .


Grazie per il link! è stata una lettura molto interessante. Avrei accettato la tua risposta ma ho trovato alcuni altri comandi intelligenti per altri documenti dell'ufficio e li ho compilati in una mia risposta. Spero non ti dispiaccia.
Glutanimate,

5

Non ho trovato il modo di estrarre odtle informazioni sui file come pdfinfofa, ma è possibile creare uno script veloce da utilizzare pdfinfocon i odtfile, convertendo ogni file odt in PDF e successivamente eliminando il file convertito se non si intende utilizzarlo:

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

Spero che questo ti abbia aiutato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.