API رایگان Node.js برای افزودن قابلیتهای OCR به پروژههای JS.
کتابخانه OCR منبع باز Node.js که به برنامهنویسان امکان شناسایی و استخراج متن از فرمتهای مختلف فایل، از جمله تصاویر (JPEG، PNG)، PDFها و اسناد را بهصورت رایگان و به چندین زبان میدهد.
Node-Tesseract-OCR چیست؟
در عصر دیجیتال امروز، استخراج متن از تصاویر و اسناد به یک وظیفه حیاتی در صنایع مختلف از جمله مدیریت اسناد، پردازش دادهها و هوش مصنوعی تبدیل شده است. فناوری تشخیص نوری کاراکتر (OCR) امکان تبدیل اسناد اسکنشده، تصاویر و فایلهای PDF به فرمتهای متنی قابل ویرایش را فراهم کرده است. Node‑Tesseract‑OCR یک API منبع باز است که قدرت موتور Tesseract OCR را ترکیب میکند تا روشی یکپارچه و کارآمد برای انجام وظایف OCR در برنامههای Node.js ارائه دهد.
Node-Tesseract-OCR یک بستهٔ wrapper برای موتور OCR تسرکت در Node.js است که به توسعهدهندگان نرمافزار امکان استفاده از ویژگیهای قدرتمند تشخیص متن تسرکت را در محیط Node.js میدهد. این API در این مخزن GitHub نگهداری میشود و مجموعهای از عملکردها را ارائه میدهد که آن را برای موارد استفاده مختلف، از استخراج ساده متن تا وظایف پیچیدهتر پردازش اسناد، مناسب میسازد. توسعهدهندگان نرمافزار میتوانند متن را از تصاویر و اسناد به زبانهای متعدد استخراج کنند، که این ابزار را به یک ابزار چندمنظوره برای برنامههای مختلف تبدیل میکند.
API Node-Tesseract-OCR قابلیتهای پیشرفته پردازش تصویر را فراهم میکند، از جمله فیلتر کردن تصویر، تغییر اندازه و برش، تا اطمینان حاصل شود متن استخراجشده دقیق و قابل اعتماد باشد. این API بیش از ۱۰۰ زبان را پشتیبانی میکند، که آن را به یک راهحل چندمنظوره برای وظایف OCR در محیطهای متنوع تبدیل میسازد. توسعهدهندگان نرمافزار میتوانند متن را از تصاویر، PDFها و اسناد استخراج کنند و متن استخراجشده را در قالبهای مختلفی مانند JSON، XML و متن ساده بازگردانند. این ابزار بهگونهای طراحی شده است که سبک، انعطافپذیر و استفاده آسان باشد، بنابراین گزینهای ایدهآل برای توسعهدهندگانی است که میخواهند قابلیتهای OCR را به پروژههای خود اضافه کنند. با قابلیتهای پیشرفته پردازش تصویر، پشتیبانی از زبانها و مکانیزمهای مدیریت خطا، این ابزار گزینهای مناسب برای توسعهدهندگانی است که میخواهند قابلیتهای OCR را به پروژههای خود اضافه کنند.
شروع کار با Node-Tesseract-OCR
روش پیشنهادی برای نصب Node-Tesseract-OCR استفاده از npm است. لطفاً برای نصب روان، فرمان زیر را اجرا کنید
نصب Node-Tesseract-OCR از طریق npm
npm install node-tesseract-ocr همچنین میتوانید آن را بهصورت دستی نصب کنید؛ فایلهای آخرین نسخه را مستقیماً از مخزن GitHub دانلود کنید.
استخراج متن از تصاویر در API Node.js
کتابخانه منبع باز Node-Tesseract-OCR ایجاد برنامههایی را برای توسعهدهندگان نرمافزار آسان میکند که بهصورت خودکار متن را از تصاویر داخل برنامههای Node.js استخراج میکنند. این کتابخانه از استخراج متن از اسناد اسکنشده، PDFها، عکسهای دوربین یا عکسهای رسیدها پشتیبانی میکند. این میتواند برای ایجاد آرشیوهای قابل جستجو، خودکارسازی ورود دادهها یا پردازش حجم بالای اسناد در بخشهایی مانند مالی و بهداشت و درمان مفید باشد. در ادامه یک مثال ساده آورده شده است که نشان میدهد چگونه میتوان بهصورت برنامهنویسی متن را از تصاویر داخل برنامههای Node.js استخراج کرد.
چگونه متن را از تصاویر در محیط Node.js استخراج کنیم؟
const tesseract = require("node-tesseract-ocr");
tesseract.recognize("path/to/image.jpg")
.then(text => {
console.log("Recognized Text:", text);
})
.catch(error => {
console.error("Error:", error.message);
});
پیشپردازش بهتر تصویر در داخل Node.js
پیشپردازش تصاویر قبل از اعمال OCR میتواند بهطور قابلتوجهی دقت تشخیص متن را بهبود بخشد. کتابخانه منبع باز Node-Tesseract-OCR امکان استفاده از تکنیکهای پایه پیشپردازش مانند تغییر اندازه، باینریسازی و اصلاح چرخش را فراهم میکند. این مراحل پیشپردازش میتوانند با استفاده از کتابخانههای اضافی Node.js مانند sharp یا jimp همراه با Node-Tesseract-OCR پیادهسازی شوند. مثال زیر نشان میدهد که توسعهدهندگان نرمافزار چگونه از مراحل پیشپردازش برای بهبود تشخیص، بهویژه با تصاویر با کیفیت پایین، استفاده میکنند.
چگونه مراحل پیشپردازش را برای بهبود تشخیص از طریق API Node.js اعمال کنیم؟
const sharp = require("sharp");
const tesseract = require("node-tesseract-ocr");
sharp("path/to/input.jpg")
.resize(800, 600) // Resize the image
.greyscale() // Convert to greyscale
.toBuffer()
.then(data => {
return tesseract.recognize(data, { lang: "eng" });
})
.then(text => {
console.log("Preprocessed Image Text:", text);
})
.catch(error => {
console.error("Error:", error.message);
});
متن شناساییشده در چند زبان
یکی از ویژگیهای برجسته Node-Tesseract-OCR پشتیبانی گسترده چندزبانه آن است. کتابخانه Tesseract OCR بیش از ۱۰۰ زبان را پشتیبانی میکند و این باعث میشود که برای برنامههایی که نیاز به پردازش اسناد به زبانهای مختلف دارند، گزینهای ایدهآل باشد. توسعهدهندگان نرمافزار میتوانند زبان(های) مورد نظر خود را برای استفاده توسط Tesseract مشخص کنند و دقت تشخیص متون غیر انگلیسی را بهبود بخشند. در اینجا مثالی آورده شده است که نشان میدهد توسعهدهندگان نرمافزار چگونه میتوانند متن فرانسوی را در برنامههای Node.js شناسایی کنند؟
چگونه متن را از تصویر به زبان فرانسوی از طریق API JavaScript شناسایی کنیم؟
const config = {
lang: "fra", // French language support
oem: 1,
psm: 3
};
tesseract.recognize("path/to/french-text-image.jpg", config)
.then(text => {
console.log("Recognized Text in French:", text);
})
.catch(error => {
console.error("Error:", error.message);
});