Marcando checkbox en pdf con itextsharp
(1)
No debe "adivinar" los posibles valores. Necesita usar un valor que está almacenado en el PDF. Pruebe el ejemplo CheckBoxValues para encontrar estos valores posibles:
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();
}
O echa un vistazo al PDF usando RUPS . Vaya a la anotación de widgets y busque los estados de apariencia normal ( /N
) ( AP
). En mi ejemplo son /Off
y /Yes
:
¡He intentado de muchas maneras diferentes, pero no puedo verificar la casilla de verificación! Esto es lo que he intentado:
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");
}
Ninguno de ellos funciona. ¿Algunas ideas?