извличане на текст от 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 object и го качете в облачно хранилище с помощта на метода 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 към текст! Моля, опитайте да използвате нашия PDF анализатор.

Заключителни бележки

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

Ако се интересувате да проучите други вълнуващи функции, предлагани от API, моля, разгледайте Продуктова документация. И накрая, ако срещнете някакъв проблем, докато използвате API, или имате някакво свързано запитване, моля, не се колебайте да се свържете с нас чрез безплатен Форум за поддръжка на продукти.

Свързани статии

Моля, посетете следните връзки, за да научите повече за: