31 lines
1011 B
TypeScript
31 lines
1011 B
TypeScript
import { extractBytes, initWasm, TesseractWasmBackend } from "@kreuzberg/wasm";
|
|
|
|
async function demonstrateOcrCaching() {
|
|
await initWasm();
|
|
|
|
const backend = new TesseractWasmBackend();
|
|
await backend.initialize();
|
|
|
|
console.log("Tesseract WASM backend loaded - models cached");
|
|
|
|
const imageBytes = new Uint8Array(await fetch("page1.png").then((r) => r.arrayBuffer()));
|
|
|
|
console.time("First OCR (with model load)");
|
|
const _result1 = await extractBytes(imageBytes, "image/png", {
|
|
ocr: { backend: "tesseract-wasm", language: "eng" },
|
|
});
|
|
console.timeEnd("First OCR (with model load)");
|
|
|
|
console.log("Model cached in memory");
|
|
|
|
const imageBytes2 = new Uint8Array(await fetch("page2.png").then((r) => r.arrayBuffer()));
|
|
|
|
console.time("Second OCR (model cached)");
|
|
const _result2 = await extractBytes(imageBytes2, "image/png", {
|
|
ocr: { backend: "tesseract-wasm", language: "eng" },
|
|
});
|
|
console.timeEnd("Second OCR (model cached)");
|
|
}
|
|
|
|
demonstrateOcrCaching().catch(console.error);
|