diff options
| -rw-r--r-- | src/background/run-ocr.ts | 18 | ||||
| -rw-r--r-- | src/scripts/login/index.ts | 3 |
2 files changed, 14 insertions, 7 deletions
diff --git a/src/background/run-ocr.ts b/src/background/run-ocr.ts index d61e71a..f6d1339 100644 --- a/src/background/run-ocr.ts +++ b/src/background/run-ocr.ts @@ -1,7 +1,15 @@ -chrome.runtime.onMessage.addListener(async (message, sender, sendResponse) => { - if (message.type === "ping") { - console.log("Received ping from content script"); - console.log(message.data); - sendResponse({ text: "pong" }); +import Tesseract from "tesseract.js"; + +chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { + if (message.type === "OCR") { + (async () => { + const { data: { text, confidence } } = await Tesseract.recognize(message.dataURL, "eng+osd", { + logger: m => console.log(m), + }); + sendResponse({ text, confidence }); + })(); + return true; } + + return false; }); diff --git a/src/scripts/login/index.ts b/src/scripts/login/index.ts index dacc90a..b7e0a73 100644 --- a/src/scripts/login/index.ts +++ b/src/scripts/login/index.ts @@ -1,4 +1,3 @@ -import Tesseract from "tesseract.js"; import { interceptPost, interceptGet } from "@/shared/intercept-jquery-ajax"; function prepareCaptcha(ctx: CanvasRenderingContext2D, width: number, height: number) { @@ -84,7 +83,7 @@ const observer = new MutationObserver((mutationsList, obs) => { prepareCaptcha(ctx, canvas.width, canvas.height); canvas.style.display = ""; const dataURL = canvas.toDataURL("image/png"); - chrome.runtime.sendMessage({ type: "ping", data: "hello background" }).then(console.log); + chrome.runtime.sendMessage({ type: "OCR", dataURL }, console.log); // TODO: Perform OCR // window.postMessage({ // type: "RUN_OCR", |
