pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maruan Sahyoun <sahy...@fileaffairs.de>
Subject Re: How to bind distinct OnValues for checkbox group?
Date Tue, 29 Mar 2016 18:08:04 GMT
Hi,

> Am 29.03.2016 um 20:04 schrieb Wojack, Robert (USTP) <Robert.Wojack@usdoj.gov>:
> 
> We have many legacy systems using PDFBox 1.X, and there is too much PDFBox 1.X specific
code that would need to change. We don't have the bandwidth to take on that refactoring at
this time. :-(
> 

no worries - we can also help you while you are on 1.8.x :-) 

BR
Maruan

> 
> -----Original Message-----
> From: Maruan Sahyoun [mailto:sahyoun@fileaffairs.de] 
> Sent: Tuesday, March 29, 2016 12:40 PM
> To: users@pdfbox.apache.org
> Subject: Re: How to bind distinct OnValues for checkbox group?
> 
> Hi,
> 
>> Am 29.03.2016 um 17:01 schrieb Wojack, Robert (USTP) <Robert.Wojack@usdoj.gov>:
>> 
>> Thanks for that info! We shall upgrade to 1.8.11
>> 
> 
> what about PDFBox 2.0.0? Dependent on what you are doing there are a lot of improvements
and some new functionality:
> 
> - better parsing
> - enhancements to AcroForms
> - much better rendering
> …
> 
> BUT there might be some changes to your code necessary.
> 
> BR
> Maruan
> 
> 
>> -----Original Message-----
>> From: Maruan Sahyoun [mailto:sahyoun@fileaffairs.de]
>> Sent: Tuesday, March 29, 2016 6:01 AM
>> To: users@pdfbox.apache.org
>> Subject: Re: How to bind distinct OnValues for checkbox group?
>> 
>> Hi,
>>> Am 28.03.2016 um 22:51 schrieb Wojack, Robert (USTP) <Robert.Wojack@usdoj.gov>:
>>> 
>>> Thanks Maruan!
>>> 
>>> However, when try to use the code, I get an exception in line 4th line:
>>> 
>>> Exception in thread "main" java.lang.ClassCastException: 
>>> org.apache.pdfbox.pdmodel.interactive.form.PDCheckbox cannot be cast 
>>> to 
>>> org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationWidget
>>> 
>>> As a reminder, I'm using PDFBox 1.8.8 if that matters. In the meantime, I'll
play around with what you provided and see if I can get it to work.
>> 
>> yes, that matters - my code worked with 1.8.11. The fact that a widget 
>> annotation was treated as a checkbox in 1.8.8 (and earlier) was a bug 
>> which has been resolved in 1.8.9 onwards. See PDFBOX-2617
>> 
>> BR
>> Maruan
>> 
>>> 
>>> 
>>> 
>>> -----Original Message-----
>>> From: Maruan Sahyoun [mailto:sahyoun@fileaffairs.de]
>>> Sent: Monday, March 28, 2016 3:30 PM
>>> To: users@pdfbox.apache.org
>>> Subject: Re: How to bind distinct OnValues for checkbox group?
>>> 
>>> Hi,
>>> 
>>> here you go.
>>> 
>>> 
>>> 		PDDocument document = PDDocument.load("form_b122a-2.pdf");
>>> 		PDAcroForm form = document.getDocumentCatalog().getAcroForm();
>>> 		PDField field = form.getField("CheckBox16");
>>> 		PDAnnotationWidget widget = (PDAnnotationWidget) 
>>> field.getKids().get(1);
>>> 		
>>> 		// get the fields normal appearances i.e. the options to be selected
>>> 		Map<String,PDAppearanceStream> normalAppearances = 
>>> widget.getAppearance().getNormalAppearance();
>>> 		
>>> 		// Print out the current entries. There are two options
>>> 		// On and Off
>>> 		System.out.println(normalAppearances);
>>> 
>>> 		// Add a new entry with the desired value copying over the 
>>> 		// appearance stream of the to be 'renamed' entry 
>>> 		normalAppearances.put("Yes",normalAppearances.get("On"));
>>> 		normalAppearances.remove("On");
>>> 
>>> 		// Print out the new entries. There are two options
>>> 		// Yes and Off
>>> 		System.out.println(normalAppearances);
>>> 
>>> 		document.save("form_b122a-2-pdfbox.pdf");
>>> 		document.close();
>>> 
>>> 
>>> BR
>>> Maruan
>>> 
>>>> Am 28.03.2016 um 15:14 schrieb Wojack, Robert (USTP) <Robert.Wojack@usdoj.gov>:
>>>> 
>>>> Yes. It is a publicly available PDF:
>>>> 
>>>> 	http://www.uscourts.gov/file/18792/download
>>>> 
>>>> 
>>>> Go to the last page (pg9) and click the No/Yes checkboxes for line 43. You
will see the behavior where each box is checked or unchecked regardless of which one is actually
clicked.
>>>> 
>>>> Thanks in advance for taking a look at this.
>>>> 
>>>> 
>>>> 
>>>> 	
>>>> 
>>>> -----Original Message-----
>>>> From: Maruan Sahyoun [mailto:sahyoun@fileaffairs.de]
>>>> Sent: Saturday, March 26, 2016 7:58 AM
>>>> To: users@pdfbox.apache.org
>>>> Subject: Re: How to bind distinct OnValues for checkbox group?
>>>> 
>>>> Hi,
>>>> 
>>>> is it possible to share the PDF?
>>>> 
>>>> BR
>>>> Maruan
>>>> 
>>>>> Am 25.03.2016 um 19:02 schrieb Wojack, Robert (USTP) <Robert.Wojack@usdoj.gov>:
>>>>> 
>>>>> They are two distinct checkboxes within a radio collection. The problem
is they both have their onValue set to "On". I need to set the onValue for one of them to
something else ("Off").
>>>>> 
>>>>> Your code has given me some ideas, but so far, I haven't been able to
adequately solve it.
>>>>> 
>>>>> Thanks,
>>>>> 
>>>>> Bob
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Maruan Sahyoun [mailto:sahyoun@fileaffairs.de]
>>>>> Sent: Thursday, March 24, 2016 6:16 AM
>>>>> To: users@pdfbox.apache.org
>>>>> Subject: Re: How to bind distinct OnValues for checkbox group?
>>>>> 
>>>>> Hi,
>>>>> 
>>>>> are you sure that these are two distinct fields? If yes, you can 
>>>>> set the On value - using 1.8.x - with
>>>>> 
>>>>> PDAnnotationWidget widget = field.getWidget() 
>>>>> PDAppearanceDictionary apDictionary = widget.getAppearance(); 
>>>>> PDAppearanceEntry normalAppearance = 
>>>>> apDictionary.getNormalAppearance();
>>>>> 
>>>>> // to get the current values
>>>>> Map<String,PDAppearanceStream> appearanceMap = 
>>>>> apDictionary.getNormalAppearance();
>>>>> 
>>>>> // to set the values
>>>>> apDictionary.setNormalAppearance(Map<String,PDAppearanceStream>);
>>>>> 
>>>>> 
>>>>> Haven't tested that code but should give you an idea.
>>>>> 
>>>>> BR
>>>>> Maruan
>>>>> 
>>>>> 
>>>>> 
>>>>>> Am 23.03.2016 um 16:51 schrieb Wojack, Robert (USTP) <Robert.Wojack@usdoj.gov>:
>>>>>> 
>>>>>> We have a client that provides us with interactive PDF forms for
our app to populate fields with user data. The problem is the client sometimes provides us
forms with typos and mistakes and is not responsive about fixing them.
>>>>>> 
>>>>>> In this case, we are given an interactive PDF form that has a pair
of Yes/No checkboxes. Unfortunately, when creating the PDF, the client bound both checkboxes
to the same "On" value. As a result, when a user checks a box, both of them get checked (additionally,
when a user unchecks a box, they both become unchecked).
>>>>>> 
>>>>>> I can use PDFBox to open the file, find the PDCheckbox object in
question and list their On and Off values, but I can't figure out how to update the bindings
to distinct values. Is it possible to do this in PDFBox? If so, can someone please provide
some guidance?
>>>>>> 
>>>>>> We are using PDFBox 1.8.8. We are not positioned to upgrade to 2.0.0.
>>>>>> 
>>>>>> Thanks
>>>>>> 
>>>>>> 
>>>>>> Bob Wojack
>>>>>> CSRA International, Inc.
>>>>>> Onsite Contractor for the Department of Justice Senior Tech Lead

