That is true, but if generated pdf is an end product, that may be adequate.  
The point I am trying to make is that if the pdf was created with Designer, 
setListOption causes a nullpointer if you use the field name instead of the 
field key, which is somewhat confusing if you are also using setField.  For 
posterity:

AcroFields fields=stamper.getAcroFields();

boolean bSuccess=fields.setField("state", "MI");  //Works for 
Designer-generated PDF's only

bSuccess=fields.setListOption("state", new String[]{"IN","MI","OH"},new 
String[]{"Indiana","Ohio","Michigan"}); //Causes error for Designer-produced 
PDF's, just fails for others (becuase state is not the Item key)

bSuccess=fields.setListOption("app[0].page1Form[0].state[0]", new 
String[]{"IN","MI","OH"},new String[]{"Indiana","Michigan","Ohio"}); //works 
for all, values will show in Reader but not Designer

Thank you,
Dave


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Paulo
Soares
Sent: Friday, February 29, 2008 11:20 AM
To: Post all your questions about iText here
Subject: Re: [iText-questions] Nullpointer in setListOption()


It looks like it works but it doesn't. It changes the acroform but not
the xfa and if you return to Designer the changes will be gone.

Paulo 

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On 
> Behalf Of VanderMolen, David
> Sent: Friday, February 29, 2008 4:16 PM
> To: Post all your questions about iText here
> Subject: Re: [iText-questions] Nullpointer in setListOption()
> 
> I used Designer, and the setListOption works if passed the 
> Field key, but not the field name.  Methods like setField use 
> the xfa.findFieldName and so work with the name, not just the key.
> 
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] 
> Behalf Of Paulo
> Soares
> Sent: Friday, February 29, 2008 10:16 AM
> To: Post all your questions about iText here
> Subject: Re: [iText-questions] Nullpointer in setListOption()
> 
> 
> iText only supports setField() with PDFs created with Designer.
> 
> Paulo 
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED] 
> > [mailto:[EMAIL PROTECTED] On 
> > Behalf Of VanderMolen, David
> > Sent: Friday, February 29, 2008 3:07 PM
> > To: itext-questions@lists.sourceforge.net
> > Subject: [iText-questions] Nullpointer in setListOption()
> > 
> > I am using a pdf created with Adobe Designer 7.0... 
> > 
> > When calling setListOption with a shortened (non-key) field 
> > name, the method fails with a nullpointer exception on the 
> > Item.  Is there a reason that the fieldName parameter that 
> > works for setField doesn't work here?
> > 
> > public boolean setListOption(String fieldName, String[] 
> > exportValues, String[] displayValues) { 
> >         if (exportValues == null && displayValues == null) 
> >             return false; 
> >         if (exportValues != null && displayValues != null && 
> > exportValues.length != displayValues.length) 
> >             throw new IllegalArgumentException("The export 
> > and the display array must have the same size."); 
> >         int ftype = getFieldType(fieldName); 
> >         if (ftype != FIELD_TYPE_COMBO && ftype != FIELD_TYPE_LIST) 
> >             return false; 
> >         Item fd = (Item)fields.get(fieldName); 
> > //--nullpointer here for valid field name, expects the 
> > .whatever[0]. pathing
> > 
> > public boolean setListOption(String fieldName, String[] 
> > exportValues, String[] displayValues) { 
> >         if (exportValues == null && displayValues == null) 
> >             return false; 
> >         if (exportValues != null && displayValues != null && 
> > exportValues.length != displayValues.length) 
> >             throw new IllegalArgumentException("The export 
> > and the display array must have the same size."); 
> >         int ftype = getFieldType(fieldName); 
> >         if (ftype != FIELD_TYPE_COMBO && ftype != FIELD_TYPE_LIST) 
> >             return false; 
> > 
> > //(stole this code from setField method, which works) 
> >         if (xfa.isXfaPresent()) { 
> >             fieldName = xfa.findFieldName(fieldName, this); 
> >             if (fieldName == null) 
> >                 return false; 
> >             String shortName = 
> > XfaForm.Xml2Som.getShortName(fieldName); 
> >         } 
> >         Item fd = (Item)fields.get(fieldName); //--sets 
> > values correctly 


Aviso Legal:

Esta mensagem é destinada exclusivamente ao destinatário. Pode conter 
informação confidencial ou legalmente protegida. A incorrecta transmissão desta 
mensagem não significa a perca de confidencialidade. Se esta mensagem for 
recebida por engano, por favor envie-a de volta para o remetente e apague-a do 
seu sistema de imediato. É proibido a qualquer pessoa que não o destinatário de 
usar, revelar ou distribuir qualquer parte desta mensagem. 



Disclaimer:

This message is destined exclusively to the intended receiver. It may contain 
confidential or legally protected information. The incorrect transmission of 
this message does not mean the loss of its confidentiality. If this message is 
received by mistake, please send it back to the sender and delete it from your 
system immediately. It is forbidden to any person who is not the intended 
receiver to use, distribute or copy any part of this message.




-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
iText-questions mailing list
iText-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions
Buy the iText book: http://itext.ugent.be/itext-in-action/

Reply via email to