设置页面参数时,以给定密度转换PDF文件 - ImageMagick

时间:2017-08-05 13:36:14

标签: imagemagick exec imagick imagemagick-convert

如果设置了page参数,则以给定密度转换PDF文件会输出空白页。

"convert -units PixelsPerInch -density 300  $myfiles -page A4  -gravity center test.pdf"

如果我从命令中省略page参数,我会获得适当的输出,但默认分辨率为72dpi

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

A4页面大小为595 x 842.所以在ImageMagick中你可以尝试

convert -units PixelsPerInch -density 300 $myfiles +repage -resize 595x842  test.pdf

这将使A4像素尺寸图像具有300 dpi。你也可以这样做

convert -units PixelsPerInch -density 300 $myfiles +repage -resize 595x842  -density XX test.pdf

其中XX是打印该尺寸图像时所需的dpi。

我添加了+ repage以删除任何输入图像虚拟画布,因为您没有指定用于$ myfiles的格式图像。没有+ repage,这可能会在结果的顶部造成大量的空白区域。

请注意,在询问有关其使用的问题时,提供ImageMagick版本和平台始终是最佳和最有帮助的。

答案 1 :(得分:0)

当我尝试调整命令时,我发现具有给定density参数的集合i.e, density 300page)实际上设置了-page A4的密度,但没有页面上转换的object因为设置的密度实际上无法确定它应适用的-page A4的分辨率。因此,该命令会在设置页面上返回模糊或空白图像。

然而,extent参数是实际输出适当图像的参数,因为可以使用此参数以预定密度设置页面分辨率。以下示例将使其绝对清晰。

300 dpi处A4尺寸页面的分辨率为2480x3508,因此对300 dpi之类的设定密度的正确命令应为:

"convert -units PixelsPerInch -density 300 $myfiles -gravity center -extent 2480x3508 test.pdf"

72 dpi处A4尺寸页面的分辨率为595x842,因此对72 dpi之类的设定密度的正确命令应为:

"convert -units PixelsPerInch -density 72 $myfiles -gravity center -extent 595x842 test.pdf"