我正在尝试使用ghostscript将多个pdfs文件中的某个页面合并为单个pdf文件。有可能吗? 我试试:
'/ usr / local / bin / gs'' - dBATCH'' - dNOPAUSE'-q -sDEVICE = pdfwrite -sOutputFile = finished.pdf pdf1.pdf pdf2.pdf ...
它可以工作,但合并所有pdf页面。我只需要一个人。
ES: PDF1.pdf共5页 PDF2.pdf,共10页
我想在PDF1.pdf的第1页和PDF2.pdf的第3页上有一个finished.pdf。
答案 0 :(得分:1)
首先,正如我一直所说,Ghostscript(和pdfwrite设备)执行不'合并','连接','修改','编辑'或其他任何PDF文件。
当您向Ghostscript提供输入时,它会完全解释它,生成一系列图形基元,然后传递给设备。在低级设备的情况下,这些设备使用图形库将基元渲染到位图。高级(或矢量)设备创建与它们正在创建的任何输出格式的图形基元等效,并输出。
因此,pdfwrite的输出是一个PDF文件。即使输入是PDF文件,该PDF文件的内部也与输入无关。唯一可以预期的是外观应该是等效的。
也就是说,PDF解释器从PDF文件中提取了大量“元数据”,并将其传递给pdfwrite设备,因此它“看起来像”PDF是相同的。但是你必须知道你得到的PDF文件不是你开始使用的文件。
现在,Ghostscript的PDF解释器一次只能处理一个PDF文件。因此,没有办法从一个PDF文件解释一个页面,然后从另一个PDF文件解释一个页面,然后从第一个页面构成页面,依此类推。
使用Ghostscript执行所需操作的唯一方法是为要处理的每个文件的每个页面创建一个PDF文件(设置OutputFile =%d.pdf以在每页创建一个PDF)然后再次运行Ghostscript,按顺序将每个页面按顺序送到Ghostscript。因为您现在一次只处理一个PDF文件,所以这将有效。
或者,你可以看一下这种工作意图的工具,Ghostscript确实不是。