我正在使用 Ghostscript 处理一些 PDF 文件,我想在文件周围添加细黑色边框。这是可以用 Ghostscript 完成的事情,还是有其他(非有损)命令行工具可以做到这一点?
答案1
答案2
通常,这可以通过将 pdf 转换为 PostScript,在开头添加一小段 PostScript 代码来覆盖页尾函数showpage
,然后打印它或将其转换为 pdf 来完成。
您可以使用 和 来转换 pdf 和pdf2ps
pdf,ps2pdf
它们通常与 Ghostscript 一起打包。此示例 PostScript 代码添加了 A4 大小的边框:
%!PS
% A4 paper is 21.0 × 29.7 cm
/cm { 28.4 mul } bind def
/w 21.0 cm def
/h 29.7 cm def
/border
{ 0.5 cm setlinewidth newpath
0 0 moveto w 0 lineto w h lineto 0 h lineto closepath stroke
} bind def
/add-border { gsave initgraphics 0 setgray border grestore } def
/orig-showpage /showpage load def
/showpage { orig-showpage add-border } def
add-border
把它放在一个文件中,比如说addborder.ps
,然后你就可以
pdf2ps a.pdf a.ps
cat addborder.ps a.ps >b.ps
ps2pdf b.ps b.pdf
gv b.pdf
/w
对于其他纸张尺寸,编辑和的定义(/h
以厘米为单位)。示例线宽为0.5 cm
(或一半,因为线位于纸张边缘的中心)。