>>>>>> US Trustee Program
>>>>>> Onsite Email Address:     Robert.Wojack@usdoj.gov<mailto:Robert.Wojack@usdoj.gov>
>>>>>> Onsite Phone Number:    TBD
>>>>>> Cell#:                              (301)910-9975
>>>>>> 
>>>>> 
>>>>> 
>>>>> -------------------------------------------------------------------
>>>>> -
>>>>> - To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
>>>>> For additional commands, e-mail: users-help@pdfbox.apache.org
>>>>> 
>>>>> 
>>>>> 
>>>>> -------------------------------------------------------------------
>>>>> -
>>>>> - To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
>>>>> For additional commands, e-mail: users-help@pdfbox.apache.org
>>>>> 
>>>> 
>>>> 
>>>> --------------------------------------------------------------------
>>>> - To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
>>>> For additional commands, e-mail: users-help@pdfbox.apache.org
>>>> 
>>>> 
>>>> 
>>>> --------------------------------------------------------------------
>>>> - To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
>>>> For additional commands, e-mail: users-help@pdfbox.apache.org
>>>> 
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
>>> For additional commands, e-mail: users-help@pdfbox.apache.org
>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
>> For additional commands, e-mail: users-help@pdfbox.apache.org
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
>> For additional commands, e-mail: users-help@pdfbox.apache.org
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> For additional commands, e-mail: users-help@pdfbox.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@pdfbox.apache.org
> For additional commands, e-mail: users-help@pdfbox.apache.org
> 


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


Mime
View raw message