From 683c52d08e0ad3b90327c823d0f2f7ff1473962a Mon Sep 17 00:00:00 2001 From: hzm <934585316@qq.com> Date: Thu, 19 Feb 2026 09:37:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20tesseract.js=20=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=BA=205.1.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/page.jsx | 28 +++++++++++++++++----------- package-lock.json | 25 ++++++++++++++++--------- package.json | 2 +- 3 files changed, 34 insertions(+), 21 deletions(-) diff --git a/app/page.jsx b/app/page.jsx index ba4e8be..595401c 100644 --- a/app/page.jsx +++ b/app/page.jsx @@ -2517,22 +2517,28 @@ export default function HomePage() { let worker = ocrWorkerRef.current; if (!worker) { const cdnBases = [ - 'https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M', + 'https://fastly.jsdelivr.net/npm', 'https://cdn.jsdelivr.net/npm', - 'https://cdn.jsdmirror.com/npm' + ]; + const coreCandidates = [ + 'tesseract-core-simd-lstm.wasm.js', + 'tesseract-core-lstm.wasm.js', ]; let lastErr = null; for (const base of cdnBases) { - try { - worker = await createWorker('eng', 1, { - workerPath: `${base}/tesseract.js@v7.0.0/dist/worker.min.js`, - corePath: `${base}/tesseract.js-core@v7.0.0/tesseract-core-relaxedsimd-lstm.wasm.js` - }); - lastErr = null; - break; - } catch (e) { - lastErr = e; + for (const coreFile of coreCandidates) { + try { + worker = await createWorker('eng', 1, { + workerPath: `${base}/tesseract.js@v5.1.1/dist/worker.min.js`, + corePath: `${base}/tesseract.js-core@v5.1.1/${coreFile}`, + }); + lastErr = null; + break; + } catch (e) { + lastErr = e; + } } + if (!lastErr) break; } if (lastErr) throw lastErr; ocrWorkerRef.current = worker; diff --git a/package-lock.json b/package-lock.json index d743c88..84da46b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "react": "18.3.1", "react-chartjs-2": "^5.3.1", "react-dom": "18.3.1", - "tesseract.js": "^7.0.0" + "tesseract.js": "^5.1.1" }, "devDependencies": { "babel-plugin-react-compiler": "^1.0.0" @@ -1336,6 +1336,12 @@ "integrity": "sha512-yjD9nARJ/jb1g+CvD0tlhUHOrJ9Sy0P8T9MF3YaLlHnSRpwPfpTX0XIvpmw3gAJUmEu3FiICLBDPXVwyEvrleg==", "license": "Apache-2.0" }, + "node_modules/is-electron": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", + "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==", + "license": "MIT" + }, "node_modules/is-url": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", @@ -1650,27 +1656,28 @@ } }, "node_modules/tesseract.js": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/tesseract.js/-/tesseract.js-7.0.0.tgz", - "integrity": "sha512-exPBkd+z+wM1BuMkx/Bjv43OeLBxhL5kKWsz/9JY+DXcXdiBjiAch0V49QR3oAJqCaL5qURE0vx9Eo+G5YE7mA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tesseract.js/-/tesseract.js-5.1.1.tgz", + "integrity": "sha512-lzVl/Ar3P3zhpUT31NjqeCo1f+D5+YfpZ5J62eo2S14QNVOmHBTtbchHm/YAbOOOzCegFnKf4B3Qih9LuldcYQ==", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { "bmp-js": "^0.1.0", "idb-keyval": "^6.2.0", + "is-electron": "^2.2.2", "is-url": "^1.2.4", "node-fetch": "^2.6.9", "opencollective-postinstall": "^2.0.3", "regenerator-runtime": "^0.13.3", - "tesseract.js-core": "^7.0.0", - "wasm-feature-detect": "^1.8.0", + "tesseract.js-core": "^5.1.1", + "wasm-feature-detect": "^1.2.11", "zlibjs": "^0.3.1" } }, "node_modules/tesseract.js-core": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/tesseract.js-core/-/tesseract.js-core-7.0.0.tgz", - "integrity": "sha512-WnNH518NzmbSq9zgTPeoF8c+xmilS8rFIl1YKbk/ptuuc7p6cLNELNuPAzcmsYw450ca6bLa8j3t0VAtq435Vw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tesseract.js-core/-/tesseract.js-core-5.1.1.tgz", + "integrity": "sha512-KX3bYSU5iGcO1XJa+QGPbi+Zjo2qq6eBhNjSGR5E5q0JtzkoipJKOUQD7ph8kFyteCEfEQ0maWLu8MCXtvX5uQ==", "license": "Apache-2.0" }, "node_modules/tr46": { diff --git a/package.json b/package.json index fe35735..d97a2e2 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "react": "18.3.1", "react-chartjs-2": "^5.3.1", "react-dom": "18.3.1", - "tesseract.js": "^7.0.0" + "tesseract.js": "^5.1.1" }, "engines": { "node": ">=20.9.0"