[ https://issues.apache.org/jira/browse/PDFBOX-2849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14610206#comment-14610206 ]
Maruan Sahyoun commented on PDFBOX-2849: ---------------------------------------- There need to be some more changes to check boxes as the current implementation assumes that the On value is always COSName.Yes. As the spec has a 'should' for that we can't rely on that. I propose that we - change getValue/getDefaultValue to return the actual value - allow setValue/setDefaultValue to use an (arbritary) string and throw an IllegalArgumentException if the value doesn't match the potential values - adjust check/uncheck/isChecked accordingly - add getSelectableValues() to return a list of possible options In another step we need to deal with fields where there is no appearance defined (which shouldn't be the case for properly defined fields) WDYT? > implement appearance generation for buttons > ------------------------------------------- > > Key: PDFBOX-2849 > URL: https://issues.apache.org/jira/browse/PDFBOX-2849 > Project: PDFBox > Issue Type: Sub-task > Components: AcroForm > Affects Versions: 2.0.0 > Reporter: Tilman Hausherr > Fix For: 2.0.0 > > Attachments: TestTemplate.pdf > > > This code > {code} > PDField newField = > tplDoc.getDocumentCatalog().getAcroForm().getField("01.20.Entry1"); > PDCheckbox newCheckBoxField = (PDCheckbox) newField; > newCheckBoxField.check(); > {code} > brings this exception: > {code} > Exception in thread "main" java.lang.UnsupportedOperationException: not > implemented > at > org.apache.pdfbox.pdmodel.interactive.form.PDButton.constructAppearances(PDButton.java:225) > at > org.apache.pdfbox.pdmodel.interactive.form.PDTerminalField.applyChange(PDTerminalField.java:220) > at > org.apache.pdfbox.pdmodel.interactive.form.PDCheckbox.setValue(PDCheckbox.java:128) > at > org.apache.pdfbox.pdmodel.interactive.form.PDCheckbox.check(PDCheckbox.java:71) > {code} > what did work is this: > {code} > newCheckBoxField.getCOSObject().setItem(COSName.V, vValue); > newCheckBoxField.getCOSObject().setItem(COSName.AS, asValue); > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org For additional commands, e-mail: dev-h...@pdfbox.apache.org