[ https://issues.apache.org/jira/browse/PDFBOX-481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andreas Lehmkühler updated PDFBOX-481: -------------------------------------- Attachment: PDFBOX481-Source_Target_filled.pdf I've filled some fields of the acroform using pdfbox. Due to an issue displaying this pdf you have to use some other viewer like acrobat > renaming a field and not able to set value to the saved PDF document ... > ------------------------------------------------------------------------ > > Key: PDFBOX-481 > URL: https://issues.apache.org/jira/browse/PDFBOX-481 > Project: PDFBox > Issue Type: Bug > Components: PDModel.AcroForm > Affects Versions: 0.7.3 > Environment: Windows XP Professional SP3, jre1.6.0_07/jdk1.6.0_11 , > PDFBox-0.7.3.jar > Reporter: Venkatesh Prasad.B.K. > Fix For: 0.7.3 > > Attachments: PDFBOX481-Source_Target_filled.pdf, Source_Original.pdf, > Source_Target.pdf > > > I will explain what I want to do. > 1. I have a PDF Document with Fields and let us call this > 'Source_Original.PDF'. The field names in this PDF document have to be > renamed and stored as 'Source_Target.PDF'. I then have to set/change the > values of form-fields in 'Source_Target.PDF'. > The issue I am facing is given below: > 1. I renamed the form fields in 'Source_Original.PDF" using the code given in > my earlier mail (below) and saved it as 'Source_Target.PDF'. > 2. I checked the form fields in 'Source_Target.PDF" and form-fields were > renamed correctly. > 3. However when I tried to set/change values of form-fields in > 'Source_Target.PDF' using PDFBox code, I was not able to do so. > I used iText to set/change values of form-fields in 'Source_Target.PDF' and > was successful. But we want to use only PDFBox. > To summarize - We are not able to set/change values of form fields of a PDF > Document whose form-fields have been renamed. There is no issue if the > form-fields are renamed manually using Adobe Acrobat 9. The issue is only > when the form-fields are renamed using PDFBox option - > setPartialName(newFieldName); > > Only to be sure, changing values in 'Source_Original.PDF' works with the > > same code you use to > > manipulate 'Source_Target.PDF'?? > Yes > I have attached the 2 files - "Source_Original.PDF' and 'Source_Target.PDF', > ----- Code > try > { > PDDocument pdfDocument = > PDDocument.load(pdfSource); > try > { > if (pdfDocument.isEncrypted()) > { > pdfDocument.decrypt(""); > } > PDDocumentCatalog docCatalog = > pdfDocument.getDocumentCatalog(); > PDAcroForm acroForm = > docCatalog.getAcroForm(); > if (acroForm != null) > { > List pdfFields = > acroForm.getFields(); > if (pdfFields != null) > { > PDField > pdfField; > for (int i = 0; > i < pdfFields.size(); i++) > { > > pdfField = (PDField) pdfFields.get(i); > String > fieldName = pdfField.getPartialName(); > if( > pdfFieldNames.containsKey(fieldName) ){ > > String newFieldName = (String) pdfFieldNames.get(fieldName); > > pdfField.setPartialName(newFieldName); > } > } > > pdfDocument.save(pdfOutput); > } else { > return "No Acro > Form Fields found in PDF Document " + pdfSource + "!"; > } > } else { > return "PDF document " > + pdfSource + " not able to access!"; > } > } catch (Exception e) { > return "PDF Document " + > pdfSource + " is encrypted! Cannot process."; > } > pdfDocument.close(); > } catch (Exception e) { > return "PDF Document " + pdfSource + " > cannot be found!"; > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.