ฉันจะกำหนดจำนวนหน้าของ odt, doc, docx และเอกสาร office อื่น ๆ จาก CLI ได้อย่างไร


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

หมายเหตุ: pdfinfoเป็นส่วนหนึ่งpoppler-utilsและควรติดตั้งไว้ล่วงหน้าบน Ubuntu

DJVU

djvused -e "n" sample.djvu

หมายเหตุ: djvusedเป็นส่วนหนึ่งของแพคเกจและอาจจะมีการติดตั้งด้วยdjvulibre-binsudo apt-get install djvulibre-bin


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

ดูที่นี่สำหรับการอ้างอิงมากขึ้น


ขอบคุณสำหรับลิงค์! นั่นคือการอ่านที่น่าสนใจมาก ฉันยอมรับคำตอบของคุณแล้ว แต่ฉันพบคำสั่งที่ดีอื่น ๆ สำหรับเอกสารออฟฟิศอื่นและรวบรวมคำตอบของฉันเอง ฉันหวังว่าคุณจะไม่รังเกียจ
Glutanimate

5

ฉันไม่พบวิธีการแยกodtข้อมูลไฟล์เหมือนpdfinfoแต่คุณสามารถสร้างสคริปต์อย่างรวดเร็วเพื่อใช้pdfinfoกับodtไฟล์แปลงไฟล์ odt แต่ละไฟล์เป็น PDF และลบไฟล์ที่แปลงแล้วในภายหลังหากคุณไม่ต้องการใช้:

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.