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
[email protected]
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/

Reply via email to