Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0.1
-
None
Description
We are in the process of migrating from itext to pdfbox and noticed that an exception was being thrown when trying to set a radio button with PDField.setValue(). The values returned from PDButton.getOnValues() which is used by PDButton.checkValue() called from PDButton.setValue() are only returning 0,1 instead of what we had been using with itext. After investigating itext's source code and playing around with pdfbox I was able to get to what I believe are the appropriate allowed values by using the following code.
if (field instanceof PDButton) { final COSBase item = field.getCOSObject().getItem(COSName.OPT); if (item != null && item instanceof COSArray) { final COSArray optArray = (COSArray)item; for (int i = 0 ; i < optArray.size() ; i++) { // Each item in this array is an allowed value // optArray.getString(i); } } }