web-dev-qa-db-ja.com

pdftkを使用してPDFに画像を追加する

こんにちは私はpdftkを使用して、送信されたフォームに基づいてPDFを生成しています。

ここまではすべて正常に動作しています。これは、署名の画像を追加しています。署名の画像ファイルを生成するのに最適な署名パッドを使用しています。今、私はその署名画像をPDFに追加しようとしていますか?これがpdftkでさえ可能かどうか誰かが知っていますか?それを行うオプションが表示されません。または、PDFにあるフォームに画像を添付することも可能ですか?

15
Brad Hazelnut

最初に画像をPDFに変換します

convert image.png image.pdf

次に、pdfjam(別の無料ツール)を使用して画像を拡大およびオフセットします

pdfjam --paper 'a4paper' --scale 0.3 --offset '7cm -12cm' image.pdf

次に、pdftkを使用して両方のPDFを結合します

pdftk text.pdf stamp image.pdf output combined.pdf

画像を配置して一般的なPDFの1ページだけに追加する必要がある場合は、STAMPtkをダウンロードする必要があるかもしれませんが、これは有料です。

ここからSTAMPtkをダウンロードできます http://www.pdflabs.com/tools/stamptk-the-pdf-stamp-maker/

お役に立てば幸いです。

29
Salvi Pascual

この場合、PDFで動的署名を追加する必要があります。 pdftkとimagemagickライブラリを使用して実装しました。 (pdftkとimagemagickをインストールする必要があります)

  1. 最初に画像を次のようにPDFに変換します:(Windows用に変換する代わりにmagickを使用します)

exec( "convert姿-画像-サイズ変更26%-透明な白-ページa4 + 25 + 102 -quality 75出力/stamp.pdf");

説明:

  • サイズ変更:画像のサイズを調整します。
  • 透明は画像の背景を透明にします
  • page:pageをa4に設定し、(25,102)は画像pdfの位置を左右から設定します。

2.次に、次のコマンドを実行します。

exec( "pdftkmain.pdfマルチスタンプstamp.pdf出力outputs/final.pdf");

3
Tanupriya

Python用pdfjinja

https://github.com/rammie/pdfjinja

このライブラリを使用すると、位置情報をマージまたはベクトル化することなく、PDFの署名またはボタンオブジェクトに画像を追加できます。

1。 PDFテンプレートに署名要素を追加します

Adobe Proでは、PDF入力可能なフォームを作成および変更できます。[ツール]> [フォーム]> [編集]に移動し、[新しいフィールドの追加]ドロップダウンから[デジタル署名]を選択します。

配置後、デジタル署名要素のプロパティに移動します。

Property Settings

Tooltipプロパティで、を追加します

{{ Sig | paste }}

保存して閉じます。

2。署名画像をjpgまたはpngとして保存します

署名を画像として取得し、アクセス可能なフォルダーに配置するには、別の方法が必要になる場合があります。

3。 Pythonスクリプトにメソッドを追加します

from pdfjinja import PdfJinja

pdf_jinja_object = PdfJinja("path_to_pdf_template")

filled_out_pdf = pdf_jinja_object({
    'firstName': 'John',
    'lastName': 'Smith',
    'sig': 'path_to_signature_image',
})

filled_out_pdf.write(open("output_file.pdf", 'wb'))

これにより、テンプレートで作成された場所に署名画像が配置されたフォームが作成されます。

3
Jeremy Swagger

まず、画像を次のようにpdfに変換します。(Windowsの場合はconvertの代わりにmagickを使用します)exec( "convert Signature-image -resize 26%-transparent white -page a4 + 25 + 102 -quality 75 outputs/stamp.pdf");

説明:

サイズ変更:画像のサイズを調整します。透明は画像の背景を透明にするページ:ページをa4に設定し、(25,102)は画像pdfの位置を左右から設定します。 2.次に、次のコマンドを実行します。

exec( "pdftkmain.pdfマルチスタンプstamp.pdf出力outputs/final.pdf");

ただし、特定の位置に署名を配置するには、空白を追加しますPDF署名の前にPDF以下に示すように:

exec("convert signature-image -resize 26% -transparent white -page a4+25+102 -quality 75 outputs/stamp.pdf");
            exec("convert xc:none -page A4 outputs/blank1.pdf");
            exec("convert xc:none -page A4 outputs/blank2.pdf");
exec("convert xc:none -page A4 outputs/blank3.pdf");
            exec("pdftk outputs/blank1.pdf outputs/stamp.pdf outputs/blank2.pdf  outputs/blank3.pdf cat output outputs/sign.pdf");
          exec("pdftk main.pdf multistamp outputs/sign.pdf output outputs/final.pdf");
1
Tanupriya