ImageMagick PDF裁剪保留了质量

时间:2016-05-27 11:32:48

标签: php ghostscript imagick

我有一些我需要裁剪的PDF文件(裁剪到裁剪框等),我可以使用以下命令

convert -define pdf:use-trimbox=true -density 300 original.pdf outcome.pdf

然而,如果没有原始PDF那么清晰,那就是结果.pdf的质量。当我在我的桌面软件(Acrobat Pro)上裁剪它们时,结果质量相同但在ImageMagick中我无法保持相同的质量。

我的问题是如何在不影响质量的情况下裁剪PDF页面?

我一直在搜索和尝试不同的设置数周,但没有成功。

2 个答案:

答案 0 :(得分:4)

最有可能的问题是ImageMagick正在通过Ghostscript将PDF呈现为位图,然后导出包含在PDF文件中的位图。没有看到原文,我无法肯定地说,但如果原始包含JPEG图像,那么很可能你最终会被JPEG应用两次,或者只是渲染根本就会导致问题。

您最好的选择是使用一个可以简单地将CropBox应用于页面的工具。例如,您可以使用Ghostscript执行此操作(也可以通过其他方式修改PDF,包括双JPEG量化,因此请注意)。

gs -sDEVICE=pdfwrite \
   -sOutputFile=cropped.pdf \
   -dBATCH  -dNOPAUSE \
   -c "<</ColorImageFilter /FlateEncode>> setdistillerparams" \
   -f <input.pdf> \
   -c "[ /CropBox [ 0 0 100 100] /PAGES pdfmark" \
   -f

-c-f之间的第一部分告诉pdfwrite设备将FlateEncode用于彩色图像,默认为JPEG,使用Flate将确保您不会应用两次量化。 / p>

-c-f之间的第二部分告诉pdfwrite设备将CropBox写入文件并使其为0到100,100。单位是PDF中的常用单位; 1/72英寸,您可以使用小数值。

我确定还有其他工具可以做到这一点,甚至更容易实现。

答案 1 :(得分:1)

您是否尝试过增加密度?这就是目的:

http://www.imagemagick.org/script/command-line-options.php#density

否则尝试:

-quality 100

自: Convert PDF to image with high resolution