Я не Java-человек, поэтому я не могу дать вам рабочий код, но, надеюсь, я смогу помочь вам на 95%.
Сначала вам нужно создать класс, который реализуетинтерфейс com.itextpdf.text.pdf.parser.TextExtractionStrategy
Затем вы можете передать экземпляр этого класса в качестве третьего параметра:
PdfTextExtractor.getTextFromPage(PdfReader reader, int pageNumber, TextExtractionStrategy strategy)
Одним из методов этого интерфейса является renderText
, который вызывается для каждого обрабатываемого текстового блока.Когда он вызывается, передается TextRenderInfo
, в котором есть метод с именем getFont
, который должен дать вам то, что вы ищете.Сохраните содержимое этого в буфере некоторого вида, и после вызова getTextFromPage
вы можете проверить этот буфер, чтобы увидеть каждый шрифт.Если вы хотите увидеть пример реализации этого интерфейса, найдите код для SimpleTextExtractionStrategy
онлайн.В противном случае вот версия C # , которая в значительной степени делает то, что вы ищете.