サブフォームとテキストフィールドを持つ PDF テンプレート (Adobe Livecycle デザイナーを使用して設計) があります。これら 2 つのオブジェクトのプロパティは に設定されていfloat
ます。これらのオブジェクトの高さは に設定されAutofit
ます。これらのオブジェクトを囲むすべての親の高さは に設定されましたAutoFit
。
ここでの意図は、テキスト フィールドに入力するテキスト コンテンツに応じて、テキスト フィールドの高さを大きくすることです。
Adobe デザイナーからテンプレートをプレビューすると、生成されたプレビュー PDF でテキスト フィールドがフローティングとして表示されます (入力したテスト データに基づく)。
アプリケーションの目的のために、iText を使用します。
基本的に、これらの定義済みテンプレートをロードし、iText API を使用してこれらのフィールドにデータを入力します。
現在使用している iText のバージョンは iText 5.1.3 です。
...
Document document = new Document();
document.open();
PdfReader reader = new PdfReader(<inputTemplate>);
ByteArrayOutputStream aStream2 = new ByteArrayOutputStream();
PdfStamper stamper2 = new PdfStamper(reader, aStream2);
AcroFields form = stamper2.getAcroFields();
form.setField("<fieldname>", "<fieldvalue>");
...
等々。
このようにして生成された PDF は、基本的にオーバーフローを無視して、テキスト ボックスのサイズに収まるテキストのみを表示します。
うまくいけば、私が遭遇している問題について十分な説明ができました。コンテンツを動的に埋め込み、残りの PDF をフロート可能にしたい。iTextを使用してこれを達成するにはどうすればよいのでしょうか?