因此,我想在Linux中使用groff通过postscript生成的pdf文件的每一页底部添加一个“页脚”(属性)。我自己使用ps2pdf工具将文件从ps转换为pdf,因此可以同时使用这两种格式。
我不反对使用第一种方法,但是我无权访问pdflatex第一个脚本中提到的实用程序,也没有选择将其安装在需要执行此操作的计算机上的选择。
pdflatex
看来第二种方法可能可行,但是我安装了ghostscript版本8.15,并且在手册页(http://unix.browserdebug.com/man/gs/)上没有看到很多标志。我认为我可以访问“ -c”标志以插入一些后记代码,即使它未列出。无论如何,这是我尝试失败的两个命令:
gs -o output.pdf -sDEVICE = pdfwrite -g5030x5320 \ -c“ / Helvetica-Italic findfont 15 scalefont setfont 453482 moveto(test-string)show” \ -f input.ps
这给了我这个:
未知开关-o-忽略 ESP Ghostscript 815.02(2006-04-19) 版权所有(C)2004 artofcode LLC,加利福尼亚州贝尼西亚。版权所有。 该软件不提供任何担保:有关详细信息,请参见文件PUBLIC。 错误:(output.pdf)中的/ undefinedfilename 操作数堆栈: 执行堆栈: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2%stopped_push --nostringval-- --nostringval-- --nostringval--假1%stopped_push 字典堆栈: --dict:1117/1686(ro)(G)---dict:0/20(G)---dict:102/200(L)- 当前分配模式为本地 上次作业系统错误:2 ESP Ghostscript 815.02:无法恢复的错误,退出代码1
因此-o标志显然存在问题,因此我进行了一些研究并尝试了以下语法:
gs -sOUTPUTFILE = output.pdf -sDEVICE = pdfwrite -g5030x5320 \ -c“ / Helvetica-Italic findfont 15 scalefont setfont 453482 moveto(test-string)show” \ -f input.ps
输出此内容并使我命中return 4次(也许input.ps中有4页)
ESP Ghostscript 815.02(2006-04-19) 版权所有(C)2004 artofcode LLC,加利福尼亚州贝尼西亚。版权所有。 该软件不提供任何担保:有关详细信息,请参见文件PUBLIC。 找不到(或无法打开)字体文件/usr/share/ghostscript/8.15/Resource/Font/Helvetica-Italic。 找不到(或无法打开)Helvetica-Italic字体文件。 正在查询操作系统中的字体文件... 在系统上找不到此字体! 将字体Helvetica-Oblique替换为Helvetica-Italic。 从/usr/share/fonts/default/Type1/n019023l.pfb ...加载NimbusSanL-ReguItal字体3742416 2168114 2083056 759694 1完成。 从/usr/share/fonts/default/Type1/n021023l.pfb ...加载NimbusRomNo9L-ReguItal字体... 3781760 2362033 2365632 1015713 1完成。 从/usr/share/fonts/default/Type1/n021004l.pfb ...加载NimbusRomNo9L-Medi字体... 3865136 2547267 2365632 1029818 1完成。 从/usr/share/fonts/default/Type1/n021003l.pfb ...加载NimbusRomNo9L-Regu字体... 4089592 2759001 2365632 1032885 1完成。 对NimbusRomNo9L-Regu使用NimbusRomanNo9L-Regu字体。 >>显示页面,按<返回>继续<< >>显示页面,按<返回>继续<< >>显示页面,按<返回>继续<< >>显示页面,按<返回>继续<<
因此,似乎可以简单gs地在ps文件中插入内容就足够简单了,但是事实证明它相当复杂…
gs
ESP Ghostscript是 古老的 。除非您绝对绝对不能避免使用它,否则不要再使用它。它是CUPS使用了一段时间的原始Ghostscript的一个分支。(在解决了开发人员之间的一些问题之后,CUPS的最新版本现在也再次使用了GPL Ghostscript …)
此处提供了更新的GPL Ghostscript版本:http://www.ghostscript.com/releases/
此外,-o out.pdf只是的简写-dBATCH -dNOPAUSE -sOutputFile=outpdf。因此,您应该尝试一下。(该-dNOPAUSE部分使您不必再<return>为每一页前进都点击。)。
-o out.pdf
-dBATCH -dNOPAUSE -sOutputFile=outpdf
-dNOPAUSE
<return>
最后,不要期望 第三方 man gs页面提供完整的文档。而是参考您使用的版本的原始Ghostscript文档,最重要的部分是:
man gs
更新: Ghostscript的源代码存储库已移至Git(而非Subversion)。因此,以下链接反复更改: