ImageMagick PDF 作物保留质量

ImageMagick PDF crop retain quality

我有一些 PDF 文件需要裁剪(裁剪到 trimbox 等),我可以使用以下命令来完成

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

虽然 outcome.pdf 质量不如原始 PDF 清晰,但它可以完成工作。当我在我的桌面软件 (Acrobat Pro) 上裁剪它们时,结果质量相同,但在 ImageMagick 中我无法保持相同的质量。

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

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

你试过增加密度吗?这就是目的:

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

否则试试:

-质量100

来自: Convert PDF to image with high resolution

问题很可能是 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 将确保您不会应用两次量化。

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

我相信还有其他工具可以做到这一点,甚至可能更容易。