Я пытаюсь извлечь атрибуты (шрифт, размер шрифта, цвет и т. Д.) Каждого слова в pdf-документе, используя библиотеку iText. Я мог извлечь текст с каждой страницы, но не с атрибутами. Также я не нашел ничего, что могло бы обеспечить то же самое. Пожалуйста, помогите мне.Получение текстовых шрифтов из pdf-файла с помощью iText
ответ
Я не человек Java, поэтому я не могу дать вам рабочий код, но, надеюсь, я смогу получить вас на 95% пути туда.
Сначала вам нужно создать класс, который реализует интерфейс com.itextpdf.text.pdf.parser.TextExtractionStrategy
Затем вы можете передать экземпляр этого класса в качестве третьего параметра:
PdfTextExtractor.getTextFromPage(PdfReader reader, int pageNumber, TextExtractionStrategy strategy)
Одним из методов этого интерфейса - renderText
, который вызывается для каждого обрабатываемого текстового блока. Когда он получает вызов, передается TextRenderInfo
, в котором есть метод под названием getFont
, который должен дать вам то, что вы ищете. Храните содержимое этого буфера в некотором роде, и после вызова getTextFromPage
вы можете проверить этот буфер, чтобы увидеть каждый шрифт. Если вы хотите увидеть пример реализации этого интерфейса, найдите код для SimpleTextExtractionStrategy
онлайн. В противном случае here's a C# version, что в значительной степени делает то, что вы ищете.
Привет, Спасибо тон за ответ. Я не знал концепции функций обратного вызова в Java (например, здесь «renderText»). Я мог бы получить имена шрифтов, применяющие getFullFontName() для объекта из метода getFont(), упомянутого в документации «Document Font». :-) – srjit
- 1. Pdf частичное вложение шрифтов с помощью iText
- 2. Создание шрифтов из * .ttf файлов с помощью IText
- 3. Получение местоположений линий с помощью iText
- 4. Получение координат выбранной области из pdf с помощью itext
- 5. Использование текстовых фигур в itext
- 6. IText возникли проблемы при визуализации шрифтов
- 7. Получение системных шрифтов
- 8. Получение чистого текста из текстовых/html-документов с помощью BeautifulSoup
- 9. Получение ограничивающих полей текстовых строк из PDF с помощью PDFBox
- 10. android itext с использованием свойств шрифтов в Android Studio
- 11. Получение .value из текстовых полей
- 12. получение текстовых данных из innerHTML
- 13. Header с помощью IText
- 14. PDF с помощью IText
- 15. Экспорт диаграмм из poi с помощью itext
- 16. Вложение шрифтов, сглаживающих документ с помощью XFAFlattener
- 17. Получение хеша/дайджест из подписанного файла PCKS7 PDF с iText
- 18. Получение изображения DPI в файлах PDF с помощью iText
- 19. Создание эскизов с помощью iText
- 20. Использовать iText для создания форматированных текстовых полей?
- 21. Наличие нескольких шрифтов в текстовых файлах Unix
- 22. Сделать теги из текстовых и текстовых полей с помощью javascript
- 23. Чтение pdf с помощью iText
- 24. Специальное выравнивание с помощью IText
- 25. Подчеркивание строки с помощью iText
- 26. Как получить свойства AcroField с помощью iText?
- 27. Получение информации об установленных шрифтов
- 28. получение текста из группы текстовых полей
- 29. Действительно медленное получение метрик шрифтов
- 30. Itext: Как получить список не встроенных шрифтов pdf
Возможный дубликат [Как проверить, что все используемые шрифты встроены в PDF с помощью Java iText?] (Http://stackoverflow.com/questions/4646130/how-to-check-that-all-used-fonts- in-embedded-in-pdf-with-java-itext) –