OK - please try this modified version of your code as a start
String formTemplate = "c:/test_input.pdf";
PDDocument doc = PDDocument.load(new File(formTemplate));
PDDocumentCatalog docCatalog = doc.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
PDField field1 = acroForm.getField("a.1");
field1.setValue('123.03')
PDField field2 = acroForm.getField("a.2");
field2.setValue('200.00')
PDField field3 = acroForm.getField("a.3");
field3.setValue('300.00')
PDField field4 = acroForm.getField("total.1");
field4.setValue('0')
doc.save(new File("c:/", "test-output.pdf"));
BR
Maruan
> Am 18.04.2017 um 19:04 schrieb Baker, Ricky <[email protected]>:
>
>
>
> We want to set the values of the fields a.1, a.2, a.3 which is used to
> calculate the field "total" and save the modified document in a new file.
>
> Ricky
>
>
>
>
>
> -----Original Message-----
> From: Maruan Sahyoun [mailto:[email protected]]
> Sent: Tuesday, April 18, 2017 12:00 PM
> To: [email protected]
> Subject: Re: how to set the field that is used in another calculated field
>
> Hi,
>
>> Am 18.04.2017 um 18:40 schrieb Baker, Ricky <[email protected]>:
>>
>>
>> I am trying to understand how to use an existing editable pdf where fields
>> "a.1", "a.2" and "a.3" are used to calculate "total.1". I am able to
>> setValue but the name is not being set (a.1 is created as 1 etc) in the new
>> pdf and the "total.1" is not being changed. I have searched thru the
>> examples but I have not found anything similar to what I am attempting.
>
>
> I'm not sure I understand what you are trying to achieve. Is it that you'd
> like to set the values of the fields a.1, a.2, a.3 and total and save the
> modified document in a new file?
>
>>
>> PDDocument finalDoc = new PDDocument()
>> String formTemplate = "c:/test_input.pdf";
>>
>> List<PDField> fields = new ArrayList<PDField>();
>>
>>
>> PDDocument doc = PDDocument.load(new File(formTemplate));
>> PDDocumentCatalog docCatalog = doc.getDocumentCatalog();
>>
>> PDField field1 = acroForm.getField("a.1");
>
> where is acroForm coming from? Hasn't been defined yet.
>
>> def x = field1.getPartialName()
>> field1.setValue('123.03')
>>
>> PDField field2 = acroForm.getField("a.2");
>> field2.setValue('200.00')
>>
>> PDField field3 = acroForm.getField("a.3");
>> field3.setValue('300.00')
>>
>> PDField field4 = acroForm.getField("total.1");
>> field4.setValue('0')
>>
>> fields.add(field1);
>> fields.add(field2);
>> fields.add(field3);
>> fields.add(field4);
>>
>> PDAcroForm finalForm = new PDAcroForm(finalDoc);
>> finalDoc.getDocumentCatalog().setAcroForm(finalForm);
>> finalForm.setFields(fields);
>
> are you trying to get the fields from yet another document and put them onto
> your template?
>
> …
>
> BR
> Maruan
>
>
>>
>> finalDoc.save(new File("c:/", "test-output.pdf"));
>>
>>
>> thanks
>> Ricky
>
>
> ---------------------------------------------------------------------
> 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]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]