convertBö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
convertKomut daima kullanmaz DPI böylece biz açık bir şekilde belirtilen DPI belirtmek varsayılan yoğunluğu / sayfa biçimi birimi olarak -unitsseç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 .
convertVarsayı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 -repageseç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, -repageacı vermemelisin.
Hesaplamalar, bashsadece bunu desteklediğinden dolayı tamsayı aritmetiği kullanır . İle zshifadeleri 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, img2pdfaraç ImageMagick'e göre daha üstün sonuçlar verir convert. Bu img2pdfdaha 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 a4bir ainvalid argument for option '-repage': a4