1

TextField を読み取り専用に設定しようとしましたが、成功しませんでした。

私はこれを試しました:

 field.SetFieldProperty(key, "setfflags", PdfFormField.FF_READ_ONLY, Nothing)

しかし、次のエラーが発生します: 'iTextSharp.text.pdf.TextField' には 'SetFieldProperty' の定義が含まれていません

これが私のコードです:

public void addField(PdfWriter writer, string name, int x, int y, int w, int h, PdfContentByte cb, int maxSize, string text, BaseFont font, int border)
    {
        TextField field = new iTextSharp.text.pdf.TextField(writer, new iTextSharp.text.Rectangle(x, y - h, x + w, y), name);

        field.Text = text;

        writer.AddAnnotation(field.GetTextField());
    }
4

3 に答える 3

1

methodSetFieldPropertyは class のAcroFieldsメソッドではなく、 class のメソッド (PDF フォーム)TextFieldです。
ATextFieldは、フォームに属している場合にのみ読み取り専用にすることができます。その場合、 メソッドを呼び出し、フォーム内SetFieldPropertyのキーを知ることで、読み取り専用に設定できTextFieldます。

于 2013-04-23T07:50:38.987 に答える
1

これを試して

TextField newtext = new TextField(PDFStamper.Writer,
    new iTextSharp.text.Rectangle(590, 660, 470, 690), "txtfield");
newtext.Options = TextField.READ_ONLY;
PdfFormField field = newtext.GetTextField();
PDFStamper.AddAnnotation(field, 1);
于 2013-05-03T12:49:57.667 に答える