Làm cách nào tôi có thể xác định số trang của odt, doc, docx và các tài liệu văn phòng khác từ CLI?


13

Thật dễ dàng để tìm số trang của tài liệu PDF từ dòng lệnh:

pdfinfo sample.pdf | grep ^Pages:

... nhưng tôi không thể tìm thấy một phương pháp tương tự cho odtcác tệp và các tài liệu văn phòng khác.

Có cách nào để lập trình xác định số lượng trang của các tài liệu này không?

Câu trả lời:


10

Cảm ơn tất cả các câu trả lời, tất cả mọi người. Với sự giúp đỡ của bạn, tôi đã có thể biên dịch một danh sách các lệnh có thể trích xuất số lượng trang từ hầu hết các tài liệu văn phòng có liên quan:

DOCX / PPTX

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

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

Lưu ý : unzipcó thể được cài đặt với 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]*'

Lưu ý : wvSummary(phân biệt chữ hoa chữ thường!) Là một phần của wvgói. Cài đặt nó với 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]*'

Lưu ý: pdfinfolà một phần poppler-utilsvà nên được cài đặt sẵn trên Ubuntu.

DJVU

djvused -e "n" sample.djvu

Lưu ý: djvusedlà một phần của djvulibre-bingói và có thể được cài đặt với sudo apt-get install djvulibre-bin.


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

Xem ở đây để tham khảo thêm .


Cảm ơn vi đương link! đó là một bài đọc rất thú vị Tôi đã chấp nhận câu trả lời của bạn nhưng tôi đã tìm thấy một vài lệnh tiện lợi khác cho các tài liệu văn phòng khác và biên soạn chúng trong câu trả lời của riêng tôi. Tôi hy vọng bạn không phiền.
Glutimate

5

Tôi không tìm cách trích xuất odtthông tin tệp như pdfinfovậy, nhưng bạn có thể tạo tập lệnh nhanh để sử dụng pdfinfovới các odttệp, chuyển đổi từng tệp odt thành PDF và sau đó xóa tệp đã chuyển đổi nếu bạn không sử dụng tệp đó:

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

Hy vọng rằng điều này đã giúp bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.