我绝对试图通过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
答案 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
的输出产生任何影响。