[ 
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

Reply via email to