iTextSharp PDF 使用 C# 读取突出显示的文本(突出显示注释)

Posted

技术标签:

【中文标题】iTextSharp PDF 使用 C# 读取突出显示的文本(突出显示注释)【英文标题】:iTextSharp PDF Reading highlighed text (highlight annotations) using C# 【发布时间】:2014-06-14 01:59:18 【问题描述】:

我正在开发一个将 pdf 内容转换为文本的 C# winform 应用程序。除了在 pdf 的突出显示文本中找到的内容外,所有必需的内容都被提取出来。 请帮助获取工作示例以提取 pdf 中的突出显示文本。 我在项目中使用 iTextSharp.dll

【问题讨论】:

你说的是注解吗?你需要更清楚。注释是不属于页面内容流的元素。它们始终添加在页面顶部并具有自己的外观流。您可以在 Adob​​e Reader 的单独面板中列出它们。我们在谈论那种内容吗? 【参考方案1】:

假设您在谈论评论。请试试这个:

for (int i = pageFrom; i <= pageTo; i++) 
    PdfDictionary page = reader.GetPageN(i);
    PdfArray annots = page.GetAsArray(iTextSharp.text.pdf.PdfName.ANNOTS);
    if (annots!=null)
        foreach (PdfObject annot in annots.ArrayList) 
            PdfDictionary annotation = (PdfDictionary)PdfReader.GetPdfObject(annot);
            PdfString contents = annotation.GetAsString(PdfName.CONTENTS);
            // now use the String value of contents
        
    

这是从内存中编写的(我是 Java 开发人员,而不是 C# 开发人员)。

【讨论】:

以上是关于iTextSharp PDF 使用 C# 读取突出显示的文本(突出显示注释)的主要内容,如果未能解决你的问题,请参考以下文章

求助,c#如何利用iTextSharp.dll读取PDF的书签信息

使用 iTextSharp 突出显示文本减少对 PDF 文件大小的影响

读取 pdf 的 ITextSharp 异常:重建失败:字典键“”不是名称

C#工具类:使用iTextSharp操作PDF文档

使用 iTextSharp 在 C# 中旋转 PDF

ITextSharp导出PDF表格和图片(C#)