ITextSharp错误"关闭不是复选框外观的有效名称(应为关闭或是)"

时间:2015-06-23 19:33:25

标签: itextsharp

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

        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);

我收到错误" ITextSharp错误"关闭不是复选框外观的有效名称(应为关闭或是)"在声明RadioField对象的行。这是一个错误吗?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

复选框可以有两个值:

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

代码中存在一个错误,因为您正在尝试创建一个复选框,其值总是 Off是否已选中。

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

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

newField.Checked = true;

未经检查就像这样:

newField.Checked = false;