> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On 
> Behalf Of Robert Esterer
> Sent: Wednesday, November 08, 2006 9:46 AM
> To: 'Post all your questions about iText here'
> Subject: Re: [iText-questions] NeedAppearances & Fields
> 
> I might be able to provide another sample PDF later 
> (including one saved
> with Acrobat), right now I'm looking for alternate ways for 
> generating the
> needed display information.
> I've found a bugtrack entry over at ghostscript that 
> describes the same
> problem: http://bugs.ghostscript.com/show_bug.cgi?id=687498
> 
> I don't know if the PDF is erroneus or not, I'm not good 
> enough at PDF to
> make that call. But the way the PDF marks reference describes the
> NeedApperances flag it seems that it is for special fields 
> that indeed lack
> part of their display information.
>

NeedAppearances build the appearances, it has nothing to do with missing values 
in the fields array.
 
> As for the problem with not being able to find the fields: 
> I'm using iText
> 1.4.5/1.4.6 and my infamous fix looks like this:
> PdfReader reader = new PdfReader(args[0]);
> ByteArrayOutputStream writer = new ByteArrayOutputStream();
> PRAcroForm PRform = reader.getAcroForm();
> PdfStamper stp = new PdfStamper(reader, writer);
> PdfFormField field = PdfFormField.createEmpty(stp.getWriter());
> stp.addAnnotation(field, 1);
> stp.close();
> reader = new PdfReader(writer.toByteArray()); 
> Without it there are no fields to be found.
> 

Better yet would be to reconstruct the fields array in the acroform dictionary, 
it's not that difficult to do.

Paulo


