Tesseract.js throw Error(data) cannot read properties of undefined (reading '_malloc') in tesseract file

494 Views Asked by At

I'm trying to use tesseract to convert image to text by upload image to my web app but got the error in the tesseract create worker.js like _malloc is undefined in throw Error(data).
I'm using tesseract version 2.1.5, and I wrote the code from the video in 2019, I think maybe tesseract is changed from that time.

This is the error

This is code in app.js

const express = require("express");
const app = express();
const fs = require("fs");
const multer = require("multer");
const {createWorker} = require("tesseract.js");
const worker = createWorker({
   logger: m => console.log(m)
});

const storage = multer.diskStorage({
destination: (req, file, cb) => {
    cb(null, "./uploads");
},
filename: (req, file, cb) => {
    cb(null, file.originalname);
    }
});

const upload = multer({ storage: storage}).single("fname");
app.set("view engine", "ejs");

app.get('/', (req,res) => {
    res.render('index');
});

app.post('/upload', (req,res) => {
    upload(req, res, err => {
        fs.readFile(`./uploads/${req.file.originalname}`, (err, data) => {
            if(err) return console.log("Error", err);

            worker
            .recognize('./uploads/op.png')
            .then(result => {
                res.send(result.txt);
            })
            .finally(() => worker.terminate());
        });
    });
});
0

There are 0 best solutions below