Cara menggabungkan pdf: s menggunakan Imagemagick (masalah resolusi)


42

Ketika saya mencoba untuk menggabungkan dua file .pdf menggunakan Imagemagick

convert pdf1.pdf pdf2.pdf temp.pdf

file temp.pdf yang dihasilkan tampaknya memiliki resolusi sangat rendah. Bagaimana saya bisa menjaga resolusi sama dengan di file sumber?

Jawaban:


49

Barns benar, tetapi jika pdftk tidak berfungsi coba ghostscript.

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=temp.pdf pdf1.pdf pdf2.pdf

Bekerja dengan sempurna, dan terlalu cepat - jauh lebih cepat daripada menggunakan ImageMagick dengan flag -density.
Brionius

Ini seharusnya jawaban yang benar. Bukan berarti ImageMagick tidak berfungsi; itu bekerja juga. Tetapi seperti yang dicatat oleh @Brionius, gs jauh lebih cepat dan kualitas pdf yang dihasilkan adalah yang terbaik.
Jagtesh Chadha

Perhatikan bahwa Anda dapat menggunakan * .pdf alih-alih daftar pdf1.pdf dan pdf2.pdf di akhir perintah ini untuk mengonversi semua pdf dalam folder menjadi pdf tunggal.
Colin D

Saya punya beberapa masalah dengan font, beberapa halaman kehilangan font mereka. Apakah ada cara saya bisa memilihnya?
Zloy Smiertniy

19

Perintah konversi Imagemagick biasanya digunakan untuk mengonversi file gambar dari satu format ke format lainnya, dan dalam hal ini, ada kemungkinan bahwa itu sebenarnya melakukan semacam konversi internal sebelum mengeluarkan dua "gambar" (PDF) ke dalam satu file.

Saya sarankan Anda mempertimbangkan untuk menggunakan Toolkit PDF (pdftk) sebagai gantinya http://www.accesspdf.com/pdftk/

Dari contoh di situs web, ini harus sesederhana:

pdftk pdf1.pdf pdf2.pdf cat output temp.pdf

Saya menjalankan OS X 10.6.1 dan saya mencoba menginstal pdftk melalui Macports. Tampaknya pdftk sudah usang di Mac, instalasi tidak akan selesai. Jadi, saya mencoba melakukan ini menggunakan Imagemagick.

Di Ubuntu pdftk tidak masalah untuk menginstal dari apt, dan itu berhasil dengan baik. Saya telah menggunakan ImageMagick untuk menyatukan PDF sebelum dengan sukses besar, tetapi karena itu rasterize PDF pertama (dimengerti - tidak bekerja dengan vektor) itu tidak terlihat begitu baik untuk sebagian besar dokumen teks. Tapi pdftk bekerja dengan baik - terima kasih atas sarannya.
Iguananaut

Hebat ... terima kasih
Dan Ortega

Mari kita pilih yang ini, pdftk bekerja lebih baik daripada ghostcript melakukan ini.
Dan Ortega

18

Jika setiap file yang ingin Anda gabungkan ada di folder yang sama:

convert -density 150 $(ls -rt *pdf) output.pdf

argumennya -density 150menjaga kualitas PDF yang digabungkan.


5
Sebuah catatan tambahan pada semua sintaks PDF Anda, Anda dapat menghilangkan perintah sub-ls:convert -density 150 *.pdf output.pdf
Josh

'* .pdf' dan '$ (ls -rt * pdf)' dapat menghasilkan output yang berbeda.
shantanoo



0

Saya tidak dapat menemukan cara untuk menggabungkan dua file pdf bersama sambil menjaga resolusi baik dan teks utuh, tetapi saya menemukan cara untuk mengubahnya menjadi file png resolusi tinggi.

pdftoppm -f 1 -l 1 -aa yes -aaVector yes -png -r 300 page.pdf > tmp1.png
pdftoppm -f 2 -l 2 -aa yes -aaVector yes -png -r 300 page.pdf > tmp2.png
convert tmp1.png tmp2.png +append -quality 100 page.png

Ini diperlukan dua halaman pertama dari page.pdf dan menggabungkannya menjadi file png resolusi tinggi berdampingan.

Mengubah baris terakhir ke

convert tmp1.png tmp2.png +append -quality 100 page.pdf

akan menghasilkan output dokumen pdf seperti yang saya kemudian tahu setelah main-main dengan pngtopnm, pnmtops, ps2pdf.


2
-1 untuk menyarankan untuk meraster gambar vektor (mungkin). Bukan itu jalannya.
Marco
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.