-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Open
Description
Describe the bug:
I want to achieve fully offline use of tesseract.js, so I will:
const recognizeText = async (imageUrl: string) => {
const worker = await Tesseract.createWorker("chi_sim", undefined, {
workerPath: "/tessdata/tesseract.js/dist/worker.min.js",
corePath: "/tessdata/tesseract.js-core",
langPath: "/tessdata/tesseract-lang",
logger: m => console.log(m),
})
const {
data: { text },
} = await worker.recognize(imageUrl)
setRecognizedText(text)
await worker.terminate()
}
To Reproduce:
Steps to reproduce the behavior:
- Create a tessdata folder in the public folder
- Place local resource files in this folder:
tesseract-lang、tesseract.js、tesseract.js-core - Run
Complete code
const inputRefOCR = useRef(null)
const [imageData, setImageData] = useState("")
const [recognizedText, setRecognizedText] = useState("")
const handleCapture = () => {
if (inputRefOCR.current.files && inputRefOCR.current.files.length > 0) {
const file = inputRefOCR.current.files[0]
const reader = new FileReader()
reader.onload = e => {
setImageData(e.target.result)
recognizeText(e.target.result)
}
reader.readAsDataURL(file)
}
}
const recognizeText = async (imageUrl: string) => {
const worker = await Tesseract.createWorker( {
workerPath: "/tessdata/tesseract.js/dist/worker.min.js",
corePath: "/tessdata/tesseract.js-core",
langPath: "/tessdata/tesseract-lang",
logger: m => console.log(m),
})
const {
data: { text },
} = await worker.recognize(imageUrl)
setRecognizedText(text)
await worker.terminate()
}
Expected behavior:
Implement fully offline use of Tesseract.js
Device Version:
- Windows 11
- chrome
Metadata
Metadata
Assignees
Labels
No labels
