Bagaimana cara menghitung halaman dalam banyak file PDF?


12

Saya baru saja menerima buku teks pdf yang terdiri dari sekitar 20 pdf terpisah (berdasarkan bab) dengan nama semi-reguler. Apakah ada cara untuk menghitung halaman dalam buku tanpa membuka setiap file (atau menelusuri properti)?

[solusinya bisa untuk Windows atau Ubuntu]


Anda punya Adobe Acrobat?
wizlog

Apakah Anda ingin jumlah halaman untuk setiap file PDF, dan / atau seluruh buku?
Franck Dernoncourt

@ FranckDernoncourt - terima kasih. Pertanyaan itu ditanyakan sekitar 7 tahun yang lalu. Jika Anda memiliki solusi untuk kedua cara yang Anda sebutkan, mengapa Anda tidak menambahkan jawaban saja di sini, sehingga pengguna di masa depan yang meneliti masalah ini dapat merujuk?
ysap

Jawaban:


19

Menggunakan pdfinfoini adalah yang terbaik yang bisa saya lakukan: Untuk mencetak jumlah halaman per file:

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

Untuk mencetak jumlah semua halaman di semua file:

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

Di Ubuntu, pdfinfoterkandung dalam paket poppler-utils. Untuk menginstalnya, gunakan:

sudo apt-get install poppler-utils

Di Windows, Anda dapat menggunakan cygwin. pdfinfoterkandung dalam paket poppler.


+1 pdfinfo persis seperti yang saya cari. Saya membutuhkannya untuk jumlah halaman dalam paket emulasi pencetakan dupleks saya.
Joe

Saya harus menambahkan flag --text ke perintah grep, karena untuk beberapa alasan pdfinfo mengembalikan sesuatu yang grep diartikan sebagai file biner. Jadi grep --text "^ Pages:", kalau-kalau ada orang lain yang memiliki masalah yang sama.
KIAaze

4

Saya tahu ini sudah terlambat tetapi saya baru saja menemukan solusi yang lebih baik dan lebih sederhana untuk ini.

Unduh dan instal dari sourceforge "pdf split and merge"

Letakkan semua file Anda di atasnya, dan di layar itu menghasilkan laporan seperti spreadsheet pada jumlah halaman dan info masing-masing.

Pilih itu, salin, tempel ke excel atau opencalc, Anda mendapatkannya.


4

Saya membuat aplikasi hanya untuk ini, ini ditulis dalam Java sehingga berfungsi pada semua os. Lihat disini:

https://github.com/hamiltino/multiple-pdf-counter/releases

Yang terbaik untuk menjalankan aplikasi dari terminal ( java -jar) untuk memastikan itu akan berfungsi dengan baik.

Masukkan file jar ke direktori yang Anda inginkan untuk mendapatkan jumlah halaman dari semua pdf. Ini juga akan menggilir subfolder, tidak perlu menempatkan semua pdf di mana file jar berada karena akan menggilir subfolder tempat Anda meletakkan file jar. Klik dua kali pada jar, mungkin butuh waktu jika ada banyak pdf, akhirnya akan menghasilkan file txt di direktori yang sama dari file jar, dan itu akan memiliki jumlah halaman di dalamnya.


Ide bagus. Peningkatan yang baik adalah: 1) buka yang hanya baris perintah (tanpa UI), dan 2) menampilkan ukuran halaman dari setiap file, bersama dengan total
raider33

1

Di Adobe Acrobat Pro, buka file > buat PDF > gabungkan file menjadi satu PDF . Kemudian tambahkan file dan pilih file yang Anda inginkan. Klik kombinasi, dan lihat berapa banyak halaman dalam PDF final.


Terima kasih @wizlog - ini benar-benar memerlukan perangkat lunak berfitur lengkap (dan mahal), bukan?
ysap

Perhatikan saja komentar Anda pada pertanyaan itu. Tidak, saya tidak memilikinya.
ysap

1

Hai nggak tahu bagaimana Anda bisa melakukannya di windows tetapi di linux bash itu harus bekerja dengan ini

PDFS = `ls * .pdf`
penghitung = 0
untuk saya dalam $ PDF
melakukan
   ((counter + = `pdfinfo internship_report.pdf | sed -n | Halaman: [^ 0-9] * \ ([0-9] * \). * | \ 1 | p'`))
selesai
gema $ counter

reguards kenny terbaik


Terima kasih, Kenny. Ini dapat berfungsi jika nama file akan memindai file. Terpilih pula.
ysap

0

pendekatan lain dengan paralleldan expr(harus sedikit lebih cepat pada mesin multiprosesor):

expr $( echo -n 0; parallel "pdfinfo {} |sed -n 's/Pages: */ + /p'" ::: *pdf|tr '\n' ' ')
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.