我尝试使用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)
答案 0 :(得分:0)
通过为每个页面重复使用页面内容流,您可以轻松地手动构建这样一个文件,这个文件要小得多。
然而Ghostscript的pdfwrite设备赢了;不要这样做,尤其是因为它不能。它无法预先知道它即将接收的页面与前一页面相同。因此,它将为每个页面创建一个新的页面内容流,并为其创建新的内容。
请注意,每页上使用的资源(表单,图案,颜色空间,图像XObject等)将在其他页面上重复使用。
然而,在我看来,你已经获得了近5:1的比例(2k * 100页= 200Kb,最终文件是46Kb)虽然公平地说2Kb的一大部分是“东西”页。
如果没有看到你的输入文件,我就无法进一步评论,但坦率地说,我怀疑如果没有手工制作文件,它可能会变得更小。无论如何,46Kb文件有什么问题?