Câu trả lời:
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 ý : unzip
có 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 wv
gó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]*'
pdfinfo sample.pdf | grep -oP '(?<=Pages: )[ A-Za-z0-9]*'
Lưu ý: pdfinfo
là một phần poppler-utils
và nên được cài đặt sẵn trên Ubuntu.
DJVU
djvused -e "n" sample.djvu
Lưu ý: djvused
là một phần của djvulibre-bin
gói và có thể được cài đặt với sudo apt-get install djvulibre-bin
.
unzip -p document.odt meta.xml | grep -o 'page-count="[0-9]*"'
Tôi không tìm cách trích xuất odt
thông tin tệp như pdfinfo
vậy, nhưng bạn có thể tạo tập lệnh nhanh để sử dụng pdfinfo
với các odt
tệ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.