[ https://issues.apache.org/jira/browse/PDFBOX-1750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Maruan Sahyoun resolved PDFBOX-1750. ------------------------------------ Resolution: Fixed Setting to resolved as the primary issue has been addressed. In order to create new fields in PDFBox there are a number of steps to take care of which we should simplify in a future release. see PDFBOX-2604 for that. > PDTextbox and PDAnnotationWidget are not correct initialized from it's own > constructor . > ---------------------------------------------------------------------------------------- > > Key: PDFBOX-1750 > URL: https://issues.apache.org/jira/browse/PDFBOX-1750 > Project: PDFBox > Issue Type: Bug > Components: AcroForm > Affects Versions: 1.8.7, 2.0.0 > Reporter: chen zhenyu > Assignee: Maruan Sahyoun > Labels: AcroForm, Widget > Fix For: 1.8.9, 2.0.0 > > > I find 2 Bugs in interactive.form, And I have resolved this 2 Bug. Here are > the Code > 1. I want make new Textbox in pdf. It always failed because the type flag > “COSName.FT,="Tx"” never be set in the constructor. > The PDTextbox can only be correct initialized from COSDictionary.( That is > only initialized from exist pdf file) . > I fixed this by add “getDictionary().setName(COSName.FT, "Tx");” in the > constructor of PDTextbox. > Maybe it’s not right place, but works in my project. > public PDTextbox( PDAcroForm theAcroForm ) > { > super( theAcroForm ); > getDictionary().setName(COSName.FT, "Tx"); > } > public PDTextbox( PDAcroForm theAcroForm, COSDictionary field) > { > super( theAcroForm, field); > getDictionary().setName(COSName.FT, "Tx"); > } > 2. Same Bug in PDAnnotationWidget. Only the default constructor initialize > the type flag “COSName.SUBTYPE,= "Widget"”. > But the default constructor were never be used. So I must use the > PDAnnotationWidget to initialize the new PDTextbox, like blow. > PDAnnotationWidget Widget = new PDAnnotationWidget(); > PDTextbox textBox = new PDTextbox(acroForm,Widget.getDictionary()); > Otherwise I got an empty PDAnnotationWidget from PDTextbox .getWidget(). > Something not correct in PDField .getWidget(). > If the the PDField create from user(not read from exist pdf file), the > getWidget cannot get an correct initialized PDAnnotationWidget. The > COSName.SUBTYPE will never be set. > Maybe the similar Bug in the whole > org.apache.pdfbox.pdmodel.interactive.form: the COSDictionary of element are > not initialized when user create it manually (Typical to insert new acroform > element). > I hope that I can give something help to this opensource Project. > Could you check this and fix in next Version? -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org For additional commands, e-mail: dev-h...@pdfbox.apache.org