使用 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(或一半,因為線位於紙張邊緣的中心)。

相關內容