PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

PDF OCR - برنامج تعليمي لـ Python وأدوات التعرف الضوئي على الحروف بتنسيق PDF عبر الإنترنت مجانًا

يعد منشور المدونة هذا بمثابة نقطة انطلاق مثالية لأي شخص يتطلع حاليًا إلى إجراء التعرف الضوئي على الحروف على ملفات وصور PDF. نبدأ بتقديم مجموعة من أدوات وروابط OCR المجانية عبر الإنترنت. بعد ذلك ، نتعمق في برنامج تعليمي لرمز Python يأخذك خلال عملية إجراء التعرف الضوئي على الحروف على ملفات وصور PDF ، ومناقشة المزيد من وظائف التعرف الضوئي على الحروف وتنفيذها في النهاية.


هل لديك مشكلة في التعرف الضوئي على الحروف؟ هل تريد تقليل تكاليف إدخال البيانات في مؤسستك؟ رئيس لأكثر من النانو وبناء نماذج OCR لبدء أتمتة الجهود والعمليات اليدوية باستخدام الذكاء الاصطناعي المتقدم.


المُقدّمة

يقدر العدد الإجمالي لوثائق PDF في العالم بأكثر من 3 تريليونات. يمكن أن يُعزى اعتماد هذه المستندات إلى طبيعتها المتأصلة في كونها مستقلة عن الأنظمة الأساسية ، وبالتالي تتمتع بتجربة عرض متسقة وموثوقة عبر البيئات.

هناك العديد من الحالات التي تظهر كل يوم حيث توجد حاجة لقراءة واستخراج النص والمعلومات المجدولة من ملفات PDF. بدأ الأشخاص والمنظمات الذين قاموا بذلك يدويًا بشكل تقليدي في البحث عن البدائل التكنولوجية التي يمكن أن تحل محل الجهد اليدوي باستخدام الذكاء الاصطناعي.

فيما يلي بعض حالات الاستخدام لاستخراج البيانات من مستندات PDF. إذا كانت حالة الاستخدام الخاصة بك تندرج تحت أي من الحالات المذكورة أدناه ، فإننا نوصي بالنقر فوق الروابط الواردة أدناه والتي ستعيد توجيهك إلى مدوناتنا المتخصصة التي تشرح وتقدم الحلول لكل حالة من حالات الاستخدام هذه.

يرمز OCR إلى التعرف الضوئي على الأحرف ، ويستخدم الذكاء الاصطناعي لتحويل صورة النص المطبوع أو المكتوب بخط اليد إلى نص يمكن قراءته آليًا. هناك العديد من محركات OCR مفتوحة المصدر ومغلقة المصدر الموجودة اليوم. تجدر الإشارة إلى أنه في كثير من الأحيان ، لا تكتمل المهمة بعد قراءة OCR للمستند وإعطاء مخرجات تتكون من دفق من النص ، ويتم إنشاء طبقات من التكنولوجيا فوقه لاستخدام النص الذي يمكن قراءته آليًا واستخراج السمات ذات الصلة في شكل منظم.

أدوات OCR مجانية على الإنترنت

هناك مجموعة من أدوات OCR المجانية عبر الإنترنت والتي يمكن استخدامها لأداء OCR عبر الإنترنت. إنها ببساطة مسألة تحميل ملفات الإدخال الخاصة بك ، وانتظار معالجة الأداة وإعطاء المخرجات ، ثم تنزيل الإخراج بالتنسيق المطلوب.

فيما يلي قائمة بأدوات OCR المجانية عبر الإنترنت -

القسم التالي عبارة عن برنامج تعليمي لرمز Python لإجراء التعرف الضوئي على الحروف على ملفات PDF والصور.

كود Python - اقرأ ملف PDF الأول باستخدام Pytesseract

Tesseract هو محرك OCR مشهور ، و Pytesseract عبارة عن غلاف بيثون مبني حوله. دعونا نأخذ مثالاً على فاتورة PDF الموضحة أدناه ونستخرج النص منها.

نموذج الفاتورة.pdfc

الخطوة الأولى هي تثبيت جميع المتطلبات الأساسية في نظامك.

تسراكت

الخطوة الأولى هنا هي تثبيت محرك Tesseract OCR.

  • Windows - التثبيت سهل مع وجود الثنائيات المترجمة مسبقًا هنا. لا تنس تحرير "المسار" متغير البيئة وإضافة مسار tesseract.
  • لينكس / ماك - يمكن تثبيته مع أوامر قليلة.
  • تلميح - أسهل طريقة للتثبيت على Mac هي استخدام البيرة المنزلية. اتبع الخطوات هنا.

بعد التثبيت ، تحقق من أن كل شيء يعمل عن طريق كتابة الأمر في المحطة الطرفية أو cmd:

$ tesseract --version

وسترى الناتج مشابهًا لما يلي:

