Je souhaite append un commentaire d’annotations dans un fichier PDF existant à l’aide de iTextSharp avec C #.
Veuillez donner un exemple de code pour append des annotations dans un fichier PDF existant.
Voici PS Script pour mon annotation:
[/Contents (My Text contents) /Rect [100 600 150 550] /SrcPg 1 /Title (My Title text) /Color [0 0 1] /Subtype /Caret /ANN pdfmark
L’exemple iText (Sharp) TimetableAnnotations1.java / TimetableAnnotations1.cs du chapitre 7 de iText in Action – 2nd Edition montre comment append des annotations aux fichiers PDF existants en général.
Le code central est (dans l’exemple C #):
rect = GetPosition(screening); annotation = PdfAnnotation.CreateText( stamper.Writer, rect, movie.MovieTitle, ssortingng.Format(INFO, movie.Year, movie.Duration), false, "Help" ); annotation.Color = WebColors.GetRGBColor( "#" + movie.entry.category.color ); stamper.AddAnnotation(annotation, page);
où PdfStamper
est un PdfStamper
travaillant sur votre fichier PDF; movie
est une structure de données dans laquelle l’exemple récupère le titre, le texte et la couleur de l’annotation.
PdfAnnotation
offre plusieurs autres méthodes Create...
pour créer d’autres types d’annotations.
rect = GetPosition(screening);
Quelqu’un peut-il expliquer pourquoi cela est utilisé? Y at-il un moyen de trouver la position actuelle du curseur (haut, bas, hauteur, largeur)
comme avec l’annotation,
Document doc = new Document(PageSize.A4, 50, 50, 50, 50); PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(@"C:\Users\Asus\Desktop\Test.pdf", FileMode.OpenOrCreate)); doc.AddDocListener(writer); doc.Open(); doc.Add(new Annotation("annotation", "The text displayed in the sticky note", 100f, 500f, 200f, 600f)); doc.Close();
cela fonctionne bien pour moi ..