So that worked splendidly, but there is one anomaly which is that every
COSObject keyset includes a key for 'Off' as well as the key for the actual
button. I am just filtering out keys named 'Off' and it is all good, but I
think that would cause some problems if i ever found a form where there was
a radio button named 'Off'.

I am certain that this problem is due to my ignorance. I just don't
understand the document structure well enough (which ideally I wouldn't
need to since my job is about prescriptions and not pdf documents).

For my purposes I don't care, but for the API I would think that would have
to be dealt with.

Thank you again. This was a huge help.

On Thu, Jun 25, 2015 at 3:59 PM, Maruan Sahyoun <[email protected]>
wrote:

> Hi,
>
> > Am 25.06.2015 um 19:31 schrieb Maruan Sahyoun <[email protected]>:
> >
> > Hi,
> >
> >> Am 25.06.2015 um 19:27 schrieb Evan Williams <[email protected]
> >:
> >>
> >> I apologize for my stupidity, but I have no idea how to get the value I
> >> need from a PDAppearanceEntry. It is obviously a map of appearance
> streams
> >> but I am not certain how to extract the actual name of the widget from
> the
> >> appearance entry. Could you possibly give me a bit more detail
> >
> > I'll send you a quick sample later today for the Gender field - and no
> need to apologize - it's us who should make it easier to work with PDFBox.
>
> Here you go:
>
>
>         PDDocument doc = PDDocument.load( new
> File("RheumatoidArthritis.pdf") );
>         PDAcroForm form = doc.getDocumentCatalog().getAcroForm();
>         PDTerminalField gender = (PDTerminalField) form.getField("Gender");
>
>         for (PDAnnotationWidget widget : gender.getWidgets())
>         {
>             System.out.println(((COSDictionary)
> widget.getAppearance().getNormalAppearance().getCOSObject()).keySet());
>         }
>
> BR
> Maruan
>
>
> >
> > BR
> > Maruan
> >
> >>
> >> Thank you, and once again, I apologize for being dense.
> >>
> >> On Thu, Jun 25, 2015 at 12:40 PM, Maruan Sahyoun <
> [email protected]>
> >> wrote:
> >>
> >>> Hi,
> >>>
> >>>> Am 25.06.2015 um 16:23 schrieb Evan Williams <
> [email protected]>:
> >>>>
> >>>> When I said getOptions() returned null I meant it returns empty list.
> Not
> >>>> enough coffee. Everything else applies.
> >>>
> >>> I've created https://issues.apache.org/jira/browse/PDFBOX-2841 <
> >>> https://issues.apache.org/jira/browse/PDFBOX-2841> to handle that.
> >>>
> >>> - getOptions() returns the export values of the radio button group so
> >>> that's not what you are looking for (and we might rename that method to
> >>> better reflect it's intention)
> >>> - you could use getWidgets() to get the individual radio buttons and
> from
> >>> there for each individual widget
> >>> widget.getAppearance().getNormalAppearance() gives you the dictionary
> to
> >>> get the values from.
> >>>
> >>> BR
> >>> Maruan
> >>>
> >>>>
> >>>> On Thu, Jun 25, 2015 at 10:07 AM, Evan Williams <
> >>> [email protected]>
> >>>> wrote:
> >>>>
> >>>>> Absolutely you can!
> >>>>>
> >>>>>
> >>>>>
> >>>
> https://drive.google.com/file/d/0B9TQWtr2Ipa9YlRORHVlTDVGS0k/view?usp=sharing
> >>>>>
> >>>>> But I strongly, strongly suspect that it is nothing to do with the
> pdf
> >>>>> document itself because there are many many forms from many many
> sources
> >>>>> and they all exhibit the same behavior.
> >>>>>
> >>>>> In the linked document I was, for example, able to enumerate 'Male'
> and
> >>>>> 'Female' as values for the Radio Button group 'Gender' with my 1.8.9
> >>> code.
> >>>>> In my 2.0 code I can't.
> >>>>>
> >>>>> The way I used to enumerate radio button groups was to call the
> >>> getKids()
> >>>>> method an the radio collection and enumerate the returned fields.
> That
> >>> is
> >>>>> not possible in 2.0 and I don't have anything that works. the
> PDButton
> >>>>> method goetOptions() always returns null.
> >>>>>
> >>>>> Thank you!
> >>>>>
> >>>>> On Thu, Jun 25, 2015 at 2:02 AM, Maruan Sahyoun <
> [email protected]
> >>>>
> >>>>> wrote:
> >>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>>> Am 24.06.2015 um 22:20 schrieb Evan Williams <
> >>> [email protected]
> >>>>>>> :
> >>>>>>>
> >>>>>>> I have an application written to use pdfbox 1.8.9 which is all
> about
> >>>>>>> filling forms. I have a form library and I fill in values in forms
> >>> using
> >>>>>>> data I am handed.
> >>>>>>>
> >>>>>>> One of the things I also need to do is do introspection on the pdf
> >>>>>> document
> >>>>>>> to find out what fields are in it and make a template for filling
> the
> >>>>>> form
> >>>>>>> with data in my application.
> >>>>>>>
> >>>>>>> I am trying to get my application to work with pdfbox 2.0. Getting
> the
> >>>>>>> forms I have to fill was pretty straightforward.
> >>>>>>>
> >>>>>>> But I am having some difficulty with the introspection.
> >>>>>>>
> >>>>>>> For the templates I like to have an enumeration of the possible
> values
> >>>>>> of
> >>>>>>> the field if the field has such values. For example the names of
> the
> >>>>>>> possible values for a collection of radio buttons.
> >>>>>>>
> >>>>>>> I understood how to get those values for the 1.8.9
> PDRadioCollection
> >>>>>> but I
> >>>>>>> have tried various things to get the same information for the 2.0
> >>>>>>> PDRadioButton and I am not getting the information I need. the
> >>>>>> getOptions()
> >>>>>>> method on PDButton looked like exactly what I needed. But it always
> >>>>>> returns
> >>>>>>> null for me.
> >>>>>>>
> >>>>>>
> >>>>>> could you upload a sample form to a public location to take a look?
> >>>>>>
> >>>>>> BR
> >>>>>> Maruan
> >>>>>>
> >>>>>>> As an aside I also used to get the on and off values of checkboxes
> >>> with
> >>>>>>> getOnValue() and getOffValue(). These are in the Javadoc but
> appear to
> >>>>>> not
> >>>>>>> be in the actual API. I don't care very much about those, but they
> >>> were
> >>>>>>> nice to have, and the Javadoc should be accurate as much as
> possible.
> >>>>>>>
> >>>>>>> If anyone can help me with the RadioButton thing that would be a
> big
> >>>>>> help.
> >>>>>>>
> >>>>>>> Thank you.
> >>>>>>> --
> >>>>>>> *Evan Williams*
> >>>>>>> Sr. Software Engineer
> >>>>>>> [email protected]
> >>>>>>>
> >>>>>>> *www.ZappRx.com <http://www.zapprx.com/>*
> >>>>>>
> >>>>>>
> >>>>>>
> ---------------------------------------------------------------------
> >>>>>> To unsubscribe, e-mail: [email protected]
> >>>>>> For additional commands, e-mail: [email protected]
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> *Evan Williams*
> >>>>> Sr. Software Engineer
> >>>>> [email protected]
> >>>>>
> >>>>> *www.ZappRx.com <http://www.zapprx.com/>*
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>> --
> >>>> *Evan Williams*
> >>>> Sr. Software Engineer
> >>>> [email protected]
> >>>>
> >>>> *www.ZappRx.com <http://www.zapprx.com/>*
> >>>
> >>>
> >>
> >>
> >> --
> >> *Evan Williams*
> >> Sr. Software Engineer
> >> [email protected]
> >>
> >> *www.ZappRx.com <http://www.zapprx.com/>*
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
*Evan Williams*
Sr. Software Engineer
[email protected]

*www.ZappRx.com <http://www.zapprx.com/>*

Reply via email to