Как получить текст определенного цвета из pdf C#
Я должен поместить данные из файла PDF в определенную структуру базы данных. Это требует, чтобы я мог получить определенные данные из файла PDF. Так как у pdf нет никаких тегов и т. Д., Мне было интересно, возможно ли получить текст, основанный на цвете. Скажем, например, я хочу весь красный текст. Или я хочу весь курсивный текст в документе. Возможно ли это в C#? Или есть другой способ легко фильтровать данные в документе PDF?
4 ответа
Я выбрал другой подход. Я преобразовал PDF в файл Excel. И это было очень легко найти цветной текст
Попробуйте PdfLibTET http://www.pdflib.com/products/tet/
Он должен быть в состоянии получить информацию о тексте.
PdfTextExtractor (и весь код, на котором он основан) iText НЕ отслеживает текущий цвет. Уч. Это было бы не так сложно, так что вы можете изменить iText самостоятельно:
- Добавьте штриховые и заливочные цветные элементы в класс GraphicState (и соответствующим образом обновите различные конструкторы).
- Вам нужно добавить
ContentOperator
классы для 'g', 'G', 'rg', 'RG', 'K' и 'k' (и, возможно, CS, cs, SC, sc, SCN, scn), чтобы изменить штрих и цвета заливки. - Добавьте методы к TextRenderInfo, чтобы получить текущий штрих и цвета заливки.
Используя эту библиотеку http://www.codeproject.com/KB/files/xpdf_csharp.aspx?msg=3154408 вы получаете доступ ко всем стилям слов (шрифт, цвет...)
this.pdfDoc.Pages[4].WordList.ElementAt(143).ForeColor