Yanıtlar:
" Komut Satırındaki PDF Dosyalarını OSX'te Birleştirmek " bölümüne bakın . Komut Satırından OS X'te PDF Dosyalarını Birleştirmek .
Tiger'dan itibaren, OSX'in tam olarak ihtiyacınız olanı yapan bir Python betiği ile gönderildiği ortaya çıktı. Betik zaten çalıştırılabilir ve Python OS X'e önceden kurulmuş, bu yüzden çalıştırmak için yapmanız gereken tek şey Terminal'i açmak ve yazmak.
"/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" -o PATH/TO/YOUR/MERGED/FILE.pdf /PATH/TO/ORIGINAL/1.pdf /PATH/TO/ANOTHER/2.pdf /PATH/TO/A/WHOLE/DIR/*.pdf
Ayrıca bağlantılı sayfada onun için sembolik bir bağlantı yapma önerir join.py
onlar ihmal ancak Yazmayı kolaylaştırmak için dosyanın -s
içinde ln -s ... ...
ve o olmadan bir sabit bağlantı oluşturulur. Muhtemelen farketmezdim, ancak ben söylesem de.
Sadece Ghostscript komutunu kullanarak Brew komutunu kullanarak kurun:
brew install gs
Ardından listelenen tüm dosyalar için komutu çalıştırın:
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf source1.pdf source2.pdf source3.pdf
gs
başvurmak için kullanıyorlardı, bu çözüm bu kadar uygun olurdu.
Apple'ın Automator eylemindeki python betiği, yeni PDFKit çerçevesi yerine CoreGraphics'in CGPDFDocument API'lerini kullandığından çok yavaştır. Ayrıca, yalnızca gerekli API'ler yerine tüm CoreGraphics kütüphanesini içe aktarır.
Alternatif, daha hızlı bir python betiği burada bulunabilir:
Bu komut dosyası ayrıca, Apple'ın yapmadığı her bileşen dosyasını listeleyen (ve mevcut ToC'leri birleştiren) listeleyen bir İçindekiler Tablosu'nı da PDF'ye ekler.
Finder için Hızlı Eylem / Hizmet yapmak üzere komut satırında (PDF dosya adları argüman olarak) veya Automator kabuk betiği eyleminde kullanılabilir.
time
komutu sizin ile birlikte joinpdfs.py
senaryo , dahili join.py
komut ve iki dosya, sizin 200 MB her ~ joinpdfs.py
komut daha hızlı 9 saniye idi dahili join.py
komut , TOK bozulmamış olması elbette yararı arasında olan . Güzel! +1
FWIW, Sistem python ve benzeri gibi harici bağımlılıklara güvenmek zorunda kalmadan bunu yapmanıza izin veren küçük bir program yazdım. Burada github : pdfmerge ve kullanımı oldukça basit, ya birleştirmek için bir PDF dosyaları pdfmerge in1.pdf in2.pdf ... out.pdf
listesini iletebilir, bir metin dosyasında birleştirilecek bir dosya listesi iletebilir pdfmerge infileslist.txt out.pdf
ya da sadece ABC dizininde geçerli dizini yapabilirsiniz pdfmerge out.pdf
. Bunu bir öğrenme projesi olarak yazdım, o kadar özgür ve açık ki, github'daki bültenler sekmesinden en son ikili dosyayı edinebilirsiniz.
join.py
, Automator'daki PDF Sayfalarını Birleştir eyleminin komut dosyası olarak kullanmak için başka bir şey indirilmeli veya yüklenmemeli, ancak sizinkileri kullanmak zorundayım. indirin ve kurun. Ayrıca linkte bir ikili görmedim.
üzerine inşa @Bartosz Petryński 'ın güzel cevap , biz kendi asgari yapabilirsiniz cpdf
GhostScript üstünde yarar:
brew install gs
cpdf () {
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="$1" "${@:2}"
}
sonra gibi kullanın:
cpdf merged.pdf file1.pdf file2.pdf file3.pdf
Ücretsiz Coherent PDF Komut Satırı Aracını en iyi seçenek olarak buldum . Çok hızlı, kayıpsızdır ve diğer bazı çözümlerde olduğu gibi yönelimi veya köprüleri bozmaz. Biçim:
cpdf file1.pdf file2.pdf -o output.pdf