Конвертер PDF в TXT

Как конвертировать PDF в TXT с помощью Java

Файл PDF обычно состоит из текста, изображения, заголовка, аннотаций и других элементов. И поскольку этот формат сохраняет макет документа на разных платформах (настольных/мобильных и т. д.), он широко используется для обмена информацией через Интернет. Однако у нас может возникнуть потребность извлечь текстовое содержимое документа PDF для дальнейшей обработки. Итак, в этой статье мы подробно обсудим, как извлечь текст из PDF с помощью Java Cloud SDK. После завершения операции выходные данные сохраняются в формате TXT.

API преобразования PDF в TXT

Aspose.PDF Cloud SDK для Java — это наше отмеченное наградами решение REST API, предлагающее возможности для создания, редактирования и преобразования PDF в JPG, XPS, HTML, DOCX и множество других поддерживаемых форматов. Теперь, чтобы реализовать возможности распознавания текста PDF в приложении Java, добавьте следующие детали в pom.xml проекта типа сборки maven.

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

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

После установки SDK следующим важным шагом является создание бесплатной учетной записи в Aspose Cloud. Поэтому, пожалуйста, войдите в систему, используя только что созданную учетную запись, и найдите/создайте идентификатор клиента и секрет клиента на Cloud Dashboard. Эти детали потребуются в последующих разделах.

PDF в текст на Java

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

  • Сначала нам нужно создать объект PdfApi, указав ClientID и Client secret в качестве аргументов.
  • Во-вторых, загрузите входной файл PDF, используя экземпляр файла.
  • Загрузите исходный PDF-файл в облачное хранилище, используя метод uploadFile(…)
  • Создайте переменную Integer, указывающую номер страницы PDF для извлечения текста, и экземпляры Double, указывающие прямоугольную область страницы, из которой нам нужно извлечь текстовое содержимое.
  • Наконец, вызовите метод getPageText(…) для извлечения текстового содержимого из входного PDF-файла.
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 inputFile = "marketing.pdf";

    // прочитать содержимое входного файла PDF
    File file = new File("//Users//"+inputFile);
	    
    // загрузить PDF в облачное хранилище
    pdfApi.uploadFile("input.pdf", file, null);

    // конкретная страница PDF для преобразования
    int pageNumber =1;

    // X-координата нижнего левого угла
    Double LLX = 0.0;
    // Y - координата левого нижнего угла.
    Double LLY = 0.0;
    // X - координата правого верхнего угла.
    Double URX = 800.0;
    // Y - координата правого верхнего угла.
    Double URY = 800.0;
	       
    // вызов API для преобразования PDF в текст
    TextRectsResponse response = pdfApi.getPageText(inputFile, pageNumber, LLX, LLY, URX, URY, null, null, true, null, "default");	    
    
    // результирующий экземпляр файла TXT
    FileWriter myWriter = new FileWriter("filename.txt");
  
    // Теперь пройдитесь по отдельным вхождениям текста, чтобы получить результат печати в консоли.
    for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
    {
        // записать текстовое содержимое в файл TXT
	myWriter.write(response.getTextOccurrences().getList().get(counter).getText());
    }
  
    // закрыть обработчик TXT
    myWriter.close();
    
    System.out.println("Text successfully extracted from PDF !");
    }catch(Exception ex)
    {
	      System.out.println(ex);
    }
Конвертировать PDF в TXT

Image1: - Предварительный просмотр преобразования PDF в TXT

Образец PDF-файла, использованного в приведенном выше примере, можно загрузить из marketing.pdf и extracted.txt.

Извлечение текста из PDF с помощью команд cURL

К REST API можно легко получить доступ с помощью команд cURL, поэтому в этом разделе мы собираемся изучить вариант того, как мы можем извлечь текстовое содержимое из PDF с помощью команд 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 в TXT с помощью Java Cloud SDK. В то же время мы также изучили варианты извлечения текста из PDF с помощью команд cURL. Таким образом, благодаря гибкости перехода между несколькими страницами PDF мы получаем контроль над тем, откуда извлекать содержимое. Мы настоятельно рекомендуем вам изучить продукт Документация, чтобы узнать больше о других интересных функциях, предлагаемых Java Cloud API. Кроме того, поскольку все наши Cloud SDK публикуются под лицензией MIT, вы можете загрузить полный исходный код с GitHub и изменить его в соответствии со своими требованиями. В случае возникновения каких-либо проблем вы можете обратиться к нам для быстрого решения через бесплатный форум поддержки продукта.

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

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