Konversi direktori file JPEG ke dokumen PDF tunggal

242

Saya memiliki banyak file JPEG dalam direktori, dan saya ingin mengonversinya menjadi PDF dan menyatukannya menjadi satu dokumen.

Bagaimana ini bisa dilakukan?

Saya lebih suka menggunakan baris perintah, karena proses ini akan lebih cepat.

lovepeed
sumber

Jawaban:

358

Dari imagemagickpaket, gunakan convertperintah:

convert *.jpg pictures.pdf

Anda akan mendapatkan satu pdf berisi semua jpg di folder saat ini.

Instal IM dengan:

sudo apt-get install imagemagick

sumber: stackoverflow

Sunting: Perhatikan bahwa gambar akan keluar dari urutan tertentu jika tidak diberi nomor. jika Anda memiliki 10 atau lebih, Anda harus memberi nama mereka mengakhiri filename01.jpg ... filename99.jpg dll. Nol terkemuka diperlukan untuk pemesanan yang tepat. Jika Anda memiliki 100 atau lebih 001 ... 999.

Rosch
sumber
1
Menggunakan joker tidak bekerja untuk saya, saya harus menggunakan solusi @ Alex.
Eusebius
2
@Eusebius jika wildcard tidak berfungsi untuk Anda dengan orang yang dikonversi, Anda bisa menggunakan oneliner sepertifor f in *.jpg; do convert "$f" "$f.pdf"; done; pdftk *.pdf cat output final.pdf
Penatua Geek
1
GrphicMagickpengguna harus menjalankangm convert *.jpg pictures.pdf
michaelbn
Mungkin file jpg saya terlalu besar dan banyak, tetapi melakukan itu segera menghabiskan begitu banyak RAM sehingga sistem 16GB saya mulai bertukar.
RonJohn
8
Perhatikan bahwa metode ini sekarang dapat menghasilkan not authorizedkesalahan; lihat pertanyaan terkait ini (dan jawaban) .
Jani Uusitalo
31
convert `ls -1v` file.pdf
  • Ini akan mencantumkan satu file sekali waktu dalam "urutan alami" (1,2,3 ...) dan melanjutkan dengan konversi.
Alex
sumber
1
Saya mencoba ini dan itu tidak berhasil untuk saya. banyak kesalahan menunjukkan bahwa itu mungkin ada hubungannya dengan spasi di nama file.
Penatua Geek
5
Untuk mengatasi masalah spasi, lakukan penggantian pola terlebih dahulu: untuk ThisFile di * .jpg; do mv "$ ThisFile" "$ {ThisFile // / _}"> / dev / null 2> & 1; d
Simon Mattes
20

Bekerja untuk saya (TAPI peringatan! Matikan kompresi dan menghasilkan PDF akan besar!):

convert page1.jpg page2.jpg +compress file.pdf

atau bahkan:

convert -rotate 90 page\*.jpg +compress file.pdf

Dari ubuntuforums.org, +compressbantu agar tidak hang. CATATAN: + kompres mematikan kompresi. Mesin yang saya kerjakan pada saat itu tampak menggantung? Selamanya? (Saya tidak menunggu selamanya untuk mengetahuinya.) Tanpa opsi + kompres. Mileage Anda Mungkin Bervariasi sedikit! RTFM pada opsi imagemagick.org -compress , mungkin bereksperimen dengan -compress <type> jika Anda memiliki masalah kompresi / gantung yang lambat untuk mencari tahu apa yang akan bekerja untuk Anda.

gaoithe
sumber
13
JANGAN gunakan +compressopsi dengan convertperintah seperti yang disarankan di atas! Ini sebenarnya menonaktifkan semua kompresi meninggalkan Anda dengan PDF 10 kali lebih besar dari JPEG asli. Hanya saja, jangan tentukan opsi kompresi, dan convertakan pergi dengan format kompresi input (JPEG) yang dalam hal ini adalah pilihan file ukuran terbaik. Sumber: http://www.imagemagick.org/script/command-line-options.php#compress
Itu tidak intuitif! Terima kasih S Minddal. Itu berhasil bagi saya. Saya kira mesin yang saya gunakan punya masalah melakukan kompresi itu. Saya akan menyesuaikan jawaban.
gaoithe
2
jadi $ converet *.jpg file.pdfbekerja dengan baik dengan ukuran file yang lebih kecil dibandingkan dengan +compressargumen
doktor
18

Sayangnya, convertmengubah kualitas gambar sebelum "mengemasnya" ke dalam PDF. Jadi, untuk memiliki kehilangan kualitas minimal, lebih baik memasukkan yang asli jpgke dalam PDF, Anda perlu menggunakannya img2pdf.

