Как извлечь текст из отсканированного PDF в Java

В этом кратком руководстве подробно рассказывается о том, как извлекать текст из отсканированного PDF-файла в Java. Вы можете настроить этот процесс извлечения текста из отсканированного PDF-файла в Java, установив параметры обнаружения. Также доступна опция для выбора скорости или точности в зависимости от качества PDF и других требований приложения.

Шаги по извлечению текста из отсканированного PDF в Java

  1. В репозитории Maven настройте Aspose.OCR в своем проекте для чтения отсканированного текста PDF.
  2. Инициализировать объект AsposeOcrPdf для чтения текста из PDF
  3. Создайте объект класса DocumentRecognitionSettings для установки параметров распознавания.
  4. Установите начальную страницу и количество страниц в PDF для чтения текста
  5. Чтобы увеличить скорость обнаружения, установите флаг обнаружения областей на false.
  6. Вызовите функцию RecognizePdf, чтобы прочитать весь текст в соответствии с приведенной выше конфигурацией.
  7. Перебрать все извлеченные результаты со страниц PDF и отобразить их на консоли.

В процессе сканирования текста из PDF в Java инициируется объект AsposeOCRPdf, который фактически содержит функции для распознавания текста из PDF. Он поддерживает настройку процесса обнаружения, например номер начальной страницы, количество страниц PDF для чтения, а также возможность установки областей обнаружения для контроля скорости и точности. Наконец, мы анализируем коллекцию результатов, отсканированных с каждой страницы, и отображаем их на консоли.

Код для преобразования отсканированного PDF в текст на Java

import java.util.ArrayList;
import com.aspose.ocr.DocumentRecognitionSettings;
import com.aspose.ocr.RecognitionResult;
import com.aspose.ocr.pdf.AsposeOCRPdf;
public class ExtractTextFromScannedPdfInJava {
public static void main(String[] args) {//main function for ExtractTextFromScannedPdfInJava class
// Instantiate an AsposeOcrPdf object
AsposeOCRPdf ocrPdfToReadText = new AsposeOCRPdf();
// Initialize DocumentRecognitionSettings class object for configuring recognition settings
DocumentRecognitionSettings docRecognitionConfig = new DocumentRecognitionSettings(1,3);
// Set detect areas to false to improve speed
docRecognitionConfig.setDetectAreas(false);
// Using the recognition settings, fetch text from the range of pages set in the constructor above
ArrayList<RecognitionResult> fetchedTextResults = ocrPdfToReadText.RecognizePdf("InputSampleFile.pdf", docRecognitionConfig);
// Iterate through all the text fetched from each page
int PageCounter = 1;
for(RecognitionResult page : fetchedTextResults)
{
System.out.println("Page No: " + PageCounter + " Fetched Text:" + page.recognitionText);
PageCounter++;
}
}
}

Этот код использует AsposeOCRPdf для получения текста из отсканированного PDF в Java. Объект класса DocumentRecognitionSettings содержит параметры для установки конфигурации страниц либо с помощью конструктора, как показано в этом примере кода, либо путем отдельной установки StartPage и PagesNumber. Вы также можете установить язык, коррекцию перекоса изображения и количество потоков для параллельного обнаружения текста из отсканированного PDF-файла.

В этой статье мы узнали, как извлечь текст из отсканированного PDF-файла в Java вместе с настройкой процесса обнаружения. Однако, если вы хотите извлечь текст из изображения, обратитесь к статье как извлечь текст из изображения с помощью Java.

 Русский