tesseract 5.1.0
 leptonica-1.82.0
  libgif 5.2.1 : libjpeg 9e : libpng 1.6.37 : libtiff 4.4.0 : zlib 1.2.11 : libwebp 1.2.2 : libopenjp2 2.5.0
 Found NEON
 Found libarchive 3.6.1 zlib/1.2.11 liblzma/5.2.5 bz2lib/1.0.8 liblz4/1.9.3 libzstd/1.5.2
 Found libcurl/7.77.0 SecureTransport (LibreSSL/2.8.3) zlib/1.2.11 nghttp2/1.42.0

بيتسيراكت

المجمع Python لـ tesseract. يمكنك تثبيت هذا باستخدام النقطة.

$ pip install pytesseract

pdf2 صورة

تأخذ Tesseract تنسيقات الصور كمدخلات ، مما يعني أننا سنطلب تحويل ملفات PDF الخاصة بنا إلى صور قبل المعالجة باستخدام OCR. ستساعدنا هذه المكتبة في تحقيق ذلك. يمكنك تثبيت هذا باستخدام النقطة.

$ pip install pdf2image

التعرف الضوئي على الحروف باستخدام Pytesseract

الآن ، نحن على ما يرام. يمكن الآن قراءة نص من ملفات pdf في بضعة أسطر من كود بيثون.

import pdf2image
from PIL import Image
import pytesseract

image = pdf2image.convert_from_path('invoice-sample.pdf')
for pagenumber, page in enumerate(image):
    detected_text = pytesseract.image_to_string(page)
    print(detected_text)

تشغيل مقتطف كود python أعلاه في مثال فاتورة pdf أعلاه ('invoice-sample.pdf') ، نحصل على الإخراج أدناه من محرك OCR.

PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

يمكننا أن نرى أن detected_text المتغير في مقتطف الشفرة أعلاه قام بتخزين محتويات نص ملف pdf الذي اكتشفه محرك التعرف الضوئي على الحروف.

يختتم هذا القسم الخاص بنا حول قراءة النص من ملفات pdf باستخدام tesseract. يوضح القسم التالي استخدام مكتبة Python جديدة أخرى لا تتطلب أي متطلبات مسبقة (مثل tesseract و pytesseract و pdf2image) ، وهي أسهل في التثبيت وأكثر سهولة في الاستخدام وتوفر وظائف OCR إضافية مثل التنسيق المكاني واستخراج الجدول في Excel / CSV ، وإنشاء ملفات PDF قابلة للبحث والمزيد.

ملاحظة: إذا كانت حالة الاستخدام الخاصة بك هي الفاتورة OCR -

  • قراءة مدونتنا على كيفية ترميز محلل الفاتورة. ترشدك المدونة إلى إنشاء محلل الفواتير الخاص بك في لغة بيثون والذي يقوم بإجراء التعرف الضوئي على الحروف على ملفات pdf / صورة الفاتورة ، ويكتشف الميزات ذات الصلة (مثل مبلغ الفاتورة ، المشتري ، البائع ، تاريخ الفاتورة ، إلخ.) ويستخرجها في شكل منظم.
  • إذا كنت تريد برنامجًا آليًا خالٍ من المتاعب يقوم بإجراء OCR على الفاتورة واستخراج الميزات بسلاسة باستخدام نماذج AI المتقدمة ، فجرّب التعرف الضوئي على الحروف على فاتورة النانو.
  • بالنسبة لحالات استخدام OCR المتقدمة الأخرى وحلولها ، استكشف منتجاتنا وحلولنا باستخدام القوائم المنسدلة في أعلى يمين الصفحة.

كود Python - وظائف متقدمة للصور و PDF OCR في Python

أصدر فريقنا مكتبة مجانية للمساهمة في قضية توفير أدوات التعرف الضوئي على الحروف المجانية عالية الجودة للأغراض التعليمية والبحثية.

لاحظ أنك لا تحتاج إلى أي من المتطلبات الأساسية (مثل tesseract ، pytesseract ، pdf2image) التي كانت مطلوبة في القسم السابق لبدء استخدام مكتبتنا. إنه يعمل بشكل مثالي كحل مستقل للعديد من احتياجات التعرف الضوئي على الحروف الأساسية المجانية.

السمات البارزة للمكتبة -

  • يتعرف على تنسيقات PDF والصورة ، دون الحاجة إلى معالجة مسبقة.
  • يحتفظ بالتنسيق المكاني للمستند الأصلي بدقة.
  • يمكن اكتشاف واستخراج الجداول بتنسيق Excel / CSV من ملف PDF / صورة.
  • قم بإنشاء ملفات PDF قابلة للبحث من ملفات PDF الممسوحة ضوئيًا أثناء التنقل.

أشارك مقتطفًا صغيرًا من التعليمات البرمجية أدناه لتبدأ.

