Извлечение текста — обычное требование при работе с PDF-документами. iText 7 — это мощная библиотека Java, предоставляющая различные методы извлечения текста из PDF-файлов. В этой статье блога мы рассмотрим несколько методов и примеры кода для извлечения текста в слова с помощью iText 7.
Метод 1: извлечение текста с помощью SimpleTextExtractionStrategy
SimpleTextExtractionStrategy — это простой подход к извлечению текста в iText 7. Он извлекает текст в том порядке, в котором он отображается в PDF-файле, включая разрывы строк и пробелы. Вот пример использования этой стратегии:
PdfDocument pdfDoc = new PdfDocument(new PdfReader("input.pdf"));
PdfTextExtractor extractor = new PdfTextExtractor(pdfDoc);
String extractedText = extractor.getTextFromPage(1, new SimpleTextExtractionStrategy());
pdfDoc.close();
System.out.println(extractedText);
Метод 2: извлечение текста с помощью LocationTextExtractionStrategy
Стратегия LocationTextExtractionStrategy обеспечивает более точный контроль над извлечением текста, сохраняя пространственное расположение текста. Он позволяет извлекать текст словами с учетом их взаимного расположения на странице. Вот пример:
PdfDocument pdfDoc = new PdfDocument(new PdfReader("input.pdf"));
PdfTextExtractor extractor = new PdfTextExtractor(pdfDoc);
String extractedText = extractor.getTextFromPage(1, new LocationTextExtractionStrategy());
pdfDoc.close();
System.out.println(extractedText);
Метод 3: извлечение текста путем настройки TextExtractionStrategy
iText 7 позволяет создавать собственные реализации TextExtractionStrategy для извлечения текста определенным способом. Например, если вы хотите извлечь текст только из определенного региона или на основе определенных атрибутов форматирования, вы можете создать собственную стратегию. Вот простой пример:
public class CustomTextExtractionStrategy extends LocationTextExtractionStrategy {
@Override
public void eventOccurred(IEventData data, EventType type) {
if (data instanceof TextRenderInfo) {
TextRenderInfo renderInfo = (TextRenderInfo) data;
// Customize text extraction logic here
// Append the extracted text to a StringBuilder or perform any other operation
}
}
}
PdfDocument pdfDoc = new PdfDocument(new PdfReader("input.pdf"));
PdfTextExtractor extractor = new PdfTextExtractor(pdfDoc);
String extractedText = extractor.getTextFromPage(1, new CustomTextExtractionStrategy());
pdfDoc.close();
System.out.println(extractedText);
В этой статье мы рассмотрели три метода извлечения текста в слова с помощью iText 7. SimpleTextExtractionStrategy обеспечивает простой подход, а LocationTextExtractionStrategy обеспечивает более точный контроль над пространственным расположением. Кроме того, iText 7 позволяет создавать собственные реализации TextExtractionStrategy для особых требований к извлечению текста.
Используя возможности iText 7 и эти методы, вы можете эффективно извлекать текст из PDF-файлов и улучшать рабочие процессы обработки документов.
Не забудьте просмотреть документацию iText 7, чтобы узнать о более продвинутых функциях и методах извлечения текста.