PDF dosyasını Adobe Acrobat Pro'da yapabildiğimiz gibi kırpmak için açık kaynaklı bir komut satırı aracı arıyorum. PdfTk, ImageMagick, PyPDF ve GhostScript'i denedim - hepsi bugüne kadar başarılı olamadı.
PDF dosyasını Adobe Acrobat Pro'da yapabildiğimiz gibi kırpmak için açık kaynaklı bir komut satırı aracı arıyorum. PdfTk, ImageMagick, PyPDF ve GhostScript'i denedim - hepsi bugüne kadar başarılı olamadı.
Yanıtlar:
PDFcrop'a bir göz atmanızı öneririm .
5, 10, 20 ve 30 pt (puan) değerinde sol, üst, sağ ve alt kenar boşluklarıyla pdf kırpmak istiyorsanız, o zaman
pdfcrop --margins '5 10 20 30' input.pdf output.pdf
Terminalde Bir şeyi gerçekten uzaklaştırmak için, kırpma argümanında negatif değerler kullanın. Örneğin,
pdfcrop --margins '-50 -50 -50 -50' input.pdf output.pdf
sola, yukarı, sağa, alttan 50 pt ekler (bu sırayla).
Yalnızca komutu çalıştırırsanız , sıfır-kenar boşluklu input-crop.pdfpdfcrop input
başlıklı bir dosya çıkarır . Pdf resimlerini belgelere eklerken bunu çok kullanışlı buluyorum.
Birden fazla dosyayı kırpma
Ne yazık ki, pdfcrop o zaman birden fazla dosyayı kırpamaz. Ancak, tüm pdfs'leri betiğin bulunduğu klasöre kopyalayacak bir komut dosyası yazmak kolaydır.
Yeni bir boş dosya oluşturun ve arayın something.sh
. Bir metin editörüyle açın ve aşağıdakileri ekleyin:
#!/bin/bash
for FILE in ./*.pdf; do
pdfcrop "${FILE}"
done
Sakla ve kapat. Ardından dosyayı sağ tıklayın, Özellikler> İzinler'e gidin ve Dosyayı program olarak çalıştırmaya izin ver alanını kontrol edin . Şimdi diyaloğu kapat. Komut dosyasını çift tıklatarak ve Terminalde Çalıştır'ı seçerek çalıştırın . Ve şimdi, -crop sonekiyle tüm pdfs'lerin sıfır kenar boşluklu kırpılmış hali şimdi klasörde basılacaktır. Kenar boşlukları veya başka şeyler istiyorsanız, elbette sadece betiği açıp sonra argümanlar ekleyebilirsiniz pdfcrop
.
--bbox "<left> <bottom> <right> <top>"
. Bu benim tarif kırpma alanını belirlemek için bir yaklaşım kullanmasına izin verir aşağıda cevabını .
pdfcrop --help
mevcut seçenekleri listeler. Orada çeşitli sayfalar belirleyebilecek bir şey göremiyorum.
Rasmus için teşekkürler, pdfcrop'u texlive-extra-utils paketinden yükleyebilirsiniz:
sudo apt-get install texlive-extra-utils
Ardından pdf crop komutunu kullanarak pdf dosyalarını kırpın:
pdfcrop input.pdf output.pdf
--help
gibi daha şaşırtıcı parametreleri görmek için kullanın--margins
pdfcrop --margins 5 input.pdf output.pdf
hangi sayfanın her tarafından 5 bp pdf kırpma
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS="/ebook" -sOutputFile=output2.pdf output.pdf
sonra dosya boyutunu düzeltmek zorunda kaldım .
Ayrıca, basitçe Ghostscript kullanarak PDF dosyalarını da kırpabilirsiniz. Süreci basitleştirmek için küçük bir senaryo yazdım ( bu cevaba göre ):
#!/bin/bash
if [ $# -lt 5 ]
then
echo "Usage: `basename $0` <pdf-file> <x_min> <x_max> <y_min> <y_max>"
echo "Notes:"
echo " - all coordinates are absolute; no calculation of width/height necessary"
echo " - use 'gv' to determine the coordinates"
exit 65
fi
file="$1"
xmin="$2"
xmax="$3"
ymin="$4"
ymax="$5"
base="${file%.*}"
outfile="${base}_cropped.pdf"
echo "writing to: $outfile"
gs \
-o $outfile \
-sDEVICE=pdfwrite \
-c "[/CropBox [$xmin $ymin $xmax $ymax] /PAGES pdfmark" \
-f $file
Kırpma koordinatlarını belirlemek için gv
, fare imlecinin koordinatlarını Ghostscript ile aynı birimleri kullanarak basan kullanıyorum. Örneğin, burada x / y için minimum koordinatları (sol üst köşedeki değerler) belirlerim:
Şimdi maksimum koordinatlar:
Sonunda, şöyle bir senaryo pdf_crop_by_coordinates.sh test.pdf 45 429 38 419
üreten bir senaryo çalıştırıyorum test_cropped.pdf
:
Yine de, Ghostscript çözümünün pdfcrop
kalite ve doğruluk açısından nasıl karşılaştırılacağı hakkında hiçbir fikrim yok .
Pdftk ile bir şey yapamadığımda , açacağım bir sonraki yer pdfpages LaTeX paketi için bir komut satırı sarmalayıcısı olan PDFjam'dır (dolayısıyla buna ve bir TeX dağıtımına da ihtiyacınız vardır). Nasıl kullanılacağı hakkında yardım için, düzenli yardım ekranını öneririm:
pdfjam --help
man sayfası seyrek olduğu ve Web sayfası örnekler üzerinde yoğunlaştığı için.
Bir PDF'yi kırpmak için ihtiyacınız olan komut şuna benzer:
pdfjam --keepinfo --trim "10mm 15mm 10mm 15mm" --clip true --suffix "cropped" input.pdf
Bu denilen bir dosya çıktısı alacaktır input-cropped.pdf
. Düzeltir sırası uyarınca, alt, sağ, üst bırakılmalıdır \includegraphics
gelen graphicx .
PDFcrop ile nasıl kıyaslandığına dair bir fikir vermek için, son zamanlarda oldukça süslü bir PDF'yi mahvetmeme neden oldu. Orijinalim 675 kB idi, PDFjam aracılığıyla kırpılmış sürümüm 1.2 MB iken, PDFcrop aracılığıyla kırpılmış sürüm 4.5 MB idi. Hem PDFjam hem de PDFcrop gömülü köprüleri ve yer imlerini çıkarırken, PDFjam --keepinfo
seçeneği ile belge özelliklerini korudu (örn. Başlık, yazar, konu).
Grafik bir araç da iyi ise, tavsiye ederim krop
: http://arminstraub.com/software/krop
Bu size yardımcı olabilir.
Bu, Ubuntu'nun ve yaşamın yeni sürümüne uygundur. Bu Master PDF Editör . Kırpma kullanabilirsiniz, bazı şeyler ekleyin, vb.
Bu sayfadan bir pypdf betiği kullanabilirsiniz . Ancak bu yığın değiştirme sorusunun cevabında , birçok seçenek de var gibi gözüküyor.
PdfCropMargins programı otomatik olarak PDF dosyalarını marjları kırpmak için bir komut satırı uygulamasıdır.
Bu program, Ghostscript programına veya sistemde kurulu olan (ve konumlandırılabilir) pdftoppm programına bağlıdır. Ve 191 eşiğini kullanarak sınırlayıcı kutuları bulmak için sayfa görüntülerini PIL ile analiz edin.
kullanarak yükle
pip yükleme pdfCropMargins
Kullanarak çalıştır
pdf-crop-margins -v -s -u sizin-dosya.pdf
Yardım için
pdf-crop-margins -h | Daha