以编程方式"flatten"多页 PDF,就像 Acrobat 在打印之前所做的那样



我的公司每周都会打印产品标签。我有一个PHP脚本,它使用FPDI生成一些PDF发送到我们的打印商店。它们加在一起大约有500页。在Acrobat中打开后,它们需要很长时间才能假脱机。Acrobat报告每一页都是";扁平的";进度条滴答作响。

我们正在努力简化流程,以避免花太长时间进行假脱机,所以我一直在试图找到一种以编程方式压平文件的方法,但一直在努力寻找与目标相关的网络结果。

我发现的大部分内容似乎都与单页扁平化有关。当我尝试遵循这样的方法时,我最终会得到一个单独的页面文件,其中所有其他页面都被弄脏了。

convert -density 300x300 -colorspace RGB file.pdf -quality 100 -flatten fileFlat.pdf

如果有人能帮助我指明正确的方向,模仿Acrobat正在做的事情,我将不胜感激。

我找到了这个解决方案:

gs -q -dNOPAUSE -sDEVICE=pdfimage24 -r300 -sOutputFile=fileFlat.pdf file.pdf -c quit

它产生了所需的结果,然而,文件从86MB增加到737MB。。。我确实尝试过使用降尺度因子,但是这会导致质量损失,这是不可用的。

有人知道如何改进这个过程产生的文件大小吗?

最新更新