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?


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

sumber
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
Richard
sumber
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.

yahudi
sumber
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
8

Saya selalu lupa bagaimana melakukan ini dan menemukan pertanyaan ini terlebih dahulu ketika saya mencari.

convert -density 600 file1.pdf file2.pdf -resize 50% new.pdf

Contoh yang ditautkan memiliki kepadatan pada 144, namun, yang tidak pernah cukup tinggi untuk tidak tampak pixelated.

http://web.archive.org/web/20130311071316/http://studio.imagemagick.org/pipermail/magick-users/2009-September/022958.html

Leslie Pajuelo
sumber
Maaf, tautannya sudah mati sekarang.
Sablefoste
4

Jika menjalankan linux, Anda juga dapat mencoba poppler yang menyediakan pdfuniteconcatenate tanpa memanipulasi resolusi.

haytona
sumber
Ini alat yang luar biasa, dan inilah cara melakukannya: unixblogger.com/how-to-e Easy
Rosamunda
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.

Barry Dmytro
sumber
2
-1 untuk menyarankan untuk meraster gambar vektor (mungkin). Bukan itu jalannya.
Marco