Извлечь текст из PDF в Java

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

Основные шаги


1. Сначала установите пакет JAR через репозиторий Maven. Код для настройки файла pom.xml выглядит следующим образом:

<repositories>
     <repository>
          <id>com.e-iceblue</id>
          <name>e-iceblue</name>
          <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
     </repository>
</repositories>
<dependencies>
     <dependency>
          <groupId>e-iceblue</groupId>
          <artifactId>spire.pdf.free</artifactId>
         <version>2.6.3</version>
     </dependency>
</dependencies>


2. Создайте новый Java-класс в приложении Java (здесь я назвал ExtractText), затем введите соответствующий код Java и запустите

Исходный документ в формате PDF выглядит следующим образом:

image

Java-код

import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import java.io.*;

public class ExtractText {

    public static void main(String[] args) {

        //Создайте экземпляр PdfDocument
        PdfDocument doc=new PdfDocument();
        //Загрузите файл PDF
        doc.loadFromFile("document1.pdf");

        //Создать экземпляр StringBuilder
        StringBuilder sb=new StringBuilder();

        PdfPageBase page;

        //Перебирайте страницы PDF и получайте текст каждой страницы
        for(int i=0;i<doc.getPages().getCount();i++){
            page=doc.getPages().get(i);
            sb.append(page.extractText(true));
        }
        FileWriter writer;
        try {
            //Написать текст в текстовый файл
            writer = new FileWriter("ExtractText.txt");
            writer.write(sb.toString());
            writer.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }

        doc.close();
    }
}

image
Tags:
Java,pdf

You can't comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author's username will be hidden by an alias.