Проверка флажка pdf с помощью itextsharp

Я пробовал так много разных способов,но я не могу установить флажок! Вот что я пробовал:

var reader = new iTextSharp.text.pdf.PdfReader(originalFormLocation);
using (var stamper = new iTextSharp.text.pdf.PdfStamper(reader,ms)) {
    var formFields = stamper.AcroFields;
    formFields.SetField("IsNo", "1");
    formFields.SetField("IsNo", "true");
    formFields.SetField("IsNo", "On");
}

ни один из них не работает. Есть идеи?

1 ответов


вы не должны "угадывать" возможные значения. Вам нужно использовать значение, которое хранится в PDF. Попробуйте CheckBoxValues пример чтобы найти эти возможные значения:

public String getCheckboxValue(String src, String name) throws IOException {
    PdfReader reader = new PdfReader(SRC);
    AcroFields fields = reader.getAcroFields();
    // CP_1 is the name of a check box field
    String[] values = fields.getAppearanceStates("IsNo");
    StringBuffer sb = new StringBuffer();
    for (String value : values) {
        sb.append(value);
        sb.append('\n');
    }
    return sb.toString();
}

или взгляните на PDF с помощью RUPS. Перейдите к аннотации виджета и найдите нормальный (/N) внешний вид (AP) государств. В моем примере они /Off и /Yes:

screen shot