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.
pdfshuffler
berfungsi dengan baik pada 14,04 amd64.
Untuk menggabungkan dua file pdf, file1.pdf
dan file2.pdf
:
pdftk file1.pdf file2.pdf cat output mergedfile.pdf
Info lebih lanjut tersedia di sini Way Back Machine .
cat
dan output
ikuti 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.
pdftk
mengambil 0m0.484s, gs
mengambil 1m32.898s (itu hampir 200x lebih lambat) File dari gs
sekitar 21% lebih kecil.
file1.pdf file2.pdf
denganfile*.pdf
gs
bekerja dengan beberapa PDF "tidak sesuai" di mana pdftk
hanya akan berjalan selamanya.
-dPDFSETTINGS=/prepress
opsi dari peningkatan kualitas. Semua berkat berkat kontributor
file*.pdf
dengan file1.pdf file2.pdf
sebelum 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.pdf
akan ditimpa tanpa peringatan, jadi pdfunite *.pdf
tidak akan berfungsi seperti yang diharapkan.
cp
juga 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.
apt
tidak 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.pdf
dan file2.pdf
. Buat file yang dipanggil output.tex
dan 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).pdf
tetapi 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!