Pertanyaan Gabung / konversi beberapa file PDF menjadi satu PDF


Bagaimana saya bisa menggabungkan / mengonversi beberapa file PDF menjadi satu file PDF besar?

Saya mencoba yang berikut, tetapi konten file target tidak seperti yang diharapkan:

convert file1.pdf file2.pdf merged.pdf

Saya membutuhkan solusi baris perintah yang sangat sederhana / dasar (CLI). Yang terbaik adalah jika saya dapat menyalurkan output dari gabungan / konversi langsung ke pdf2ps (Seperti awalnya dicoba dalam pertanyaan saya yang sebelumnya diajukan di sini: Pemipaan Linux (convert -> pdf2ps -> lp) ).


761
2018-03-24 12:56


asal


Jawaban:


Mengingat bahwa pdfunite adalah bagian dari poppler memiliki kesempatan lebih tinggi untuk diinstal, penggunaannya juga lebih sederhana daripada pdftk:

pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf

1008
2017-07-01 07:11



Coba gunakan ghostscript yang bagus:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=merged.pdf mine1.pdf mine2.pdf

atau bahkan cara ini untuk versi yang ditingkatkan untuk PDF resolusi rendah (terima kasih kepada Adriano untuk menunjukkan ini):

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged.pdf mine1.pdf mine2.pdf

Dalam kedua kasus, resolusi ouput jauh lebih tinggi dan lebih baik daripada cara ini menggunakan konversi:

convert -density 300x300 -quality 100 mine1.pdf mine2.pdf merged.pdf

Dengan cara ini Anda tidak perlu menginstal yang lain, cukup bekerja dengan apa yang sudah Anda instal di sistem Anda (setidaknya keduanya datang secara default di rhel saya).

Semoga ini membantu,

MEMPERBARUI: pertama-tama terima kasih atas semua komentar Anda yang bagus !! hanya tip yang dapat bekerja untuk kalian, setelah googling, saya menemukan trik luar biasa untuk mengecilkan ukuran PDF, saya mengurangi dengan satu PDF dari 300 MB menjadi hanya 15 MB dengan resolusi yang dapat diterima! dan semua ini dengan ghostscript yang bagus, ini dia:

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

tepuk tangan!!


409
2017-10-14 10:39



Maaf, saya berhasil menemukan jawabannya sendiri menggunakan google dan sedikit keberuntungan :)

Bagi yang tertarik;

Saya menginstal pdftk (pdf toolkit) di server debian kami, dan menggunakan perintah berikut ini saya mencapai output yang diinginkan:

pdftk file1.pdf file2.pdf cat output output.pdf

ATAU

gs -q -sPAPERSIZE=letter -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=output.pdf file1.pdf file2.pdf file3.pdf ...

Ini pada gilirannya dapat disalurkan langsung ke pdf2ps.


383
2018-03-24 13:06



Juga pdfjoin a.pdf b.pdf akan membuat yang baru b-joined.pdf dengan isi a.pdf dan b.pdf


37
2018-04-18 17:24



Anda dapat menggunakan perintah konversi secara langsung,

misalnya

convert sub1.pdf sub2.pdf sub3.pdf merged.pdf

31
2018-05-17 11:33



Apache PDFBox http://pdfbox.apache.org/

PDFMerger Aplikasi ini akan mengambil daftar dokumen pdf dan menggabungkannya, menyimpan hasilnya dalam dokumen baru.

penggunaan: java -jar pdfbox-app-x.y.z.jar PDFMerger "Sumber file PDF (2 ..n)" "Target file PDF"


10
2017-11-20 05:52



Jika Anda ingin mengonversi semua gambar yang diunduh menjadi satu pdf, maka eksekusi

convert img{0..19}.jpg slides.pdf


8
2018-01-13 11:27



Kamu dapat memakai sejda-konsol, gratis dan sumber terbuka. Buka zip dan jalankan sejda-console merge -f file1.pdf file2.pdf -o merged.pdf

Ini mempertahankan bookmark, anotasi tautan, acroform, dll. Sebenarnya memiliki cukup banyak opsi yang dapat Anda mainkan, jalankan saja sejda-console merge -h untuk melihat semuanya.


7
2018-02-02 18:44



Gunakan alat PDF dari python https://pypi.python.org/pypi/pdftools/1.0.6

Unduh file tar.gz dan uncompress dan jalankan perintah seperti di bawah ini

python pdftools-1.1.0/pdfmerge.py -o output.pdf -d file1.pdf file2.pdf file3 

Anda harus menginstal pyhton3 sebelum menjalankan perintah di atas

Alat ini mendukung di bawah ini

  • menambahkan
  • memasukkan
  • Menghapus
  • Memutar
  • Membagi
  • Menggabungkan
  • Zip

Anda dapat menemukan detail lebih lanjut di tautan di bawah dan ini adalah sumber terbuka

https://github.com/MrLeeh/pdftools


7
2017-07-06 10:34



Saya kedua pdfunite rekomendasi. Namun saya mendapatkan Argument list too longkesalahan saat saya mencoba menggabungkan> 2k file PDF.

Saya beralih ke Python untuk ini dan dua paket eksternal: PyPDF2 (untuk menangani semua hal terkait PDF) dan natsort (untuk melakukan semacam "alami" dari nama file direktori). Dalam hal ini dapat membantu seseorang:

from PyPDF2 import PdfFileMerger
import natsort
import os

DIR = "dir-with-pdfs/"
OUTPUT = "output.pdf"

file_list = filter(lambda f: f.endswith('.pdf'), os.listdir(DIR))
file_list = natsort.natsorted(file_list)

# 'strict' used because of
# https://github.com/mstamy2/PyPDF2/issues/244#issuecomment-206952235
merger = PdfFileMerger(strict=False)

for f_name in file_list:
  f = open(os.path.join(DIR, f_name), "rb")
  merger.append(f)

output = open(OUTPUT, "wb")
merger.write(output)

5
2018-06-13 18:03



Berikut adalah metode yang saya gunakan yang berfungsi dan mudah diterapkan. Ini akan membutuhkan keduanya fpdf dan fpdi perpustakaan yang dapat diunduh di sini:

require('fpdf.php');
require('fpdi.php');

$files = ['doc1.pdf', 'doc2.pdf', 'doc3.pdf'];

$pdf = new FPDI();

foreach ($files as $file) {
    $pdf->setSourceFile($file);
    $tpl = $pdf->importPage(1, '/MediaBox');
    $pdf->addPage();
    $pdf->useTemplate($tpl);
}

$pdf->Output('F','merged.pdf');

4
2018-03-18 23:26