naptha / tesseract.js

Pure Javascript OCR for more than 100 Languages 📖🎉🖥
http://tesseract.projectnaptha.com/
Apache License 2.0
34.53k stars 2.19k forks source link

Cannot run worker on electron renderer process #696

Closed vuggy17 closed 1 year ago

vuggy17 commented 1 year ago

I'm using react-electron-boilerplate and install tesseract by yarn add tesseract.js . Then I create a worker like snippet bellow, and it doesn't work, but when I move it to main process, it work

main.ts

ipcMain.on('translate', async (event, args) => {
  const worker = createWorker();
  await worker.load();
  await worker.loadLanguage('eng');
  await worker.initialize('eng');
  const { data } = await worker.recognize(
    path.join(__dirname, '../../assets/icons/eng_bw.png')
  );
console.log(text)
});

App.ts

 const start = async () => {
    const worker = createWorker();
    await worker.load();

    await worker.loadLanguage('eng');
    await worker.initialize('eng');
    const { data } = await worker.recognize('../../assets/icons/eng_bw.png');
    console.log(data);
  };

start() // won't work

Bonus: I'm trying to implement realtime translate (video translate) and I need to do OCR stuff on renderer process.

Does anyone know a work around or something?

Balearica commented 1 year ago

Can you create a repo that I can clone to replicate the error? I have virtually no experience with Electron, but can look into this given that Electron-related issues have been raised several times.

Balearica commented 1 year ago

Closing as stale. If other users have this problem, please open a new issue with a reproducible example repo. Code snippets really only work as reprex when they can be copy/pasted in any browser, not when they require additional code to run.