從pdf java中提取文本

在本文中,您將學習如何使用 Java 從 PDF 文件中無縫提取文本。文本提取可用於文本分析、信息檢索、文檔解析等各種場景。由於 PDF 是使用最廣泛的數字文檔之一,因此從 PDF 文檔中提取文本的用例數量更多。因此,讓我們開始檢查如何從 Java 應用程序中執行 PDF 文本提取。

從 PDF 中提取文本的 Java API - 免費下載

Aspose.PDF for Java 是一個著名的 PDF 文件操作 API,它提供了廣泛的功能來創建和處理 PDF 文件。該 API 包含一個功能強大的文本提取器,它提供了在幾行代碼內從 PDF 文檔中提取文本的各種方法。您可以 下載 API 的 JAR 或使用以下配置將其安裝在基於 Maven 的應用程序中。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.11</version>
</dependency>

使用Java從PDF中提取文本

以下是使用 Aspose.PDF for Java 從 PDF 文檔中提取文本的步驟。

以下代碼示例顯示瞭如何使用 Java 從 PDF 中提取文本。

// 完整的示例和數據文件,請訪問 https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// 打開文檔
Document pdfDocument = new Document("input.pdf");

// 創建 TextAbsorber 對像以提取文本
TextAbsorber textAbsorber = new TextAbsorber();

// 接受所有頁面的吸收器
pdfDocument.getPages().accept(textAbsorber);

// 獲取提取的文本
String extractedText = textAbsorber.getText();

// 創建編寫器並打開文件
java.io.FileWriter writer = new java.io.FileWriter(new java.io.File("Extracted_text.txt"));
writer.write(extractedText);

// 向文件寫入一行文本 tw.WriteLine(extractedText);
// 關閉流
writer.close();

從 PDF 中的特定頁面提取文本

您還可以使用以下步驟從 PDF 文檔的特定頁面中提取文本。

以下代碼示例顯示瞭如何使用 Java 從 PDF 中的特定頁面提取文本。

// 完整的示例和數據文件,請訪問 https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// 打開文檔
Document pdfDocument = new Document("input.pdf");
// 創建文本設備
TextDevice textDevice = new TextDevice();

// 設置文本提取選項 - 設置文本提取模式(原始或純)
TextExtractionOptions textExtOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);

textDevice.setExtractionOptions(textExtOptions);

// 從 PDF 的第一頁獲取文本並將其保存為文件格式
textDevice.process(pdfDocument.getPages().get_Item(1), "ExtractedText.txt");

從 PDF 的頁面區域中提取文本

您還可以從 PDF 頁面的特定區域提取文本。為此,您可以定義一個矩形來覆蓋需要從中提取文本的區域。以下是從頁面區域中提取文本的步驟。

以下代碼示例顯示瞭如何從 Java 中的特定頁面區域提取文本。

// 完整的示例和數據文件,請訪問 https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// 打開文件
Document doc = new Document("page_0001.pdf");

// 創建 TextAbsorber 對像以提取文本
TextAbsorber absorber = new TextAbsorber();
absorber.getTextSearchOptions().setLimitToPageBounds(true);
absorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350));
// 接受第一頁的吸收器
doc.getPages().get_Item(1).accept(absorber);

// 獲取提取的文本
String extractedText = absorber.getText();
// 創建編寫器並打開文件
BufferedWriter writer = new BufferedWriter(new FileWriter(new java.io.File("ExtractedText.txt")));
// 寫入提取的內容
writer.write(extractedText);
// 關閉作家
writer.close();

結論

在本文中,您學習瞭如何使用 Java 從 PDF 中提取文本。您已經看到了多種文本提取方法,例如從整個 PDF、特定頁面或特定頁面區域中提取文本。您可以使用 文檔 了解有關 Java PDF API 的更多信息。

也可以看看

信息:Aspose 最近開發了一項免費的在線 Text to GIF 服務,允許您將文本動畫化或從簡單文本生成 GIF。