витягти текст із PDF

Витягніть текст із PDF у Java

Ми всі знаємо, що файли PDF є одним із найважливіших і широко використовуваних цифрових форматів, які використовуються для надійного представлення та обміну документами незалежно від програмного забезпечення, апаратного забезпечення чи операційної системи. Однак у деяких сценаріях нам може бути цікаво отримати витяг із великих PDF-файлів. Або ми можемо вимагати зберегти PDF-файл у текстовому режимі онлайн. Тож у цій статті ми докладно розглянемо, як розробити конвертер PDF у текст за допомогою Java REST API.

API генератора PDF

Отримайте можливість створювати PDF-документи за допомогою шаблонів або з нуля за допомогою нашого REST API. Водночас API також дозволяє редагувати, а також перетворювати PDF-файли в інші підтримувані формати. Ви також можете скористатися перевагами вилучення тексту з PDF, розшифровки та об’єднання PDF-файлів за допомогою Java Cloud SDK. Тепер, щоб використовувати Aspose.PDF Cloud SDK для Java, нам потрібно додати його посилання в нашу програму Java, включивши наступні деталі в pom.xml (проект типу збірки maven).

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-cloud-pdf</artifactId>
        <version>21.11.0</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

Після встановлення нам потрібно створити безкоштовний обліковий запис на Cloud Dashboard і отримати персональні облікові дані клієнта.

Витягніть текст із PDF за допомогою Java

Давайте розглянемо деталі вилучення тексту з PDF-файлу за допомогою Java cloud SDK. У цьому прикладі ми збираємося використовувати такий вхід PdfWithTable.pdf файл.

pdf в текст ocr

Зображення 1: - Вхідний файл для вилучення PDF у текст.

pdf в текст ocr

Зображення 2: - Витягніть текст із попереднього перегляду PDF

// для отримання додаткових прикладів відвідайте https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java/tree/master/Examples/src/main/java/com/aspose/asposecloudpdf/examples

try
    {
    // Отримайте ClientID і ClientSecret з https://dashboard.aspose.cloud/
    String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
    String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
		    
    // створити екземпляр PdfApi
    PdfApi pdfApi = new PdfApi(clientSecret,clientId);
    // назва вхідного документа PDF
    String name = "PdfWithTable.pdf";
		        
    // прочитати вміст вхідного файлу PDF
    File file = new File(name); 
    // завантажити PDF в хмарне сховище
    pdfApi.uploadFile("input.pdf", file, null);
		        
    // X-координата лівого нижнього кута
    Double LLX = 500.0;
    // Y - координата нижнього лівого кута.
    Double LLY = 500.0;
    // X - координата правого верхнього кута.
    Double URX = 800.0;
    // Y - координата правого верхнього кута.
    Double URY = 800.0;
			       
    // виклик API для перетворення PDF на текст
    TextRectsResponse response = pdfApi.getText("input.pdf", LLX, LLY, URX, URY, null, null, null, null, null);    
		    
    // Перехід через окреме входження тексту
    for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
    {
        // написати текстовий вміст у консолі
        System.out.println(response.getTextOccurrences().getList().get(counter).getText());
    }
		  
    System.out.println("Extract Text from PDF successful !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }

Тепер давайте спробуємо зрозуміти вказаний вище фрагмент коду:

PdfApi pdfApi = new PdfApi(clientSecret,clientId);

Створіть екземпляр PdfApi, передаючи персоналізовані облікові дані як аргументи.

File file = new File(name); 
pdfApi.uploadFile("input.pdf", file, null);

Прочитайте вхідний PDF за допомогою об’єкта File та завантажте його в хмарне сховище за допомогою методу uploadFile(…) класу PdfAPi. Зверніть увагу, що файл завантажується з назвою, яка використовується в методі uploadFile.

TextRectsResponse response = pdfApi.getText("input.pdf", LLX, LLY, URX, URY, null, null, null, null, null);    

Тепер викличте метод getText(..), де ми вказуємо ім’я вхідного PDF-файлу, прямокутні розміри сторінки, з якої нам потрібно витягти текстовий вміст, і повертаємо витягнутий вміст об’єкту TextRectsResponse.

response.getTextOccurrences().getList().get(counter).getText()

Нарешті, щоб надрукувати вилучений текстовий вміст, ми збираємося перебрати всі TextOccurances і відобразити їх у консолі.

PDF у текст за допомогою команд cURL

Окрім фрагмента коду Java, ми також можемо виконувати операцію pdftotext за допомогою команд cURL. Тепер однією з передумов для цього підходу є створення маркера доступу JWT (на основі облікових даних клієнта) за допомогою наступної команди.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Після створення JWT виконайте наведену нижче команду, щоб отримати текст із PDF-файлу, який уже доступний у хмарному сховищі.

curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/input.pdf/text?splitRects=true&LLX=0&LLY=0&URX=800&URY=800" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Коротка порада

Шукаєте безкоштовну програму PDF to Text! Спробуйте скористатися нашим PDF Parser.

Прикінцеві зауваження

Підсумовуючи, вилучення тексту з PDF-файлів за допомогою Java може бути потужним рішенням для тих, хто хоче автоматизувати обробку й аналіз даних. Завдяки цьому посібнику ви тепер маєте міцну основу для розвитку та можете легко реалізувати власне рішення на основі Java для вилучення тексту з документів PDF. Незалежно від того, чи хочете ви отримати текст для аналізу даних, машинного навчання чи будь-якої іншої мети, Java надасть гнучку та надійну платформу для ваших потреб. Тож перевірте свої щойно набуті навички!

Якщо вам цікаво ознайомитися з іншими цікавими функціями, які пропонує API, перегляньте Документацію продукту. Нарешті, якщо у вас виникнуть проблеми під час використання API або у вас є будь-який пов’язаний запит, зв’яжіться з нами через безкоштовний Форум підтримки продукту.

Схожі статті

Перейдіть за наведеними нижче посиланнями, щоб дізнатися більше про: