pdf - 使用 imagemagick 将图像转换为 din a4 pdf

标签 pdf image-processing imagemagick

我有不同的图像,有些很小,有些很大。我想将图像转换为 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

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

不确定这是否适合您?

关于pdf - 使用 imagemagick 将图像转换为 din a4 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35210365/

相关文章:

Python读取pdf页面的一部分

unicode - 教 OCR 理解 NSA 和 FISC 修订

php - 使用 Imagick 在 JPG 上叠加 PNG

pdf - 禁用 PDF 中文本的子像素抗锯齿

ios - prepareForSegue 发送 Pdfs 错误 - 无法转换

ios - 使用 Apple 的 PDFKit 框架更改 PDF 中的文本

asp.net - 如何使用 C# 在 ASP.NET 中识别 CMYK 图像

Jquery 缩略图缩放

image-processing - 用于测量图像中像素之间的欧几里得距离的算法

ruby-on-rails - 如何在 Rails 应用程序中使用 mini_magick 获取 EXIF 关键字?