Menggabungkan gambar png menjadi satu file pdf [tertutup]

Jawaban:

152

Dari melihat-lihat dokumentasi di ImageMagick, mungkin semudah:

convert 1.png 2.png myfile.pdf

Jika itu tidak berhasil, PDFjam mengklaim dapat menyelesaikan masalah Anda.

Jeremiah Willcock
sumber
6
Itu luar biasa. Begitu mudah. Secara otomatis mengukur gambar dan semuanya .. Saya suka open-source.
Nathan Wallace
Adakah cara agar saya dapat mengontrol kualitas dokumen atau ukuran file PDF yang dihasilkan? Saya perlu mengunggah beberapa dokumen dengan ukuran file maksimum 2,5 MiB. Saya sudah mencoba dengan -qualityopsi tetapi ukuran file selalu ~ 9,5 MiB.
arielnmz
Apakah mungkin untuk menambahkan file gambar ke pdf yang ada?
Kiran Reddy
3
Konversikan semua file dalam folder dari jenis tertentu menggunakanconvert *.jpg file.pdf
haakym
2
@arielnmz, Anda dapat mengompres file dengan menggunakan parameter -compress jpeg -quality 50. Lihat jawaban saya
Michael Schmid
37

Jika saya ingin menggabungkan beberapa pindaian menjadi satu file PDF, saya melakukan ini:

pdfjoin --a4paper --fitpaper false --rotateoversize false scan01.png scan02.png

Ini memberi Anda dokumen PDF dengan ukuran halaman DIN-A4, di mana setiap pngfile dipusatkan di halamannya sendiri. Gambar yang terlalu besar untuk satu halaman DIN-A4 akan diubah ukurannya secara proporsional agar muat dalam satu halaman. Gambar yang lebih kecil tidak diubah ukurannya (tidak diperbesar).

Anda harus memberi nama semua pngfile pada baris perintah, tetapi Anda juga dapat menggunakan wildcard untuk misalnya menggabungkan semua file png di direktori saat ini:

pdfjoin --a4paper --fitpaper false --rotateoversize false *.png

The pdfjoinPerintah merupakan bagian dari PDFjam sebagaimana disebutkan dalam jawaban oleh Jeremiah Willcock. Jadi kemungkinan besar Anda harus menginstal paket bernama pdfjamatau texlive-extra-utilsdengan manajer paket distro Anda. PDFjam dapat menggunakan pngfile sebagai input sejak Versi 2.07, dirilis pada 2010-11-13.

Pascal Rosin
sumber
tampaknya pdfjoin hilang dan sekarang hanya ada alat berbeda yang disebut pdfunite yang hanya menggabungkan beberapa file PDF menjadi satu ...
Gregor
1
@Gregor Apa yang membuat Anda mengatakan bahwa pdfjoin hilang?
Pascal Rosin
@Pascal_Rosin tidak dapat menemukannya di Debian atau di repositori Arch ...
Gregor
2
pdfjointersedia dalam texlive-extra-utilspaket di beberapa platform. Anda juga selalu dapat menginstalnya dari sumber.
Mahmoud Al-Qudsi
11

ImageMagick ‘s convert alat preferensi saya.

Program konversi adalah anggota rangkaian alat ImageMagick. Gunakan untuk mengonversi antara format gambar serta mengubah ukuran gambar, mengaburkan, memotong, menghilangkan bintik, bergeser, menggambar, membalik, bergabung, mengambil sampel ulang, dan banyak lagi.

convert [input-option] input-file [output-option] output-file`

Jika Anda ingin file gambar (dan dengan demikian, kualitas dan ukuran file) tidak diubah, dan letakkan saja wadah PDF di sekitarnya:

convert In.png In-2.png Someother-*.png Result.pdf

Jika Anda ingin memiliki ukuran file yang lebih kecil, dan Anda setuju dengan penurunan kualitas, Anda dapat mengonversinya ke format JPEG terlebih dahulu. (ImageMagick juga mendukung pengubahan level kompresi PNG, tetapi biasanya file input Anda sudah menggunakan level tertinggi.)

convert 1.png 2.png -compress jpeg -quality 50 Result.pdf

Gunakan nilai antara 0 dan 100 untuk qualityopsi.

Cara lainnya, Anda dapat mencapai ukuran file yang lebih rendah (dan kualitas) dengan mencontoh ulang gambar ke resolusi tertentu.

convert *.png 2.png -resample 300 Result.pdf

Nilai untuk resamplemengacu pada jumlah piksel per inci. ImageMagick membaca kerapatan asli dari bagian EXIF ​​gambar masukan, kembali ke 72 dpi. Anda dapat menggunakan densityparameter untuk menyetel resolusi khusus untuk gambar masukan.

Anda tentu saja dapat juga menggabungkan compress, qualitydan resampleparameter.

Michael Schmid
sumber
Adakah yang tahu bagaimana mengembalikan operasinya?
Andrei Cioara
File gambar tidak dihapus, sementara Anda dapat menyalinnya untuk ketenangan pikiran. Saya juga memiliki masalah stackoverflow.com/questions/42928765/… untuk diselesaikan sebelum berhasil.
Audrius Meskauskas
Siapa pun yang menemukan masalah untuk mengonversi gambar menjadi pdf dan melihat kesalahan mengatakan 'konversi tidak diizinkan' silakan periksa jawaban ini: askubuntu.com/questions/1127260/imagemagick-convert-not-allowed
Tuhin
Baru-baru ini imagemagick menolak konversi PDF secara default. Lihat pertanyaan ini jika Anda mengalami ini sehingga Anda tahu cara mengubah kebijakan ini. stackoverflow.com/questions/52998331/…
pengguna2565010
5

Saya mencuri ini, tetapi ini adalah solusi yang saya gunakan dari Jeremiah Willcock dan situs web jawaban lainnya. Tidak menggali sejarah saat ini. Saya berbohong, saya lakukan. (Tully @ https://askubuntu.com/a/626301 )
Saya membutuhkan file yang cukup kecil untuk dikirim melalui email.

Untuk menggabungkan gambar menjadi PDF (dari dalam direktori kerja gunakan baris perintah:

user@box:/home/user/scans/:$ 
convert 1.png 2.png convertoutput.pdf

Untuk mengecilkan menggunakan ghostscript setelah menggabungkan (saya hampir menggunakan sistem default kde):

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
   -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true \
   -r150 -sOutputFile=output.pdf convertoutput.pdf

File saya memiliki 14 gambar (19MB setelah dikonversi, gs membuatnya 1,6MB, kualitas masih bagus). File keluaran disebut output.pdf.

pctech101
sumber
Anda dapat mengompres file secara langsung dengan convert , menggunakan parameter -compress jpeg -quality 50. Lihat jawabanku
Michael Schmid
@MichaelSchmid Kompresi dengan convert tidak efektif. Ini hanya mengurangi kualitas jpeg sedangkan solusi gs mengubah resolusi. Jika Anda mencobanya dengan gambar resolusi tinggi, Anda akan melihat seberapa besar perbedaan ukurannya, meskipun Anda memilih kualitas jpg yang sangat rendah.
mak
Ya, pengambilan sampel ulang mungkin memang lebih efektif daripada kompresi JPEG. Dan ImageMagick juga mendukungnya. Saya telah menambahkan opsi itu dalam jawaban saya.
Michael Schmid