У цьому короткому посібнику описано, як витягти текст зі сканованого PDF-файлу в Java. Ви можете налаштувати цей процес вилучення тексту зі сканованого PDF-файлу в Java, встановивши параметри виявлення. Також доступна опція для вибору між швидкістю чи точністю залежно від якості PDF та інших вимог програми.
Кроки для вилучення тексту зі сканованого PDF-файлу в Java
- З репозиторію Maven налаштуйте Aspose.OCR у своєму проекті для читання відсканованого тексту PDF
- Ініціалізуйте об’єкт AsposeOcrPdf, щоб прочитати текст із PDF-файлу
- Створення екземпляра об’єкта класу DocumentRecognitionSettings для встановлення параметрів розпізнавання
- Установіть початкову сторінку та кількість сторінок у PDF-файлі для читання тексту
- Щоб збільшити швидкість виявлення, встановіть прапорець виявлення областей на false
- Викличте функцію RecognizePdf, щоб прочитати весь текст відповідно до наведеної вище конфігурації
- Перегляньте всі отримані результати зі сторінок 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.