React Native - Tesseract.js - Error: Cannot create URL for blob

React Native - Tesseract.js - Error: Cannot create URL for blob

我在 React Native 应用程序(在 Android 平台上)中使用 Tesseract.js 库时遇到问题。我目前正在应用程序中拍照,将图像信息保存在 base64 string 中并尝试将其传递给 worker.recognize() 函数。传递给函数的字符串构建如下:data:image/jpeg;base64,MY_BASE64_STRING。我还尝试将 URL 传递给图像,还尝试使用图像文件的绝对路径我总是遇到同样的错误:

Error: Cannot create URL for blob!

这是我用于版本 2.0.0-alpha.13 的代码:

const { TesseractWorker } = Tesseract
const worker = new TesseractWorker({
    workerPath: '../../../node_modules/tesseract.js/dist/worker.min.js',
    langPath: '../../assets/lang',
    corePath: '../../../node_modules/tesseract.js-core/tesseract-core.wasm.js',
    })

worker
    .recognize(`data:image/jpeg;base64,${data.base64}`)
    .progress(info => {
        console.log(info)
    })
    .then(result => {
        console.log(result.text)
    })

我尝试使用版本 1.0.19 and the alpha version 2.0.0-alpha.13

谢谢大家! ♥

Tesseract.js 根据这个问题不支持 react-native。

https://github.com/naptha/tesseract.js/issues/55

改用这个使用本机移动模块的库。虽然可能不适用于世博会

https://github.com/jonathanpalma/react-native-tesseract-ocr