You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Maruan Sahyoun (Jira)" <ji...@apache.org> on 2022/11/25 11:04:00 UTC

[jira] [Assigned] (PDFBOX-5546) Issue with the index based RadioButton value selection.

     [ https://issues.apache.org/jira/browse/PDFBOX-5546?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Maruan Sahyoun reassigned PDFBOX-5546:
--------------------------------------

    Assignee: Maruan Sahyoun

> Issue with the index based RadioButton value selection.
> -------------------------------------------------------
>
>                 Key: PDFBOX-5546
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-5546
>             Project: PDFBox
>          Issue Type: Bug
>          Components: AcroForm
>    Affects Versions: 2.0.27
>            Reporter: Christian Appl
>            Assignee: Maruan Sahyoun
>            Priority: Major
>         Attachments: WEBPDF-1616.patch
>
>
> We encountered an issue with the index based selection of RadioButton values - in case an "Opt" Array (Export value) definition is present.
> *The issue: valid index selections are overwritten, when calling "constructAppearances()"*
> Location: {color:#000000}org.apache.pdfbox.pdmodel.interactive.form.PDButton{color}:
> When selecting an option via index - with activated "generateAppearances" flag - via "setValue(int)": The value (V) of the RadioButton field and the appearance states of it´s contained streams were updated accordingly and correctly. 
> But when debugging I found that the following internal call to: applyChanges->constructAppearances, would override the correct values with erroneous ones that rather match the direct onState selection (without Opt array).
> Which lead to me implementing the hereby provided patch trying to address the issue.
> *Additonal observation: onValue name and index mismatch*
> When setting the Value V of the containing RadioButton field the current implementation assumed, that the name of the "onState" Stream would always match the index of the child in the kids/Opt array.
> I was able to create a document (using Adobe DC) that did contradict that assumption. Adobe DC allows selecting custom names for the Acroform "onState" names (and streams) in that case the index of the child may i.e. be 0, while the name of the "onState" stream is "Choice1", but using "Choice1" as the "V" value for the field will not lead to a valid/working result.
> In this patch you will also find a solution, that attempts to address that issue aswell.
> *Tests:*
> You will also find two tests in the patch, that summarize the behaviour I would assume to be correct.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org