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

OCR テキスト抽出とドキュメント分析用の無料 Java ライブラリ

Java アプリに OCR 機能を組み込むためのオープンソース Java OCR ライブラリ。画像やスキャンしたドキュメントからテキストを抽出できます。

今日のデジタル時代において、光学式文字認識 (OCR) は、画像やスキャンした文書からテキストを抽出するために不可欠なツールとなっています。 OCR テクノロジーを使用すると、印刷されたテキストまたは手書きのテキストを機械可読データに変換できるため、文書分析、データ抽出、自動化にさまざまな可能性が広がります。 利用可能な多くの OCR ソリューションの中で、Tess4J は、Tesseract OCR エンジンの多用途性と Java プログラミングのシンプルさを組み合わせた強力なオープンソース ライブラリとして際立っています。

Tess4J ライブラリにより、Java 開発者は OCR 機能をアプリケーションにシームレスに組み込むことができます。 これは、もともと Hewlett-Packard によって開発され、現在は Google によって保守されている OCR エンジンである Tesseract の Java ラッパーです。 Tess4J は、精度で有名な Tesseract の OCR エンジンを活用しています。 高度なアルゴリズムと機械学習技術を採用して、画像から信頼性の高いテキスト抽出を実現し、高品質の結果を保証します。 Java アプリケーションへの OCR 統合が可能になり、Windows、Linux、macOS などのさまざまなプラットフォームとの互換性が得られます。

Tess4J は、簡単で十分に文書化された API を提供するため、開発者は OCR 機能を Java アプリケーションに簡単に統合できます。 Tess4J は、開発者が強力な OCR 機能を Java アプリケーションに統合できるようにする、多用途で堅牢なオープンソース ライブラリです。 Tess4J は、複数言語、画像前処理機能、PDF 変換機能、信頼度スコアリング システムのサポートにより、テキスト抽出とドキュメント分析のための効率的で信頼性の高いソリューションを提供します。

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();
        }
    }
}

 日本