Получение текстовых шрифтов из PDF-файла с помощью iText - PullRequest
1 голос
/ 06 февраля 2012

Я пытался извлечь атрибуты (шрифт, размер шрифта, цвет и т. Д.) Каждого слова в PDF-документе, используя библиотеку iText. Я мог бы извлечь текст из каждой страницы, но не атрибуты. Также я не нашел ничего, что могло бы обеспечить то же самое. Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 06 февраля 2012

Я не Java-человек, поэтому я не могу дать вам рабочий код, но, надеюсь, я смогу помочь вам на 95%.

Сначала вам нужно создать класс, который реализуетинтерфейс com.itextpdf.text.pdf.parser.TextExtractionStrategy

Затем вы можете передать экземпляр этого класса в качестве третьего параметра:

PdfTextExtractor.getTextFromPage(PdfReader reader, int pageNumber, TextExtractionStrategy strategy)

Одним из методов этого интерфейса является renderText, который вызывается для каждого обрабатываемого текстового блока.Когда он вызывается, передается TextRenderInfo, в котором есть метод с именем getFont, который должен дать вам то, что вы ищете.Сохраните содержимое этого в буфере некоторого вида, и после вызова getTextFromPage вы можете проверить этот буфер, чтобы увидеть каждый шрифт.Если вы хотите увидеть пример реализации этого интерфейса, найдите код для SimpleTextExtractionStrategy онлайн.В противном случае вот версия C # , которая в значительной степени делает то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...