我做了类似的事情
convert -page A4 -compress A4 *.png CH00.pdf
但是第一页要比后续页大得多。即使图像尺寸相似,也会发生这种情况。这些图像被扫描并裁剪,因此尺寸可能略有不同
我以为-page A4
应该固定页面的大小?
上一次我用于convert
此类任务时,我通过调整大小来明确指定目标的大小:
$ 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
命令并不总是使用DPI作为默认的密度/页面格式单位,因此我们使用该-units
选项明确指定了DPI (否则,使用不同的版本/输入格式组合可能会得到不同的结果)。新尺寸(通过指定-resize
)是DIN A4页面的尺寸(以像素为单位)。resize参数指定最大页面大小。确切选择哪种分辨率和质量取决于用例-我选择了150 DPI和平均质量以节省一些空间,而在纸上打印时看起来并不差。
请注意,convert
默认情况下不会通过调整大小操作更改长宽比:
调整大小将使图像适合要求的大小。它没有填满要求的盒子大小。
根据ImageMagick的版本和所涉及的输入格式,可以省略该-repage
选项。但是有时是必需的,没有该选项,PDF标头可能包含太小的尺寸。无论如何,-repage
都不应该受到伤害。
由于bash
仅支持整数运算,因此计算使用整数运算。随着zsh
表达式可以简化-即与更换$((i*8.27))x$((i*11.69))
。
如果PNG文件是双级(黑白又称为线稿)图像,则该img2pdf
工具将产生比ImageMagick更好的结果convert
。这意味着img2pdf
速度更快,并且产生的PDF较小。
例子:
$ img2pdf -o multipage.pdf a.png b.png
或者:
$ img2pdf --pagesize A4 -o multipage.pdf a.png b.png
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句