私は数年前に私の顧客の1人に同様の実装を行った。私はオープンオフィスを使ってテンプレートを作成し、iTextを使ってPDFを生成しました。それが役立つかどうかを見てください。
ステップ:
は、テンプレートの作成:
- オープンオフィスで新しいドキュメントを開き、新しいドキュメントを作成します。 「表示」に移動して「フォームデザイン」モードにします
- テンプレートの静的部分を表すテキストを入力します。
- 「フォームデザイン」モードがオンになると、対応するツールバーが上のスクリーンショットで強調表示されて追加されます。 「テキストボックス」をクリックして、文書にテキストボックスを挿入します。テキストボックスをダブルクリックし、そこに必要な入力を挿入します。
- テンプレート文書が作成されたら、保存し、輸出書類PDFなどとPDFの作成
のテンプレートはiTextのを使用してテンプレートを埋めるように、この文書が使用されます。
次テンプレートを読み込んでテンプレートを生成して、PDFを動的に生成します。 iTextは、PDFファイルを読むためのPdfReaderと、PDFドキュメントにコンテンツを変更または追加するためのPdfStamperを提供します。テンプレートはPDFファイルなので、PdfReaderはテンプレートを読み込み、PdfStamperはフィールドにリアルタイムデータを動的に入力します。以下は手順です
1. iText PdfReaderを使用してPDFテンプレートを読み込みます。テンプレートは、ファイルシステムのどこにでも置くことができます。しかし、実際のプロジェクトのシナリオでは、プロジェクトフォルダ内に配置する必要があります。
- PdfReaderとByteArrayOutputStreamをパラメータとしてPdfStamperを作成します。
- PdfStamperオブジェクトのインスタンスを使用してテンプレートフィールドを設定します。 setField()メソッドは、キーと値を引数として取ります。 「キー」は、テンプレートの作成中に入力したテキストボックスの「名前」です。 「キー」が「名前」フィールドと同じであることを確認してください。そうしないと、フィールドにはデータが入力されません。
- 必要なフィールドを入力したら、PdfStamperをPdfReaderオブジェクトで閉じます。
参考:http://itext-pdfcreation-template.blogspot.in/
は、あなたが空の入力可能なPDFフォームを作成することができますか?その場合、iTextを使用してPDFフォームに入力し、それを平坦化してそのフォームの塗りつぶしたコピーを作成することができます。私は長い間前にiTextを使いました。それはいいです。 – anacron
私はiTextを見ました - それは無料ではなく、私は最後の無料バージョン2.1.7がどのように実行されるか分かりません。また、私が言及した問題の1つはダイナミックテーブルです。 PDFのテーブルの概念はありませんので、私はWordでそれを作成しますが、私はテーブルにたくさんの行をあらかじめ割り当てておかなければなりません。 –
ああもう無料ではないですか?私はそれが約7 - 8年前に無料だったときにそれを使用し、それは素晴らしい仕事をしました。だから、あなたがまだそのコピーを手に入れることができれば、おそらく先に進むことができます。しかし、やはりバグに遭遇した場合に備えて、古いバージョンをサポートしていない可能性があります。 – anacron