使用 Ghostscript 在 PDF 文件周围添加黑色边框

使用 Ghostscript 在 PDF 文件周围添加黑色边框

我正在使用 Ghostscript 处理一些 PDF 文件,我想在文件周围添加细黑色边框。这是可以用 Ghostscript 完成的事情,还是有其他(非有损)命令行工具可以做到这一点?

答案1

不确定这对您来说是否足够无损,但您可以使用图像魔术师

convert foo.pdf -bordercolor black -border 10 foo_with_a_10px_border.pdf

对于确保无损的解决方案,您可以构建一个只有边框的单页 pdf 文档。透明的背景并将其应用到文档的每一页上pdftkstamp命令:

pdftk foo.pdf stamp border.pdf output foo_with_my_home-made_border.pdf

答案2

通常,这可以通过将 pdf 转换为 PostScript,在开头添加一小段 PostScript 代码来覆盖页尾函数showpage,然后打印它或将其转换为 pdf 来完成。

您可以使用 和 来转换 pdf 和pdf2pspdf,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(或一半,因为线位于纸张边缘的中心)。

相关内容