[英]tesseract.js returns too long string with base64
我想在node.js服務器上測試tesseract.js庫,但是在運行以下代碼時:
var TESSERACT = require('tesseract.js');
var base64String = 'data:image/png;base64,' + pngInBase64;
var job1 = TESSERACT.recognize(base64String, {
progress: show_progress,
lang: 'ang'
});
function show_progress(p) {
console.log(p);
}
它收到以下形式的錯誤:
Error: ENAMETOOLONG: name too long, open 'data:image/png;base64,iVBORw0KGgoAAAA ...
是否可以通過某種方式設置(擴大)base64字符串的最大長度?
使用"tesseract.js": "1.0.10"
:
通過輸入一個字符串作為要recognize
的參數, Tesseract
試圖打開一個名為data:image/png;base64,{bytes...}
,這ENAMETOOLONG
了您看到的錯誤,即ENAMETOOLONG
,文件名也是如此長。
要recognize
base64字符串,請將其轉換為Buffer
其內容被base64解碼:
Tesseract.recognize(Buffer.from(base64String, 'base64'));
// have a cup of tea
注意: Tesseract.recognize
在base64 Buffer
上不起作用,您還需要擺脫元數據: data:image/png;base64
。
所以這行不通:
Tesseract.recognize(Buffer.from(base64string));
而且這也不起作用:
const base64string = 'data:image/png;base64,{bytes...}'
Tesseract.recognize(Buffer.from(base64string));
您需要獲取字節:
const base64string = 'data:image/png;base64,{bytes...}'.split(',')[1];
Tesseract.recognize(Buffer.from(base64string, 'base64'));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.