如何从pdf c#获取具有特定颜色的文本

我必须将pdf文件中的数据放在某个数据库结构中。 这要求我能够从pdf文件中获取某些数据。 由于pdf没有任何标签等…我想知道是否有可能获得基于颜色的文本。 比方说,我想要所有的红色文字。 或者我想要文档中的所有斜体文本。 这可能在C#中吗? 或者是否有其他方法可以轻松过滤pdf文档中的数据?

在此处输入图像描述

通过使用此库http://www.codeproject.com/KB/files/xpdf_csharp.aspx?msg=3154408,您可以访问每个单词样式(字体,颜色……)

this.pdfDoc.Pages[4].WordList.ElementAt(143).ForeColor 

iText的PdfTextExtractor(以及它所依赖的所有代码)不跟踪当前颜色。 哎哟。 添加起来并不难,所以你可以自己修改iText:

  1. 将笔触和填充颜色成员添加到GraphicState类(并相应地更新各种构造函数)。
  2. 您需要为’g’,’G’,’rg’,’RG’,’K’和’k’(以及CS,cs,SC,sc,SCN,scn)添加ContentOperator类,以便修改笔划和填充颜色。
  3. 向TextRenderInfo添加方法以获取当前笔触和填充颜色。

试试PdfLibTET http://www.pdflib.com/products/tet/
它应该能够获得有关文本的信息。

我采取了不同的方法。 我将pdf转换为excel文件。 这很容易搜索彩色文本