التعرف داخل المتصفح
ما هو التعرف الضوئي داخل المتصفح؟
يشغّل التعرف الضوئي داخل المتصفح عملية قراءة النص في الصفحة المفتوحة أمامك، فلا يحتاج المستند إلى الرفع أصلًا. هذا الفارق وحده يغيّر مسألة الخصوصية وأنماط الإخفاق وأداء المعالجة.
EasyInvoiceOCR · نُشر في · 9 دقائق قراءة
التعرف الضوئي داخل المتصفح هو تعرف على الحروف تنفّذه شيفرة تعمل في متصفحك، لا خدمة تعمل على جهاز طرف آخر. يُصرَّف المحرك إلى WebAssembly ويُنزَّل كأي مورد آخر في الصفحة، ويُقرأ المستند من الذاكرة المحلية، ويُنتَج النص المستخرج داخل التبويب دون حاجة إلى مغادرته.
أما التعرف التقليدي فيعمل بالعكس: ترفع الملف، ويتعرف عليه خادم، ويعود إليك JSON. هذا أسهل في البناء وأدق عادةً، ويعني في الوقت نفسه وجود نسخة من مستندك على بنية تحتية لا تتحكم فيها.
كيف يعمل
يتكوّن المسار من أربع مراحل، والثالثة وحدها هي التعرف الفعلي.
- القراءة — يُحمَّل الملف في الذاكرة من حقل الملفات، ولا ينقله أي طلب شبكة.
- القرار — إذا كان ملف PDF يحتوي أصلًا على طبقة نصية، يُقرأ النص مباشرة ويُتجاوز التعرف الضوئي.
- التعرف — تُحوَّل الصفحات التي لا تحتوي نصًا صالحًا إلى صور وتُمرَّر إلى محرك WebAssembly في خيط عامل، لتبقى الواجهة سريعة الاستجابة.
- التجميع — تحمل الكلمات المتعرَّف عليها مواضعها، وتُستخدم لإعادة بناء الأسطر والفقرات والجداول وترتيب القراءة.
طبقة النص في PDF أولًا
هذه هي الخطوة التي تغفلها أغلب الشروح، وهي أهم من المحرك نفسه. ملف PDF المُصدَّر من برنامج محاسبي يحتوي الحروف فعلًا بإحداثياتها الدقيقة، وتشغيل التعرف الضوئي عليه سيكون أبطأ وأقل دقة من قراءة الموجود: ستحوّل نصًا سليمًا إلى بكسلات ثم تخمّن تلك البكسلات.
لذلك يفحص المسار الجيد كل صفحة ويختار لها مسارها، فيُعالَج عقد مطبوع فيه صفحة توقيع ممسوحة معالجة صحيحة بدل إجباره على مسار واحد.
المتصفح مقابل السحابة
لا أحدهما أفضل على الإطلاق. كل منهما يخفق في موضع مختلف، والسؤال الحقيقي هو أي إخفاق يمكنك احتماله.
- الدقة على المدخلات الصعبة — تتفوق السحابة، فنماذج الخادم أكبر مما يمكن إرساله إلى متصفح.
- خصوصية المستند — يتفوق المتصفح بوضوح: لا يغادر الملف الجهاز، فلا توجد نسخة تحتاج إلى حماية أو قد تُخترق.
- سرعة صفحة واحدة — غالبًا السحابة، لعتاد مخصص ونموذج جاهز.
- السرعة عند ضعف سرعة الرفع — المتصفح، إذ لا شيء يُرفع.
- الكلفة عند الحجم الكبير — المتصفح، فالمعالجة تجري على عتاد لا تدفع ثمنه.
- إمكانية التنبؤ — السحابة، لأنك تتحكم في الجهاز؛ أما في المتصفح فكل شيء يعتمد على جهاز الزائر.
- العمل دون اتصال — المتصفح، بعد تخزين الموارد مؤقتًا.
متى تكون السحابة أنسب
إن كنت تعالج عشرات الآلاف من المستندات ليلًا، أو تحتاج أعلى دقة ممكنة على صور مجعّدة، أو تحتاج التعرف على خط اليد، فالخدمة على الخادم هي الأداة الصحيحة. التعرف داخل المتصفح ليس بديلًا شاملًا، وادعاء غير ذلك تضليل.
متى يكون المتصفح أنسب
يناسب المستندات التي يتردد الناس في رفعها: فواتير تحمل بيانات بنكية، وإيصالات مرتبطة ببطاقة شخصية، وعقود، ووثائق هوية، ورسائل طبية. ويناسب أيضًا من يفضّل ألا يتحمل التزامات حيازة مستندات الآخرين — فأبسط طريقة لحماية ملف هي ألا تستلمه أصلًا.
ما لا يعنيه ذلك
لا يعني أن الصفحة لا ترسل أي طلب شبكة. فالمحرك وملفات اللغة تُنزَّل، وقد يسجّل التطبيق مع ذلك أن عملية تحويل قد جرت. في حالتنا يستقبل الخادم سجلًا موجزًا — اسم الملف ونوعه وحجمه وعدد الصفحات ومفتاحًا يعرّف المحاولة — لأن الرصيد لا يمكن فرضه بالطلب من المتصفح أن يحسب بأمانة.
الصياغة الدقيقة ضيّقة وقابلة للتحقق: تُعالَج بيانات المستند محليًا داخل المتصفح ولا تُرفع أبدًا، بينما تُرسل بيانات وصفية محدودة لأغراض الرصيد وحفظ السجل. وما زاد على ذلك تسويق.
ما ينبغي توقعه من الدقة
تعتمد جودة التعرف على الصورة أكثر بكثير من اعتمادها على المحرك. النص المطبوع الممسوح بشكل مستوٍ وواضح ومضاء جيدًا يُقرأ جيدًا بأي محرك حديث، بخلاف إيصال مجعّد مصوَّر بزاوية في إضاءة ضعيفة — في المتصفح أو على الخادم سواء. وخط اليد مشكلة منفصلة لا يحلها التعرف العام بشكل موثوق.
الضمانة المفيدة ليست وعدًا بدقة أعلى، بل درجة ثقة مرفقة بكل حقل مستخرج، لتُعلَّم القيم غير المؤكدة للمراجعة بدل كتابتها بصمت في جدول.
كيف ينفّذه EasyInvoiceOCR
يجري التعرف داخل المتصفح باستخدام Tesseract.js المصرَّف إلى WebAssembly. وتُقرأ ملفات PDF ذات الطبقة النصية مباشرة عبر PDF.js ويُتجاوز التعرف الضوئي. وتتوفر خمسة نماذج لغة أساسية — الإنجليزية والفرنسية والعربية والألمانية والإسبانية — إضافة إلى وضعين مركّبين، الإنجليزية + العربية والإنجليزية + الفرنسية، للمستندات ثنائية اللغة. ويُقدَّم المحرك وملفات اللغة من نطاقنا نفسه لا من شبكة توصيل خارجية.
ويحمل كل حقل مستخرج درجة ثقة وعلامة مراجعة، وكلاهما يُكتب في الجدول المصدَّر بدل عرضه مرة ثم نسيانه.
المصادر الأساسية
- Tesseract.js — نسخة WebAssembly من محرك Tesseract المستخدمة للتعرف داخل المتصفح.
- Tesseract OCR — المحرك الأصلي بلغة C++ وتوثيقه حول تقسيم الصفحة وبيانات اللغة.
- WebAssembly — MDN — مرجع هدف التصريف الذي يتيح تشغيل محرك أصلي داخل صفحة.
- PDF.js — يُستخدم لقراءة الطبقة النصية في ملفات PDF التي تحتوي حروفًا أصلًا.
خمس عمليات تحويل مجانية. تُعالَج بيانات المستند داخل متصفحك.
مقالات ذات صلة
- هندسة
تشغيل Tesseract.js في الإنتاج
ما الذي ينزّله Tesseract.js فعلًا، ولماذا تمثّل ملفات اللغة الجزء الصعب، وماذا يحدث حين تأتي من شبكة توصيل خارجية، وأي خلل يُدخله الاستضافة الذاتية.
- الأمان
أسئلة حماية البيانات قبل رفع فواتيرك إلى خدمة OCR
فواتير المورّدين تتضمن بيانات شخصية. خمسة أسئلة اطرحها على أي مزوّد لمعالجة المستندات قبل أول عملية رفع، وكيف تبدو الإجابة الجيدة.