How To

Menggunakan Java & JVM

Menggunakan engine RustO! OCR native pada aplikasi Java, Kotlin, dan Scala via JNA.

Paket rusto-java menyediakan binding JVM performa tinggi menggunakan Java Native Access (JNA). Mengimplementasikan AutoCloseable untuk manajemen memori otomatis dalam blok try-with-resources.

Instalasi

Gradle (Kotlin DSL)

repositories {
    mavenCentral()
    maven { url = uri("https://jitpack.io") }
}

dependencies {
    implementation("com.github.byrizki.rusto-rs:rusto-java:0.3.2")
}

Pastikan pustaka librusto terpasang pada jna.library.path atau sistem library path.


Contoh Penggunaan

import com.byrizki.rusto.RustO;
import com.byrizki.rusto.TextResult;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        String config = """
            {
                "detection": { "model_path": "models/PPOCR_v6/det.rten" },
                "recognition": { "model_path": "models/PPOCR_v6/rec.rten", "dict_path": "models/PPOCR_v6/dict.txt" }
            }
            """;

        try (RustO engine = RustO.initialize(config)) {
            List<TextResult> results = engine.detectTextFile("receipt.jpg", "{}");

            for (TextResult r : results) {
                System.out.printf("[%0.2f] %s%n", r.score(), r.text());
            }

            String spatial = engine.detectTextFileSpatial("receipt.jpg", "{}");
            System.out.println(spatial);
        }
    }
}