Hi Paulo, Thank you. Sorry if i am missing something. so where is the SVN repository url to check out the code for multi threading? Thanks Subrah
Paulo Soares-3 wrote: > > Try the code in the SVN, it fixes a problem in heavy multithreading. > > Paulo > > ----- Original Message ----- > From: "subrah" <subnibh...@gmail.com> > To: <itext-questions@lists.sourceforge.net> > Sent: Monday, November 16, 2009 8:12 PM > Subject: Re: [iText-questions] Root Object is invalid or missing after PDF > is manipulated with iTextSharp > > > > Attached is the corrupt file. > if i try to read the corrupted file using pdfreader i get the error > message > saying "start ref not found". But the issue is that problem is not > consistant. I am able to water mark the same original file 2nd time using > the same code. So it's like randomly some file is not fully written. > > i am gussing this is because the pdfstamper is closing the memory stream > earlier than it should for some reason. However what i want to confirm is > that my understanding that the probelm is infact the memory stream is > right > or not?. Because i have implmented alternative technique to compltely > avoid > memory stream and pdf stamper but use pdfwriter and file stream which seem > to have fixed the issue in dev. But still need to get response from a > heavy > testing team. Any light thrwon on this subject will be of great help to > me. > > Thanks > Subrah > > > > Mark Storer-2 wrote: >> >> A: Most of the folks on the list lean toward Java. >> B: If no one knows the answer, no one answers. >> >> Perhaps you could post one of your corrupted PDFs? >> >> --Mark Storer >> Senior Software Engineer >> Cardiff.com >> >> #include <disclaimer> >> typedef std::Disclaimer<Cardiff> DisCard; >> >> >> >>> -----Original Message----- >>> From: subrah [mailto:subnibh...@gmail.com] >>> Sent: Monday, November 16, 2009 8:50 AM >>> To: itext-questions@lists.sourceforge.net >>> Subject: Re: [iText-questions] Root Object is invalid or missing after >>> PDF is manipulated with iTextSharp >>> >>> >>> >>> Hi All, >>> >>> I am wondering why nobody is interested in responding to my >>> question? I seem >>> to have found a fix but just wanted to confirm with experts >>> on this forum. >>> So any help is greatly appreciated. >>> >>> Thanks >>> Subrah >>> >>> >>> >>> subrah wrote: >>> > >>> > Hi >>> > Sorry resending this post as i was not registered user earlier. >>> > >>> > i am using latest iTextSharp library to edit the pdf >>> documents to put the >>> > water marking digitallly (hidden). So when i researched i >>> found that i can >>> > add a annotation to the pdf document and then set the flags to >>> > annotation.Flags = PdfAnnotation.FLAGS_NOVIEW | >>> > PdfAnnotation.FLAGS_INVISIBLE | PdfAnnotation.FLAGS_HIDDEN; >>> to make it >>> > invisible. >>> > >>> > so this is working fine as expected 90% of the time. >>> Remaning 10 % of the >>> > time i get an error when i open the document after adding >>> the annotation >>> > it says "Root object is invalid or missing" >>> > >>> > so looks like it corrupted the file trying to add the >>> annoation. do you >>> > have any suggestion? i can share the code i am using to add >>> the annotation >>> > if that helps. >>> > >>> > Full code >>> > public static byte[] EditPdf(string sourceFile, string >>> visibleWaterMark, >>> > string digitalWaterMark) >>> > { >>> > PdfReader reader = new PdfReader(sourceFile); >>> > using (MemoryStream memoryStream = new MemoryStream()) >>> > { >>> > PdfStamper pdfStamper = new PdfStamper(reader, >>> > memoryStream); >>> > // process every page in the pdf file >>> > for (int i = 1; i <= reader.NumberOfPages; i++) >>> > { >>> > Rectangle pageSize = >>> > reader.GetPageSizeWithRotation(i); >>> > PdfContentByte pdfPageContents = >>> > pdfStamper.GetUnderContent(i); >>> > PdfAnnotation annotation = >>> > PdfAnnotation.CreateText(pdfStamper.Writer, new >>> Rectangle(200f, 400f, >>> > 300f, 500f), digitalWaterMark, >>> > "Street Events >>> Digital Watermark", >>> > false, "Key"); >>> > //digital water marking >>> > annotation.Flags = PdfAnnotation.FLAGS_NOVIEW | >>> > PdfAnnotation.FLAGS_INVISIBLE | PdfAnnotation.FLAGS_HIDDEN; >>> > pdfStamper.AddAnnotation(annotation, i); >>> > pdfPageContents.BeginText(); >>> > BaseFont baseFont = >>> > BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, >>> Encoding.ASCII.EncodingName, >>> > BaseFont.NOT_EMBEDDED); >>> > pdfPageContents.SetFontAndSize(baseFont, 10); >>> > pdfPageContents.SetRGBColorFill(225, 224, 223); >>> > // visible water marking >>> > >>> > pdfPageContents.ShowTextAligned(PdfContentByte.ALIGN_RIGHT, >>> > visibleWaterMark, >>> > >>> pageSize.Width - 50, >>> > >>> pageSize.Height - 15, >>> > 0); >>> > pdfPageContents.EndText(); >>> > pdfStamper.FormFlattening = true; >>> > >>> > } >>> > >>> > pdfStamper.Close(); >>> > return memoryStream.ToArray(); >>> > } >>> > >>> > >>> > >>> > public static void SaveFile(string fileHandle, byte[] fileBytes) >>> > { >>> > using(FileStream fs = new FileStream(fileHandle, >>> > FileMode.Create)) >>> > { >>> > fs.Write(fileBytes, 0, fileBytes.Length); >>> > fs.Flush(); >>> > fs.Close(); >>> > } >>> > >>> > } >>> > >>> > //call >>> > FileInfo pdfFileInfo = new FileInfo(newFilePath); >>> > byte[] fileBytes = PdfWaterMarker.EditPdf(pdfFileInfo, >>> > string.Format("Client Id: {0}", clientSite.ClientId)); >>> > PdfWaterMarker.SaveFile(newFilePath, fileBytes); >>> > >>> > please let me know >>> > Thanks >>> > Subrah >>> > >>> > >>> >>> -- >>> View this message in context: >>> http://old.nabble.com/Root-Object-is-invalid-or-missing-after- >> PDF-is-manipulated-with-iTextSharp-tp26305073p26375297.html >> Sent from the iText - General mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > iText-questions mailing list > iText-questions@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/itext-questions > > Buy the iText book: http://www.1t3xt.com/docs/book.php > Check the site with examples before you ask questions: > http://www.1t3xt.info/examples/ > You can also search the keywords list: > http://1t3xt.info/tutorials/keywords/ > > -- View this message in context: http://old.nabble.com/Root-Object-is-invalid-or-missing-after-PDF-is-manipulated-with-iTextSharp-tp26305073p26393008.html Sent from the iText - General mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ iText-questions mailing list iText-questions@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/itext-questions Buy the iText book: http://www.1t3xt.com/docs/book.php Check the site with examples before you ask questions: http://www.1t3xt.info/examples/ You can also search the keywords list: http://1t3xt.info/tutorials/keywords/