Ghostscript - 创建一个包含多个相同页面的pdf并保持大小缩小

时间:2017-10-26 11:17:56

标签: pdf ghostscript

我尝试使用Ghostscript创建具有多个相同页面的PDF。稍后我将与另一个多页PDF一起使用,在每个页面上标记唯一信息。

是否可以使用Ghostscript创建这样的PDF并保持最终文件的大小? Maby有一个我没注意到的标志可以比下面的脚本更好地做到这一点吗?

我尝试使用类似下面的常规合并命令,但生成的PDF的大小增长很多,原始文件大小为2,061MB合并为100页pdf,最终大小为46,117MB。

"C:\Program Files\gs\gs9.20\bin\gswin64.exe"^
 -dBATCH^
 -dNOPAUSE^
 -q^
 -sDEVICE=pdfwrite^
 -sOutputFile=outputpdf.pdf^
 "inputpdf.pdf"^
 "inputpdf.pdf"^
 "inputpdf.pdf"(and so on 100 times)

1 个答案:

答案 0 :(得分:0)

通过为每个页面重复使用页面内容流,您可以轻松地手动构建这样一个文件,这个文件要小得多。

然而Ghostscript的pdfwrite设备赢了;不要这样做,尤其是因为它不能。它无法预先知道它即将接收的页面与前一页面相同。因此,它将为每个页面创建一个新的页面内容流,并为其创建新的内容。

请注意,每页上使用的资源(表单,图案,颜色空间,图像XObject等)将在其他页面上重复使用。

然而,在我看来,你已经获得了近5:1的比例(2k * 100页= 200Kb,最终文件是46Kb)虽然公平地说2Kb的一大部分是“东西”页。

如果没有看到你的输入文件,我就无法进一步评论,但坦率地说,我怀疑如果没有手工制作文件,它可能会变得更小。无论如何,46Kb文件有什么问题?