Как получить текст определенного цвета из pdf C#

Я должен поместить данные из файла PDF в определенную структуру базы данных. Это требует, чтобы я мог получить определенные данные из файла PDF. Так как у pdf нет никаких тегов и т. Д., Мне было интересно, возможно ли получить текст, основанный на цвете. Скажем, например, я хочу весь красный текст. Или я хочу весь курсивный текст в документе. Возможно ли это в C#? Или есть другой способ легко фильтровать данные в документе PDF?

4 ответа

Решение

Я выбрал другой подход. Я преобразовал PDF в файл Excel. И это было очень легко найти цветной текст

Попробуйте PdfLibTET http://www.pdflib.com/products/tet/
Он должен быть в состоянии получить информацию о тексте.

PdfTextExtractor (и весь код, на котором он основан) iText НЕ отслеживает текущий цвет. Уч. Это было бы не так сложно, так что вы можете изменить iText самостоятельно:

  1. Добавьте штриховые и заливочные цветные элементы в класс GraphicState (и соответствующим образом обновите различные конструкторы).
  2. Вам нужно добавить ContentOperator классы для 'g', 'G', 'rg', 'RG', 'K' и 'k' (и, возможно, CS, cs, SC, sc, SCN, scn), чтобы изменить штрих и цвета заливки.
  3. Добавьте методы к TextRenderInfo, чтобы получить текущий штрих и цвета заливки.

Используя эту библиотеку http://www.codeproject.com/KB/files/xpdf_csharp.aspx?msg=3154408 вы получаете доступ ко всем стилям слов (шрифт, цвет...)

this.pdfDoc.Pages[4].WordList.ElementAt(143).ForeColor
Другие вопросы по тегам