извлечь текст из 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] (https://raw.githubusercontent.com/aspose-pdf-cloud/aspose-pdf-cloud-java/master/testData/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 в текст бесплатное приложение! Пожалуйста, попробуйте использовать наш PDF Parser.

Заключительные замечания

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

Если вам интересно узнать о других интересных функциях, предлагаемых API, изучите Документацию по продукту. Наконец, если вы столкнетесь с какой-либо проблемой при использовании API или у вас возникнет связанный с этим вопрос, свяжитесь с нами через бесплатный Форум поддержки продуктов.

Статьи по Теме

Пожалуйста, перейдите по следующим ссылкам, чтобы узнать больше о: