ITextSharp 错误 "Off is not a valid name for a checkbox appearance (should be Off or Yes)"

ITextSharp errror "Off is not a valid name for a checkbox appearance (should be Off or Yes)"

运行 以下代码片段在 VS 2010 下使用 iTextSharp 5.5.6:

        PdfReader reader = new PdfReader("Test.pdf");
        FileStream fs = new FileStream("New.pdf", FileMode.Create);
        PdfStamper p = new PdfStamper(reader, fs);
        AcroFields form = p.AcroFields;

        ...

        RadioCheckField newField = new RadioCheckField(p.Writer, new iTextSharp.text.Rectangle(20, 20), "MyCheckBox", "Off");

        PdfFormField RadioField = newField.CheckField;

        p.AddAnnotation(RadioField, 1);

我在声明 RadioField 对象的那一行收到错误 "ITextSharp errror "Off is not a valid name for a checkbox appearance (should be Off or Yes)”。这是一个错误吗?我该如何解决是吗?

一个复选框可以有两个值:

  • 你在你的方法中定义自己。这将是选中时复选框的值。
  • ISO-32000-1 中定义的一个:Off。这是复选框未选中时的值。

您的 代码中存在错误,因为您试图创建一个复选框,其值为 always Off 是否选中

选择另一个值。 Off 保留用于 关闭状态 。您需要为 on 状态 定义一个值。 ISO-32000-1 建议 Yes.

这是确保选中复选框的方法:

newField.Checked = true;

取消勾选是这样的:

newField.Checked = false;