يمكنك تثبيت الحزمة باستخدام النقطة.

pip install ocr-nanonets-wrapper

للحصول على توقعك الأول ، قم بتشغيل مقتطف الشفرة أدناه. يجب عليك إضافة مفتاح API الخاص بك في السطر الثالث لمصادقة نفسك.

هذا البرنامج مجاني دائمًا. يمكنك الحصول على مفتاح API المجاني (مع السماح بطلبات غير محدودة) من خلال التسجيل https://app.nanonets.com/#/keys.

from nanonets import NANONETSOCR
model = NANONETSOCR()
model.set_token('REPLACE_API_KEY')

نحن جميعًا مستعدون الآن لعمل التنبؤ الأول. يمكنك إعطاء مدخلات عن طريق تحديد ملف محلي أو عنوان URL. لاحظ أن الملف / عنوان URL يمكن أن يكون PDF أو ملف صورة ، ويمكن أن يكون له تنسيق ملف .pdf أو .jpg أو .png.

سوف نستخدم الصورة أدناه لعمل التنبؤ الأول.

PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
pred.png
prediction_json = model.convert_to_prediction('pred.png')
PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
Precision_json

لقد قمنا بتخزين ناتج محرك OCR في ملف prediction، وهو كائن json. يحتوي هذا الكائن على كلمات متوقعة وموقعها المكاني في المستند. يساعدك هذا الكائن على تخزين json وإنشاء طرق خاصة بك لتفسير إخراج OCR وتنسيقه.

ومع ذلك ، يمكنك الحصول على مخرجات OCR مباشرة بالتنسيقات المرغوبة باستخدام وظائف أخرى في الحزمة.

قم بتشغيل مقتطف الشفرة أدناه بعد المصادقة ، لاستخراج كل النص من ملف الإدخال وتخزينه في سلسلة.

string = model.convert_to_string('INPUT_FILE',formatting='none') 
print(string)

# formatting can be => none / lines / lines and spaces / pages
# output examples of these different formatting options shown below 

يمكنك تغيير خيار التنسيق. الإعداد الافتراضي هو "الأسطر والمسافات" الذي يستخرج كل النص من ملفك ويحوله إلى سلسلة مع الاحتفاظ بجميع المسافات والأسطر الجديدة وبالتالي الحفاظ على الهيكل المكاني للملف الأصلي.

دعونا نرى كيف تعمل معلمة التنسيق. سنقرأ الصورة أدناه باستخدام أوضاع تنسيق مختلفة.

PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
اختبار.png

يمكنك أن ترى كيف يغير وضع التنسيق سلسلة الإخراج في لقطات الشاشة أدناه.

PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
التنسيق = 'لا شيء'
PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
التنسيق = "خطوط"
PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
التنسيق = "الخطوط والمسافات"

كما ترون ، فإن formatting = 'lines and spaces' يعمل الوضع جيدًا إذا كنت تريد قراءة ملفك وطباعته في الاتجاه المطابق لملفك الأصلي. اسمحوا لي أن أشارك مثالا آخر هنا. ضع في اعتبارك الملف أدناه حيث نقوم بتشغيل ملف convert_to_string طريقة مع formatting = 'lines and spaces' واسطة.

PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
multi.png
PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

2. تحويل PDF / صورة إلى ملف نصي

تعمل هذه الطريقة بطريقة مشابهة لطريقة convert_to_string الموضحة أعلاه. يكمن الاختلاف في أنه أثناء قيام convert_to_string بإرجاع سلسلة ، تنشئ هذه الطريقة ملفًا بتنسيق .txt مباشرةً مع إخراج طريقة convert_to_string.

formatting تعمل المعلمة بنفس الطريقة التي تعمل بها للمعلمة convert_to_string. يمكنك تحديد اسم الملف لملف الإخراج .txt اختياريًا.

model.convert_to_txt('INPUT_FILEPATH', output_file_name = 'OUTPUT.txt')

3. الحصول على معلومات الصندوق المحيط

يمكنك استخدام الحزمة لاستخراج نص من ملفاتك وتخزين معلومات الصندوق المحيط. الإخراج عبارة عن قائمة قواميس تحتوي على كل كلمة وموضعها المكاني في الملف.

PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
اختبار.png
boxes = model.convert_to_boxes('test.png')
PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
مربعات

تسمح لك هذه الطريقة باستخراج جميع الجداول من ملفك. يمكنك إما تخزين المعلومات في كائن json ، أو يمكنك الحصول على النتائج مباشرة في ملف .csv.

كمثال ، سنقوم باستخراج الجداول من الصورة أدناه.

PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
table.png

يمكنك تشغيل مقتطف الشفرة أدناه للحصول على ملف .csv مع جميع الجداول المستخرجة من ملف الإدخال. لقد قمت بتشغيله على صورة العينة أعلاه وأرفقت الإخراج .csv.

