> Don't use PRAcroForm, ever. Get the acroform through the catalog Now i am confused:
After your suggestion i would have fetched the acroform through the catalog like this: PdfObject form = this.reader.getCatalog().get(PdfName.ACROFORM); But if i look into the code of the method 'getAcroForm' i read: PdfObject form = catalog.get(PdfName.ACROFORM); So where's the difference? Afterwards i would have constructed the AcroForm Object (propably) like you did to be able to change the 'SigFlags' flag. Or is there another way to do that? > and remember that the acroform may not exist. Do you mean it does not exist for PDF's without form fields? Or is there the possibility if you have a formfields-PDF and there is no Acroform? Thanks, ToM > Paulo > > ----- Original Message ----- > From: "Tobias Meier" <[EMAIL PROTECTED]> > To: "Post all your questions about iText here" > <itext-questions@lists.sourceforge.net> > Sent: Monday, April 07, 2008 7:23 PM > Subject: Re: [iText-questions] Reuse Stamper? > > > >I debbuged through the code and it seems that the > > 'removeField' method removes the Field itself from the PDF but the > > reference is not removed from the field array (/Fields and then > > /Kids[..]). > > Thus when i read the file again i get an PDF.Null Object and the ids > > of > > the (removed) fields are still in the FIELDS Array but does not have > > an > > actual match... > > > > Could this be a bug or am i doing something wrong? > > Thanks > > ToM > > > >> Hi, > >> > >> i want to remove all (unsigned) signatures from an PDF. > >> That itself works fine but afterwards if i access the AcroForm > >> Object > >> i > >> always get null / Nullpointer Exception. > >> If i do Step 2. before Step 1. all works fine. > >> What is the reason for that? (Because i changed the AcroFields in > >> advance?). > >> > >> //1. Remove some fields (signature fields) > >> AcroFields acroFields = this.stamper.getAcroFields(); > >> ArrayList al = acroFields.getBlankSignatureNames(); > >> > >> for (int i = 0; i < al.size(); i++) { > >> acroFields.removeField((String)al.get(i)); > >> } > >> > >> //2. Then fetch the AcroForm but a Nullpointer occurs > >> PRAcroForm form = this.reader.getAcroForm(); > >> form.put(PdfName.SIGFLAGS,new PdfNumber(0)); > >> > >> > >> So if i want to remove the signatures and then set the 'SigFlags' > >> how > >> can this be done? > >> And a general question: The reader can not be reused but the > >> stamper > >> can? > >> > >> Regards, > >> ToM ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Register now and save $200. Hurry, offer ends at 11:59 p.m., Monday, April 7! Use priority code J8TLD2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ iText-questions mailing list iText-questions@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/itext-questions Do you like iText? Buy the iText book: http://www.1t3xt.com/docs/book.php Or leave a tip: https://tipit.to/itexttipjar