PDFsharp与QuestPDF(C# PDF库深入比较)
将注释想象为页面上的一张透明薄片:便签式注释位于顶部,而下面的文档保持不变。 IronPDF通过PdfDocument上管理该层,添加、编辑和删除显示为小图标的注释,点击时会显示完整的评论。 因为这一层与内容是分开的,编辑或删除注释不会影响其他文档属性,因此注释可以放在原件必须保持未动的地方。
文档审阅和标记
最常见的是用于注释。 审阅工具将反馈附加到特定位置,并保存一份带评论的副本供下一个人使用,源内容未更改:
using IronPdf;
using IronPdf.Annotations;
var pdf = PdfDocument.FromFile("draft.pdf");
pdf.Annotations.Add(new TextAnnotation(0)
{
Title = "Reviewer",
Contents = "Clarify this clause.",
X = 50,
Y = 700
});
pdf.SaveAs("draft-reviewed.pdf");
using IronPdf;
using IronPdf.Annotations;
var pdf = PdfDocument.FromFile("draft.pdf");
pdf.Annotations.Add(new TextAnnotation(0)
{
Title = "Reviewer",
Contents = "Clarify this clause.",
X = 50,
Y = 700
});
pdf.SaveAs("draft-reviewed.pdf");
Imports IronPdf
Imports IronPdf.Annotations
Dim pdf = PdfDocument.FromFile("draft.pdf")
pdf.Annotations.Add(New TextAnnotation(0) With {
.Title = "Reviewer",
.Contents = "Clarify this clause.",
.X = 50,
.Y = 700
})
pdf.SaveAs("draft-reviewed.pdf")
在不触及原件的情况下进行合同协作
由于注释层与合同正本文本分离,法律团队可以留下不会更改绑定文本的笔记。 这一分离在文档必须为审核或签名保持清晰的情况下尤为重要。
在技术文档上的质量保证标记
自动检查可以在检测到问题的任何地方放置定位注释(如缺少的图表、规格外的数值),为人类提供问题的可点击地图,而不是一份单独的报告。
通过修订周期进行编辑
现有的注释可以在反馈更改或笔记需要重新定位时进行检索和更新。 这支持批准链,其中主管在签署前修订审阅者的笔记:
using System.Linq;
var pdf = PdfDocument.FromFile("draft-reviewed.pdf");
var note = (TextAnnotation)pdf.Annotations.First();
note.Contents = "Resolved in v2.";
note.X = 150;
pdf.SaveAs("draft-updated.pdf");
using System.Linq;
var pdf = PdfDocument.FromFile("draft-reviewed.pdf");
var note = (TextAnnotation)pdf.Annotations.First();
note.Contents = "Resolved in v2.";
note.X = 150;
pdf.SaveAs("draft-updated.pdf");
Imports System.Linq
Dim pdf = PdfDocument.FromFile("draft-reviewed.pdf")
Dim note = CType(pdf.Annotations.First(), TextAnnotation)
note.Contents = "Resolved in v2."
note.X = 150
pdf.SaveAs("draft-updated.pdf")
在分发前清理
删除是一种独立的用例。 在文件发出之前剥离内部或过时的评论,这样反馈就不会泄漏给外部受众。 对于一个,请使用Clear。 这自然与清理或PDF/A导出作为最终步骤相配合。
会引起麻烦的两件事
PDF坐标从左下角开始,而不是大多数UI框架使用的左上角,并以点(1/72英寸)为单位测量; US Letter是612 x 792,A4是595 x 842。在此之前,注释会放置在错误的位置。
注释集合在每次移除后重新索引。 要删除多个,请倒退操作或先收集它们再以相反顺序移除,否则会删除错误的。
它们的用途和非用途
文档化的类型是TextAnnotation,即便签注,具有标题、内容、位置、页面、主题、图标和打开状态的属性。 它不是高亮、墨水或印章标记。匹配注释和审阅,这是它擅长的工作,而不是声称能够做的视觉标记。
常见问题解答
如何使用IronPDF在C#中向PDF添加文本注释?
在PdfDocument上的Annotations.Add方法中使用TextAnnotation对象。设置页面索引、X/Y位置(从左下角的PDF点数)、标题和内容属性。
添加或删除注释会改变基础PDF内容吗?
不会。注释层与文档内容是分开的。编辑或删除注释不会影响文档的其他属性、文本和图像。
如何在分发PDF前删除注释?
使用RemoveAt(index)删除单个注释,RemoveAllAnnotationsForPage(pageIndex)清空页面,或Annotations.Clear()删除文档中所有注释。
为什么我的注释出现在错误的位置?
PDF坐标从左下角开始,而不是大多数UI框架使用的左上角。坐标以点为单位测量(1/72英寸)。美国信纸尺寸为612 x 792点;A4尺寸为595 x 842点。相应调整您的X和Y值。
我可以更新现有注释的文本或位置吗?
可以。从Annotations集合中检索注释,将其转换为TextAnnotation,并在保存文档之前更新其Contents、X、Y或其他属性。

