Ghostscriptを使用してPDFファイルの周囲に黒い枠線を追加する

Ghostscriptを使用してPDFファイルの周囲に黒い枠線を追加する

いくつかのPDFファイルを処理するためにGhostscriptを使用しており、ファイルの周りに薄い黒い枠線を追加したいと思います。これはGhostscriptでできることですか、それとも他の(損失のない)コマンドラインツールはありますか?

答え1

これがあなたに十分なロスレスであるかどうかはわかりませんが、次のものを使用できます。イメージマジシャン:

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

ロスレスソリューションを保証するには、境界線のみを持つ単一ページのPDF文書を作成できます。透明背景を作成してドキュメントのすべてのページに適用します。pdftkコマンドstamp:

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

答え2

通常、これはpdfをPostScriptに変換し、最初に小さなPostScriptコードを追加してフッター機能をオーバーライドし、印刷またはshowpagepdfに変換することによって行われます。

通常、Ghostscriptに付属のおよびpdf2psを使用してpdfをpdfに変換できます。ps2pdfこのサンプル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(または線が用紙の端の中央にあるため半分)です。

関連情報