Imagemagick use-trimbox根本不起作用

时间:2011-01-17 11:20:26

标签: linux pdf image-processing imagemagick

我绝对试图通过Imagemagick(转换命令)将PDF转换为JPG来保留trimbox。 我运行以下命令(仅转换第一页)。

convert -verbose -define pdf:use-trimbox=true "test_org.pdf[0]" cropped.jpg

这是一个输出。看起来imagemagick没有将use-trimbox参数传递给ghostscript。这可能是个原因吗?目前转换后的图像是媒体盒大小,而不是trimbox。 ImageMagick的版本是6.0.7,ghostscript GPL Ghostscript 8.64。

convert: **"gs" -q -dBATCH -dSAFER -dMaxBitmap=500000000 -dNOPAUSE -dAlignToPixels=0 "-sDEVICE=bmpsep8" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-g652x935" "-r72x72" -dFirstPage=1 -dLastPage=1 "-sOutputFile=/tmp/magick-XXgTtZZG" "-f/tmp/magick-XXs4Kjq2" "-ftest_org.pdf".**
/tmp/magick-XXgTtZZG[0] BMP 652x935 PseudoClass 256c 2.3mb 0.050u 0:01
/tmp/magick-XXgTtZZG[1] BMP 652x935 PseudoClass 256c 2.3mb 0.040u 0:01
/tmp/magick-XXgTtZZG[2] BMP 652x935 PseudoClass 256c 2.3mb 0.020u 0:01
/tmp/magick-XXgTtZZG[3] BMP 652x935 PseudoClass 256c 2.3mb 0.010u 0:01
test_org.pdf PDF 652x935 652x935+0+0 DirectClass 2.3mb 0.040u 0:01
test_org.pdf PDF 652x935 652x935+0+0 DirectClass 2.3mb 0.040u 0:01
test_org.pdf=>cropped.jpg PDF 652x935 652x935+0+0 DirectClass 202kb 0.120u 0:01

2 个答案:

答案 0 :(得分:1)

你可能有太旧的ImageMagick。在我的情况下工作正常。

Version: ImageMagick 6.6.0-4 2010-11-16 Q16 http://www.imagemagick.org

-define pdf:use-trimbox=true使convert使用gs选项调用-dUseTrimBox,我在您提供的输出中没有看到。考虑更新ImageMagick。

答案 1 :(得分:0)

您的ImageMagick 6.0.7已超过6年(已发布数十个版本)。目前是6.7.0-9。 您的Ghostscript 8.64已经超过2年(已发布5个版本)。目前是9.02。

我的建议是升级。

在我的(Windows)系统上,我有IM 6.7.0-8和GS 9.02。运行-define pdf:use-trimbox=true在此处工作正常,并转换为-dUseTrimBox=true的Ghostscript命令行参数。

然而(这很重要!):应该考虑到,对于许多实际示例PDF,TrimBox未定义,或明确设置为相同的值MediaBox。两者都有相同的效果:-dUseTrimBox=true不会对-dUseTrimBox=false的输出产生任何影响。