我有100行的postscript文件。我试图在ghostscript的帮助下将2个pdfs合并到单个pdf中。我想要做的是,将两个pdf合并为一个,然后以下列方式应用我的postscript代码:
1)后记文件的前50行应仅应用于生成的pdf的第1页
2)在生成的pdf的第2页上应用剩余的50行。
我使用以下代码来执行此操作:
gs -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=output.pdf test.ps pdf_1.pdf pdf_2.pdf;
我已经尝试了postscript的showpage
选项,但是在生成的输出pdf中插入了一个空白页面,这不是我的要求。
任何人都知道我该怎么做?
答案 0 :(得分:3)
showpage不是Ghostscript'选项',它是一个PostScript运算符。
因为您的输入文件是PDF,所以这是一项非常重要的任务。 PDF解释器将为输入PDF文件中的每个页面执行showpage的系统定义,覆盖您放入PostScript的任何内容。
不试试这个我相信你需要做的是创建一个EndPage过程,根据页面数量采取不同的操作(这是一种PostScript编程技术)。
例如:
/DoPage1 {
%% Your code goes in here
} def
/DoPage2 {
%% Your code goes in here
}
<<
/EndPage {
2 lt{
1 eq {
DoPage1
}{
DoPage2
} ifelse
}{
pop
} ifelse
}
>> setpagedevice
您必须先运行此代码 2个PDF文件,例如:
gs .... setup.ps file1.pdf file2.pdf
答案 1 :(得分:2)
您可以在单个命令中提供所有ps文件名,紧邻每个pdf输出文件名。这将生成具有PS代码输出的require PDF,然后您可以根据需要使用任何PDF库合并它们。
答案 2 :(得分:0)
您可以将PS代码分解为多次迭代。只需使用PS代码的一部分创建一个pdf,然后生成另一个包含PS剩余部分的pdf。完成后,您可以在ghost脚本的帮助下合并两个PDF并获得所需的输出。
我知道这不是一个明智的解决方案,但是你可以继续前进。
由于