Saya menggunakan perintah ini:

  1. Perintah ini adalah membuat pdffile dari setiap jpggambar tanpa kehilangan resolusi atau kualitas:

    ls -1 ./*jpg | xargs -L1 -I {} img2pdf {} -o {} .pdf

  2. Perintah ini akan menggabungkan pdfhalaman menjadi satu dokumen:

    pdftk * .pdf output kucing dikombinasikan.pdf

  3. Dan akhirnya, saya menambahkan layer teks OCR yang tidak mengubah kualitas pemindaian di pdf sehingga dapat dicari:

    pypdfocr gabungan.pdf

    Alternatif untuk menggunakan pypdfocr:

    ocrmypdf Gabungan.pdf Gabungan_ocr.pdf

Eduard Florinescu
sumber
1
Metode hebat! Satu-satunya kelemahan tanpa kompresi adalah bahwa ukuran file .pdf yang dihasilkan akan sangat tinggi (yaitu, sedikit lebih besar dari semua foto yang digabungkan). Tetapi sepadan jika dokumen yang Anda konversi benar-benar penting!
Gokul NC
1
Ini bekerja dengan baik setelah convertgagal dengan "upaya untuk melakukan operasi yang tidak diizinkan oleh kebijakan keamanan` PDF '".
Matthias Braun
12

Buka file jpg atau png dengan LibreOffice Writer dan ekspor sebagai PDF.

Saya harap, ini cara sederhana untuk mengekspor pdf.

pengguna359154
sumber
Iya! LibreOffice adalah cara terbaik untuk mengekspor file gambar ke PDF. Kami memiliki kendali penuh atas output PDF, termasuk tata letak halaman, pengubahan ukuran file yang diimpor, header dan footer opsional, dan lebih banyak lagi ... Terima kasih banyak kepada pengguna359154 untuk saran cerdasnya!
8

Solusi berikut juga bergantung pada ImageMagick converttetapi sedikit lebih canggih karena:

  • Ini memungkinkan semua gambar memiliki dimensi yang berbeda, sekaligus menjaga ukuran halaman PDF yang sama (A4 pada contoh di bawah).
  • Ini memusatkan gambar di halaman PDF.
  • Ini memungkinkan Anda untuk menjamin ruang minimum antara batas gambar dan batas halaman PDF, untuk memungkinkan pencetakan PDF tanpa masalah.
  • Itu tidak mengubah data gambar. (Jadi kualitas gambar tidak terpengaruh, file PDF memiliki ukuran file yang hampir sama dengan gambar, dan Anda dapat mengekstraksi ulang gambar asli nanti dengan pdfimages -j file.pdf img.) Saat ini, ini hanya berfungsi dengan PNG - lihat komentar oleh @dma_k di bawah ini .

Instruksi:

  1. Gunakan skrip saya dari jawaban ini untuk mengonversi setiap gambar menjadi file PDF satu halamannya sendiri dengan ukuran halaman A4 dan batas sekitar 5%.
  2. Gabungkan semua file PDF satu halaman Anda dengan PDFtk sebagai berikut:

    pdftk *.pdf cat output out.pdf
    
tanius
sumber
2
Perintah ini menunjukkan bahwa (setidaknya dengan versi yang disediakan pada Ubuntu 16.04) data gambar yang terpengaruh:convert some.jpg -format pdf -compress jpeg generated.pdf ; pdfimages -j generated.pdf generated.pdf ; diff -sq some.jpg generated.pdf-000.jpg
Stéphane Gourichon
2
Saya bermain dengan GraphicsMagick dan saya perhatikan bahwa ia melakukan kompresi gambar . Kualitas gambar JPEG yang dihasilkan pada halaman PDF jauh lebih buruk. Jadi saat ini cara paling aman adalah menambahkan gambar PNG - mereka dimasukkan dengan benar. Lihat posting ini juga.
dma_k
-3

Saya telah menggunakan http://convert-my-image.com/ Hal positif yang dapat Anda berikan (situs yang sama tetapi halaman berbeda) arsip gambar dan menggabungkannya ke pdf umum

Alen
sumber
3
Saran ini memiliki setidaknya tiga masalah: (1) akan lambat, karena mengunggah gambar ke situs web dan mengunduh hasil PDF; (2) itu memaparkan data Anda kepada siapa pun yang menjalankan situs web itu, dan siapa pun yang mungkin telah melanggar situs web itu, dan siapa pun yang terlibat; (3) ini bukan solusi baris perintah.
sampablokuper