Skip to content

Commit 17f46e1

Browse files
committed
Re-run OCR if language is changed, refs #6
1 parent c4c8335 commit 17f46e1

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

ocr.html

+23-1
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,27 @@ <h2>Pages</h2>
310310
return altTextarea;
311311
}
312312

313+
async function rerunOCR() {
314+
const worker = await Tesseract.createWorker(languageSelect.value);
315+
const textareas = document.querySelectorAll('.image-container textarea');
316+
const images = document.querySelectorAll('.image-container img');
317+
318+
// Blank all the textareas
319+
Array.from(textareas).forEach(ta => ta.value = '');
320+
showFullDocument();
321+
322+
for (let i = 0; i < images.length; i++) {
323+
const imageURL = images[i].src;
324+
const ta = textareas[i];
325+
ta.placeholder = 'OCRing image...';
326+
const { text } = await ocrImage(worker, imageURL);
327+
setTextarea(ta, text);
328+
showFullDocument();
329+
}
330+
331+
await worker.terminate();
332+
}
333+
313334
document.addEventListener('paste', (event) => {
314335
const items = (event.clipboardData || event.originalEvent.clipboardData).items;
315336
const images = Array.from(items).filter(item => item.type.indexOf('image') !== -1);
@@ -354,13 +375,14 @@ <h2>Pages</h2>
354375
}
355376

356377
// Update URL bar to match language select
357-
languageSelect.addEventListener('change', (event) => {
378+
languageSelect.addEventListener('change', async (event) => {
358379
let newUrl = window.location.pathname;
359380
let language = event.target.value;
360381
if (language != 'eng') {
361382
newUrl += '?language=' + language;
362383
}
363384
window.history.pushState({ path: newUrl }, '', newUrl);
385+
await rerunOCR();
364386
});
365387

366388
function setLanguageFromQueryString() {

0 commit comments

Comments
 (0)