我有一个 pdf 文档,里面有 2 种类型的评论列表:1. 矩形 2. 文本框
我想用 c# 和 itextsharp 从文本框中获取值。
您所指的文本框和矩形称为注释。注释被定义为字典,并且每页列出。
换句话说:您需要创建一个PdfReader
实例并ANNOTS
从每个页面获取:
PdfReader reader = new PdfReader("your.pdf");
for (int i = 1; i <= reader.NumberOfPages; i++) {
PdfArray array = reader.GetPageN(i).GetAsArray(PdfName.ANNOTS);
if (array == null) continue;
for (int j = 0; j < array.Size; j++) {
PdfDictionary annot = array.GetAsDict(j);
PdfString text = annot.GetAsString(PdfName.CONTENTS);
...
}
}
在上面的代码示例中,我有一个PdfDictionary
命名annot
的,我可以从中提取内容。您可能也对其他一些条目感兴趣(例如注释的名称,如果有的话)。请检查对象中可用的所有键,annot
以防Contents
条目不是您要查找的。
用您想要对文本执行的任何操作替换这些点。PdfString
有不同的方法可以揭示其内容。
免责声明:我是 iText 的原始开发者(我一直认为人们已经知道这一点,但我曾经被否决,因为我没有添加此免责声明)。