Я использую следующий пример кода для проверки библиотеки в broswer
<html>
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<script src='https://unpkg.com/tesseract.js@2.0.0-alpha.4/dist/tesseract.min.js'></script>
</head>
<body>
<input type="file" id="file">
<input type="button" id="go_button" value="Run" />
<output id="list"></output>
<div id="ocr_results"> </div>
<div id="ocr_status"> </div>
<script>
var MICR_CHARACTERS = '0123456789abcd';
const { TesseractWorker } = Tesseract;
const worker = new TesseractWorker({
langPath: "./tessdata/",
tessedit_debug_fonts: 1,
tessedit_char_whitelist: MICR_CHARACTERS, });
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// files is a FileList of File objects. List some properties.
var output = [];
for (var i = 0, f; f = files[i]; i++) {
worker.recognize(f, "ara", {
langPath: "./tessdata/",
tessedit_debug_fonts: 1,
tessedit_char_whitelist: MICR_CHARACTERS,
}).then(function(result) {
document.getElementById("ocr_results").innerText = result.text;
}).progress(function(result) {
document.getElementById("ocr_status").innerText = result["status"] + " (" + (result["progress"] * 100) + "%)";
});
}
}
document.getElementById('file').addEventListener('change', handleFileSelect, false);
</script>
</body>
</html>
Я играл со вторым параметром функции recognize
, для выборки из https://github.com/naptha/tesseract.js/blob/master/examples/browser/demo.html это должно означать код языка. Но я пробовал разные значения, похоже, что работает только eng
. Все остальные значения из https://github.com/naptha/tesseract.js/blob/master/docs/tesseract_lang_list.md приводят к зависанию приложения в браузере, навсегда отображая следующее сообщение.
загрузка языка обученных данных (0%)