13

PDFファイルをPDFファイルにスタンプすることと、PDFファイルスタンプを配置するためのコントロールについて知っている人はいますか?

ファイルorginal.pdflogo.pdf. fileの左上にlogo.pdffile to fileをスタンプしたい。Ghostscriptまたはpdftkでどのように行うことができますか?orginal.pdforiginal.pdf

4

1 に答える 1

32

Ghostscriptpdftk を組み合わせて実行できますが、少なくとも 2 つの異なる手順が必要です。

pdftk私の知る限り、のスタンプの配置を直接制御することはできません。デフォルトでは、スタンプをページの中央に配置し、同時に「サイズに合わせる」操作を行います。

そのため、最初にスタンプを修正して、最初に空のページの希望する位置に配置する必要があります。これは、最初のステップで Ghostscript を使用して実現できます。次に、2 番目のステップで、pdftk を使用して 2 つのファイルをマージします。

例を使用してみましょう。

最初:「stamp-small.pdf」を作成します。(あなたはすでにあなたのものを持っています。私は原理を実証するためにそれが必要です。)

gs \
  -o stamp-small.pdf \
  -sDEVICE=pdfwrite \
  -g3200x500 \
  -c "/Helvetica-Bold findfont 36 scalefont setfont" \
  -c "0 .8 0 0 setcmykcolor" \
  -c "12 12 moveto" \
  -c "(This is my stamp) show" \
  -c "showpage"

この例は、Linux または Mac OS X 用でした。Windows では、次のように変更します。

gswin32c.exe ^
  -o stamp-small.pdf ^
  -sDEVICE=pdfwrite ^
  -g3200x500 ^
  -c "/Helvetica-Bold findfont 36 scalefont setfont" ^
  -c "0 .8 0 0 setcmykcolor" ^
  -c "12 12 moveto" ^
  -c "(This is my stamp) show" ^
  -c "showpage"

(すべてを 1 行に入れることもできますが、それぞれの OS の行継続マークをスキップします。) この最初のコマンドは、一連の単純な PostScript ステートメントを Ghostscript のコマンドラインに渡し、寸法を含む小さな PDF ページを作成するように指示します。 320x50 ポイントの これは、配置を求める「小さな」スタンプをシミュレートする必要があります。

2番目: 3番目のステップで実際のスタンプとして適用できるフルページ(私の場合はA4サイズ)のPDFファイルを作成します。

gs \
  -o A4-stamp.pdf \
  -sDEVICE=pdfwrite \
  -g5950x8420 \
  -c "<</PageOffset [280 790]>> setpagedevice" \
  -f stamp-small.pdf 

Windows の場合:

gswin32c.exe ^
  -o A4-stamp.pdf ^
  -sDEVICE=pdfwrite ^
  -g5950x8420 ^
  -c "<</PageOffset [280 790]>> setpagedevice" ^
  -f stamp-small.pdf 

このコマンドはいくつかのことを達成しました:

  1. 最初に作成された「stamp-small.pdf」を入力として取りました。
  2. 595x842 pts (ISO A4 ページ サイズ) のキャンバスを使用しました。
  3. 小さな PostScript コマンドを適用して、入力コンテンツを右に 280 ポイント、上に 790 ポイントシフトします (PostScript と PDF の座標は左下隅から数え始めます)。
  4. 出力として「A4-stamp.pdf」を作成します。

事実上、私の元の小さなサイズのスタンプの文字列は、現在 A4 ページの右上隅にあります。

3 番目: pdftk を使用して、この新しい「スタンプ」を元の PDF ファイルに適用できます。

pdftk original.pdf stamp A4-stamp.pdf output stamped.pdf

または、複数ページの元の PDF のすべてのページにスタンプするには:

pdftk original.pdf multistamp A4-stamp.pdf output stamped.pdf

この例は、logo.pdf私が自分のstamp-small.pdf. (私は右上隅にそれをしました、あなたは左上隅にあなたのものを望みます。)

于 2011-12-19T19:48:00.783 に答える