model.convert_to_csv('tables.png',output_file_name='OUTPUTFILE.csv')
PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
OUTPUTFILE.csv

بدلاً من ذلك ، إذا كنت ترغب في الحصول على كائن json يحتوي على جميع الجداول ، فيمكنك تشغيل المقتطف أدناه في نفس الملف.

tables_json = model.convert_to_tables('tables.png')
PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
table_json

ملاحظة:

  • هذه الوظيفة (convert_to_csv() و convert_to_tables()) هي نسخة تجريبية تقدم 1000 صفحة من الاستخدام.
  • لاستخدام هذا على نطاق واسع ، يرجى إنشاء النموذج الخاص بك على app.nanonets.com -> نموذج جديد -> الجداول.

5. التحويل إلى PDF قابل للبحث فيه

يمكنك تحويل ملف PDF أو ملف الصورة مباشرةً إلى ملف PDF قابل للبحث باستخدام مقتطف الشفرة أدناه. سيؤدي هذا إلى إنشاء ملف .pdf كإخراج. ستتمكن من البحث واكتشاف كل النص الموجود في ملف pdf.

PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
inv.png
model.convert_to_searchable_pdf('inv.png',output_file_name='output.pdf')

ينشئ مقتطف الشفرة هذا ملف pdf قابل للبحث فيه مع إخراج اسم الملف. pdf ، والذي يحتوي على نص يمكن التعرف عليه بواسطة الجهاز. يمكنك البحث عن نص / أرقام والبحث باستخدام وظيفة البحث في عارض PDF الخاص بك.

PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
البحث في output.pdf
PDF OCR - برنامج Python التعليمي وأدوات التعرف الضوئي على الحروف لملفات PDF على الإنترنت المجانية PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
البحث في output.pdf

هل لديك مشكلة في التعرف الضوئي على الحروف؟ هل تريد تقليل تكاليف إدخال البيانات في مؤسستك؟ رئيس لأكثر من النانو وبناء نماذج OCR لبدء أتمتة الجهود والعمليات اليدوية باستخدام الذكاء الاصطناعي المتقدم.


هل لديك حالة استخدام OCR / معالجة المستندات الذكية؟ جرب Nanonets

نحن نقدم حلول OCR و IDP المخصصة لحالات الاستخدام المختلفة - أتمتة الحسابات الدائنة ، أتمتة الفواتير ، أتمتة الحسابات الدائنة ، الاستلام / بطاقة الهوية / DL / التعرف الضوئي على الحروف بجواز السفر ، تكامل برامج المحاسبة ، أتمتة BPO ، استخراج الجدول ، استخراج PDF وغيرها الكثير. استكشف منتجاتنا وحلولنا باستخدام القوائم المنسدلة في أعلى يمين الصفحة.

على سبيل المثال ، افترض أن لديك عددًا كبيرًا من الفواتير التي يتم إنشاؤها كل يوم. باستخدام Nanonets ، يمكنك تحميل هذه الصور وتعليم نموذجك ما الذي تبحث عنه. على سبيل المثال: في الفواتير ، يمكنك بناء نموذج لاستخراج أسماء المنتجات والأسعار. بمجرد الانتهاء من التعليقات التوضيحية وبناء النموذج الخاص بك ، يكون دمجها سهلاً مثل نسخ سطرين من التعليمات البرمجية.
فيما يلي بعض الأسباب التي يجب أن تفكر فيها في استخدام شبكات النانو -

  1. تجعل الشبكات النانوية من السهل استخراج النص ، وهيكل البيانات ذات الصلة في الحقول المطلوبة وتجاهل البيانات غير ذات الصلة المستخرجة من الصورة.
  2. يعمل بشكل جيد مع عدة لغات
  3. يؤدي أداءً جيدًا على النص في البرية
  4. تدرب على بياناتك الخاصة لجعلها تعمل لحالة الاستخدام الخاصة بك
  5. تسمح لك Nanonets OCR API بإعادة تدريب نماذجك ببيانات جديدة بسهولة ، حتى تتمكن من أتمتة عملياتك في أي مكان بشكل أسرع.
  6. لا يلزم وجود فريق داخلي من المطورين

قم بزيارتنا النانو لحلول OCR و IDP للمؤسسات.

حساب جديد لبدء نسخة تجريبية مجانية.


هل لديك مشكلة في التعرف الضوئي على الحروف؟ هل تريد تقليل تكاليف إدخال البيانات في مؤسستك؟ رئيس لأكثر من النانو وبناء نماذج OCR لبدء أتمتة الجهود والعمليات اليدوية باستخدام الذكاء الاصطناعي المتقدم.


الطابع الزمني:

اكثر من الذكاء الاصطناعي والتعلم الآلي