如何添加便笺,在光标处插入文本.使用带有C#的iTextSharp在现有PDF文件中添加注释

本文关键字:添加 iTextSharp 注释 文件 PDF 插入文本 何添加 光标 | 更新日期: 2023-09-27 18:30:13

我想使用带有C#的iTextSharp在现有PDF文件中添加注释注释。

请给出在现有PDF文件中添加注释的示例代码。

此处为我的注释PS脚本:

[/Contents (My Text contents) /Rect [100 600 150 550] /SrcPg 1 /Title (My Title text) /Color [0 0 1] /Subtype /Caret /ANN pdfmark

如何添加便笺,在光标处插入文本.使用带有C#的iTextSharp在现有PDF文件中添加注释

iText(Sharp)示例TimetableAnnotations1.java/TimetableAnnotattions1.cs来自《iText in Action--2nd Edition》第7章,展示了如何在现有PDF中添加注释。

中心代码是(在C#示例中):

rect = GetPosition(screening);
annotation = PdfAnnotation.CreateText(
    stamper.Writer, rect, movie.MovieTitle,
    string.Format(INFO, movie.Year, movie.Duration),
    false, "Help"
);
annotation.Color = WebColors.GetRGBColor(
    "#" + movie.entry.category.color
);
stamper.AddAnnotation(annotation, page);

其中stamper是处理PDF文件的PdfStampermovie是一个数据结构,示例从中检索注释的标题、文本和颜色。

PdfAnnotation提供了多种其他Create...方法来创建其他类型的注释。

rect = GetPosition(screening);

有人能解释一下为什么要用这个吗。。有没有办法找到当前光标的位置(顶部、底部、高度、宽度)

与注释一样,

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();

这对我来说很好。