feat: add error handling to OCR image processing function

This commit is contained in:
n4ze3m 2025-02-08 23:07:57 +05:30
parent ef51cf85ff
commit 4438613c2d

View File

@ -1,18 +1,23 @@
import { createWorker } from "tesseract.js" import { createWorker } from "tesseract.js"
export async function processImageForOCR(imageData: string): Promise<string> { export async function processImageForOCR(imageData: string): Promise<string> {
const isOCROffline = import.meta.env.BROWSER === "edge" try {
const worker = await createWorker(!isOCROffline ? "eng-fast" : "eng", undefined, { const isOCROffline = import.meta.env.BROWSER === "edge"
workerPath: "/ocr/worker.min.js", const worker = await createWorker(!isOCROffline ? "eng-fast" : "eng", undefined, {
workerBlobURL: false, workerPath: "/ocr/worker.min.js",
corePath: "/ocr/tesseract-core-simd.js", workerBlobURL: false,
errorHandler: (e) => console.error(e), corePath: "/ocr/tesseract-core-simd.js",
langPath: !isOCROffline ? "/ocr/lang" : undefined errorHandler: (e) => console.error(e),
}) langPath: !isOCROffline ? "/ocr/lang" : undefined
})
const result = await worker.recognize(imageData) const result = await worker.recognize(imageData)
await worker.terminate() await worker.terminate()
return result.data.text return result.data.text
} catch (error) {
console.error("Error processing image for OCR:", error)
return ""
}
} }