> -Robert
> 
> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Im 
> Auftrag von Mark
> Storer
> Gesendet: Dienstag, 7. November 2006 21:51
> An: Post all your questions about iText here
> Betreff: Re: [iText-questions] NeedAppearances & Fields
> 
> Could you provide an example with a signature and some other field[s]?
> 
> All the attached PDFs contain AcroForm dictionaries... weird. 
>  I suppose
> GS/Distiller could be building an erroneous AcroForm 
> dictionary, one that
> was missing fields.  
> 
> That doesn't explain why iText magically functions properly 
> after adding a
> dummy field.  I don't think it looks through the PDF for 
> fields when you add
> one... even the first one.  I admit my code base is getting 
> behind the times
> however (I'm still working with a pre-1.4.0, "paulo155").
> 
> 
> --Mark Storer
>   Senior Software Engineer
>   Cardiff.com
> 
> #include <disclaimer>
> typedef std::Disclaimer<Cardiff> DisCard; 
> 
> 
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] Behalf Of
> > Robert Esterer
> > Sent: Tuesday, November 07, 2006 10:12 AM
> > To: 'Post all your questions about iText here'
> > Subject: Re: [iText-questions] NeedAppearances & Fields
> > 
> > 
> > Thanks for the reply Paulo, but I'm not really sure if the 
> > PDF is broken.
> > 
> > For my last tests I've been using the EPS example file 
> > provided by Adobe:
> > http://support.adobe.com/devsup/devsup.nsf/docs/53339.htm
> > And according to their pdfmark
> > reference(http://partners.adobe.com/public/developer/en/acroba
> > t/sdk/pdf/pdf_
> > creation_apis_and_specs/pdfmarkReference.pdf) it seems like 
> > the Acrobat is
> > not repairing the PDF but generation the display information 
> > just like it is
> > supposed to be:
> > "NeedAppearances boolean, set to true to indicate that when 
> > the document is
> > opened, traverse all widgets to generate their display and 
> > add them to the
> > Fields array."
> > And once it did that it prompts you to save the finished PDF.
> > 
> > Here is how I've been testing it:
> > I insert the EPS int oword and then either convert it to PS 
> > and then PDF
> > using ghostscript or send it directly to the distiller from 
> word. The
> > resulting PDF behaves the same in both cases.
> > Then I try to find any fields in the PDF using iText and come 
> > up empty. I
> > tried:
> > .getAcroFields().getBlankSignatureNames()   
> > .getAcroFields().getFields();
> > And http://itext.ugent.be/library/question.php?id=31
> > 
> > Once I do that ugly .createEmpty(...) trick iText is able to 
> > find and sign
> > them. But the resulting PDF stil lacks the display 
> information for the
> > remaining empty fields.
> > 
> > Also, the behaviour is the same with and without the 
> > NeedApperances flag in
> > the eps. iText can't find the fields in either case unless I 
> > use that trick!
> > 
> > The flag only affect how the Acrobat displays the fields. 
> > Even without the
> > flag the fields are visible and usable in the PDF, just not 
> > listed in the
> > Signatures tab.
> > 
> > I attached two EPS files created from a simple one page 
> Word document
> > containing a single signature field. One is with 
> > NeedApperances and one
> > without. And the resulting PDFs using ghostscript (gs) and 
> > distiller(dist).
> > 
> > I'm currently working my way through various pdfmarks 
> > resources in hope of
> > finding a workaround for it, maybe by supplying all the 
> > required display
> > information with the EPS.
> > 
> > And of course I'm still open for any suggestions.
> > 
> > -Robert
> > 
> > PS: Outlook crashed three times while seinding this mail, so 
> > please excuse
> > any duplicates.
> > 
> > -----Ursprüngliche Nachricht-----
> > Von: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] Im 
> > Auftrag von Paulo
> > Soares
> > Gesendet: Dienstag, 7. November 2006 16:53
> > An: Post all your questions about iText here
> > Betreff: Re: [iText-questions] NeedAppearances & Fields
> > 
> > You have a broken PDF. I'm quite sure that your PDF doesn't have the
> > AcroForm dictionary. Acrobat manages to reconstruct it from 
> > the page field
> > annotations but iText can't do it.
> > 
> > Paulo 
> > 
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED]
> > > [mailto:[EMAIL PROTECTED] On 
> Behalf Of 
> > > Robert Esterer
> > > Sent: Tuesday, November 07, 2006 3:12 PM
> > > To: itext-questions@lists.sourceforge.net
> > > Subject: [iText-questions] NeedAppearances & Fields
> > > 
> > > Hello,
> > > It's me again with more problems regarding NeedAppearances.
> > > Yesterday I thought removing it would solve my problem 
> > (thanks to Mark 
> > > Storer for the code and the warning about it being
> > > document-level) and it
> > > indeed makes the new signature visible but it also makes 
> > all the empty 
> > > fields invisble in the "Signatures" tab (Acrobat).
> > > I've spent some time looking at what the Acrobat does and 
> > what iText 
> > > does and just wanted to check if I understood it right.
> > > 
> > > I have a PDF with 2+ empty signature fields. The PDF was 
> created by 
> > > adding eps files with pdfmarks code in an office document and 
> > > converting them with distiller/ghostscript. The resulting 
> > PDF contains 
> > > empty signature fields.
> > > 
> > > BUT the PDF also contains the NeedAppearances flag. This 
> causes the 
> > > Acrobat to ask me if I want to save the document whenever I 
> > close it 
> > > (even if I do nothing). Doing so causes the Acrobat to 
> rebuild all 
> > > signature fields. The resulting PDF looks identical to the 
> > old one but 
> > > a) doesn't contain the NeedApperances Flag and b) now 
> > contains "real" 
> > > objects (whatever that means).
> > > The saved document works fine with iText.
> > > 
> > > BUT the unsaved (= newly created) PDF doesn't work with itext.
> > > One problem is that I can't seem to find any form fields
> > > (.getFields() and
> > > .getBlankSignatureNames() are epmty).
> > > Once I add an empty object using:
> > > PdfFormField field = PdfFormField.createEmpty(stp.getWriter());
> > > stp.addAnnotation(field, 1);
> > > stp.close();
> > > I can find all fields just fine.
> > > The other problem is that once I fill one field I have 
> two possible 
> > > outcomes (both of which are bad):
> > > a) I remove the NeedAppearance flag -> the new signature is 
> > visible, 
> > > all other dissapear
> > > B) I leave the NeedAppearance and have an "invisible" signature.
> > > 
> > > So, in order to make it work with iText I have to iterate 
> > through all 
> > > fields and rebuild them into "real" objects before I save 
> > sign the PDF 
> > > for the first time!?
> > > For now I can probably do this by reading the old 
> signature fields 
> > > properties, deleting it and creating a new one with the old ones 
> > > properties (haven't tried it yet).
> > > But this won't cover other types of fiels. So the million dollar 
> > > question
> > > is:
> > > Is there a way to tell iText to rebuild the appearance for 
> > all objects 
> > > like the Acrobat does when you save it?
> > > 
> > > Sorry for all the long text but this problem really got me 
> > worked up 
> > > :(
> > > 
> > > Any tips would be appreciated,
> > > -Robert
> > > 
> > 
> > 
> > Aviso Legal:
> > Esta mensagem i destinada exclusivamente ao destinatario. 
> Pode conter
> > informagco confidencial ou legalmente protegida. A incorrecta 
> > transmissco
> > desta mensagem nco 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. I proibido a qualquer 
> > pessoa que nco o
> > destinatario 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.
> > 
> > 
> > 
> 
> --------------------------------------------------------------
> -----------
> Using Tomcat but need to do more? Need to support web 
> services, security?
> Get stuff done quickly with pre-integrated technology to make your job
> easier
> Download IBM WebSphere Application Server v.1.0.1 based on 
> Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&;
> dat=121642
> _______________________________________________
> iText-questions mailing list
> iText-questions@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/itext-questions
> 
> 
> --------------------------------------------------------------
> -----------
> Using Tomcat but need to do more? Need to support web 
> services, security?
> Get stuff done quickly with pre-integrated technology to make 
> your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on 
> Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&;
> dat=121642
> _______________________________________________
> iText-questions mailing list
> iText-questions@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/itext-questions
> 


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.

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
iText-questions mailing list
iText-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions

Reply via email to