用imagemagick拍摄的图像为a4 pdf

时间:2016-02-04 19:53:18

标签: pdf image-processing imagemagick

我有不同的图像,有些是小的,有些是非常大的。我想将图像转换为pdf。

现在我有一个工作命令:

WHERE return_policy = 30

问题是,如果我使用它,图像的质量是非常糟糕的。如果我打开一个imageviewer并使用已安装的pdf-printer(如bullzip)进行打印,则图像在pdf中清晰明了。使用转换,质量很低,我可以看到100%的像素。

我想将图像居中,如果它们大于din a4则调整大小,图像应按比例调整大小,结果应始终在din a4。 我尝试了不同的设置,但是一旦图像足够清晰,pdf的大小就不是din a4或者pagesize是正确的,但只有图像的边缘是可见的。

有没有人有工作指令?也许有解释原因?

提前致谢

1 个答案:

答案 0 :(得分:2)

试试这种方式。制作两个测试图像,一个是大的,一个是红色的,一个是小的,蓝色的,都有对比的边框,所以我们可以看到边缘:

convert -size 800x900 gradient:black-red -bordercolor yellow -border 5 big.png

enter image description here

convert -size 400x600 gradient:black-blue -bordercolor magenta -border 5 small.png

enter image description here

现在我们应该希望(!)能够将它们变成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

不确定这对你有用吗?