0

PDFをレンダリングするときに、チェックボックスの塗りつぶしタイプをオンデマンドでカスタマイズできる必要があります。

これはAcroFields (pdfStamper.getAcroFields()) でのみ行う必要があります。これは、新しいフィールドを作成していない (変更しているだけである) ためであり、スコープ内で使用できるのはそれだけです。以下にリストされているものを含め、約100のことを試しましたが、これはこれを行う方法についての私の最善の推測でした.

  PdfDictionary dictionary = (PdfDictionary)  acrofields.getFieldItem("ABCD").getWidget(0).get(PdfName.MK);
  dictionary.put(PdfName.CA, new PdfString("8", PdfObject.TEXT_UNICODE));

ABCD はテスト用です。

私は非常に立ち往生しており、どんな助けも大歓迎です。辞書の値を変更することはできますが、pdf をファイルに書き込んでも影響はないようです。チェックボックスをチェック/チェック解除するように設定したり、テキストフィールドにデータを入力したりするなどのその他の変更。ですから、なぜこれが機能しないのか、非常に驚​​き、混乱しています。

4

1 に答える 1

2

チェック ボックスのキャプションを変更しようとしていますが、何が表示されるかわかりません。テキスト「8」を見たいですか?その場合、キャプションを変更するだけでは不十分です。また、外観を変更する必要があります。キーの下に可能な外観を見つけることができます/AP。チェック ボックスの場合、通常の外観 ( /N) の下に 2 つの可能な外観状態があります。これらの XObject は、PDF がレンダリングされたときに表示される内容を定義します。

于 2013-11-02T10:00:56.800 に答える