2017-06-15 6 views
-1

私はWordを使用して設計されたフォームのセットを持っています。私は、これらのフォームをPDFとして埋めて保存する必要があります。そのすべてがプログラマチックにJavaで書かれています。PDF形式のJavaで

私は次の可能性探求:

  • Wordの空を - > PDFのAcroForm - > PDFBox

  • を埋める言葉はプログラム的に満たされた - > PDF

  • Wordの空に変換します - > XHTML - > Flying Saucerを使用して塗りつぶしてPDFとして保存しました

  • Wordが空白 - >特殊XMに変換されましたApacheのFOPは

今まで私が最初の可能性を次のような困難に遭遇していますためのL:

  • 動的テーブルにRTLテキストを管理することはできません

  • PDFBoxを作成することは非常に困難正しく

これらのソリューションで良い経験がありますか?

+0

は、あなたが空の入力可能なPDFフォームを作成することができますか?その場合、iTextを使用してPDFフォームに入力し、それを平坦化してそのフォームの塗りつぶしたコピーを作成することができます。私は長い間前にiTextを使いました。それはいいです。 – anacron

+0

私はiTextを見ました - それは無料ではなく、私は最後の無料バージョン2.1.7がどのように実行されるか分かりません。また、私が言及した問題の1つはダイナミックテーブルです。 PDFのテーブルの概念はありませんので、私はWordでそれを作成しますが、私はテーブルにたくさんの行をあらかじめ割り当てておかなければなりません。 –

+0

ああもう無料ではないですか?私はそれが約7 - 8年前に無料だったときにそれを使用し、それは素晴らしい仕事をしました。だから、あなたがまだそのコピーを手に入れることができれば、おそらく先に進むことができます。しかし、やはりバグに遭遇した場合に備えて、古いバージョンをサポートしていない可能性があります。 – anacron

答えて

2

私は数年前に私の顧客の1人に同様の実装を行った。私はオープンオフィスを使ってテンプレートを作成し、iTextを使ってPDFを生成しました。それが役立つかどうかを見てください。

ステップ:

は、テンプレートの作成:

  1. オープンオフィスで新しいドキュメントを開き、新しいドキュメントを作成します。 「表示」に移動して「フォームデザイン」モードにします
  2. テンプレートの静的部分を表すテキストを入力します。
  3. 「フォームデザイン」モードがオンになると、対応するツールバーが上のスクリーンショットで強調表示されて追加されます。 「テキストボックス」をクリックして、文書にテキストボックスを挿入します。テキストボックスをダブルクリックし、そこに必要な入力を挿入します。
  4. テンプレート文書が作成されたら、保存し、輸出書類PDFなどとPDFの作成

のテンプレートはiTextのを使用してテンプレートを埋めるように、この文書が使用されます。

次テンプレートを読み込んでテンプレートを生成して、PDFを動的に生成します。 iTextは、PDFファイルを読むためのPdfReaderと、PDFドキュメントにコンテンツを変更または追加するためのPdfStamperを提供します。テンプレートはPDFファイルなので、PdfReaderはテンプレートを読み込み、PdfStamperはフィールドにリアルタイムデータを動的に入力します。以下は手順です

1. iText PdfReaderを使用してPDFテンプレートを読み込みます。テンプレートは、ファイルシステムのどこにでも置くことができます。しかし、実際のプロジェクトのシナリオでは、プロジェクトフォルダ内に配置する必要があります。

  1. PdfReaderとByteArrayOutputStreamをパラメータとしてPdfStamperを作成します。
  2. PdfStamperオブジェクトのインスタンスを使用してテンプレートフィールドを設定します。 setField()メソッドは、キーと値を引数として取ります。 「キー」は、テンプレートの作成中に入力したテキストボックスの「名前」です。 「キー」が「名前」フィールドと同じであることを確認してください。そうしないと、フィールドにはデータが入力されません。
  3. 必要なフィールドを入力したら、PdfStamperをPdfReaderオブジェクトで閉じます。

参考:http://itext-pdfcreation-template.blogspot.in/

関連する問題