0

LiveCycle によって作成された 2 つの PDF テンプレート (ファイル) があります。最初の PDF ファイルには、オーバーフローする可能性のあるテキスト フィールドがあります。つまり、このフィールドに書き込む必要があるすべてのテキストがそのフィールドに収まるわけではありません。

オーバーフローした場合は、残りのデータを 2 番目のテンプレートに書き込むようにします。2 番目のテンプレートは、基本的にフィールドが 1 つだけのオーバーフロー テンプレートです。2 番目のファイルもオーバーフローする場合は、2 番目のファイルを使用して 3 番目のファイルを生成し、テキストをそのフィールドにオーバーフローさせます。これは、すべてのデータが書き込まれるまで続きます。

これを行うためのオプションは何ですか?

4

1 に答える 1

0

フィールドのポイント幅とすべてのフォント設定がわかっている場合は、同じフォント設定を持つチャンクのコンテンツをシミュレートし、Chunk.getWidthPoint() を呼び出して収まるかどうかを確認できます。

(チャンクが大きすぎる文字がわかり、新しいテンプレートにオーバーフローする必要がある残りのコンテンツがわかるまで、ループで実行します)

おそらく別の方法は、テンプレートの AcroFields を取得し、必要なフィールドを取得してgetMaxCharacterLengthをチェックすることですが、これがフォントサイズ/スタイルを考慮しているかどうかはわかりません。

于 2011-05-11T11:22:10.277 に答える