convert
Böyle bir görev için en son kullandığımda , yeniden boyutlandırma yoluyla hedefin boyutunu açıkça belirttim:
$ i=150; convert a.png b.png -compress jpeg -quality 70 \
-density ${i}x${i} -units PixelsPerInch \
-resize $((i*827/100))x$((i*1169/100)) \
-repage $((i*827/100))x$((i*1169/100)) multipage.pdf
convert
Komut daima kullanmaz DPI böylece biz açık bir şekilde belirtilen DPI belirtmek varsayılan yoğunluğu / sayfa biçimi birimi olarak -units
seçeneğiyle (aksi takdirde farklı versiyonları / giriş formatı kombinasyonları ile değişik sonuçlar alabilirsiniz). Yeni boyut (ile belirtilir -resize
), DIN A4 sayfasının piksel cinsinden boyutudur . Resize argümanı maksimum sayfa boyutunu belirtir. Tam olarak hangi çözünürlük ve kalitenin seçileceği, kullanım durumuna bağlıdır - Kağıda basıldığında çok kötü görünmese de, biraz yer kazanmak için 150 DPI ve ortalama kaliteyi seçtim .
convert
Varsayılan olarak, yeniden boyutlandırma işleminde en boy oranının değişmediğini unutmayın :
Yeniden boyutlandırma, görüntüyü istenen boyuta sığdırır. İstenen kutu boyutunu doldurmaz.
( ImageMagick kılavuzu )
ImageMagick versiyonuna ve ilgili giriş formatlarına bağlı olarak, bu -repage
seçeneği atlamak uygun olabilir . Ancak bazen gerekli olabilir ve bu seçenek olmadan PDF başlığı çok küçük boyutlar içerebilir. Her durumda, -repage
acı vermemelisin.
Hesaplamalar, bash
sadece bunu desteklediğinden dolayı tamsayı aritmetiği kullanır . İle zsh
ifadeleri basitleştirilmiş olabilir - yani değiştirilir $((i*8.27))x$((i*11.69))
.
Lineart Resimleri
PNG dosyaları iki seviyeli (siyah beyaz aka lineart) görüntülerse, img2pdf
araç ImageMagick'e göre daha üstün sonuçlar verir convert
. Bu img2pdf
daha hızlı ve daha küçük PDF'ler demektir.
Örnek:
$ img2pdf -o multipage.pdf a.png b.png
veya:
$ img2pdf --pagesize A4 -o multipage.pdf a.png b.png
-repage a4
bir ainvalid argument for option '-repage': a4