一尘不染

如何在Linux中的postscript或pdf文件的每一页底部添加页脚?

linux

因此,我想在Linux中使用groff通过postscript生成的pdf文件的每一页底部添加一个“页脚”(属性)。我自己使用ps2pdf工具将文件从ps转换为pdf,因此可以同时使用这两种格式。

我不反对使用第一种方法,但是我无权访问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文件中插入内容就足够简单了,但是事实证明它相当复杂…


阅读 470

收藏
2020-06-07

共1个答案

一尘不染

ESP Ghostscript是 古老的
。除非您绝对绝对不能避免使用它,否则不要再使用它。它是CUPS使用了一段时间的原始Ghostscript的一个分支。(在解决了开发人员之间的一些问题之后,CUPS的最新版本现在也再次使用了GPL
Ghostscript …)

此处提供了更新的GPL
Ghostscript版本:http//www.ghostscript.com/releases/

此外,-o out.pdf只是的简写-dBATCH -dNOPAUSE -sOutputFile=outpdf。因此,您应该尝试一下。(该-dNOPAUSE部分使您不必再<return>为每一页前进都点击。)。

最后,不要期望 第三方 man gs页面提供完整的文档。而是参考您使用的版本的原始Ghostscript文档,最重要的部分是:


更新: Ghostscript的源代码存储库已移至Git(而非Subversion)。因此,以下链接反复更改:

2020-06-07