我有不同的图像,有些很小,有些很大。我想将图像转换为 pdf。
现在我有了一个有效的命令:
convert.exe -page A4 test.png xc:white -gravity center -composite -format pdf -resize "595x842>" test.pdf
问题是,如果我使用它,图像的质量会很差。如果我打开图像查看器并使用已安装的 pdf 打印机(如 bullzip)进行打印,则 pdf 中的图像清晰锐利。使用转换时,质量较低,我可以看到 100% 的像素。
我想要将图像居中,如果它们大于 din a4,则调整大小,图像应按比例调整大小,并且结果应始终在 din a4 中。 我尝试过不同的设置,但是一旦图像足够清晰,pdf的大小就不是din a4或页面大小正确,但只有图像的边缘可见。
有人有有效的命令吗?也许有一个解释为什么?
提前致谢
最佳答案
试试这个方法。制作两张测试图像,一张大的红色,一张小的蓝色,都有对比鲜明的边框,这样我们就可以看到边缘:
convert -size 800x900 gradient:black-red -bordercolor yellow -border 5 big.png
convert -size 400x600 gradient:black-blue -bordercolor magenta -border 5 small.png
现在我们应该,希望(!)能够将它们制作成 PDF:
convert small.png -resize "595x842>" -gravity center -extent 595x842 testsmall.pdf
convert big.png -resize "595x842>" -gravity center -extent 595x842 testbig.pdf
我还直接使用 Ghostscript 做了一些实验 - 但似乎 Ghostscript 无法读取 PNG 文件,也无法居中图像 - 我认为。如果有人知道得更多,我很高兴能证明我错了。因此,我寻找一种中间文件格式,其中 ImageMagick 可以将高质量图像居中,然后 Ghostscript 可以将其转换为 PDF。我想出了 EPS3 并尝试了这个:
convert big.png -resize 2480x3508 -gravity center -extent 2480x3508 eps3:temp.eps
(将 eps3:temp.eps
替换为 temp.png
以检查其是否如您所愿居中)
然后
gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=result.pdf -sPAPERSIZE=a4 -dEPSFitPage temp.eps
不确定这是否适合您?
关于pdf - 使用 imagemagick 将图像转换为 din a4 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35210365/