Ada banyak perangkat lunak di Windows untuk menggabungkan file PDF tetapi bagaimana kita dapat melakukan hal yang sama di Ubuntu?
Ada banyak perangkat lunak di Windows untuk menggabungkan file PDF tetapi bagaimana kita dapat melakukan hal yang sama di Ubuntu?
Jawaban:
Jika Anda menginginkan alat dengan GUI sederhana, coba pdfshuffler . Hal ini memungkinkan penggabungan PDF serta menata ulang dan menghapus halaman. Untuk pemrosesan batch dan / atau tugas yang lebih rumit, pdftk tentu saja lebih kuat.
pdfshufflerberfungsi dengan baik pada 14,04 amd64.
Untuk menggabungkan dua file pdf, file1.pdfdan file2.pdf:
pdftk file1.pdf file2.pdf cat output mergedfile.pdf
Info lebih lanjut tersedia di sini Way Back Machine .
catdan outputikuti argumen input variadic dan diikuti oleh argumen output.
Ghostscript adalah paket (tersedia secara default di Ubuntu) yang memungkinkan Anda untuk melihat atau mencetak file PostScript dan PDF ke format lain, atau untuk mengonversi file-file tersebut ke format lain.
Untuk menggunakan Ghostscript untuk menggabungkan file PDF, ketikkan sesuatu seperti berikut ini:
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/None -sOutputFile=finished.pdf file1.pdf file2.pdf
Berikut ini penjelasan singkat dari perintah tersebut:
gs starts the Ghostscript program.
-dBATCH once Ghostscript processes the PDF files, it should exit.
If you don't include this option, Ghostscript will just keep running.
-dNOPAUSE forces Ghostscript to process each page without pausing for user interaction.
-q stops Ghostscript from displaying messages while it works
-sDEVICE=pdfwrite
tells Ghostscript to use its built-in PDF writer to process the files.
-sOutputFile=finished.pdf
tells Ghostscript to save the combined PDF file with the specified name.
-dAutoRotatePages=/None
Acrobat Distiller parameter AutoRotatePages controls the automatic orientation selection algorithm: For instance: -dAutoRotatePages=/None or /All or /PageByPage.
File input Anda bahkan tidak perlu file PDF. Anda juga dapat menggunakan file PostScript atau EPS, atau campuran ketiganya.
Ada banyak hal yang dapat Anda lakukan dengan Ghostscript. Anda dapat membaca dokumentasinya untuk lebih jelasnya.
pdftkmengambil 0m0.484s, gsmengambil 1m32.898s (itu hampir 200x lebih lambat) File dari gssekitar 21% lebih kecil.
file1.pdf file2.pdfdenganfile*.pdf
gsbekerja dengan beberapa PDF "tidak sesuai" di mana pdftkhanya akan berjalan selamanya.
-dPDFSETTINGS=/prepressopsi dari peningkatan kualitas. Semua berkat berkat kontributor
file*.pdfdengan file1.pdf file2.pdfsebelum meneruskan argumen ke perintah.
Anda juga menggunakan pdfunite untuk menggabungkan dokumen pdf:
pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf
out.pdfakan ditimpa tanpa peringatan, jadi pdfunite *.pdftidak akan berfungsi seperti yang diharapkan.
cpjuga menimpa argumen terakhir tanpa peringatan. Ini hanya untuk pengguna yang terburu-buru (seperti saya) - Saya beruntung memiliki cadangan file yang dimaksud ...
Solusi yang sangat bagus adalah PDFChain. Ini GUI adalah tampilan depan PDFTK di mana Anda dapat menggabungkan, membagi atau bahkan menambahkan beberapa latar belakang ke file PDF Anda.
apttidak memberi hasil apa pun: /
Pendekatan alternatif adalah dengan menggunakan Lateks seperti yang dijelaskan dalam posting ini ( tanpa akses root dengan asumsi Anda telah menginstal pdflatex ): https://tex.stackexchange.com/questions/8662/merge-two-pdf-files-output-by- getah
Ini berguna jika Anda tidak memiliki alat yang disebutkan atau hak root, tetapi Anda memiliki pdflatex.
Saya menyalin kode tex di bawah ini untuk bergabung file1.pdfdan file2.pdf. Buat file yang dipanggil output.texdan masukkan:
\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{file1}
\includepdf[pages=-]{file2}
\end{document}
Dan untuk mengkompilasi, cukup gunakan: pdflatex output.tex
File yang digabungkan akan dinamai sebagai output.pdf.
Saya menggunakan pdfseparate untuk mengekstrak halaman tertentu dari file pdf besar:
pdfseparate -f 156 -l 157 input.pdf output_%d.pdf
pdfseparate -f 1 -l 2 input.pdf output_%d.pdf
dan aftewards saya bergabung dengan mereka semua melalui perintah:
pdfunite $(ls -v output_*.pdf | tr '\n' ' ') out$(date +%Y-%m-%d_%H_%M_%S ).pdf
Ini bergabung:
output_1.pdf output_2.pdf output_156.pdf output_157.pdf
ke:
out2014-12-14_23_25_36.pdf
Mungkin ada cara yang lebih mudah untuk mengatasinya ... :-)
pdfunite output_*.pdf out$(date +%Y-%m-%d-%H_%M_%S).pdftetapi tidak memiliki urutan ls -v. Perbaikan yang jelas dan sepele adalah memberi nama file Anda sehingga mereka secara alami mengurutkan dalam urutan yang ingin Anda sertakan. Jika Anda benar-benar ingin ls -v, Anda setidaknya bisa kehilangan pipa tr, yang tidak menghasilkan apa-apa di sini.
Gunakan pdfsam http://www.pdfsam.org/ sangat bagus untuk memisahkan dan menggabungkan pdf
Anda dapat menggunakan pdftk untuk menggabungkan dan memodifikasi dokumen PDF secara umum. Atau ada layanan online untuk melakukan hal itu: http://www.pdfmerge.com/
Inilah pendekatan saya:
Inilah hasilnya:
#!/bin/sh
CLEANED_FILE_PATHS=$(echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | sed 's,.pdf /home/,.pdf\\n/home/,g')
echo $CLEANED_FILE_PATHS | bash -c 'IFS=$'"'"'\n'"'"' read -d "" -ra x;pdfunite "${x[@]}" merged.pdf'
Cukup tempel skrip ini di
/home/your_username/.local/share/nautilus/scripts
dan beri nama "merge_pdfs.sh" (misalnya). Kemudian buat itu dapat dieksekusi (klik kanan pada merge_pdfs.sh -> tab Izin -> centang "Izinkan mengeksekusi file sebagai program"
Jadi sekarang untuk menggabungkan file pdf, Anda hanya perlu memilihnya -> klik kanan -> skrip -> merge_pdfs.sh dan itu akan membuat file "merged.pdf" di direktori yang sama
Semoga ini bisa membantu!