Windows'ta PDF dosyalarını birleştirmek için pek çok yazılım var, ancak aynı şeyi Ubuntu'da nasıl yapabiliriz?
Windows'ta PDF dosyalarını birleştirmek için pek çok yazılım var, ancak aynı şeyi Ubuntu'da nasıl yapabiliriz?
Yanıtlar:
Basit bir GUI'ye sahip bir araç istiyorsanız, pdfshuffler'ı deneyin . Sayfaların yeniden düzenlenmesi ve silinmesinin yanı sıra PDF'lerin birleştirilmesine de izin verir. Toplu işlem ve / veya daha karmaşık işler için, pdftk elbette daha güçlüdür.
pdfshuffler
14.04 amd64’de iyi işler olduğunu doğrulayabilirim .
İki pdf dosyasını birleştirmek için file1.pdf
ve file2.pdf
:
pdftk file1.pdf file2.pdf cat output mergedfile.pdf
Daha fazla bilgi burada bulunabilir Way Back Machine .
cat
ve output
değişken değişken giriş bağımsız değişkenlerini izleyen ve tekrar bir çıkış bağımsız değişkeni izleyen sıra dışı bir kullanıma sahiptir .
Ghostscript , PostScript ve PDF dosyalarını diğer biçimlerde görüntülemenizi veya yazdırmanızı veya bu dosyaları diğer biçimlere dönüştürmenizi sağlayan bir pakettir (varsayılan olarak Ubuntu'da bulunur).
Ghostscript'i PDF dosyalarını birleştirmek için kullanmak için aşağıdakine benzer bir şey yazın:
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/None -sOutputFile=finished.pdf file1.pdf file2.pdf
İşte komutun kısa bir açıklaması:
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.
Giriş dosyalarınızın PDF dosyaları olması gerekmez. Ayrıca PostScript veya EPS dosyalarını veya üçünün herhangi bir karışımını kullanabilirsiniz.
Ghostscript ile yapabileceğiniz çok şey var. Daha fazla ayrıntı için belgelerini okuyabilirsiniz .
pdftk
0m0.484s aldı, 1m32.898s gs
aldı (bu neredeyse 200x daha yavaş oldu) gs
.
file1.pdf file2.pdf
ilefile*.pdf
gs
olan bazı "uygun olmayan" PDF'lerle çalıştı pdftk
.
-dPDFSETTINGS=/prepress
Kalite iyileştirmeden gelen seçeneği kullanın . Özgün katılımcısı
file*.pdf
olan file1.pdf file2.pdf
komuta argümanlar geçirmeden önce.
Ayrıca pdf belgelerini birleştirmek için pdfunite kullanın:
pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf
out.pdf
üzerine uyarı yapılmadan yazılacak, pdfunite *.pdf
beklendiği gibi çalışmayacaktır.
cp
ayrıca son argümanını uyarmadan yazar. Bu sadece acele kullanıcılar için (kendim gibi) - Şanslıydım, söz konusu dosyanın yedeğini aldım ...
Çok güzel bir çözüm PDFChain. GUI, birleştirme, bölme ve hatta PDF dosyalarınıza arka plan ekleyebileceğiniz bir PDFTK ön yüzüdür.
apt
da sonuç vermedi: /
Alternatif bir yaklaşım, Lateks'i bu yazıda açıklandığı şekilde kullanmaktır ( pdflatex'in yüklü olduğunu varsayarak kök erişimi olmadan ): https://tex.stackexchange.com/questions/8662/merge-two-pdf-files-output-by- lateks
Söz konusu araçlara veya kök ayrıcalıklarına sahip değilseniz, ancak pdflatex'iniz varsa, bu kullanışlıdır.
Birleştirmek için aşağıdaki tex kodunu kopyalarım file1.pdf
ve file2.pdf
. Adlı bir dosya oluşturun output.tex
ve koyun:
\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{file1}
\includepdf[pages=-]{file2}
\end{document}
Ve derlemek için basitçe kullanın: pdflatex output.tex
Birleştirilen dosya olarak adlandırılır output.pdf
.
Büyük pdf dosyasından belirli sayfaları çıkartmak için pdfseparate kullanıyorum:
pdfseparate -f 156 -l 157 input.pdf output_%d.pdf
pdfseparate -f 1 -l 2 input.pdf output_%d.pdf
ve ödüllere hepsine buyrukla katılıyorum:
pdfunite $(ls -v output_*.pdf | tr '\n' ' ') out$(date +%Y-%m-%d_%H_%M_%S ).pdf
Bu katılır:
output_1.pdf output_2.pdf output_156.pdf output_157.pdf
içine:
out2014-12-14_23_25_36.pdf
Başa çıkmanın daha kolay bir yolu olabilir ... :-)
pdfunite output_*.pdf out$(date +%Y-%m-%d-%H_%M_%S).pdf
ancak sıralaması yoksundur ls -v
. Belirgin ve önemsiz bir düzeltme, dosyalarınızı doğal olarak eklemek istediğiniz sıraya göre sıralayacak şekilde adlandırmaktır. Kesinlikle istiyorsan ls -v
, en azından borusunu kaybedebilirsin tr
, ki burada hiçbir şey yapmıyor.
Ayrıca jPDFTweak , pdfsam veya pdfjam kullanabilirsiniz .
(Bu, pdftk kullandığımı söyledi.)
Pdfsam kullanın http://www.pdfsam.org/ pdfs'leri bölmek ve birleştirmek için çok iyi
PDF belgelerini genel olarak birleştirmek ve değiştirmek için pdftk kullanabilirsiniz . Alternatif olarak, sadece bunu yapmak için bir çevrimiçi hizmet var: http://www.pdfmerge.com/
İşte benim yaklaşımım:
İşte sonuç:
#!/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'
Juste bu betiği buraya yapıştır
/home/your_username/.local/share/nautilus/scripts
ve "merge_pdfs.sh" olarak adlandırın (örneğin). Ardından çalıştırılabilir duruma getirin (merge_pdfs.sh -> İzinler sekmesine sağ tıklayın -> "Bir program olarak dosyayı çalıştırmaya izin ver" seçeneğini işaretleyin.
Yani şimdi pdf dosyalarını birleştirmek için, sadece onları seçmek zorundasınız -> sağ tıklayın -> scriptler -> merge_pdfs.sh ve aynı dizinde bir "merged.pdf" dosyası yaratacak
Umarım yardımcı olur!