0

「長いテキストをスクロール」フィールドをPDFのフォームフィールドからプログラムで削除してから、そのフィールドにスタンプを付けたいと思います。フィールドで特定のフォームフィールドに対してこの設定が有効になっている場合はいつでもそうしたいと思います。私は最近同様の問題を抱えており、この投稿の下部に投稿した解決策を使用してこれを解決しました:ITextSharp:フォームフィールドから文字制限を削除します

同じ領域でこれを実行できるはずですが、この設定を検出(および削除)するためにどのPdfName設定を探す必要があるかわかりません。

前もって感謝します!

4

1 に答える 1

1

PDF仕様に従って、セクション12.7.4.3インタラクティブ機能->インタラクティブフォーム->フィールドタイプ->テキストフィールドフィールドフラグ(Ff)値を設定します。この値はビット単位のフラグであり、位置24が「DoNotScroll」フラグです。位置24は2進数1000 0000 0000 0000 0000 0000または16進数になり0x800000ます。これと他の投稿のコードを使用して、これを追加することができ、それはあなたが探していることをするはずです:

if (AnnotationDictionary.Contains(PdfName.FF)) {
    int Ff = AnnotationDictionary.GetAsNumber(PdfName.FF).IntValue;
    int doNotScrollBit = 0x800000;
    Ff = doNotScrollBit | Ff;
    AnnotationDictionary.Put(PdfName.FF, new PdfNumber(Ff));
}
于 2012-04-24T13:58:35.727 に答える