1. 产品
  2.   OCR
  3.   Java
  4.   Tess4J
 
  

用於 OCR 文本提取和文檔分析的免費 Java 庫

開源 Java OCR 庫,用於將 OCR 功能合併到 Java 應用程式中,並允許從圖像和掃描文件中提取文字。

在當今的數位時代,光學字元辨識 (OCR) 已成為從影像和掃描文件中提取文字的重要工具。 OCR 技術能夠將列印或手寫的文字轉換為機器可讀的數據,為文件分析、資料擷取和自動化開闢了多種可能性。在眾多可用的 OCR 解決方案中,Tess4J 作為一個強大的開源程式庫脫穎而出,它結合了 Tesseract OCR 引擎的多功能性和 Java 程式設計的簡單性。

Tess4J 函式庫使 Java 開發人員能夠將 OCR 功能無縫整合到他們的應用程式中。它是 Tesseract 的 Java 包裝器,Tesseract 是一種 OCR 引擎,最初由 Hewlett-Packard 開發,目前由 Google 維護。 Tess4J 利用 Tesseract 的 OCR 引擎,該引擎以其準確性而聞名。它採用先進的演算法和機器學習技術來實現從圖像中可靠地提取文本,確保高品質的結果。它支援將 OCR 整合到 Java 應用程式中,從而相容於不同的平台,包括 Windows、Linux 和 macOS。

Tess4J 提供了一個簡單且文件齊全的 API,讓開發人員可以輕鬆地將 OCR 功能整合到他們的 Java 應用程式中。 Tess4J 是一個多功能且強大的開源程式庫,使開發人員能夠將強大的 OCR 功能整合到他們的 Java 應用程式中。憑藉對多種語言的支援、影像預處理功能、PDF 轉換功能和置信度評分系統,Tess4J 為文字擷取和文件分析提供了高效可靠的解決方案。

Previous Next

Tess4J 入門

安裝 Tess4J 的建議方法是使用 Maven。為了順利安裝,請使用以下命令。

Tess4J 的 Maven 依賴


<dependencies>
	<dependency>
	<groupId>net.sourceforge.tess4j</groupId>
	<artifactId>tess4j;/artifactId>
	<version>X.X.X</version>
    </dependency>
</dependencies>

透過 GitHub 安裝 Tess4J

 git clone https://github.com/nguyenq/tess4j.git  

您也可以手動安裝;直接從 GitHub 儲存庫下載最新版本檔案。

透過 Java API 提取內容

開源 Tess4J 程式庫允許軟體開發人員從 Java 應用程式內的各種類型的圖像中提取文字。該庫能夠從圖像中提取文本,使應用程式能夠分析和處理文本內容。此功能可應用於情緒分析、文字摘要和資訊檢索等領域。該庫還可以輕鬆載入 Tesseract OCR 引擎,對指定圖像執行內容提取,並將提取的文字列印到控制台。

使用 Java OCR 函式庫執行內容擷取

import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;

public class ContentExtractionExample {
    public static void main(String[] args) {
        // Path to the Tesseract OCR installation directory
        String tessDataPath = "path/to/tesseract";

        // Initialize Tesseract instance
        Tesseract tesseract = new Tesseract();
        tesseract.setDatapath(tessDataPath);

        try {
            // Set the language for OCR (e.g., "eng" for English)
            tesseract.setLanguage("eng");

            // Path to the image file for content extraction
            String imagePath = "path/to/image.jpg";

            // Perform content extraction
            String extractedText = tesseract.doOCR(new File(imagePath));
            System.out.println(extractedText);
        } catch (TesseractException e) {
            e.printStackTrace();
        }
    }
}

透過 Java API 將 PDF 轉換為純文字

開源 Tess4J 程式庫提供了在 Java 應用程式中載入 PDF 文件並將其轉換為純文字的完整功能。 Tess4J 可以將可搜尋的 PDF 文件轉換為純文本,使開發人員能夠從 PDF 文件中提取內容並執行進一步的分析或資料處理。 以下範例展示了軟體開發人員如何在 Java 應用程式中將現有 PDF 檔案轉換為純文字。

如何將現有 PDF 檔案轉換為純文字?

import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;

import java.io.File;
import java.io.IOException;

public class PDFToTextConverter {
    public static void main(String[] args) {
        // Path to the PDF file
        String filePath = "path/to/your/pdf/file.pdf";

        try {
            // Load the PDF document
            PDDocument document = PDDocument.load(new File(filePath));

            // Create an instance of Tesseract OCR engine
            Tesseract tesseract = new Tesseract();

            // Set the path to the tessdata directory (containing language data)
            tesseract.setDatapath("path/to/your/tessdata/directory");

            // Iterate over each page of the PDF document
            for (int pageIndex = 0; pageIndex < document.getNumberOfPages(); pageIndex++) {
                // Extract the text from the current page
                PDFTextStripper stripper = new PDFTextStripper();
                stripper.setStartPage(pageIndex + 1);
                stripper.setEndPage(pageIndex + 1);
                String pageText = stripper.getText(document);

                // Perform OCR on the extracted text
                String ocrText = tesseract.doOCR(pageText);

                // Output the OCR result
                System.out.println("Page " + (pageIndex + 1) + " OCR Result:");
                System.out.println(ocrText);
                System.out.println("--------------------------------------");
            }

            // Close the PDF document
            document.close();
        } catch (IOException | TesseractException e) {
            e.printStackTrace();
        }
    }
}

 中国人