Làm cách nào để đếm số trang trong nhiều tệp PDF?


12

Tôi vừa nhận được một cuốn sách giáo khoa pdf bao gồm khoảng 20 pdf riêng biệt (theo chương) với các tên thông thường. Có cách nào để đếm các trang trong cuốn sách không mở từng tệp (hoặc đi qua các thuộc tính) không?

[giải pháp có thể dành cho Windows hoặc Ubuntu]


Bạn có Adobe Acrobat không?
wizlog

Bạn có muốn số trang cho mỗi tệp PDF và / hoặc toàn bộ sách không?
Franck Dernoncourt

@FranckDernoncourt - cảm ơn. Câu hỏi đã được hỏi khoảng 7 năm trước. Nếu bạn có giải pháp cho một trong hai cách bạn đã đề cập, tại sao bạn sẽ không thêm câu trả lời vào đây, để người dùng tương lai nghiên cứu vấn đề này có thể tham khảo?
ysap

Câu trả lời:


19

Sử dụng pdfinfođiều này là cách tốt nhất tôi có thể nghĩ ra: Để in số lượng trang trên mỗi tệp:

for i in *.pdf; do echo $i && pdfinfo "$i" | grep "^Pages:"; done

Để in tổng của tất cả các trang trong tất cả các tệp:

for i in *.pdf; do pdfinfo "$i" | grep "^Pages:"; done | awk '{s+=$2} END {print s}'

Trên Ubuntu, pdfinfođược chứa trong gói poppler-utils. Để cài đặt nó, sử dụng:

sudo apt-get install poppler-utils

Trên Windows, bạn có thể sử dụng cygwin. pdfinfođược chứa trong gói poppler.


+1 pdfinfo chính xác là những gì tôi đang tìm kiếm. Tôi cần nó cho số lượng trang trong gói mô phỏng in hai mặt của tôi.
Joe

Tôi đã phải thêm cờ --text vào lệnh grep, vì lý do nào đó pdfinfo trả về một cái gì đó mà grep diễn giải như một tệp nhị phân. Vì vậy, grep --text "^ Pages:", chỉ trong trường hợp người khác có cùng vấn đề.
KIAaze

4

Tôi biết quá muộn nhưng tôi chỉ tìm ra cách giải quyết tốt hơn và đơn giản hơn cho việc này.

Tải xuống và cài đặt từ sourceforge "chia tách và hợp nhất pdf"

Thả tất cả các tệp của bạn vào đó và trong màn hình, nó sẽ tạo một báo cáo giống như bảng tính về số lượng trang và thông tin của mỗi trang.

Chọn nó, sao chép, dán vào excel hoặc opencalc, bạn đã có nó.


4

Tôi đã tạo một ứng dụng chỉ cho việc này, Nó được viết bằng Java nên hoạt động trên tất cả các hệ điều hành. Kiểm tra nó ở đây:

https://github.com/hamiltino/multipl-pdf-count/release

Tốt nhất nên chạy ứng dụng từ terminal ( java -jar) để đảm bảo nó sẽ hoạt động tốt.

Đặt tệp jar vào thư mục bạn muốn lấy số trang của tất cả các tệp pdf. Nó sẽ quay vòng qua các thư mục con, không cần đặt tất cả các tệp pdf trong đó tệp jar sẽ chuyển qua các thư mục con nơi bạn đặt tập tin jar. Nhấp đúp chuột vào jar, có thể mất một chút thời gian nếu có rất nhiều pdf, cuối cùng nó sẽ xuất ra một tệp txt trong cùng thư mục của tệp jar và nó sẽ có số trang trong đó.


Ý kiến ​​hay. Các cải tiến tốt sẽ là: 1) mở chỉ là dòng lệnh (không có UI) và 2) xuất kích thước trang của mỗi tệp, cùng với tổng
raider33

1

Trong Adobe Acrobat Pro, đi tới tệp > tạo PDF > hợp nhất các tệp thành một tệp PDF . Sau đó thêm tệp và chọn tệp bạn muốn. Nhấp vào kết hợp và xem có bao nhiêu trang trong bản PDF cuối cùng.


Cảm ơn @wizlog - điều này thực sự đòi hỏi phần mềm đầy đủ tính năng (và đắt tiền), phải không?
ysap

Chỉ cần chú ý nhận xét của bạn về câu hỏi. Không, tôi không có nó.
ysap

1

Hi không biết làm thế nào bạn có thể làm điều đó trên windows nhưng trên linux bash nó nên hoạt động với điều này

PDFS = `ls * .pdf`
bộ đếm = 0
cho tôi bằng $ PDFS
làm
   ((bộ đếm + = `pdfinfo internship_Vport.pdf | sed -n 's | Pages: [^ 0-9] * \ ([0-9] * \). * | \ 1 | p'`))
làm xong
tiếng vang $

chế độ tốt nhất kenny


Cảm ơn, Kenny. Điều này có thể hoạt động nếu tên tệp sẽ quét qua các tệp. Nâng cao nào.
ysap

0

một cách tiếp cận khác với parallelexpr(nên nhanh hơn một chút trên các máy đa bộ xử lý):

expr $( echo -n 0; parallel "pdfinfo {} |sed -n 's/Pages: */ + /p'" ::: *pdf|tr '\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.