Bagaimana cara mengkonversi file PDF multi-halaman menjadi file PNG, dengan satu file PNG per halaman dokumen PDF?

30

Bagaimana cara mengonversi file PDF multi-halaman menjadi file PNG, dan secara otomatis menyimpan satu file PNG per halaman dokumen PDF (untuk Windows 7)?

Saya telah mencoba printer virtual (CutePDF, Bullzip PDF Printer) dan perangkat lunak pengeditan gambar (Irfanview, Photoshop) untuk mengonversi file PDF ke PNG tetapi saya tidak dapat menemukan cara untuk membuat mereka menyimpan satu file PNG per halaman dokumen PDF.

galacticninja
sumber
1
Menggunakan Linux ini cukup mudah, dengan "pdf2ppm" untuk mengubah pdf ke ppm dan kemudian "mengkonversi" (dari imagemagick) untuk membagi file ppm ke file png.
Olli
1
Menggunakan Mac OS X ini cukup mudah, dengan Automator dan tindakan "Render Halaman PDF sebagai Gambar", yang mengubah PDF multi-halaman untuk memisahkan file gambar.
Daniel Beck

Jawaban:

18

Gunakan Ghostscript

-sOutputFile = namafile Ini adalah opsi umum yang memberitahu Ghostscript apa yang harus diberi nama output. Ini bisa berupa nama file tunggal 'tiger.png' atau templat 'figure-% 03d.jpg' di mana% 03d diganti dengan nomor halaman.

Anda mungkin merasa nyaman menggunakan GhostView, ujung depan GUI.

RedGrittyBrick
sumber
5
Saya bereksperimen pada beberapa opsi untuk GhostView dan datang ke grup opsi ini untuk secara otomatis mengkonversi PDF ke PNG tanpa diminta pengguna: -dBATCH -dNOPAUSE -sDEVICE=png16m -r96 -sOutputFile="C:\directory_Output\%03d.png" "C:\directory_Input\pdfname.pdf"Apakah saya melakukannya dengan benar? Saya juga ingin tahu apa yang harus saya set DPI (saya mengaturnya ke 96 dalam hal ini) untuk memiliki resolusi yang sama dengan sumber PDF. (File PDF yang saya konversi mengandung gambar pindaian dari buku atau majalah, dan tidak memiliki teks / informasi OCR.)
galacticninja
Jika sumber DPI adalah 96 dan gambar cenderung sebagian besar dilihat di layar, 96 adalah pilihan yang baik untuk output DPI, karena itu adalah tampilan-DPI default untuk MS Windows (meskipun beberapa akan mengatur tampilan-DPI ke 120).
RedGrittyBrick
25

Menggunakan ImageMagick (Anda akan perlu Ghostscript diinstal juga), perintah:

convert -density 300 filename.pdf filename.png

akan menghasilkan serangkaian file filename-0.png, filename-1.png, filename-2.png, satu untuk masing-masing halaman PDF. Anda ingin bermain-main dengan pengaturan kerapatan untuk mendapatkan resolusi yang Anda suka.

Anda mungkin perlu memberikan path lengkap ke convert.exe di Windows; Saya hanya pernah melakukan ini di Linux, tetapi itu harus bekerja untuk Windows juga.

luar biasa
sumber
Saya sudah mencoba metode Ghostscript di jawaban lain di atas, tetapi sekarang ingin mencoba metode yang Anda sarankan. Saya ingin bertanya apakah -density 300argumennya berarti bahwa pengaturan DPI adalah 300, atau apakah itu berarti hal lain?
galacticninja
Ya lihat di sini .
frabjous
3
Jika Anda hanya ingin satu halaman, ikuti nama file PDF dengan nomor halaman dalam tanda kurung: filename.pdf[0]Nomor halaman berbasis 0, jadi 0 adalah halaman pertama, 1 adalah halaman kedua, dll. Stackoverflow.com/a/12614851/215168
Abe Voelker
Sekedar catatan: ImageMagick's converttidak menggunakan Ghostscript saat merender .pdf, lihat stackoverflow.com/questions/14705727/…
sdaau
agar ini berhasil gsharus memanggil binary ghostscript (saya telah gsalias git status)
duhaime
2

Jika Anda memilih untuk tidak menginstal perangkat lunak apa pun, Anda dapat menggunakan alat online ini:

convert.town/pdf-to-png

Konversi dilakukan di dalam browser Anda. Ini akan menghasilkan satu file PNG untuk setiap halaman PDF.

matahari terbenam
sumber
Bekerja dengan sangat baik, sayangnya gambar hanya 75 DPI, yang tidak cukup untuk hasil cetak.
ƘɌỈSƬƠƑ
2

Anda dapat menggunakan PDF-XChange . Itu dapat mengekspor halaman apa pun yang Anda inginkan ke format yang diharapkan. Tidak hanya PNG tetapi banyak format lain yang didukung juga

Ekspor dialog gambar

Menu ekspor

phuclv
sumber
1

Ini adalah contoh dengan GSdengan CropBoxpilihan:

"c:\Program Files\gs\gs9.10\bin\gswin64.exe" -dBATCH -dNOPAUSE -sDEVICE=pnggray -r300 -dUseCropBox -sOutputFile="path_to_png_files\pdffilename-%03d.png" "path_to_pdf_file\pdffilename.pdf"

Path ke GSharus disesuaikan berdasarkan instalasi Anda. Selain itu, DEVICEparameter dapat diubah ke perangkat warna jika diperlukan. Dibandingkan dengan convert, GStampaknya berjalan lebih cepat, dan lebih cocok untuk konversi dalam jumlah besar.

imriss
sumber
Jika saya tidak memotong bagian mana pun dari file PDF asli atau gambar PNG yang dikonversi, apakah saya masih perlu menggunakan 'CropBox'? Jika ya, apa manfaatnya dengan proses konversi?
galacticninja
Penggunaan -dUseCropBoxini bukan untuk melakukan pemangkasan. Sebaliknya, ini memaksa yang GSmembaca CropBoxinfo dari input PDF. Ini diperlukan untuk memiliki konversi yang kuat.
Imriss
0

Perangkat lunak lain untuk melakukan konversi adalah PDFCreator . Ini akan membuat printer baru di sistem Anda sehingga Anda benar-benar dapat mengkonversi dari format apa pun menjadi gambar , tidak hanya file PDF

  • Konversikan dokumen Anda ke PDF, JPG, PNG, TIF, dan lainnya
  • Gabungkan banyak dokumen menjadi satu file
  • Profil membuat pengaturan yang sering digunakan tersedia dengan satu klik
  • Gunakan penyimpanan otomatis untuk memiliki printer PDF yang sepenuhnya otomatis
  • Kami menangani kerumitan dan membuat konversi PDF menjadi mudah bagi Anda

Lebih penting lagi, ini juga bersumber terbuka

Cukup cetak dokumen, pilih PDFCreator dan pilih output sebagai PNG (atau TIFF, JPG, apa pun ...) dan Anda selesai

Tangkapan layar PDFCreator

phuclv
sumber