diff --git a/ocr/arabic/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/arabic/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..0350a942 --- /dev/null +++ b/ocr/arabic/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-01-12 +description: استخراج النص من صورة باستخدام بايثون و Aspose OCR. تعلم كيفية تحويل الصورة + الممسوحة ضوئياً إلى نص باستخدام الكود غير المتزامن في دقائق قليلة. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: ar +og_description: استخراج النص من صورة باستخدام بايثون و Aspose OCR. يوضح هذا الدرس + كيفية تحويل الصورة الممسوحة ضوئياً إلى نص باستخدام الدوال غير المتزامنة. +og_title: استخراج النص من صورة بايثون – دليل OCR غير المتزامن +tags: +- python +- ocr +- async +title: استخراج النص من الصورة باستخدام بايثون – دليل OCR غير المتزامن +url: /ar/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# استخراج النص من صورة Python – دليل OCR غير المتزامن + +هل احتجت يوماً إلى **استخراج النص من صورة Python** في سكريبتاتك لكن شعرت بأنك عالق في جزء OCR؟ لست وحدك. يواجه العديد من المطورين جداراً عندما يكون لديهم مستند ممسوح ضوئياً ويرغبون في تحويله إلى نص قابل للبحث دون أن يفتتحوا شعرهم. + +في هذا الدليل سنستعرض مثالاً كاملاً قابلاً للتنفيذ يوضح لك كيفية **تحويل الصورة الممسوحة إلى نص** باستخدام واجهة Aspose OCR غير المتزامنة. في النهاية ستحصل على دالة واحدة يمكنك إدراجها في أي مشروع، وستفهم لماذا يمكن للمعالجة غير المتزامنة أن تبقي تطبيقك مستجيباً حتى عندما يستغرق OCR بضع ثوانٍ. + +## المتطلبات المسبقة + +قبل أن نبدأ، تأكد من وجود ما يلي: + +- Python 3.8+ مثبت (ميزات async تحتاج على الأقل إلى 3.7) +- حزمة `asposeocr` (`pip install asposeocr`) – هذه هي المكتبة التي سنستخدمها +- ملف صورة ممسوح ضوئياً (TIFF, PNG, JPEG – أي شيء يدعمه Aspose OCR) +- إلمام أساسي بـ `asyncio` (إذا لم يكن لديك، لا تقلق – سنشرح كل خطوة) + +لا توجد تبعيات نظام إضافية مطلوبة؛ Aspose OCR يجمع كل ما تحتاجه في حزمة واحدة. + +![مخطط يوضح تدفق OCR غير المتزامن – استخراج النص من صورة python](https://example.com/async-ocr-diagram.png "تدفق OCR غير المتزامن – استخراج النص من صورة python") + +## الخطوة 1 – إعداد الدالة المساعدة غير المتزامنة + +قلب الحل هو دالة `async` تقوم بتحميل الصورة، بدء OCR، ثم انتظار النتيجة. إبقاء الدالة غير متزامنة يعني أنه يمكنك تشغيل كوروتينات أخرى (مثل تنزيل ملفات إضافية) بينما يعمل محرك OCR في الخلفية. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**لماذا هذا مهم:** بإرجاع `Future`، يقوم Aspose OCR بالعمل الثقيل في مجموعة خيوط منفصلة. `await` يحرّر حلقة الأحداث، لذا يظل تطبيقك سريع الاستجابة. إذا احتجت إلى معالجة العديد من الصور في وقت واحد، يمكنك ببساطة جدولة عدة استدعاءات `async_ocr` باستخدام `asyncio.gather`. + +## الخطوة 2 – تشغيل Coroutine في حلقة الأحداث + +الآن بعد أن لدينا الدالة المساعدة، نحتاج إلى تنفيذها. `asyncio.run` ينشئ حلقة أحداث جديدة، يشغّل الـ coroutine، ثم يغلق كل شيء بنظافة. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**نصيحة احترافية:** إذا كنت تدمج هذا في تطبيق async أكبر (مثل FastAPI)، ستستدعي `await async_ocr(...)` مباشرةً بدلاً من `asyncio.run`. + +## الخطوة 3 – التحقق من الناتج + +عند تشغيل السكريبت، يجب أن ترى شيئاً مشابهًا لـ: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +إذا كان الناتج مشوشًا، تحقق من التالي: + +1. الصورة واضحة وليست مضغوطة بشكل مفرط. +2. لقد اخترت اللغة الصحيحة (`ocr.Language.ENGLISH` تعمل لمعظم النصوص اللاتينية). +3. مسار الملف صحيح والملف قابل للقراءة. + +## الخطوة 4 – معالجة الحالات الحدية + +### لغات متعددة + +إذا كنت بحاجة إلى **تحويل الصورة الممسوحة إلى نص** بلغة غير الإنجليزية، فقط غيّر خاصية اللغة: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### ملفات كبيرة + +بالنسبة لملفات TIFF الكبيرة جدًا، فكر في تغيير حجمها أو تحويلها إلى PNG منخفض الدقة قبل تمريرها إلى OCR. هذا يقلل من ضغط الذاكرة ويسرّع المعالجة. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### معالجة الأخطاء + +احطِ استدعاء OCR بكتلة `try/except` لالتقاط الأخطاء المتعلقة بالشبكة أو الترخيص. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## الخطوة 5 – التوسع: معالجة العديد من الصور بشكل متزامن + +نظرًا لأن الدالة غير متزامنة، يمكنك إطلاق عشرات مهام OCR في آن واحد: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +هذا النمط يبقي وحدة المعالجة المركزية مشغولة بينما يعمل محرك OCR بالتوازي، مما يقلل بشكل كبير من الوقت الإجمالي للمعالجة. + +## الخلاصة + +أصبح لديك الآن حل قوي لـ **استخراج النص من صورة Python** يستفيد من واجهة Aspose OCR غير المتزامنة. المثال الكامل يوضح كيف: + +1. تهيئة محرك OCR واختيار اللغة. +2. إطلاق OCR بشكل غير متزامن باستخدام `process_async`. +3. انتظار النتيجة دون حجز حلقة الأحداث. +4. معالجة المشكلات الشائعة مثل الملفات الكبيرة ودعم متعدد اللغات. + +لا تتردد في تعديل الكود ليتناسب مع خطوط عملك—سواء كنت تبني نظام إدارة مستندات، فهرس بحث، أو أداة سطر أوامر بسيطة. الخطوات التالية قد تشمل: + +- تخزين النص المستخرج في قاعدة بيانات للبحث النصي الكامل. +- إضافة توليد PDF (مثلاً باستخدام `PyPDF2`) لإنشاء ملفات PDF قابلة للبحث. +- دمج مع إطار ويب مثل FastAPI لتوفير خدمة OCR RESTful. + +برمجة سعيدة، واستمتع بتحويل تلك الصور الممسوحة إلى نص قابل للبحث والتحرير! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/arabic/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..58c19467 --- /dev/null +++ b/ocr/arabic/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,215 @@ +--- +category: general +date: 2026-01-12 +description: كيفية تنفيذ التعرف الضوئي على الأحرف (OCR) للصور دفعةً واحدة بسرعة واستخراج + النص من ملفات JPEG باستخدام بايثون. تعلم المعالجة الدفعية خطوة بخطوة مع مثال كامل + قابل للتنفيذ. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: ar +og_description: كيفية معالجة مجموعة من الصور عبر OCR واستخراج النص من ملفات JPEG. + يوضح هذا الدليل خطوة بخطوة حلًا كاملًا وجاهزًا للتنفيذ بلغة بايثون. +og_title: كيفية تنفيذ التعرف الضوئي على الحروف للصور دفعةً واحدة – دليل بايثون سريع +tags: +- OCR +- Python +- image processing +title: كيفية إجراء OCR للصور على دفعات – دليل سريع لاستخراج النص من ملفات JPEG +url: /ar/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية معالجة صور OCR دفعةً – دليل سريع لاستخراج النص من ملفات JPEG + +هل تساءلت يومًا **كيف تقوم بمعالجة صور OCR دفعةً** دون كتابة سكريبت منفصل لكل ملف؟ لست وحدك. في العديد من المشاريع—مسح الفواتير، الرقمنة الأرشيفية، أو مراقبة المحتوى—نحتاج إلى استخراج النص من العشرات أو المئات من ملفات JPEG دفعة واحدة. الخبر السار هو أنه يمكنك القيام بذلك ببضع أسطر من بايثون فقط، وستحصل على محرك قابل لإعادة الاستخدام يمكنك إدراجه في أي خط أنابيب. + +في هذا الدرس سنوضح لك بالضبط **كيف تقوم بمعالجة صور OCR دفعةً**، ثم نستعرض استخراج النص من ملفات JPEG، ومعالجة الحالات الخاصة، والتحقق من النتيجة. بنهاية الدرس ستحصل على سكريبت مستقل يمكنك تشغيله على أي مجلد يحتوي على صور، وستفهم لماذا تُعد المعالجة الدفعية مهمة للأداء وسهولة الصيانة. + +## ما ستتعلمه + +- إعداد محرك OCR بسيط وتكوينه للغة الإنجليزية. +- جمع جميع ملفات JPEG من دليل باستخدام `pathlib`. +- استدعاء محرك OCR مرة واحدة لمعالجة الدفعة بالكامل. +- عرض معاينة للنص المُستخرج لكل صورة. +- نصائح للتعامل مع دفعات كبيرة، لغات مختلفة، ومشكلات شائعة. + +**المتطلبات المسبقة**: Python 3.8+، مكتبة `ocr` (أو أي غلاف متوافق)، ومجلد يحتوي على صور JPEG تريد تحليلها. لا تحتاج إلى خدمات خارجية—كل شيء يعمل محليًا. + +--- + +## الخطوة 1: تهيئة محرك OCR – جوهر كيفية معالجة صور OCR دفعةً + +قبل أن نتمكن من **معالجة صور OCR دفعةً**، نحتاج إلى محرك يعرف كيف يقرأ النص. في معظم المكتبات تقوم بإنشاء كائن محرك، وتحديد اللغة اختياريًا، ثم تعيد استخدامه لكل ملف. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*لماذا هذا مهم*: تهيئة المحرك مرة واحدة تجنّب عبء تحميل نماذج اللغة مرارًا. كما يتيح لك تعديل الإعدادات (مثل DPI، أو قائمة الأحرف المسموح بها) في مكان واحد لتطبيقها على الدفعة بأكملها. + +> **نصيحة احترافية**: إذا كنت تخطط لمعالجة مستندات متعددة اللغات، غيّر `ocr.Language.ENGLISH` إلى `ocr.Language.MULTI` أو حمّل حزم لغات متعددة قبل بدء الدفعة. + +--- + +## الخطوة 2: جمع جميع ملفات JPEG – جزء “استخراج النص من ملفات JPEG” + +الآن بعد أن أصبح المحرك جاهزًا، نحتاج إلى إخباره بأي الصور سيعمل عليها. استخدام `pathlib` يجعل الكود مستقلًا عن النظام ومختصرًا. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*لماذا هذا مهم*: بجمع قائمة الملفات أولًا، يمكننا تمرير المجموعة كاملة إلى محرك OCR في استدعاء واحد—وهذا ما يعنيه **معالجة صور OCR دفعةً**. إذا كان لديك مجلدات فرعية، يمكنك تعديل `glob("**/*.jpg")` للبحث بصورة متكررة. + +> **حالة خاصة**: إذا كانت صورك تحمل امتدادات مختلطة (`.jpeg`, `.JPG`)، وسّع نمط الـ glob إلى: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## الخطوة 3: معالجة الدفعة بالكامل في استدعاء واحد – القوة الحقيقية للمعالجة الدفعية + +معظم مكتبات OCR الحديثة توفر طريقة `process_batch` (أو ما شابه) تقبل مجموعة من مسارات الملفات. هذه هي قلب **معالجة صور OCR دفعةً** بكفاءة. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*لماذا هذا مهم*: استدعاء دفعة واحد يقلل عدد التحولات بين بايثون وC، يبقي نموذج اللغة محملاً في الذاكرة، وغالبًا ما يتيح تنفيذًا متوازيًا داخليًا. النتيجة هي قائمة من الكائنات—كل منها يحتوي على النص المستخرج وتقييمات الثقة. + +> **ملاحظة أداء**: للدفعات الضخمة جدًا (آلاف الصور)، فكر في تقسيم القائمة إلى أجزاء أصغر (مثلاً 200 ملف) لتجنب استهلاك الذاكرة الزائد. + +--- + +## الخطوة 4: عرض معاينة للنص المستخرج – تحقق سريع + +بعد انتهاء المعالجة الدفعية، من المفيد إلقاء نظرة على أول بضعة أحرف من كل نتيجة. هذا يساعدك على التأكد من أن OCR يَستخرج النص فعلاً من ملفات JPEG. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*لماذا هذا مهم*: المعاينة القصيرة تتيح لك اكتشاف الأخطاء الواضحة (مثل ناتج فارغ أو أحرف مشوهة) دون فتح كل ملف. إذا لاحظت مشكلات منهجية، يمكنك تعديل إعدادات المحرك وإعادة تشغيل الدفعة. + +> **مشكلة شائعة**: نسيان إزالة أحرف السطر الجديد قد يجعل المعاينة فوضوية. السطر `replace("\n", " ")` ينظّف ذلك. + +--- + +## مثال عملي كامل – دمج جميع الخطوات + +فيما يلي السكريبت الكامل الذي يمكنك نسخه، تعديل مسار الدليل، وتشغيله. يوضح كامل سير عمل **معالجة صور OCR دفعةً** من البداية إلى النهاية. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**الناتج المتوقع** (عينة): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +إذا أظهرت المعاينة نصًا ذا معنى، فقد نجحت في **استخراج النص من ملفات JPEG** باستخدام نهج دفعي. + +--- + +## التعامل مع دفعات كبيرة وسيناريوهات متقدمة + +### تقسيم الأحمال الكبيرة +عند التعامل مع آلاف الصور، قد يصبح الذاكرة عنق زجاجة. قسّم القائمة إلى أجزاء أصغر: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### تغيير اللغات +إذا كانت مستنداتك تحتوي على الفرنسية أو الإسبانية، غيّر اللغة قبل بدء الدفعة: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### حفظ النتائج على القرص +بدلاً من الطباعة، قد ترغب في كتابة كل نتيجة OCR إلى ملف `.txt`: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## الخلاصة + +أنت الآن تعرف **كيف تقوم بمعالجة صور OCR دفعةً** وتستخرج النص من ملفات JPEG باستخدام سكريبت بايثون مختصر. بتهيئة المحرك مرة واحدة، جمع مسارات JPEG، معالجتها في دفعة واحدة، ومعاينة النتائج، تحقق السرعة والبساطة. من هنا يمكنك توسيع سير العمل—إضافة دعم متعدد اللغات، تخزين النتائج في قاعدة بيانات، أو دمج السكريبت في خط أنابيب معالجة مستندات أكبر. + +هل أنت مستعد للخطوة التالية؟ جرّب استبدال مكتبة `ocr` بـ Tesseract، جرب معالجة مسبقة مختلفة للصور (مثل العتبة أو تغيير الحجم)، أو أدخل النص المستخرج إلى نموذج معالجة لغة طبيعية لتصنيف تلقائي. السماء هي الحد، ولديك الآن أساس قوي للبناء عليه. + +برمجة سعيدة، ولتكن دفعات OCR خالية من الأخطاء دائمًا! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/arabic/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..ba8413b8 --- /dev/null +++ b/ocr/arabic/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,133 @@ +--- +category: general +date: 2026-01-12 +description: كيفية اكتشاف اللغة في الصور باستخدام Aspose OCR – تعلم استخراج النص من + الصورة، التعامل مع OCR للغات المختلطة واستخدام OCR في بايثون. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: ar +og_description: كيفية اكتشاف اللغة في الصور باستخدام Aspose OCR – دليل خطوة بخطوة + لاستخراج النص من الصورة ومعالجة OCR للغات المختلطة. +og_title: كيفية اكتشاف اللغة باستخدام OCR للنص المختلط +tags: +- OCR +- Python +- Aspose +title: كيفية اكتشاف اللغة باستخدام OCR للنص المختلط +url: /ar/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية اكتشاف اللغة باستخدام OCR للنص المختلط + +اكتشاف اللغة في الصور باستخدام Aspose OCR هو تحدٍ شائع عند التعامل مع مستندات متعددة اللغات. هل تساءلت يومًا **how to extract text from image** التي تحتوي على كل من الإنجليزية والفرنسية في نفس الصفحة؟ في هذا الدرس سنستعرض مثالًا كاملاً وقابلاً للتنفيذ يوضح لك بالضبط كيفية استخدام OCR لتحديد اللغة، استخراج النص، ومعالجة سيناريوهات اللغات المختلطة بسهولة. + +سنغطي كل ما تحتاج إلى معرفته: إعداد محرك Aspose OCR، إبلاغه باللغات التي يجب النظر فيها، تحميل صورة فاتورة نموذجية، تشغيل عملية OCR، وأخيرًا طباعة اللغة المكتشفة مع النص المستخرج. في النهاية ستتمكن من الإجابة على سؤال “how to use OCR for mixed language OCR” في مشاريعك الخاصة، سواء كنت تبني خط أنابيب للفوترة، أو ماسح إيصالات، أو أداة أرشفة مستندات. + +> **المتطلبات المسبقة** – يجب أن يكون لديك Python 3.8+ مثبتًا، ومعرفة أساسية بـ pip، ورخصة Aspose OCR (الإصدار التجريبي المجاني يعمل لهذا العرض). لا توجد مكتبات خارجية أخرى مطلوبة. + +--- + +## كيفية اكتشاف اللغة باستخدام Aspose OCR + +الخطوة الأولى هي إنشاء نسخة من محرك OCR وإبلاغه باللغات التي يجب أن يبحث عنها. يستخدم Aspose OCR قناعًا بتيًا (bit‑mask) لدمج اللغات، مما يجعل من السهل دعم الإنجليزية، الفرنسية، الإسبانية، أو أي تركيبة تحتاجها. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**لماذا هذا مهم:** تهيئة المحرك هي الأساس. بدونها لا يمكنك استدعاء أي طرق OCR، والمحرك يحمل جميع الإعدادات التي تحدد مدى قدرته على **detect language** لاحقًا. + +## استخراج النص من الصورة باستخدام OCR + +الآن نحتاج إلى إبلاغ المحرك باللغات الممكنة. من خلال ضبط قناع بتّي `ENGLISH | FRENCH` نُمكّن المحرك من اختيار الأنسب تلقائيًا لكل منطقة من الصورة. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**لماذا هذا مهم:** تمكين `auto_detect_language` هو جوهر **how to detect language** في مستند متعدد اللغات. يقوم المحرك بمسح النص، وتقييم كل لغة، وإرجاع اللغة ذات أعلى مستوى ثقة. إذا تخطيت هذه الخطوة ستضطر لتخمين اللغة بنفسك، مما يُبطل هدف OCR للغات المختلطة. + +## تكوين إعدادات OCR للغات المختلطة + +قبل أن نمرّر صورة إلى المحرك، يجب تحميلها. يعمل Aspose OCR مع فئته الخاصة `Image`، التي تُجرد تنسيق الملف الأساسي. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **نصيحة:** حافظ على دقة الصورة حوالي 300 dpi للحصول على أفضل النتائج. الدقة المنخفضة قد تتسبب في فشل اكتشاف اللغة في التعرف على الأحرف الدقيقة، خاصة الأحرف الفرنسية ذات النطق المشدد. + +## تشغيل عملية OCR والحصول على النتائج + +بعد تكوين المحرك وتحميل الصورة، يمكننا أخيرًا تشغيل عملية OCR. تُعيد طريقة `process` كائن `OcrResult` الذي يحتوي على كل من رمز اللغة المكتشفة والنص المستخرج بالكامل. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**الناتج المتوقع** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +إذا احتوت الصورة على أقسام فرنسية، ستظهر `FRENCH` كلغة مكتشفة والنص الفرنسي المقابل مطبوعًا. + +## مثال على الصورة (نص بديل لتحسين محركات البحث) + +![كيفية اكتشاف اللغة في OCR للغات المختلطة](mixed_lang_invoice.png) + +*تظهر اللقطة أعلاه فاتورة نموذجية تحتوي على كل من النص الإنجليزي والفرنسي، توضح كيف يمكن لمحرك OCR **detect language** واستخراج المحتوى في خطوة واحدة.* + +## المشكلات الشائعة والنصائح الاحترافية + +| المشكلة | لماذا يحدث | كيفية الإصلاح / التخفيف | +|---------|------------|--------------------------| +| **مسح غير واضح أو منخفض الدقة** | لا يستطيع المحرك تمييز الأحرف، مما يؤدي إلى اكتشاف لغة خاطئ. | امسح بدقة ≥300 dpi، وطبق تحسين الصورة قبل OCR. | +| **لغة مفقودة في القناع البتي** | إذا نسيت تضمين لغة، سيعود المحرك إلى أول تطابق، غالبًا ما يعطي نتائج غير دقيقة. | دائمًا قم بإدراج كل لغة تتوقعها؛ يمكنك دمج العديد باستخدام عامل `|`. | +| **خطوط مختلطة (مثال: لاتيني + سيريلي)** | قد يحتاج Aspose OCR إلى حزم لغات منفصلة. | قم بتثبيت حزم لغات إضافية وأضفها إلى القناع. | +| **ملفات كبيرة تسبب ارتفاع الذاكرة** | تحميل صورة ضخمة إلى الذاكرة قد يتسبب في تعطل السكريبت. | استخدم `Image.resize` لتقليل الحجم مع الحفاظ على DPI، أو عالج الصورة على شكل بلاطات. | + +**نصيحة احترافية:** بعد الحصول على النص الخام، نفّذ خطوة معالجة لاحقة سريعة لتطبيع الفراغات وفواصل الأسطر. هذا يجعل التحليل اللاحق (مثل استخراج أرقام الفواتير) أبسط بكثير. + +## الخلاصة: ما تعلمته + +أنت الآن تعرف **how to detect language** في صورة متعددة اللغات باستخدام Aspose OCR، وقد رأيت مثالًا كاملاً من البداية إلى النهاية يُظهر أيضًا **how to extract text from image**. من خلال تكوين قناع اللغة البتي، وتمكين الاكتشاف التلقائي، ومعالجة كائن النتيجة، يمكنك معالجة الفواتير، الإيصالات، أو أي مستند يخلط الإنجليزية والفرنسية (أو لغات أخرى) بثقة. + +### الخطوات التالية + +- جرّب إضافة **how to extract text** من ملفات PDF عن طريق تحويل كل صفحة إلى صورة أولاً. +- جرب الكلمات المفتاحية الثانوية الأخرى: استكشف كامل واجهة برمجة التطبيقات **how to use OCR**، مثل ضبط مناطق OCR لمعالجة أسرع. +- تعمّق في حالات **mixed language OCR** الأكثر تعقيدًا، مثل المستندات التي تتنقل بين ثلاث لغات أو أكثر. + +لا تتردد في تعديل الكود، واختباره على صورك الخاصة، ودع المحرك يقوم بالعمل الشاق. إذا واجهت أي مشاكل، اترك تعليقًا أدناه—برمجة سعيدة! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/arabic/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..c3c69528 --- /dev/null +++ b/ocr/arabic/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: تعلم كيفية إجراء التعرف الضوئي على الحروف (OCR) لملفات PDF باستخدام بايثون + وجعل ملفات PDF قابلة للبحث بسرعة. تحويل ملفات PDF الممسوحة ضوئياً، استخراج نص PDF، + واستخدام OCR لملفات PDF الممسوحة ضوئياً في بايثون باستخدام Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: ar +og_description: كيفية التعرف الضوئي على النص في ملفات PDF باستخدام بايثون؟ يوضح لك + هذا الدليل خطوة بخطوة كيفية تحويل ملفات PDF الممسوحة ضوئياً إلى ملفات PDF قابلة + للبحث واستخراج النص باستخدام Aspose OCR. +og_title: كيفية تحويل PDF إلى نص قابل للبحث باستخدام OCR – دليل بايثون +tags: +- OCR +- Python +- PDF processing +title: كيفية تحويل PDF إلى نص قابل للبحث باستخدام OCR – دليل بايثون +url: /ar/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية تحويل PDF إلى نص قابل للبحث باستخدام OCR – دليل بايثون + +هل تساءلت يومًا **كيفية تحويل PDF إلى نص باستخدام OCR** دون إنفاق ثروة على برامج تجارية؟ لست وحدك. يواجه العديد من المطورين صعوبة عندما يحتاجون إلى تحويل عقد ممسوح ضوئيًا، أو فاتورة، أو أي PDF يعتمد على الصور إلى مستند قابل للبحث. الخبر السار؟ ببضع أسطر من بايثون و Aspose OCR يمكنك تحويل PDF الممسوح ضوئيًا، استخراج نص PDF، وأخيرًا جعل PDF قابلًا للبحث في دقائق. + +في هذا الدرس سنستعرض كل ما تحتاجه: من تثبيت المكتبة، ضبط اللغة، معالجة PDF ممسوح ضوئيًا، إلى حفظ النتيجة كملف PDF قابل للبحث يحتوي على الصورة الأصلية وطبقة نص مخفية. في النهاية ستحصل على سكريبت قابل لإعادة الاستخدام يمكنك إدراجه في أي مشروع—بدون الحاجة إلى النسخ واللصق يدويًا. + +--- + +## ما ستحتاجه + +- **Python 3.8+** (الكود يعمل على 3.9، 3.10، والإصدارات الأحدث) +- رخصة **Aspose OCR for Python** سارية (إصدار تجريبي مجاني للتجربة) +- ملف PDF ممسوح ضوئيًا (مثال: `scanned_contract.pdf`) تريد جعله قابلًا للبحث +- إلمام أساسي بسطر الأوامر والبيئات الافتراضية (اختياري لكن يُنصح به) + +> **نصيحة احترافية:** إذا لم تكن لديك رخصة بعد، سجّل للحصول على تجربة مجانية لمدة 30 يومًا على موقع Aspose؛ النسخة التجريبية تعمل بكامل الوظائف لأغراض التطوير. + +--- + +## كيفية تحويل PDF إلى نص باستخدام Aspose OCR (الكلمة المفتاحية الأساسية في H2) + +الخطوة الأولى هي الحصول على الحزمة المناسبة. توفر Aspose OCR واجهة برمجة تطبيقات عالية المستوى تُبسط تفاصيل معالجة الصور منخفضة المستوى. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +بعد تثبيت الحزمة، يمكنك البدء بكتابة السكريبت. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **لماذا ضبط اللغة؟** +> تعتمد دقة OCR بشكل كبير على نموذج اللغة. من خلال إخبار المحرك صراحةً أنه يتوقع نصًا إنجليزيًا، تقلل الإيجابيات الكاذبة وتسرّع عملية المعالجة. + +--- + +## الخطوة 2: تحويل PDF الممسوح ضوئيًا إلى PDF قابل للبحث + +الآن بعد أن أصبح المحرك جاهزًا، وجهه إلى المستند الممسوح. تُعيد طريقة `process_pdf` كائنًا من نوع `PdfResult` يحتوي على بيانات الصورة الأصلية والنص المُعترف به. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +إذا كنت بحاجة إلى **تحويل ملفات PDF ممسوحة ضوئيًا** دفعة واحدة، ما عليك سوى تكرار العملية على مجلد واستدعاء `process_pdf` لكل ملف. يتعامل المحرك مع ملفات PDF متعددة الصفحات مباشرةً. + +--- + +## الخطوة 3: حفظ النتيجة كملف PDF قابل للبحث (Make PDF Searchable) + +القطعة الأخيرة من اللغز هي حفظ النسخة القابلة للبحث. تجعل Aspose OCR ذلك سطرًا واحدًا: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +عند فتح `contract_searchable.pdf` في أي عارض PDF، سترى الصورة الممسوحة الأصلية، لكن الآن يمكنك **البحث عن أي كلمة** تعرفها محرك OCR. طبقة النص المخفية غير مرئية للعين لكنها قابلة للفهرسة بالكامل. + +--- + +### السكريبت الكامل – جاهز للتنفيذ + +فيما يلي المثال الكامل القابل للتنفيذ. انسخه والصقه في ملف باسم `make_searchable.py` وعدّل المسارات لتتناسب مع بيئتك. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**الناتج المتوقع:** +عند تشغيل السكريبت سيطبع سطر تأكيد وينشئ `contract_searchable.pdf`. افتح الملف، اضغط `Ctrl + F`، واكتب أي كلمة تظهر في الصورة الممسوحة الأصلية—ستظهر النتائج فورًا. + +--- + +## أسئلة شائعة وحالات خاصة + +### 1. ماذا لو كان PDF يحتوي على لغات متعددة؟ + +يمكنك تمرير قائمة باللغات إلى المحرك: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +ستحاول Aspose OCR التعرف على النص في كلتا اللغتين على نفس الصفحة. + +### 2. كيف أتعامل مع المسحات منخفضة الدقة؟ + +إذا كانت الصور المصدر أقل من 150 dpi، قد تتأثر دقة OCR. قم بمعالجة PDF مسبقًا باستخدام أداة مثل `pdfimages` لاستخراج الصفحات، ثم قم بزيادة الدقة باستخدام Pillow، وأعد تغذية الصور ذات الدقة الأعلى إلى `process_pdf`. + +### 3. هل يمكن استخراج النص العادي دون إنشاء PDF قابل للبحث؟ + +بالطبع. يُظهر كائن `PdfResult` خاصية `text`: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +هذا يلبي حالة الاستخدام **استخراج نص PDF** عندما تحتاج فقط إلى الأحرف الخام. + +### 4. هل هناك طريقة لمعالجة مجموعة من ملفات PDF دفعة واحدة؟ + +نعم—غلف دالة `ocr_to_searchable` في حلقة بسيطة: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +الآن يمكنك **تحويل ملفات PDF ممسوحة ضوئيًا** جماعيًا بأمر واحد. + +--- + +## نصائح للأداء + +- **إعادة استخدام المحرك**: إنشاء كائن `OcrEngine` جديد لكل ملف يضيف عبئًا. أنشئه مرة واحدة وأعد استخدامه عبر عدة استدعاءات. +- **المعالجة المتوازية**: للدفعات الكبيرة، استخدم `concurrent.futures.ThreadPoolExecutor` في بايثون—Aspose OCR آمن للقراءة المتعددة الخيوط. +- **إدارة الذاكرة**: إذا كنت تعالج PDF كبيرًا جدًا (مئات الصفحات)، استدعِ `gc.collect()` بعد كل ملف لتحرير الذاكرة. + +--- + +## الخلاصة + +غطينا **كيفية تحويل PDF إلى نص باستخدام OCR** في بايثون، وحولنا تلك المسحات إلى **PDFات قابلة للبحث**، وأظهرنا لك أيضًا كيفية **استخراج نص PDF** مباشرة. مع Aspose OCR تحصل على محرك موثوق يدعم المستندات متعددة الصفحات، اللغات المتعددة، وتعرف عالي الدقة—كل ذلك ببضع أسطر من الكود فقط. + +جرّبه على عقودك، فواتيرك، أو أوراق البحث المؤرشفة. بمجرد إتقان الأساسيات، استكشف الميزات المتقدمة—مثل القواميس المخصصة، معالجة الصور المسبقة، أو دمج النتيجة في فهرس بحث نص كامل مثل Elasticsearch. + +هل لديك المزيد من الأسئلة حول **ocr scanned pdf python** أو تحتاج مساعدة في حل مشكلة مسح صعبة؟ اترك تعليقًا أدناه، وبرمجة سعيدة! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="مثال على كيفية OCR PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/arabic/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..275a01a2 --- /dev/null +++ b/ocr/arabic/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-01-12 +description: كيفية تنفيذ OCR بسرعة ودقة. تعلم تشغيل OCR على المستند، استخراج النص + من ملف TIFF، تحميل الصورة للـ OCR وتعيين لغة OCR في بايثون. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: ar +og_description: كيفية تنفيذ التعرف الضوئي على الأحرف (OCR) في بايثون. يوضح لك هذا + الدليل كيفية تشغيل OCR على المستند، استخراج النص من ملف TIFF، تحميل الصورة للتعرف + الضوئي على الأحرف وتحديد لغة OCR. +og_title: كيفية تنفيذ OCR على مستند TIFF – دليل شامل +tags: +- OCR +- Python +- Image Processing +title: كيفية تنفيذ التعرف الضوئي على الأحرف (OCR) في مستند TIFF – دليل خطوة بخطوة +url: /ar/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية إجراء OCR على مستند TIFF – دليل كامل + +هل تساءلت يومًا **كيف تقوم بإجراء OCR** على ملف TIFF ممسوح ضوئيًا دون قضاء ساعات في البحث عن المكتبة المناسبة؟ لست وحدك. يواجه العديد من المطورين صعوبة عندما يحتاجون إلى استخراج النص من صور TIFF، خاصة عندما تكون الأداء وإعدادات اللغة مهمة. + +في هذا الدرس سنستعرض كل ما تحتاج معرفته: من تثبيت حزمة OCR، تحميل الصورة لإجراء OCR، ضبط لغة OCR، وحتى **تشغيل OCR على المستند** واستخراج نص نظيف. بنهاية الدرس ستحصل على سكريبت جاهز للتنفيذ يمكنك إدراجه في أي مشروع. + +> **نصيحة احترافية:** بينما يستخدم المثال وحدة `ocr` عامة، فإن نفس المفاهيم تنطبق على Tesseract، EasyOCR، أو أي محرك OCR حديث يقدم واجهة برمجة تطبيقات Python. + +## ما ستحتاجه + +- Python 3.8+ (أي نسخة حديثة تعمل) +- مكتبة OCR توفر فئة `OcrEngine` (العينة تستخدم حزمة `ocr` خيالية؛ استبدلها بالحزمة الفعلية التي تستخدمها) +- ملف TIFF متعدد الصفحات تريد معالجته (سنسميه `big_document.tif`) +- جهاز يحتوي على الأقل على 4 نوى CPU إذا كنت تخطط لتحديد عدد الخيوط + +بدون خدمات خارجية، بدون مفاتيح سحابة—فقط كود محلي يعمل في ثوانٍ. + +![كيفية إجراء OCR على مستند TIFF – معاينة للنص المستخرج](/images/ocr-example.png "كيفية إجراء OCR على مستند TIFF") + +*نص بديل للصورة: كيفية إجراء OCR على مستند TIFF – معاينة للنص المستخرج.* + +## الخطوة 1: تثبيت واستيراد مكتبة OCR + +أولًا: احصل على المكتبة على جهازك. معظم حزم OCR موجودة على PyPI، لذا فإن أمر `pip install` البسيط يكفي. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +الآن استورد الفئات التي ستحتاجها. إذا كنت تستخدم Tesseract، فإن سطر الاستيراد سيختلف، لكن باقي الكود يبقى كما هو. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*لماذا هذا مهم:* استيراد الرموز الصحيحة مبكرًا يمنع تصادم الأسماء لاحقًا ويجعل السكريبت أسهل للقراءة. + +## الخطوة 2: إنشاء وتكوين محرك OCR (ضبط لغة OCR) + +تكوين المحرك هو المكان الذي **تضبط فيه لغة OCR** للحصول على التعرف الدقيق. الإنجليزية هي الافتراضية، لكن يمكنك التبديل إلى الفرنسية أو الألمانية أو حتى وضع متعدد اللغات بسطر واحد. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **لماذا 4 خيوط؟** معظم الحواسيب المحمولة الحديثة تحتوي على أربعة نوى على الأقل، وتحديد عدد الخيوط يمنع عملية OCR من استهلاك كامل موارد الجهاز—مفيد خصوصًا عندما يعمل السكريبت على خادم مشترك. + +إذا كنت بحاجة إلى لغة أخرى، فقط استبدل `ocr.Language.ENGLISH` بـ `ocr.Language.FRENCH` أو `ocr.Language.SPANISH`، إلخ. + +## الخطوة 3: تحميل الصورة لإجراء OCR (Load Image for OCR) + +الآن نقوم **بتحميل الصورة لإجراء OCR**. طريقة `Image.load` تقرأ ملف TIFF إلى الذاكرة، وتتعامل مع المستندات متعددة الصفحات تلقائيًا. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*حالة حافة:* إذا كان الملف كبيرًا، قد تنفد الذاكرة RAM. في هذه الحالة، فكر في تحميل صفحة واحدة في كل مرة باستخدام `Image.load_page(page_number)` (إذا كانت المكتبة تدعم ذلك). + +## الخطوة 4: تشغيل OCR على المستند + +مع جاهزية المحرك وتحميل الصورة، حان الوقت لـ **تشغيل OCR على المستند**. طريقة `process` تقوم بالعمل الشاق وتعيد كائن نتيجة. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +خلف الكواليس، يقوم المحرك بتقسيم الصورة إلى كتل نصية، تشغيل نموذج التعرف، وتجميع النتائج معًا. الاستدعاء حجب (blocking)، مما يعني أن السكريبت ينتظر حتى يتم معالجة كامل ملف TIFF—مثالي للمهام الدفعية. + +## الخطوة 5: استخراج النص من TIFF والتحقق من المخرجات + +أخيرًا، نقوم **باستخراج النص من TIFF** عبر الوصول إلى خاصية `text` في النتيجة. لنطبع أول 200 حرف كفحص سريع. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**الناتج المتوقع (مثال):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +إذا كنت بحاجة إلى النص الكامل، استخدم ببساطة `ocr_result.text`. للمعالجة اللاحقة قد ترغب في كتابة النص إلى ملف `.txt`: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +## مثال كامل يعمل + +بجمع كل ذلك معًا، إليك سكريبت جاهز للتنفيذ. استبدل اسم الحزمة النائب بالاسم الذي قمت بتثبيته فعليًا. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +شغّل السكريبت باستخدام: + +```bash +python ocr_tiff_example.py +``` + +يجب أن ترى معاينة مطبوعة في وحدة التحكم وملفًا باسم `extracted_text.txt` يحتوي على النص الكامل. + +## أسئلة شائعة وحالات حافة + +- **ماذا لو كان TIFF يحتوي على عدة صفحات؟** + معظم محركات OCR تتعامل مع كل صفحة كصورة منفصلة داخليًا. `ocr_result.text` سيحتوي على سطر جديد بين الصفحات. إذا كنت تحتاج إلى معالجة كل صفحة على حدة، استخدم حلقة مع `Image.load_page(page_number)`. + +- **هل يمكنني معالجة PNG أو JPEG بدلاً من TIFF؟** + بالتأكيد. طريقة `Image.load` عادةً ما تقبل أي صيغة يدعمها Pillow أو المكتبة الأساسية. فقط غيّر امتداد الملف. + +- **النص مشوّه—هل يجب أن أغير اللغة؟** + نعم. خطوة **ضبط لغة OCR** ضرورية للوثائق غير الإنجليزية. تأكد من تثبيت حزمة اللغة (مثلاً `tesseract‑lang‑fra` للفرنسية). + +- **نفاد الذاكرة؟** + قلل `set_memory_limit` أو عالج الصفحات واحدةً تلو الأخرى. بعض المحركات تسمح أيضًا بتقليل حجم الصورة قبل التعرف. + +## الخاتمة + +ها قد حصلت على دليل مختصر وعامل بالكامل حول **كيفية إجراء OCR** على ملف TIFF باستخدام Python. غطينا كل شيء من تثبيت المكتبة، تكوين المحرك (بما في ذلك **ضبط لغة OCR**)، **تحميل الصورة لإجراء OCR**، **تشغيل OCR على المستند**، وأخيرًا **استخراج النص من TIFF**. + +لا تتردد في التجربة: عدّل عدد الخيوط، غيّر اللغات، أو أدخل مخرجات OCR في خط أنابيب معالجة اللغة الطبيعية. السماء هي الحد عندما تتقن الأساسيات. + +هل لديك أسئلة أخرى؟ اترك تعليقًا أدناه، وبرمجة سعيدة! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/arabic/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..32b8fc47 --- /dev/null +++ b/ocr/arabic/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,180 @@ +--- +category: general +date: 2026-01-12 +description: كيفية تعيين اللغة في Aspose OCR Python واستخراج النص من الصورة باستخدام + قاموس مخصص. دليل خطوة بخطوة للمطورين. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: ar +og_description: كيفية تعيين اللغة في Aspose OCR Python واستخراج النص من الصورة باستخدام + قاموس مخصص. تعلم سير العمل الكامل في دقائق. +og_title: كيفية ضبط اللغة في Aspose OCR Python – دليل كامل +tags: +- OCR +- Python +- Aspose +- Image Processing +title: كيفية تعيين اللغة في Aspose OCR Python – دليل كامل +url: /ar/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية تعيين اللغة في Aspose OCR Python – دليل كامل + +هل تساءلت يومًا **كيفية تعيين اللغة** عند استخدام Aspose OCR في Python؟ لست وحدك—العديد من المطورين يواجهون هذه المشكلة عندما لا يتعرف نموذج اللغة الإنجليزية الافتراضي على رموز المنتجات، أرقام السيريال، أو النصوص متعددة اللغات. الخبر السار هو أن الحل بسيط وقوي في آنٍ واحد. في هذا الدرس سنستعرض كيفية ضبط اللغة، إضافة قاموس مخصص، استخراج النص من صورة، وأخيرًا معالجة الصورة للحصول على أفضل نتائج OCR. + +سنغطي كل ما تحتاج معرفته: من تثبيت المكتبة إلى تشغيل مثال كامل يطبع النص المستخرج. في النهاية ستتمكن من **استخراج النص من صورة** بثقة، حتى عندما يحتوي المحتوى على رموز غير عادية أو لغات مختلطة. + +## المتطلبات المسبقة + +قبل أن نبدأ، تأكد من وجود ما يلي: + +* Python 3.8+ مثبت (الكود يستخدم f‑strings، لذا الإصدارات الأقدم لن تعمل). +* رخصة Aspose OCR for Python سارية أو مفتاح تجربة مجانية. +* حزمة `asposeocr` مثبتة عبر `pip install asposeocr`. +* صورة نموذجية (`product_label.png`) تحتوي على النص الذي تريد قراءته. + +إذا كان لديك كل هذه العناصر، رائع—لننتقل إلى الخطوة التالية. إذا لم يكن كذلك، احصل على نسخة التجربة المجانية من موقع Aspose وشغّل أمر التثبيت؛ سيستغرق الأمر دقيقة واحدة فقط. + +## الخطوة 1: استيراد وحدة Aspose OCR + +الخطوة الأولى هي جلب فئات OCR إلى سكريبتك. هذا هو الأساس لـ **كيفية تعيين اللغة** لاحقًا. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **نصيحة احترافية:** ضع عمليات الاستيراد في أعلى الملف. هذا يجعل قراءة السكريبت أسهل، خاصةً عندما تعود إليه لاحقًا. + +## الخطوة 2: كيفية تعيين اللغة + +بشكل افتراضي، تفترض Aspose OCR أن النص إنجليزي. إذا كانت صورتك تحتوي على الفرنسية أو الألمانية أو أي لغة أخرى، عليك إخبار المحرك باللغة التي يجب استخدامها. هنا يبرز المفتاح الأساسي. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +لماذا هذا مهم؟ تعتمد محركات OCR على نماذج أحرف مخصصة للغة. توفير اللغة الصحيحة يحسن الدقة بشكل كبير—خاصةً للأحرف ذات اللكنات أو الروابط الخاصة باللغات. + +> **ملاحظة:** إذا كنت بحاجة لدعم لغات متعددة في آنٍ واحد، يمكنك تمرير قائمة مثل `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## الخطوة 3: كيفية إضافة قاموس (كلمات معرفة من قبل المستخدم) + +أحيانًا يخطئ محرك OCR في قراءة رموز المنتجات مثل “AB‑1234”. يمكنك زيادة الثقة بتزويده بقاموس مخصص. هذا يجيب مباشرةً على **كيفية إضافة القاموس** في Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +يتعامل المحرك مع هذه الكلمات كـ “معروفة” ويفضلها على الأحرف المتشابهة. هذا مفيد جدًا لأرقام SKU، رموز السيريال، أو أسماء العلامات التجارية التي لا تنتمي إلى لغة طبيعية. + +## الخطوة 4: كيفية معالجة الصورة + +بعد ضبط المحرك، تحتاج إلى تحميل الصورة التي تريد تحليلها. هذا يوضح **كيفية معالجة الصورة** بطريقة نظيفة وقابلة لإعادة الاستخدام. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +إذا كنت تتعامل مع ملفات PDF، يمكنك تحويل كل صفحة إلى صورة أولاً—Aspose OCR يدعم ذلك مباشرة. + +## الخطوة 5: كيفية استخراج النص من الصورة + +مع إعداد كل شيء، الخطوة الأخيرة هي تشغيل OCR واسترجاع النص. هذا هو جوهر **كيفية استخراج النص** من صورة. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +عند تشغيل السكريبت، يجب أن ترى شيئًا مشابهًا لـ: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +إذا كان الإخراج مشوشًا، تحقق مرة أخرى من أنك ضبطت اللغة الصحيحة وأن القاموس المخصص يحتوي على السلاسل الدقيقة التي تتوقعها. + +## مثال عملي كامل + +بجمع كل ما سبق، إليك السكريبت الكامل الذي يمكنك نسخه ولصقه في ملف باسم `extract_label.py`. تأكد من استبدال `YOUR_DIRECTORY` بالمسار الفعلي لصورتك. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### النتيجة المتوقعة + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +إذا رأيت الرموز الدقيقة التي أضفتها إلى القاموس، فقد نجحت في إتقان **كيفية تعيين اللغة**، **كيفية إضافة القاموس**، و**كيفية استخراج النص من صورة** باستخدام Aspose OCR. + +## التعامل مع الحالات الشائعة + +| الحالة | ما الذي يجب فعله | +|-----------|------------| +| **الصورة غير واضحة** | قم بالمعالجة المسبقة باستخدام `ocr.Image.apply_filter()` لتوضيح الصورة قبل استدعاء `process()`. | +| **عدة لغات في صورة واحدة** | اضبط `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **ملفات PDF كبيرة** | كرر العملية لكل صفحة، حوّلها إلى `ocr.Image`، واستدعِ `process()` لكل صفحة. | +| **حروف غير متوقعة** | أضفها إلى قائمة الكلمات المعرفة من قبل المستخدم؛ Aspose OCR يتعامل معها كرموز ذات ثقة عالية. | + +هذه النصائح تحافظ على قوة خط أنابيب OCR الخاص بك، حتى عندما لا تكون المدخلات مثالية. + +## مرجع بصري + +![كيفية تعيين اللغة في مثال Aspose OCR](image.png "لقطة شاشة توضح كيفية تعيين اللغة في مثال Aspose OCR Python") + +*نص بديل:* **كيفية تعيين اللغة** لقطة شاشة توضح تعيين خاصية اللغة في بيئة تطوير Python. + +## الخلاصة + +أنت الآن تعرف **كيفية تعيين اللغة** في Aspose OCR Python، وكيفية **إضافة القاموس**، والخطوات الدقيقة **لاستخراج النص من صورة** و**معالجة الصورة** للحصول على أفضل النتائج. يمكن إدراج المثال الكامل أعلاه في أي مشروع، وتعديله للغات مختلفة، وتوسيعه لمعالجة دفعات أو إدخال ملفات PDF. + +هل أنت مستعد للتحدي التالي؟ جرّب استبدال `ocr.Language.ENGLISH` بـ `ocr.Language.FRENCH` ولاحظ تحسين الدقة على الملصقات الفرنسية. أو جرب طريقة `set_user_defined_words` لتضمين كتالوج كامل من المنتجات—سيعامل محرك OCR كل إدخال كمطابقة ذات ثقة عالية. + +برمجة سعيدة، ولتكن نتائج OCR دائمًا واضحة كالكريستال! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/arabic/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..b7e3d61c --- /dev/null +++ b/ocr/arabic/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,211 @@ +--- +category: general +date: 2026-01-12 +description: معالجة الملاحظات المكتوبة بخط اليد في بايثون باستخدام Aspose OCR – تعلم + كيفية استخراج النص من صور JPG بسرعة. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: ar +og_description: معالجة الملاحظات المكتوبة بخط اليد في بايثون باستخدام Aspose OCR. + تعلّم كيفية استخراج النص من صور JPG، التعرف على الخط اليدوي عبر OCR، وتحميل الصور + للـ OCR. +og_title: معالجة الملاحظات المكتوبة بخط اليد باستخدام بايثون – دليل OCR كامل +tags: +- OCR +- Python +- Aspose +title: معالجة الملاحظات المكتوبة يدوياً باستخدام بايثون – دليل التعرف الضوئي على الحروف + المكتوبة يدوياً +url: /ar/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# معالجة الملاحظات المكتوبة بخط اليد باستخدام بايثون – دليل OCR للخط اليدوي + +إذا كنت بحاجة إلى **معالجة الملاحظات المكتوبة بخط اليد** في بايثون، فإن هذا الدليل يوضح لك بالضبط كيف تفعل ذلك. سواء كانت الملاحظات على إيصال ممسوح ضوئياً، أو صورة للسبورة في الصف، أو صورة سريعة لقائمة مهام، ستتعلم **كيفية استخراج النص** من تلك الصور دون عناء. + +سنستعرض كل خطوة — استيراد مكتبة Aspose OCR، تحميل ملف JPG، تشغيل المحرك، والتعامل مع السطور ذات الثقة المنخفضة. في النهاية ستحصل على سكريبت جاهز للتنفيذ يمكنه **التعرف على النص من ملفات jpg** وتزويدك بسلاسل نصية نظيفة وقابلة للاستخدام. + +## ما ستحصل عليه + +- عينة كود كاملة وقابلة للتنفيذ تعمل مباشرةً دون إعداد إضافي. +- فهم لماذا كل سطر مهم، وليس مجرد ما يفعله. +- نصائح للتعامل مع الخط الارتعاشي والنتائج ذات الثقة المنخفضة. +- إرشادات لتوسيع السكريبت لمعالجة ملفات PDF، أو صور متعددة، أو حزم لغات مخصصة. + +*المتطلبات المسبقة*: تثبيت Python 3.8+، وجود ترخيص صالح لـ Aspose OCR (أو تجربة مجانية)، وملف صورة باسم `handwritten_notes.jpg` في مجلد المشروع. + +--- + +![معالجة الملاحظات المكتوبة بخط اليد – صورة توضيحية تُظهر نصًا مكتوبًا بخط اليد جاهزًا لـ OCR](https://example.com/handwritten-notes.png "معالجة الملاحظات المكتوبة بخط اليد") + +*Alt text: معالجة الملاحظات المكتوبة بخط اليد – صورة توضيحية تُظهر نصًا مكتوبًا بخط اليد جاهزًا لـ OCR.* + +## معالجة الملاحظات المكتوبة بخط اليد: إعداد محرك OCR + +### لماذا هذه الخطوة مهمة +محرك OCR هو العقل وراء عملية التعرف. اختيار اللغة الصحيحة وتهيئة الكائن بشكل صحيح يضمن أن المحرك يعرف أنه يجب أن يبحث عن الأحرف الإنجليزية وأنه يستطيع التعامل مع خصوصيات الخط اليدوي. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**نصيحة احترافية:** إذا كنت تتوقع ملاحظات بلغة أخرى، استبدل `ocr.Language.ENGLISH` بالعدد المناسب (مثال: `ocr.Language.FRENCH`). سيقوم المحرك بتحميل مجموعة الأحرف المطلوبة تلقائيًا. + +--- + +## كيفية استخراج النص من صور JPG + +### تحميل الصورة – العقبة الأولى +قبل أن يتمكن المحرك من القيام بأي عمل، يحتاج إلى تمثيل bitmap لملف JPG الخاص بك. توفر Aspose طريقة ثابتة مريحة `load` تقوم بقراءة الملف إلى كائن `Image`. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*لماذا لا نستخدم OpenCV أو Pillow؟* +تلك المكتبات رائعة للمعالجة المسبقة، لكن `Image.load` من Aspose يضمن تنسيق البكسل الدقيق الذي يتوقعه محرك OCR، مما يلغي مصدرًا شائعًا لاختلاف عمق الألوان. + +--- + +## التعرف على النص من JPG باستخدام OCR للخط اليدوي في بايثون + +### تشغيل محرك OCR +الآن بعد أن أصبح المحرك والصورة جاهزين، نبدأ عملية التعرف. تُعيد طريقة `process` كائن `OcrResult` يحتوي على قائمة من كائنات `Line`، كل واحدة مع درجة الثقة الخاصة بها. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**ما الذي يحدث خلف الكواليس؟** +تشغل Aspose OCR نموذج تعلم عميق تم تدريبه على ملايين العينات المكتوبة بخط اليد. يقوم بتقسيم الصورة إلى سطور، ثم أحرف، وأخيرًا يجمع السلسلة النصية الأكثر احتمالًا لكل سطر. + +--- + +## تحميل الصورة لـ OCR – التعامل مع النتائج ذات الثقة المنخفضة + +### لماذا يجب أن تهتم بالثقة +التعرف على الخط اليدوي لا يكون مثاليًا بنسبة 100 ٪ أبدًا. عادةً ما يعني أن درجة الثقة أقل من 75 ٪ أن المحرك واجه صعوبة في ترتيب الضربات أو الضوضاء الخلفية. من خلال تصفية تلك السطور، يمكنك اتخاذ قرار إما طلب التحقق من المستخدم أو تطبيق معالجة مسبقة إضافية للصورة. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**الناتج النموذجي** (ستختلف نتائجك): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +لاحظ كيف يفصل السكريبت بوضوح بين النص الموثوق والجزء الارتعاشي. يمكنك لاحقًا تمرير السطور ذات الثقة المنخفضة إلى مرحلة ثانية باستخدام فلاتر تحسين الصورة (مثل تعزيز التباين) أو عرضها على مراجع بشري. + +--- + +## السكريبت الكامل – جاهز للتنفيذ + +فيما يلي البرنامج بالكامل، جاهز للنسخ واللصق. احفظه باسم `handwritten_ocr.py` وشغّله باستخدام `python handwritten_ocr.py`. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**السلوك المتوقع:** +- يطبع السكريبت كل سطر مع نسبة ثقته. +- السطور التي تتجاوز 75 ٪ تظهر كـ “مقبولة”، بينما تُعلم البقية للمراجعة. +- لا توجد تبعيات إضافية مطلوبة بخلاف `asposeocr`. + +--- + +## أسئلة شائعة وحالات خاصة + +### ماذا لو كانت صورتي بصيغة PNG أو BMP؟ +يقوم Aspose OCR باكتشاف الصيغة تلقائيًا، لذا يمكنك ببساطة تغيير امتداد الملف في `image_path`. لا حاجة لتعديل الكود. + +### خط يدي فوضوي للغاية — كيف يمكنني تحسين الدقة؟ +1. **معالجة الصورة مسبقًا** – زيادة التباين، إزالة الظلال الخلفية (يمكن أن يساعد OpenCV). +2. **رفع عتبة الثقة** – ضبطها على 80 ٪ إذا كنت تريد سطورًا شبه مثالية فقط. +3. **تدريب نموذج مخصص** – توفر Aspose ميزة “حزمة لغة مخصصة” للأنماط المتخصصة من الخط اليدوي. + +### هل يمكنني معالجة عدة صور في تشغيل واحد؟ +بالطبع. غلف خطوات التحميل والمعالجة داخل حلقة `for` على قائمة من مسارات الملفات. تذكر إعادة استخدام نفس كائن `ocr_engine` للسرعة. + +### هل يعمل هذا على macOS/Linux؟ +نعم. توفر Aspose OCR حزم wheels لجميع الأنظمة الأساسية الرئيسية. فقط نفّذ `pip install asposeocr` وستكون جاهزًا. + +--- + +## الخطوات التالية والمواضيع ذات الصلة + +- **كيفية استخراج النص من ملفات PDF** – بمجرد أن يكون لديك خط أنابيب OCR، يمكن تمرير صفحات PDF إلى `ocr.Image.load` بتغيير سطر واحد. +- **الدمج مع قاعدة بيانات** – احفظ كل سطر مقبول في SQLite أو PostgreSQL لتصبح الملاحظات قابلة للبحث. +- **OCR في الوقت الحقيقي على الهواتف المحمولة** – اجمع هذا السكريبت مع Flask أو FastAPI لتوفير نقطة نهاية REST يمكن لتطبيقات الهواتف استدعاؤها. + +كل من هذه الإضافات يبني على المفاهيم الأساسية التي غطيناها: **معالجة الملاحظات المكتوبة بخط اليد**، **كيفية استخراج النص**، **التعرف على النص من jpg**، و**تحميل الصورة لـ OCR**. + +--- + +## الخاتمة + +أصبح لديك الآن حل شامل من البداية إلى النهاية لـ **معالجة الملاحظات المكتوبة بخط اليد** باستخدام بايثون وAspose OCR. استعرض الدليل إعداد المحرك، تحميل ملف JPG، تشغيل عملية التعرف، والتعامل مع النتائج ذات الثقة المنخفضة — كل ذلك في سكريبت واحد جاهز للنسخ واللصق. + +من هنا، جرّب تقنيات معالجة الصور المختلفة، ارفع عتبة الثقة، أو وسّع الحل لمعالجة مئات الملاحظات دفعة واحدة. لا حدود للطموح، والكود الذي تعلمته هو منصة الانطلاق الخاصة بك. + +*برمجة سعيدة، ولتتحول ملاحظاتك المكتوبة بخط اليد أخيرًا إلى نص قابل للبحث!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/arabic/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..f504265f --- /dev/null +++ b/ocr/arabic/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,237 @@ +--- +category: general +date: 2026-01-12 +description: دورة بايثون لتقنية OCR تُظهر كيفية استخراج نص جدول من صورة. تعلم قراءة + الجدول من الصورة واستخراج النص المحدد باستخدام Aspose OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: ar +og_description: دروس OCR بلغة بايثون تعلمك كيفية استخراج نص الجدول من صورة، قراءة + الجدول من الصورة واستخراج النص المحدد باستخدام Aspose OCR. +og_title: 'دورة OCR بايثون: استخراج نص الجدول من الصور' +tags: +- OCR +- Python +- AsposeOCR +title: 'دورة OCR بايثون: استخراج نص الجدول من الصور' +url: /ar/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# دليل OCR بلغة بايثون: استخراج نص الجدول من الصور + +هل احتجت يومًا إلى **python ocr tutorial** يوضح لك فعليًا كيفية استخراج جدول من نموذج ممسوح ضوئيًا؟ لست وحدك. معظم الدروس تتوقف عند استخراج النص العام، مما يتركك تتساءل كيف تعزل شبكة البيانات التي تهمك. + +في هذا الدليل سنستعرض سيناريو واقعي: قراءة جدول من صورة، استخراج النص المحدد الذي تحتاجه فقط، ثم طباعة النتائج. على طول الطريق سنضيف نصائح حول **how to extract table** بشكل موثوق، حتى لا تضطر إلى إعادة اختراع العجلة في كل مرة. + +## ما ستتعلمه + +- كيفية إعداد Aspose OCR للغة بايثون. +- كيفية تعريف منطقة مستطيلة تحتوي على جدول. +- الخطوات الدقيقة لـ **extract table text** و **read table from image**. +- نصائح للتعامل مع لغات متعددة أو تخطيطات جداول غير منتظمة. +- سكريبت كامل قابل للتنفيذ يمكنك إدراجه في مشروعك اليوم. + +**المتطلبات المسبقة** +- Python 3.8 أو أحدث. +- إلمام أساسي بمفاهيم OCR (ليس من الضروري أن تكون خبيرًا). +- صورة PNG أو JPEG تحتوي على جدول واضح (سنسميها `form_with_table.png`). + +إذا كان لديك كل ذلك، لنبدأ—بدون إطالة، فقط كود عملي. + +![python ocr tutorial example of table region](table_region_example.png){alt="مثال على دليل OCR بايثون يوضح منطقة الجدول"} + +## الخطوة 1: تثبيت واستيراد Aspose OCR + +أولًا: تحتاج إلى مكتبة Aspose OCR. الحزمة موجودة على PyPI، لذا أمر `pip` واحد يكفي. + +```bash +pip install aspose-ocr +``` + +الآن استورد الوحدة وأي مساعدات تحتاجها. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*نصيحة محترف:* احفظ تبعياتك في ملف `requirements.txt`. هذا يجعل إعادة إنشاء البيئة أمرًا سهلًا. + +## الخطوة 2: تهيئة محرك OCR (نواة دليل OCR بايثون) + +إنشاء المحرك هو قلب أي **python ocr tutorial**. هنا نضبط اللغة الافتراضية إلى الإنجليزية—يمكنك تغييرها لاحقًا. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +لماذا نضبط اللغة؟ دقة OCR يمكن أن ترتفع بشكل كبير عندما يعرف المحرك الأحرف المتوقعة. إذا كنت تتعامل مع نماذج متعددة اللغات، يمكنك إما تحديد قائمة باللغات أو تجاوزها لكل منطقة (انظر لاحقًا). + +## الخطوة 3: تحميل الصورة الخاصة بك + +Aspose OCR يعمل مع معظم صيغ الصور الشائعة. فقط أشِر إلى مسار الملف، وستحصل على كائن `Image` جاهز للمعالجة. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*حالة حافة:* الصور الكبيرة (أكثر من 5 ميغابايت) قد تبطئ المعالجة. فكر في تغيير حجمها أو ضغطها قبل OCR إذا أصبحت الأداء مشكلة. + +## الخطوة 4: تعريف منطقة الجدول (قراءة جدول من صورة) + +الآن يأتي الجزء الممتع: إخبار المحرك *أين* يقع الجدول. تزود المحرك بـ `OcrRegion` يحتوي على `Rectangle` (x, y, العرض, الارتفاع). الإحداثيات بوحدات البكسل، لذا قد تحتاج إلى تجربة قليلة. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +لماذا نستخدم منطقة؟ بتحديد OCR على مساحة الجدول فقط، نحن **extract selected text** أسرع ونتجنب الضوضاء من الملصقات أو الرسومات المحيطة. كما أن ذلك يحسن الدقة لأن المحرك يركز على تخطيط موحد. + +## الخطوة 5: تشغيل OCR على المنطقة المحددة + +بعد ضبط المنطقة، نستدعي `process_region`. تُعيد الطريقة كائن `OcrResult` يحتوي على النص الخام، درجات الثقة، وحتى إطارات الحدود إذا احتجت إليها لاحقًا. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +إذا كنت تحتاج لاستخراج جداول متعددة، ببساطة كرّر الخطوتين 4‑5 مع مستطيلات مختلفة. + +## الخطوة 6: إخراج نص الجدول المستخرج + +أخيرًا، اطبع—أو احفظ—التمثيل النصي للجدول. Aspose OCR يُعيد نصًا عاديًا مع فواصل أسطر عادةً ما تتطابق مع الصفوف، مما يجعل المعالجة اللاحقة بسيطة. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**الناتج المتوقع** (مثال): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +يمكنك الآن تمرير هذه السلسلة إلى محللات `csv`، أو DataFrames في pandas، أو أي خط أنابيب تحليلي لاحق. + +## مثال كامل يعمل + +نجمع كل ما سبق في سكريبت كامل يمكنك تشغيله فورًا. استبدل `YOUR_DIRECTORY/form_with_table.png` بالمسار الفعلي لصورتك. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +شغّل السكريبت باستخدام `python extract_table.py`. إذا كان كل شيء مضبوطًا، سترى الجدول يُطبع في وحدة التحكم. + +## أسئلة شائعة وتعامل مع حالات الحافة + +**ماذا لو لم يكن الجدول مستطيلًا تمامًا؟** +يمكنك تقسيم الجدول إلى مناطق متداخلة متعددة أو استخدام مستطيل أكبر يغطي كامل المنطقة ثم معالجة النص لاحقًا (مثلاً، التقسيم حسب فواصل الأسطر). + +**هل يمكن استخراج أعمدة محددة فقط؟** +بعد حصولك على النص الكامل للجدول، استخدم `csv` أو `pandas` لتقطيع الأعمدة التي تهمك. خطوة OCR نفسها تُعيد كل ما داخل المستطيل. + +**كيف أتعامل مع جداول غير إنجليزية؟** +اضبط `ocr_engine.language` (أو `region.language`) إلى الـ enum المناسب، مثل `ocr.Language.FRENCH` أو دمج لغات متعددة باستخدام `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**هل يمكن الحصول على إطارات حدود لكل خلية؟** +Aspose OCR يمكنه إرجاع `region_result.words` حيث يحتوي كل كلمة على إطارات حدود. سيتعين عليك ربط هذه الإطارات بشبكة—مفيد للتحليل المتقدم للتخطيط. + +## نصائح لتحسين الدقة + +- **نظّف الصورة**: قم بعملية ثنائيات أو زيادة التباين قبل تمريرها إلى OCR. مكتبة Pillow يمكن أن تساعد. +- **تجنّب عيوب الضغط**: احفظ المسحات كملفات PNG عندما يكون ذلك ممكنًا. +- **انتبه إلى DPI**: 300 dpi هو المستوى المثالي؛ القيم الأقل قد تؤدي إلى فقدان أحرف. +- **جرّب أحجام مستطيلات مختلفة**: المستطيلات الأكبر قليلًا غالبًا ما تلتقط الأحرف المتناثرة التي تنتمي للجدول. + +## الخطوات التالية + +الآن بعد أن أتقنت **how to extract table** باستخدام Aspose OCR، يمكنك استكشاف: + +- تحويل النص المستخرج إلى ملف CSV باستخدام وحدة `` في بايثون. +- إدخال البيانات في **pandas** DataFrame للتحليل. +- استخدام OCR لقراءة النماذج المكتوبة يدويًا (يتطلب محركًا مختلفًا أو تدريبًا إضافيًا). +- أتمتة معالجة دفعات من عشرات النماذج الممسوحة باستخدام حلقة `for` بسيطة. + +كل هذه الامتدادات تبني على المفاهيم الأساسية التي غطيناها في هذا **python ocr tutorial**، لذا أنت في موقع جيد للتوسع. + +--- + +*برمجة سعيدة! إذا واجهتك أي صعوبات، اترك تعليقًا أدناه—سأكون سعيدًا بمساعدتك على تحسين عملية الاستخراج.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/arabic/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..8df72a72 --- /dev/null +++ b/ocr/arabic/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,282 @@ +--- +category: general +date: 2026-01-12 +description: قم بتشغيل OCR على ملفات PNG بسرعة باستخدام بايثون. تعلم كيفية استخراج + النص من الصورة والفاتورة، وتحميل الصورة للـ OCR باستخدام Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: ar +og_description: قم بتشغيل OCR على ملفات PNG فورًا. يوضح هذا الدليل كيفية استخراج النص + من الصورة والفاتورة، تحميل الصورة للـ OCR، وحفظ النتائج بصيغة JSON وCSV. +og_title: تشغيل OCR على PNG – دليل بايثون كامل +tags: +- OCR +- Python +- Image Processing +title: تشغيل OCR على PNG – دليل بايثون الكامل لاستخراج النص من الصور +url: /ar/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# تشغيل OCR على PNG – دليل Python الكامل لاستخراج النص من الصور + +هل احتجت يومًا إلى **تشغيل OCR على ملفات PNG** لكنك لم تكن متأكدًا أي مكتبة ستعطيك نتائج نظيفة ومهيكلة؟ لست وحدك. في العديد من المشاريع الواقعية—مثل أتمتة الفواتير أو مسح الإيصالات—الخطوة الأولى هي **استخراج النص من ملفات الصورة**، وPNG هو تنسيق شائع لأنه يحافظ على الجودة بدون فقدان. + +في هذا الدرس سنستعرض مثالًا عمليًا باستخدام حزمة Aspose.OCR للغة Python. بنهاية الدليل ستعرف كيف **تحمّل الصورة للـ OCR**، تستخرج كل سطر نص، تحول البيانات إلى كائن JSON مرتب، وحتى تصدره إلى CSV للمعالجة اللاحقة. لا إطالة، مجرد حل عملي جاهز للتنفيذ. + +## ما ستتعلمه + +- كيفية تثبيت واستيراد مكتبة Aspose.OCR. +- الخطوات الدقيقة **لتشغيل OCR على PNG** ومعالجة كائن النتيجة. +- طرق **استخراج النص من الفاتورة** وتنسيق المخرجات كـ JSON أو CSV. +- نصائح للتعامل مع الصور منخفضة التباين، المستندات متعددة اللغات، ودرجات الثقة. +- عينة كود كاملة يمكن نسخها ولصقها وتشغيلها اليوم. + +> **المتطلبات المسبقة:** Python 3.8+ ومعرفة أساسية بـ pip. إذا لم تستخدم Aspose من قبل، لا تقلق—هذا الدليل يغطي كل ما تحتاجه للبدء. + +--- + +## الخطوة 1 – تثبيت Aspose.OCR وإعداد بيئتك + +قبل أن نتمكن من **تشغيل OCR على PNG**، يجب أن تكون المكتبة موجودة على نظامك. + +```bash +pip install aspose-ocr +``` + +> **نصيحة احترافية:** استخدم بيئة افتراضية (`python -m venv venv`) لعزل الاعتمادات. هذا يمنع تعارض الإصدارات إذا كنت تدير عدة مشاريع. + +بعد التثبيت، استورد الوحدات التي سنحتاجها: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +هنا نستورد `asposeocr` للمعالجة الأساسية ومكتبة `json` المدمجة للتسلسل اللاحق. + +--- + +## الخطوة 2 – إنشاء محرك OCR وتحديد اللغة + +محرك OCR هو المكوّن الأساسي الذي يقرأ البكسلات فعليًا. لمعظم الفواتير الإنجليزية، ستحتاج حزمة اللغة الإنجليزية: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **لماذا هذا مهم:** تحديد اللغة يحد من مجموعة الأحرف، مما يزيد الدقة ويسرّع المعالجة. إذا احتجت للتعامل مع فواتير متعددة اللغات، استبدل `ocr.Language.ENGLISH` بالعدد المناسب. + +--- + +## الخطوة 3 – تحميل الصورة للـ OCR + +الآن سنقوم **بتحميل الصورة للـ OCR**. طريقة `Image.load` تقبل مسار الملف، وتدعم PNG، JPEG، BMP، وأكثر. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **حالة خاصة:** إذا كان ملف PNG كبيرًا جدًا (أكثر من 5 ميغابايت)، فكر في تصغير حجمه أولًا لتقليل استهلاك الذاكرة. يمكن لـ Pillow القيام بذلك بسطر واحد: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## الخطوة 4 – تشغيل OCR على PNG والتقاط النتيجة + +مع جاهزية المحرك وتحميل الصورة، حان الوقت **لتشغيل OCR على PNG** واسترجاع النتيجة المهيكلة. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +كائن `ocr_result` يحتوي على مجموعة من عناصر `OcrRegion`، كل منها يحمل النص المُعترف به ودرجة الثقة (0‑100). هنا تحصل على البيانات الدقيقة اللازمة **لاستخراج النص من الفاتورة** سطرًا بسطر. + +--- + +## الخطوة 5 – تحويل النتيجة إلى JSON وعرضها بشكل جميل + +معظم الأنظمة اللاحقة تفضّل JSON، لذا سنحوّل مخرجات OCR إلى سلسلة منسقة بشكل جميل. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### مثال على المخرجات + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +لاحظ أن كل سطر يتضمن مقياس الثقة—مثالي لتصفية الإدخالات منخفضة الثقة إذا كنت تخطط **لاستخراج النص من الفاتورة** تلقائيًا. + +--- + +## الخطوة 6 – حفظ بيانات OCR كملف CSV (سطر واحد لكل نص + ثقة) + +CSV مثالي للجداول أو استيراد البيانات السريع. Aspose توفر سطرًا واحدًا لتصدير كل شيء إلى ملف CSV. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +الملف CSV الناتج سيبدو هكذا: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +يمكنك الآن فتحه في Excel أو Google Sheets أو إدخاله إلى قاعدة بيانات. + +--- + +## إضافي – التعامل مع النص منخفض الثقة ومستندات PDF متعددة الصفحات + +### التصفية حسب الثقة + +إذا أردت فقط السطور ذات الثقة العالية، صَفِّي JSON قبل الكتابة: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### المستندات متعددة الصفحات + +Aspose.OCR ينشئ تلقائيًا إدخالًا جديدًا `page` لكل صفحة في PNG أو PDF متعدد الصفحات. يمكنك التجول عبر `ocr_data["pages"]` لمعالجة جميعها—بدون كود إضافي. + +--- + +## مثال كامل يعمل + +فيما يلي **السكريبت الكامل** الذي يمكنك نسخه، لصقه، وتشغيله فورًا. استبدل `YOUR_DIRECTORY` بالمجلد الذي يحتوي على ملف PNG الخاص بك. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +شغّل السكريبت باستخدام `python run_ocr.py` وسترى تفريغ JSON في الطرفية، ملف CSV على القرص، وقائمة مُصفّاة من الإدخالات ذات الثقة العالية. + +--- + +## الأسئلة المتكررة + +**س: هل يمكنني استخدام هذا لاستخراج النص من إيصال ممسوح ضوئيًا بدلًا من فاتورة؟** +ج: بالتأكيد. نفس سير العمل ينطبق—فقط وجه `image_path` إلى ملف إيصال PNG الخاص بك. إذا كان الإيصال بلغة مختلفة، غيّر `engine.language` وفقًا لذلك. + +**س: ماذا لو كان الـ PNG يحتوي على نص مائل؟** +ج: Aspose.OCR يكتشف الاتجاه تلقائيًا، لكن في الحالات الصعبة يمكنك تدوير الصورة يدويًا باستخدام Pillow قبل تمريرها إلى المحرك. + +**س: هل أحتاج إلى رخصة مدفوعة لـ Aspose.OCR؟** +ج: المكتبة توفر وضع تقييم مجاني مع علامة مائية على المخرجات. للاستخدام الإنتاجي ستحتاج إلى رخصة يمكن الحصول عليها من موقع Aspose. + +--- + +## الخلاصة + +غطّينا كل ما تحتاجه **لتشغيل OCR على PNG** باستخدام Python: تثبيت الـ SDK، تحميل الصورة، استخراج نص مهيكل، وحفظ النتيجة كـ JSON أو CSV. سواء كنت تريد **استخراج النص من صورة** لسكربت بسيط أو **استخراج النص من الفاتورة** لخط أنابيب محاسبة آلي، الخطوات أعلاه تمنحك أساسًا قويًا جاهزًا للإنتاج. + +الخطوات التالية قد تشمل: + +- ربط مخرجات CSV بقاعدة بيانات لتخزين الفواتير بالجملة. +- إضافة معالجة لاحقة باستخدام تعبيرات نمطية لاستخراج التواريخ، المبالغ، أو أرقام الضرائب. +- استخدام ميزة `ocr_engine.recognize_barcode` إذا كانت فواتيرك تحتوي على رموز QR. + +جرّبها، عدّل عتبات الثقة، وشاهد سير عمل معالجة المستندات يتحول إلى نسمة. هل لديك أسئلة إضافية أو حالة استخدام مميزة تريد مشاركتها؟ اترك تعليقًا أدناه—نتمنى لك OCR موفق! + +![مثال تشغيل OCR على PNG](run-ocr-on-png.png "تشغيل OCR على PNG – مثال بصري لنتيجة OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/chinese/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..1ff08540 --- /dev/null +++ b/ocr/chinese/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,190 @@ +--- +category: general +date: 2026-01-12 +description: 使用 Aspose OCR 在 Python 中提取图像文字。学习如何在几分钟内使用异步代码将扫描图像转换为文本。 +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: zh +og_description: 使用 Aspose OCR 在 Python 中提取图像文字。本教程展示如何使用异步函数将扫描图像转换为文本。 +og_title: 使用 Python 从图像提取文本 – 异步 OCR 指南 +tags: +- python +- ocr +- async +title: 使用 Python 从图像提取文本 – 异步 OCR 指南 +url: /zh/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 从图像中提取文本(Python) – 异步 OCR 指南 + +是否曾经需要在 **extract text from image Python** 脚本中提取文本,但在 OCR 部分卡住了?你并不是唯一遇到这种情况的人。许多开发者在面对扫描文档并想将其转换为可搜索文本时会感到束手无策。 + +在本教程中,我们将逐步演示一个完整且可运行的示例,展示如何使用 Aspose OCR 的异步 API **convert scanned image to text**。完成后,你将拥有一个可以直接嵌入任何项目的函数,并且会了解为何异步处理能够在 OCR 需要几秒钟时仍保持应用响应。 + +## 前提条件 + +- 已安装 Python 3.8+(异步特性至少需要 3.7) +- `asposeocr` 包(`pip install asposeocr`)– 这就是我们将使用的库 +- 一张扫描图像文件(TIFF、PNG、JPEG – 任意 Aspose OCR 支持的格式) +- 对 `asyncio` 有基本了解(如果没有,也不用担心 – 我们会逐步解释) + +无需额外的系统依赖;Aspose OCR 已捆绑所有必需组件。 + +![显示异步 OCR 流程的图示 – extract text from image python](https://example.com/async-ocr-diagram.png "async OCR flow – extract text from image python") + +## 第一步 – 设置异步辅助函数 + +解决方案的核心是一个 `async` 函数,它加载图像、启动 OCR 并等待结果。保持函数异步意味着你可以在 OCR 引擎后台工作时运行其他协程(例如下载更多文件)。 + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**为什么这很重要:** 通过返回 `Future`,Aspose OCR 在单独的线程池中完成繁重工作。`await` 会释放事件循环,使你的应用保持流畅。如果需要并发处理大量图像,只需使用 `asyncio.gather` 调度多个 `async_ocr` 调用即可。 + +## 第二步 – 在事件循环中运行协程 + +既然已有辅助函数,现在需要执行它。`asyncio.run` 会创建一个全新的事件循环,运行协程,并干净地关闭所有资源。 + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**小贴士:** 如果你将其集成到更大的异步应用(例如 FastAPI)中,应该直接使用 `await async_ocr(...)` 而不是 `asyncio.run`。 + +## 第三步 – 验证输出 + +运行脚本后,你应该会看到类似如下的输出: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +如果输出乱码,请再次检查以下事项: + +1. 图像清晰且未过度压缩。 +2. 已选择正确的语言(`ocr.Language.ENGLISH` 适用于大多数拉丁文字)。 +3. 文件路径正确且文件可读取。 + +## 第四步 – 处理边缘情况 + +### 多语言 + +如果需要在非英语语言下 **convert scanned image to text**,只需更改语言属性: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### 大文件 + +对于非常大的 TIFF 文件,考虑在送入 OCR 前先调整大小或转换为低分辨率的 PNG。这可以降低内存压力并加快处理速度。 + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### 错误处理 + +将 OCR 调用包装在 `try/except` 块中,以捕获网络或授权相关的错误。 + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## 第五步 – 扩展:并发处理多张图像 + +由于函数是异步的,你可以一次性触发数十个 OCR 任务: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +这种模式在 OCR 引擎并行工作时保持 CPU 高负载,从而显著缩短总体处理时间。 + +## 结论 + +你现在拥有一个稳健的 **extract text from image Python** 解决方案,利用了 Aspose OCR 的异步 API。完整示例展示了如何: + +1. 初始化 OCR 引擎并选择语言。 +2. 使用 `process_async` 异步启动 OCR。 +3. `await` 结果而不阻塞事件循环。 +4. 处理常见问题,如大文件和多语言支持。 + +随意将代码适配到自己的流水线——无论是构建文档管理系统、搜索索引器,还是简单的命令行工具。后续可以考虑: + +- 将提取的文本存入数据库以实现全文搜索。 +- 添加 PDF 生成功能(例如使用 `PyPDF2`)以创建可搜索的 PDF。 +- 与 Web 框架(如 FastAPI)集成,提供 RESTful OCR 服务。 + +祝编码愉快,尽情将扫描图像转换为可搜索、可编辑的文本吧! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/chinese/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..c2798c70 --- /dev/null +++ b/ocr/chinese/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,212 @@ +--- +category: general +date: 2026-01-12 +description: 如何在 Python 中快速批量 OCR 图像并从 JPEG 文件提取文本。通过完整可运行的示例学习逐步批处理。 +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: zh +og_description: 如何批量 OCR 图像并从 JPEG 文件中提取文本。本指南将带您完成一个完整的、可直接运行的 Python 解决方案。 +og_title: 如何批量 OCR 图像 – 快速 Python 教程 +tags: +- OCR +- Python +- image processing +title: 如何批量 OCR 图像 – JPEG 文件文字提取快速指南 +url: /zh/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何批量 OCR 图像 – 快速提取 JPEG 文件文本指南 + +是否曾想过 **如何批量 OCR 图像** 而不必为每个文件单独编写脚本?你并不孤单。在许多项目中——发票扫描、档案数字化或内容审核——我们需要一次性从数十甚至数百个 JPEG 文件中提取文本。好消息是,只需几行 Python 代码,你就能拥有一个可复用的引擎,随时嵌入任何流水线。 + +在本教程中,我们将精准演示 **如何批量 OCR 图像**,随后逐步讲解从 JPEG 文件提取文本、处理边缘情况以及验证输出。完成后,你将拥有一个可自行运行的脚本,能够针对任意图像文件夹执行,并了解批处理对性能和可维护性的重要性。 + +## 你将学到 + +- 搭建一个简单的 OCR 引擎并配置为英文。 +- 使用 `pathlib` 收集目录下的所有 JPEG 文件。 +- 一次性调用 OCR 引擎处理整个批次。 +- 为每张图像显示识别文本的预览。 +- 处理大批量、不同语言以及常见陷阱的技巧。 + +**前置条件**:Python 3.8+、`ocr` 库(或任何兼容的包装器),以及你想要分析的 JPEG 图像文件夹。无需外部服务——全部在本地运行。 + +--- + +## 步骤 1:初始化 OCR 引擎 – 批量 OCR 图像的核心 + +在我们能够 **批量 OCR 图像** 之前,需要一个能够读取文本的引擎。大多数库都通过创建引擎对象、可选地设置语言,然后在每个文件上复用该对象。 + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*为什么重要*:只初始化一次引擎可以避免重复加载语言模型的开销。同时,你可以在单一位置调整设置(例如 DPI、字符白名单),这些设置会应用于整个批次。 + +> **专业提示**:如果你计划处理多语言文档,将 `ocr.Language.ENGLISH` 替换为 `ocr.Language.MULTI`,或在批次开始前加载多个语言包。 + +--- + +## 步骤 2:收集所有 JPEG 文件 – “从 JPEG 文件提取文本” 部分 + +引擎准备好后,需要告诉它要处理哪些图像。使用 `pathlib` 可以让代码跨平台且简洁。 + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*为什么重要*:先收集文件列表后,我们可以一次性将整个集合传递给 OCR 引擎——这正是 **如何批量 OCR 图像** 的核心。如果有子文件夹,可将 `glob("**/*.jpg")` 改为递归搜索。 + +> **边缘情况**:如果你的图像扩展名混杂(`.jpeg`, `.JPG`),请扩展 glob 模式:`image_dir.rglob("*.[jJ][pP][eE]?g")`。 + +--- + +## 步骤 3:一次性处理整个批次 – 批量 OCR 的真正威力 + +大多数现代 OCR 库都提供 `process_batch`(或类似命名)方法,接受可迭代的文件路径。这是高效 **如何批量 OCR 图像** 的核心。 + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*为什么重要*:一次批量调用可以减少 Python 与 C 之间的切换次数,保持语言模型常驻内存,并且通常支持内部并行化。返回的结果是一个对象列表——每个对象包含识别文本和置信度分数。 + +> **性能提示**:对于非常大的批次(数千张图像),考虑将列表拆分为更小的块(例如 200 文件)以避免过度占用内存。 + +--- + +## 步骤 4:显示提取文本的预览 – 快速验证 + +批次完成后,查看每个结果的前几个字符非常有用。这可以帮助你确认 OCR 是否真的从 JPEG 文件中提取了文本。 + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*为什么重要*:简短的预览让你在不打开每个文件的情况下发现明显的失败(如空输出、乱码)。如果发现系统性问题,可调整引擎设置后重新运行批次。 + +> **常见陷阱**:忘记去除换行符会导致预览杂乱。`replace("\n", " ")` 这一行可以清理它。 + +--- + +## 完整工作示例 – 所有步骤合并 + +下面是完整脚本,你可以复制粘贴、修改目录路径后直接运行。它演示了从头到尾的 **如何批量 OCR 图像** 工作流。 + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**预期输出**(示例): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +如果预览显示了有意义的文本,说明你已经成功使用批量方式 **从 JPEG 文件提取文本**。 + +--- + +## 处理大批量及高级场景 + +### 将大型工作负载分块 +当处理成千上万张图像时,内存可能成为瓶颈。将列表拆分为更小的块: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### 切换语言 +如果文档包含法语或西班牙语,请在批次前更改语言: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### 将结果保存到磁盘 +如果不想仅仅打印输出,可以将每个 OCR 结果写入 `.txt` 文件: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## 结论 + +现在你已经掌握 **如何批量 OCR 图像** 并可靠地 **从 JPEG 文件提取文本**,只需一个简洁的 Python 脚本。通过一次性初始化引擎、收集所有 JPEG 路径、在单个批次中处理它们并预览输出,你即可实现速度与简洁性的双赢。接下来,你可以扩展工作流——添加多语言支持、将结果存入数据库,或将脚本集成到更大的文档处理流水线中。 + +准备好下一步了吗?尝试将 `ocr` 库换成 Tesseract,实验不同的图像预处理(阈值化、缩放),或将提取的文本喂入自然语言处理模型进行自动分类。天地无限,而你已经拥有坚实的基础。 + +祝编码愉快,愿你的 OCR 批次永远无错误! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/chinese/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..e789a6c0 --- /dev/null +++ b/ocr/chinese/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,143 @@ +--- +category: general +date: 2026-01-12 +description: 如何使用 Aspose OCR 检测图像中的语言——学习从图像中提取文本,处理混合语言 OCR,并在 Python 中使用 OCR。 +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: zh +og_description: 如何使用 Aspose OCR 检测图像中的语言——一步步指南,提取图像中的文本并处理混合语言 OCR。 +og_title: 如何使用 OCR 检测混合文本的语言 +tags: +- OCR +- Python +- Aspose +title: 如何使用 OCR 检测混合文本的语言 +url: /zh/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何使用 OCR 检测混合文本的语言 + +在处理多语言文档时,使用 Aspose OCR 检测图像中的语言是一个常见难题。是否曾想过 **如何从图像中提取文本**,而该图像在同一页面上同时包含英文和法文?在本教程中,我们将逐步演示一个完整、可运行的示例,向您展示如何使用 OCR 识别语言、提取文本,并轻松处理混合语言场景。 + +我们将覆盖您需要了解的所有内容:设置 Aspose OCR 引擎、指定要识别的语言、加载示例发票图像、运行 OCR 过程,最后打印检测到的语言以及提取的文本。完成后,您将能够在自己的项目中回答 “如何使用 OCR 进行混合语言 OCR” 的问题,无论您是在构建发票处理流水线、收据扫描器,还是文档归档工具。 + +> **先决条件** – 您需要安装 Python 3.8+,具备基本的 pip 使用经验,并拥有 Aspose OCR 许可证(免费试用即可用于本演示)。无需其他外部库。 + +--- + +## 使用 Aspose OCR 检测语言 + +第一步是创建 OCR 引擎实例并告知它应搜索哪些语言。Aspose OCR 使用位掩码来组合语言,这使得支持英文、法文、西班牙文或任何您需要的组合变得轻而易举。 + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**为什么这很重要:** 初始化引擎是基础。没有它您无法调用任何 OCR 方法,且引擎保存的所有配置决定了后续 **检测语言** 的效果。 + +--- + +## 使用 OCR 从图像中提取文本 + +现在我们需要让引擎知道可能出现的语言。通过设置 `ENGLISH | FRENCH` 位掩码,我们使引擎能够自动为图像的每个区域挑选最佳匹配。 + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**为什么这很重要:** 启用 `auto_detect_language` 是在混合语言文档中 **如何检测语言** 的关键。引擎会扫描文本、为每种语言打分,并返回置信度最高的语言。如果跳过此步骤,您将不得不自行猜测语言,这违背了混合语言 OCR 的初衷。 + +--- + +## 配置混合语言 OCR 设置 + +在将图像送入引擎之前,需要先加载它。Aspose OCR 使用其自定义的 `Image` 类,抽象掉底层文件格式的细节。 + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **提示:** 将图像分辨率保持在约 300 dpi 可获得最佳效果。分辨率过低会导致语言检测漏掉细微字符,尤其是带重音的法文字母。 + +--- + +## 运行 OCR 过程并获取结果 + +在引擎配置完毕且图像已加载后,我们即可运行 OCR 过程。`process` 方法返回一个 `OcrResult` 对象,其中包含检测到的语言代码以及完整的提取文本。 + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**预期输出** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +如果图像中包含法文部分,您将看到检测语言为 `FRENCH`,并打印出相应的法文文本。 + +--- + +## 图像示例(SEO 用的 Alt 文本) + +![如何在混合语言 OCR 图像中检测语言](mixed_lang_invoice.png) + +*上图展示了一张包含英文和法文文本的示例发票,说明 OCR 引擎能够 **检测语言** 并一次性提取内容。* + +--- + +## 常见问题与专业技巧 + +| 问题 | 产生原因 | 解决方案 / 缓解措施 | +|------|----------|-------------------| +| **模糊或低分辨率扫描** | 引擎无法辨认字符,导致语言检测错误。 | 扫描分辨率 ≥300 dpi,OCR 前进行图像锐化。 | +| **位掩码中缺少语言** | 若忘记包含某语言,引擎会默认匹配第一个语言,常导致不准确的结果。 | 始终列出所有预期语言;可使用 `|` 运算符组合多个语言。 | +| **混合脚本(例如拉丁文 + 西里尔文)** | Aspose OCR 可能需要单独的语言包。 | 安装相应的语言包并将其加入位掩码。 | +| **大文件导致内存激增** | 将巨大的图像一次性加载到内存会导致脚本崩溃。 | 使用 `Image.resize` 在保持 DPI 的同时降尺度,或分块处理图像。 | + +**专业技巧:** 获取原始文本后,快速进行后处理以规范空白字符和换行。这会让后续解析(例如提取发票号码)更加简便。 + +--- + +## 小结:您学到了什么 + +您现在已经掌握了使用 Aspose OCR 在混合语言图像中 **检测语言** 的方法,并看到一个完整的端到端示例,亦展示了 **如何从图像中提取文本**。通过配置语言位掩码、启用自动检测并处理结果对象,您可以可靠地处理包含英文和法文(或其他语言)的发票、收据或任何文档。 + +### 后续步骤 + +- 尝试通过先将每页 PDF 转为图像,来添加 **如何提取文本** 的功能。 +- 试验其他次要关键词:深入探索完整的 **如何使用 OCR** API,例如设置 OCR 区域以加快处理速度。 +- 深入更复杂的 **混合语言 OCR** 场景,如文档在三种或更多语言之间切换。 + +随意修改代码,在自己的图像上进行测试,让引擎承担繁重的工作。如果遇到任何问题,欢迎在下方留言——祝编码愉快! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/chinese/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..ef2b6669 --- /dev/null +++ b/ocr/chinese/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,211 @@ +--- +category: general +date: 2026-01-12 +description: 学习如何在 Python 中对 PDF 进行 OCR,并快速使 PDF 可搜索。使用 Aspose OCR 将扫描的 PDF 转换、提取文本 + PDF,并对扫描的 PDF 进行 OCR。 +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: zh +og_description: 如何在 Python 中对 PDF 进行 OCR?本分步教程展示了如何使用 Aspose OCR 将扫描的 PDF 文件转换为可搜索的 + PDF 并提取文本。 +og_title: 如何对 PDF 进行 OCR 并使其可搜索 – Python 指南 +tags: +- OCR +- Python +- PDF processing +title: 如何对 PDF 进行 OCR 并使其可搜索 – Python 指南 +url: /zh/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何 OCR PDF 并使其可搜索 – Python 指南 + +是否曾想过 **如何 OCR PDF** 文件而不必在商业软件上花大价钱?你并不孤单。许多开发者在需要将扫描的合同、发票或任何基于图像的 PDF 转换为可搜索文档时会遇到瓶颈。好消息是?只需几行 Python 代码和 Aspose OCR,即可在几分钟内将扫描的 PDF 转换、提取文本 PDF,并最终使 PDF 可搜索。 + +在本教程中,我们将逐步演示所有必需的内容:从安装库、配置语言、处理扫描的 PDF,到将结果保存为包含原始图像和隐藏文本层的可搜索 PDF。完成后,你将拥有一个可在任何项目中直接使用的可复用脚本——无需手动复制粘贴。 + +--- + +## 您需要的条件 + +- **Python 3.8+**(代码在 3.9、3.10 及更高版本均可运行) +- 有效的 **Aspose OCR for Python** 许可证(免费试用版可用于实验) +- 一个扫描的 PDF 文件(例如 `scanned_contract.pdf`),你希望将其设为可搜索 +- 对命令行和虚拟环境有基本了解(可选,但推荐) + +> **专业提示:** 如果你还没有许可证,请在 Aspose 网站注册 30 天试用;试用版在开发阶段功能完整。 + +## 使用 Aspose OCR 进行 PDF OCR(H2 主关键字) + +第一步是获取正确的包。Aspose OCR 提供了一个简洁的高级 API,抽象掉了底层图像处理细节。 + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +安装完包后,你就可以开始编写脚本了。 + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **为什么要设置语言?** +> OCR 的准确性在很大程度上取决于语言模型。明确告诉引擎期望英文文本,可减少误报并加快处理速度。 + +## 步骤 2:将扫描的 PDF 转换为可搜索的 PDF + +现在引擎已准备就绪,指向你的扫描文档即可。`process_pdf` 方法返回一个 `PdfResult` 对象,包含原始图像数据和识别出的文本。 + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +如果需要批量 **convert scanned PDF** 文件,只需遍历目录并对每个文件调用 `process_pdf`。引擎开箱即支持多页 PDF。 + +## 步骤 3:将结果保存为可搜索的 PDF(使 PDF 可搜索) + +最后一步是持久化可搜索版本。Aspose OCR 只需一行代码即可完成: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +当你在任何 PDF 查看器中打开 `contract_searchable.pdf` 时,会看到原始扫描图像,但现在可以 **search for any word**,即 OCR 引擎识别的任何单词。隐藏的文本层对肉眼不可见,却可以完整索引。 + +### 完整脚本 – 可直接运行 + +下面是完整、可运行的示例。将其复制粘贴到名为 `make_searchable.py` 的文件中,并根据你的环境调整路径。 + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**预期输出:** +运行脚本会打印确认信息并生成 `contract_searchable.pdf`。打开文件,按 `Ctrl + F`,输入原始扫描图像中出现的任意单词,即可立即看到匹配结果。 + +## 常见问题与边缘情况 + +### 1. 如果 PDF 包含多种语言怎么办? + +你可以向引擎传递语言列表: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR 将尝试在同一页面上识别这两种语言的文本。 + +### 2. 如何处理低分辨率扫描? + +如果源图像低于 150 dpi,OCR 准确度可能下降。可使用 `pdfimages` 等工具提取页面,使用 Pillow 将其放大,然后将更高分辨率的图像重新传入 `process_pdf`。 + +### 3. 能否在不创建可搜索 PDF 的情况下提取纯文本? + +完全可以。`PdfResult` 对象公开了 `text` 属性: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +当你仅需要原始字符时,这满足 **extract text pdf** 的使用场景。 + +### 4. 是否有办法批量处理文件夹中的 PDF? + +可以——将 `ocr_to_searchable` 函数包装在一个简单循环中: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +现在你可以使用单个命令 **convert scanned pdf** 文件批量处理。 + +## 性能技巧 + +- **Reuse the engine**:为每个文件创建新的 `OcrEngine` 会增加开销。实例化一次并在多次调用中复用。 +- **Parallel processing**:对于大批量处理,可考虑 Python 的 `concurrent.futures.ThreadPoolExecutor`——Aspose OCR 对只读操作是线程安全的。 +- **Memory management**:如果处理的是非常大的 PDF(数百页),在每个文件处理完后调用 `gc.collect()` 以释放内存。 + +## 结论 + +我们已经介绍了在 Python 中 **how to OCR PDF** 的完整流程,将扫描件转换为 **searchable PDFs**,并展示了如何直接 **extract text PDF**。使用 Aspose OCR,你将获得一个可靠的引擎,能够处理多页文档、多语言以及高精度识别——只需几行代码。 + +尝试在自己的合同、发票或归档的研究论文上运行它吧。掌握基础后,可进一步探索高级功能——如自定义词典、图像预处理,或将输出集成到 Elasticsearch 等全文检索索引中。 + +对 **ocr scanned pdf python** 有更多疑问或需要帮助排查棘手的扫描文件?在下方留言,祝编码愉快! + +--- + +![如何 OCR PDF 示例](image-placeholder.png){alt="如何 OCR PDF 示例"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/chinese/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..d41d4dee --- /dev/null +++ b/ocr/chinese/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,226 @@ +--- +category: general +date: 2026-01-12 +description: 如何快速、准确地执行 OCR。学习在文档上运行 OCR,从 TIFF 中提取文本,加载图像进行 OCR,并在 Python 中设置 OCR + 语言。 +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: zh +og_description: 如何在 Python 中执行 OCR。本教程向您展示如何对文档进行 OCR、从 TIFF 中提取文本、加载图像进行 OCR 并设置 + OCR 语言。 +og_title: 如何对 TIFF 文档进行 OCR – 完整指南 +tags: +- OCR +- Python +- Image Processing +title: 如何对 TIFF 文档进行 OCR – 步骤指南 +url: /zh/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何对 TIFF 文档执行 OCR – 完整指南 + +是否曾想过 **如何对** 扫描的 TIFF 文件 **执行 OCR**,却不想花费数小时寻找合适的库?你并不孤单。许多开发者在需要从 tiff 图像中提取文本时会遇到瓶颈,尤其是当性能和语言设置变得重要时。 + +在本教程中,我们将逐步讲解你需要了解的一切:从安装 OCR 包、加载图像进行 OCR、设置 OCR 语言,到最终 **对文档运行 OCR** 并提取干净的文本。完成后,你将拥有一个可直接在任何项目中使用的脚本。 + +> **专业提示:** 虽然示例使用了通用的 `ocr` 模块,但相同的概念同样适用于 Tesseract、EasyOCR 或任何提供 Python API 的现代 OCR 引擎。 + +--- + +## 你需要的准备 + +- Python 3.8+(任意近期版本均可) +- 提供 `OcrEngine` 类的 OCR 库(示例使用虚构的 `ocr` 包;请替换为你实际使用的库) +- 需要处理的多页 TIFF 文件(我们称之为 `big_document.tif`) +- 如果计划设置线程数,机器至少需要 4 个 CPU 核心 + +无需外部服务,无需云密钥——只需本地代码,几秒钟即可运行。 + +--- + +![how to perform ocr example](/images/ocr-example.png "how to perform OCR on a TIFF document") +*图片替代文字:对 TIFF 文档执行 OCR 示例 – 提取文本的预览。* + +--- + +## 第一步:安装并导入 OCR 库 + +首先要做的事:把库装到你的机器上。大多数 OCR 包都在 PyPI 上,可通过简单的 `pip install` 完成。 + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +现在导入所需的类。如果使用 Tesseract,导入语句会有所不同,但其余代码保持不变。 + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*为什么重要:* 及早导入正确的符号可以防止后续的命名空间冲突,并让脚本更易阅读。 + +--- + +## 第二步:创建并配置 OCR 引擎(设置 OCR 语言) + +配置引擎的过程就是 **设置 OCR 语言**,以获得准确的识别。默认是英语,你可以通过一行代码切换到法语、德语,甚至多语言模式。 + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **为什么使用 4 线程?** 大多数现代笔记本至少有四个核心,限制线程数可以防止 OCR 进程占用整台机器的资源——在共享服务器上运行脚本时尤为有用。 + +如果需要其他语言,只需将 `ocr.Language.ENGLISH` 替换为 `ocr.Language.FRENCH`、`ocr.Language.SPANISH` 等。 + +--- + +## 第三步:加载图像进行 OCR(Load Image for OCR) + +现在我们 **加载图像进行 OCR**。`Image.load` 方法会将 TIFF 文件读取到内存中,并自动处理多页文档。 + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*边缘情况:* 如果文件非常大,可能会耗尽内存。在这种情况下,考虑使用 `Image.load_page(page_number)`(如果库支持)一次加载一页。 + +--- + +## 第四步:对文档运行 OCR + +引擎准备就绪、图像已加载,是时候 **对文档运行 OCR** 了。`process` 方法负责繁重的工作并返回一个结果对象。 + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +在内部,引擎会将图像拆分为文本块,运行识别模型,然后将结果拼接。此调用是阻塞的,意味着脚本会等待整个 TIFF 处理完成——非常适合批处理任务。 + +--- + +## 第五步:从 TIFF 中提取文本并验证输出 + +最后,我们通过访问结果的 `text` 属性 **从 tiff 中提取文本**。让我们打印前 200 个字符,以快速进行 sanity check。 + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**预期输出(示例):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +如果需要完整文本,只需使用 `ocr_result.text`。若要进行后续处理,你可能想将其写入 `.txt` 文件: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## 完整可运行示例 + +将所有步骤组合起来,这里是一段可直接运行的脚本。请将占位的包名替换为你实际安装的库。 + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +运行脚本: + +```bash +python ocr_tiff_example.py +``` + +你应该会在控制台看到预览输出,并生成名为 `extracted_text.txt` 的文件,里面包含完整的转录内容。 + +--- + +## 常见问题与边缘情况 + +- **如果 TIFF 包含多页怎么办?** + 大多数 OCR 引擎会在内部将每页视为单独的图像。`ocr_result.text` 会在页面之间插入换行符。如果需要逐页处理,可使用 `Image.load_page(page_number)` 进行迭代。 + +- **可以处理 PNG 或 JPEG 而不是 TIFF 吗?** + 完全可以。`Image.load` 方法通常接受 Pillow 或底层库支持的任何格式。只需更改文件扩展名即可。 + +- **我的文本出现乱码——是否需要更改语言?** + 是的。**设置 OCR 语言** 步骤对非英文文档至关重要。确保已安装相应语言包(例如法语的 `tesseract‑lang‑fra`)。 + +- **内存不足怎么办?** + 降低 `set_memory_limit` 或逐页处理。一些引擎还允许在识别前对图像进行降采样。 + +--- + +## 结论 + +以上就是使用 Python 对 TIFF 文件 **执行 OCR** 的简明完整指南。我们涵盖了从安装库、配置引擎(包括 **设置 OCR 语言**)、**加载图像进行 OCR**、**对文档运行 OCR**,到最后 **从 tiff 中提取文本** 的全部步骤。 + +欢迎尝试:调整线程数、切换语言,或将 OCR 输出喂入自然语言处理流水线。掌握基础后,想象力就是唯一的限制。 + +还有其他问题吗?在下方留言吧,祝编码愉快! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/chinese/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..891054e1 --- /dev/null +++ b/ocr/chinese/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,178 @@ +--- +category: general +date: 2026-01-12 +description: 如何在 Aspose OCR Python 中设置语言并使用自定义词典从图像中提取文本。面向开发者的逐步教程。 +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: zh +og_description: 如何在 Aspose OCR Python 中设置语言并使用自定义词典从图像中提取文本。分钟内学习完整工作流程。 +og_title: 如何在 Aspose OCR Python 中设置语言 – 完整指南 +tags: +- OCR +- Python +- Aspose +- Image Processing +title: 如何在 Aspose OCR Python 中设置语言 – 完整指南 +url: /zh/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 Aspose OCR Python 中设置语言 – 完整指南 + +是否曾经想过 **如何在使用 Aspose OCR 的 Python 中设置语言**?你并不孤单——很多开发者在默认的英文模型无法识别产品代码、序列号或多语言文本时都会遇到这个问题。好消息是,解决方案既简单又强大。在本教程中,我们将一步步演示如何配置语言、添加自定义词典、从图像中提取文本,最后对图像进行处理以获得最佳 OCR 效果。 + +我们将覆盖所有必需的内容:从库的安装到运行完整示例并打印提取的文本。完成后,你将能够 **从图像文件中提取文本**,即使内容包含异常代码或混合语言也毫无压力。 + +## 前置条件 + +在开始之前,请确保你已经: + +* 安装了 Python 3.8+(代码使用了 f‑strings,旧版本无法运行)。 +* 拥有有效的 Aspose OCR for Python 许可证或免费试用密钥。 +* 通过 `pip install asposeocr` 安装了 `asposeocr` 包。 +* 准备了一张示例图像(`product_label.png`),其中包含你想读取的文本。 + +如果这些都已经就绪,太好了——继续下一步。如果还没有,请从 Aspose 官网获取免费试用并运行安装命令,整个过程只需一分钟。 + +## 第一步:导入 Aspose OCR 模块 + +首先需要将 OCR 类导入到脚本中。这是后续 **如何设置语言** 的基础。 + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **小贴士:** 将所有 import 语句放在文件顶部。这样可以让脚本更易于浏览,尤其是在以后回顾时。 + +## 第二步:如何设置语言 + +默认情况下,Aspose OCR 假设使用英文。如果你的图像包含法文、德文或其他语言,需要告诉引擎使用哪种语言。这正是关键关键词发挥作用的地方。 + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +这为何重要?OCR 引擎依赖于特定语言的字符模型。提供正确的语言可以显著提升准确率——尤其是带有重音字符或语言特有连字的情况。 + +> **注意:** 如果需要同时支持多种语言,可以传入列表,例如 `ocr.Language.ENGLISH | ocr.Language.SPANISH`。 + +## 第三步:如何添加词典(用户自定义词汇) + +有时 OCR 引擎会误读像 “AB‑1234” 这样的产品代码。通过提供自定义词典可以提升置信度。这直接回答了 **如何在 Aspose OCR 中添加词典**。 + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +引擎会将这些词视为 “已知”,并在出现相似字符时优先选择它们。这对 SKU 编号、序列码或不属于自然语言的品牌名称尤为有用。 + +## 第四步:如何处理图像 + +在配置好引擎后,需要加载要分析的图像。这对应 **如何处理图像**,并提供了一个干净、可重复的方式。 + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +如果你处理的是 PDF,可以先将每页转换为图像——Aspose OCR 已内置支持此功能。 + +## 第五步:如何从图像中提取文本 + +一切就绪后,最后一步是运行 OCR 并获取文本。这是 **如何从图像中提取文本** 的核心。 + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +运行脚本后,你应该会看到类似如下的输出: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +如果输出乱码,请再次确认已设置正确的语言,并且自定义词典中包含了你期望的完整字符串。 + +## 完整可运行示例 + +将所有步骤整合在一起,下面是可以直接复制粘贴到名为 `extract_label.py` 的文件中的完整脚本。记得将 `YOUR_DIRECTORY` 替换为实际的图像路径。 + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### 预期输出 + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +如果你看到词典中添加的准确代码,说明已经成功掌握了 **如何设置语言**、**如何添加词典**,以及 **如何从图像中提取文本** 的全部技巧。 + +## 处理常见边缘情况 + +| 情况 | 处理方法 | +|-----------|------------| +| **图像模糊** | 在调用 `process()` 前使用 `ocr.Image.apply_filter()` 进行锐化预处理。 | +| **单张图像中包含多种语言** | 设置 `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`。 | +| **大型 PDF** | 遍历每一页,将其转换为 `ocr.Image`,并对每页分别调用 `process()`。 | +| **出现意外字符** | 将其加入用户自定义词汇列表;Aspose OCR 会将其视为高置信度的标记。 | + +这些技巧可以让你的 OCR 流程在输入不完美的情况下仍保持稳健。 + +## 可视化参考 + +![how to set language in Aspose OCR example](image.png "Screenshot showing how to set language in Aspose OCR Python example") + +*Alt text:* **how to set language** 截图,展示在 Python IDE 中对 language 属性的赋值过程。 + +## 结论 + +现在,你已经了解了 **如何在 Aspose OCR Python 中设置语言**,如何 **添加词典** 条目,以及 **如何从图像中提取文本** 并 **处理图像** 以获得最佳效果。上面的完整示例可以直接嵌入任何项目,针对不同语言进行微调,甚至扩展为批量处理或 PDF 输入。 + +准备好迎接下一个挑战了吗?尝试将 `ocr.Language.ENGLISH` 替换为 `ocr.Language.FRENCH`,观察法语标签的准确率提升。或者使用 `set_user_defined_words` 方法加入整套产品目录——你的 OCR 引擎将把每个条目视为高置信度匹配。 + +祝编码愉快,愿你的 OCR 结果始终晶莹剔透! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/chinese/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..d0d7fd61 --- /dev/null +++ b/ocr/chinese/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,206 @@ +--- +category: general +date: 2026-01-12 +description: 使用 Aspose OCR 在 Python 中处理手写笔记——快速学习如何从 jpg 图像中提取文本。 +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: zh +og_description: 使用 Aspose OCR 在 Python 中处理手写笔记。了解如何从 jpg 图像中提取文本、识别手写 OCR 并加载图像进行 + OCR。 +og_title: 使用 Python 处理手写笔记 – 完整 OCR 教程 +tags: +- OCR +- Python +- Aspose +title: 使用 Python 处理手写笔记 – 手写 OCR 指南 +url: /zh/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 使用 Python 处理手写笔记 – 手写 OCR 指南 + +如果你需要在 Python 中 **处理手写笔记**,本指南将一步步教你如何操作。无论笔记是扫描收据上的、课堂白板的照片,还是待办清单的快速自拍,你都能学习到 **如何提取文本**,轻松完成。 + +我们将逐步演示每一步——导入 Aspose OCR 库、加载 JPG、运行引擎以及处理低置信度的行。完成后,你将拥有一个可直接运行的脚本,能够 **从 jpg 文件中识别文本** 并提供干净、可操作的字符串。 + +## 你将收获 + +- 一个完整、可直接运行的代码示例,开箱即用。 +- 理解每行代码背后的原因,而不仅仅是它的功能。 +- 处理晃动的手写和低置信度结果的技巧。 +- 关于将脚本扩展到 PDF、多图像或自定义语言包的指导。 + +*先决条件*:已安装 Python 3.8+,拥有有效的 Aspose OCR 许可证(或免费试用),并在项目文件夹中放置名为 `handwritten_notes.jpg` 的图像文件。 + +--- + +![手写笔记处理示例](https://example.com/handwritten-notes.png "手写笔记处理") + +*Alt text: 手写笔记处理 – 示例图像,展示已准备好进行 OCR 的手写文本。* + +## 处理手写笔记:设置 OCR 引擎 + +### 为什么这一步很重要 +OCR 引擎是识别过程的大脑。正确选择语言并正确初始化对象,可确保引擎知道应识别英文字符,并能够处理手写的各种特性。 + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**小贴士**:如果预计笔记使用其他语言,请将 `ocr.Language.ENGLISH` 替换为相应的枚举(例如 `ocr.Language.FRENCH`)。引擎会自动加载所需的字符集。 + +--- + +## 如何从 JPG 图像中提取文本 + +### 加载图像 – 第一道障碍 +在引擎开始工作之前,需要先将你的 JPG 转换为位图表示。Aspose 提供了便利的静态 `load` 方法,可将文件读取为 `Image` 对象。 + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*为什么不使用 OpenCV 或 Pillow?* +这些库非常适合预处理,但 Aspose 的 `Image.load` 能确保 OCR 引擎所需的精确像素格式,消除常见的颜色深度不匹配问题。 + +--- + +## 使用 Handwritten OCR Python 识别 JPG 中的文本 + +### 运行 OCR 引擎 +现在引擎和图像都已准备就绪,我们启动识别。`process` 方法返回一个 `OcrResult` 对象,其中包含多个 `Line` 对象,每个对象都有自己的置信度分数。 + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**底层原理是什么?** +Aspose OCR 使用在数百万手写样本上训练的深度学习模型。它先将图像分割为行,再分割为字符,最终为每行组装出最可能的文本字符串。 + +--- + +## 加载图像进行 OCR – 处理低置信度结果 + +### 为什么要关注置信度 +手写 OCR 永远不可能 100 % 完美。置信度低于 75 % 通常表示引擎在笔画顺序或背景噪声上遇到困难。通过过滤这些行,你可以决定是让用户进行验证,还是进行额外的图像预处理。 + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**典型输出**(你的结果可能会有所不同): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +请注意脚本如何清晰地将可靠文本与不稳定的部分分离。之后,你可以将低置信度的行送入二次处理,使用图像增强滤镜(例如对比度提升),或交给人工审阅。 + +--- + +## 完整脚本 – 可直接运行 + +以下是完整的程序,可直接复制粘贴。将其保存为 `handwritten_ocr.py` 并运行 `python handwritten_ocr.py`。 + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Expected behavior:** +- 脚本会打印每行及其置信度百分比。 +- 置信度高于 75 % 的行显示为 “Accepted”,其余行标记为待审阅。 +- 除 `asposeocr` 外无需其他依赖。 + +--- + +## 常见问题与边缘情况 + +### 如果我的图像是 PNG 或 BMP 会怎样? +Aspose OCR 会自动检测格式,因此只需在 `image_path` 中更改文件扩展名即可,无需修改代码。 + +### 我的手写极其潦草——如何提升准确率? +1. **预处理图像** – 提高对比度,去除背景阴影(可使用 OpenCV)。 +2. **提升置信度阈值** – 若只想要近乎完美的行,可将阈值设为 80 %。 +3. **训练自定义模型** – Aspose 提供 “custom language pack” 功能,可针对特定手写风格进行训练。 + +### 能否一次处理多张图像? +完全可以。将加载和处理步骤放入遍历文件路径列表的 `for` 循环中。记得复用同一个 `ocr_engine` 实例以提升速度。 + +### 这在 macOS/Linux 上能运行吗? +可以。Aspose OCR 为所有主流平台提供了 wheel 包。只需 `pip install asposeocr` 即可使用。 + +--- + +## 后续步骤与相关主题 + +- **如何从 PDF 中提取文本** – 有了 OCR 流程后,只需一行代码将 PDF 页面传入 `ocr.Image.load`。 +- **与数据库集成** – 将每条已接受的行存入 SQLite 或 PostgreSQL,以实现可搜索的笔记。 +- **移动端实时 OCR** – 将此脚本与 Flask 或 FastAPI 结合,提供移动应用可调用的 REST 接口。 + +这些扩展都基于我们所讲的核心概念:**process handwritten notes**、**how to extract text**、**recognize text from jpg** 和 **load image for OCR**。 + +## 结论 + +现在,你已经拥有一个使用 Python 和 Aspose OCR 的完整、端到端的 **process handwritten notes** 解决方案。指南一步步演示了如何设置引擎、加载 JPG、运行识别以及处理低置信度结果——全部在一个可复制粘贴的脚本中完成。 + +接下来,你可以尝试不同的图像预处理技术,提高置信度阈值,或将方案扩展到批量处理数百张笔记。没有限制,而你刚学到的代码就是你的起飞平台。 + +*祝编码愉快,愿你的手写笔记最终转化为可搜索的文本!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/chinese/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..bfc73dfe --- /dev/null +++ b/ocr/chinese/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,235 @@ +--- +category: general +date: 2026-01-12 +description: Python OCR 教程,展示如何从图像中提取表格文本。学习使用 Aspose OCR 从图像读取表格并提取选定的文本。 +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: zh +og_description: Python OCR 教程,教您如何从图像中提取表格文本、读取图像中的表格以及使用 Aspose OCR 提取选定的文本。 +og_title: Python OCR 教程:从图像中提取表格文本 +tags: +- OCR +- Python +- AsposeOCR +title: Python OCR 教程:从图像中提取表格文本 +url: /zh/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR 教程:从图像中提取表格文本 + +是否曾经需要一个实际上演示如何从扫描表单中提取表格的 **python ocr tutorial**?你并不是唯一的需求者。大多数教程只停留在通用文本提取上,让你猜测如何隔离出你关心的整齐数据网格。 + +在本指南中,我们将演示一个真实场景:从图像中读取表格,仅提取所需的选定文本,最后打印结果。过程中我们还会提供关于 **how to extract table** 数据可靠提取的技巧,这样你就不必每次都重新发明轮子。 + +## 你将学到 + +- 如何为 Python 设置 Aspose OCR。 +- 如何定义包含表格的矩形区域。 +- **extract table text** 和 **read table from image** 的具体步骤。 +- 处理多语言或不规则表格布局的技巧。 +- 一个完整、可直接运行的脚本,今天即可加入你的项目。 + +**先决条件** +- Python 3.8 或更高版本。 +- 对 OCR 概念有基本了解(无需深入专业知识)。 +- 包含清晰表格的 PNG 或 JPEG 图像(我们称之为 `form_with_table.png`)。 + +如果你已经准备好,让我们开始吧——不废话,只提供可操作的代码。 + +![python ocr 教程 表格区域 示例](table_region_example.png){alt="python ocr 教程 示例显示表格区域"} + +## 步骤 1:安装并导入 Aspose OCR + +首先,你需要 Aspose OCR 库。该包已发布在 PyPI 上,只需一条 `pip` 命令即可完成安装。 + +```bash +pip install aspose-ocr +``` + +现在导入模块以及你需要的任何辅助工具。 + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*小技巧:* 将依赖项保存在 `requirements.txt` 文件中。这样可以轻松复现环境。 + +## 步骤 2:初始化 OCR 引擎(Python OCR 教程核心) + +创建引擎是任何 **python ocr tutorial** 的核心。在这里我们还将默认语言设置为英文——以后可以随意更换。 + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +为什么设置语言?当引擎知道预期字符时,OCR 准确率会显著提升。如果你处理的是多语言表单,可以设置语言列表或在每个区域单独覆盖(见后文)。 + +## 步骤 3:加载图像 + +Aspose OCR 支持大多数常见图像格式。只需指向文件路径,即可获得可供处理的 `Image` 对象。 + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*边缘情况:* 大于 5 MB 的大型图像可能会减慢处理速度。如果性能成为问题,请考虑在 OCR 前先调整大小或压缩图像。 + +## 步骤 4:定义表格区域(从图像读取表格) + +现在进入有趣的部分:告诉引擎表格所在的 *位置*。你需要提供一个带有 `Rectangle`(x, y, width, height)的 `OcrRegion`。坐标基于像素,可能需要稍作实验。 + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +为什么使用区域?通过将 OCR 限制在表格区域,我们可以更快 **extract selected text**,并避免来自周围标签或图形的噪声。由于引擎可以专注于统一的布局,这也提升了准确性。 + +## 步骤 5:在定义的区域上运行 OCR + +设置好区域后,我们调用 `process_region`。该方法返回一个 `OcrResult` 对象,包含原始文本、置信度分数,甚至在需要时的边界框。 + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +如果需要提取多个表格,只需使用不同的矩形重复步骤 4‑5 即可。 + +## 步骤 6:输出提取的表格文本 + +最后,打印或保存表格的文本表示。Aspose OCR 返回的纯文本带有换行符,通常与行对应,**使后处理变得简单**。 + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**预期输出**(示例): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +现在你可以将此字符串输入到 `csv` 解析器、pandas DataFrame 或任何下游 **analytics** 流程中。 + +## 完整工作示例 + +将所有步骤整合在一起,这里是可以立即运行的完整脚本。将 `YOUR_DIRECTORY/form_with_table.png` 替换为实际的 **路径** 到你的图像。 + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +使用 `python extract_table.py` 运行脚本。如果一切顺利,你将在控制台看到表格打印输出。 + +## 常见问题与边缘情况处理 + +**如果表格不是完全矩形怎么办?** +可以将表格拆分为多个重叠区域,或使用覆盖整个区域的更大矩形,然后对文本进行后处理(例如,按换行符拆分)。 + +**我能只提取特定列吗?** +获取完整表格文本后,使用 Python 的 `csv` 或 `pandas` 切取所需列。OCR 步骤本身返回矩形内的全部内容。 + +**如何处理非英文表格?** +将 `ocr_engine.language`(或 `region.language`)设置为相应的枚举,例如 `ocr.Language.FRENCH`,或使用 `ocr.Language.ENGLISH | ocr.Language.SPANISH` 组合多种语言。 + +**有没有办法获取每个单元格的边界框?** +Aspose OCR 可以返回 `region_result.words`,其中每个单词都包含边界框。你需要将这些框映射回网格——这对高级布局分析很有用。 + +## 提高准确性的技巧 + +- **清理图像**:在送入 OCR 前进行二值化或提升对比度。可使用 Pillow 等库。 +- **避免压缩伪影**:尽可能将扫描保存为 PNG。 +- **注意 DPI**:300 dpi 是最佳值;更低的 DPI 可能导致字符缺失。 +- **测试不同的矩形尺寸**:稍大一些的矩形常能捕获属于表格的零散字符。 + +## 下一步 + +现在你已经掌握了使用 Aspose OCR **how to extract table** 数据的技巧,可以进一步探索: + +- 使用 Python 的 `csv` 模块将提取的文本转换为 CSV 文件。 +- 将数据导入 **pandas** DataFrame 进行分析。 +- 使用 OCR 读取手写表单(需要不同的引擎或额外训练)。 +- 使用简单的 `for` 循环实现对数十个扫描表单的批量处理自动化。 + +这些扩展都基于本 **python ocr tutorial** 中的核心概念,因此你已具备良好的扩展基础。 + +--- + +*祝编码愉快!如果遇到任何问题,请在下方留言——我很乐意帮助你微调提取过程。* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/chinese/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..b6a49deb --- /dev/null +++ b/ocr/chinese/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,280 @@ +--- +category: general +date: 2026-01-12 +description: 使用 Python 快速对 PNG 文件进行 OCR。了解如何从图像和发票中提取文本,并使用 Aspose.OCR 加载图像进行 OCR。 +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: zh +og_description: 即时对 PNG 进行 OCR。本指南展示了如何从图像和发票中提取文本、加载图像进行 OCR,并将结果保存为 JSON 和 CSV。 +og_title: 在 PNG 上运行 OCR – 完整的 Python 教程 +tags: +- OCR +- Python +- Image Processing +title: 在 PNG 上运行 OCR – 完整的 Python 图像文字提取指南 +url: /zh/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 在 PNG 上运行 OCR – 完整的 Python 指南,提取图像中的文本 + +是否曾需要 **在 PNG 上运行 OCR**,却不确定哪个库能提供干净、结构化的结果?你并不孤单。在许多真实项目中——比如发票自动化或收据扫描——第一步就是 **从图像中提取文本**,而 PNG 是常用格式,因为它保持无损质量。 + +在本教程中,我们将使用 Aspose.OCR Python 包进行动手示例。阅读完本指南后,你将了解如何 **加载图像进行 OCR**、提取每一行文本、将数据转换为整洁的 JSON 对象,甚至导出为 CSV 以供后续处理。没有冗余,只提供实用、可直接运行的解决方案。 + +## 你将学到 + +- 如何安装并导入 Aspose.OCR 库。 +- **在 PNG 上运行 OCR** 的完整步骤以及如何处理结果对象。 +- **从发票中提取文本** 的方法,并将输出格式化为 JSON 或 CSV。 +- 处理低对比度图像、多语言文档以及置信度分数的技巧。 +- 一个完整的、可直接复制粘贴并立即执行的代码示例。 + +> **先决条件:** Python 3.8+,并且对 pip 有基本了解。如果你从未使用过 Aspose,也无需担心——本指南涵盖了入门所需的一切。 + +--- + +## 第一步 – 安装 Aspose.OCR 并准备环境 + +在我们能够 **在 PNG 上运行 OCR** 之前,需要先在系统中安装该库。 + +```bash +pip install aspose-ocr +``` + +> **专业提示:** 使用虚拟环境 (`python -m venv venv`) 来隔离依赖。这可以避免在处理多个项目时出现版本冲突。 + +安装完成后,导入我们需要的模块: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +这里我们引入 `asposeocr` 来完成核心工作,并使用内置的 `json` 库进行后续序列化。 + +--- + +## 第二步 – 创建 OCR 引擎并设置语言 + +OCR 引擎是实际读取像素的核心组件。对于大多数英文发票,你需要使用英文语言包: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **为什么重要:** 指定语言会缩小字符集范围,从而提升准确率并加快处理速度。如果需要处理多语言发票,只需将 `ocr.Language.ENGLISH` 替换为相应的枚举即可。 + +--- + +## 第三步 – 加载图像进行 OCR + +现在我们将 **加载图像进行 OCR**。`Image.load` 方法接受文件路径,支持 PNG、JPEG、BMP 等多种格式。 + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **边缘情况:** 如果 PNG 文件异常大(超过 5 MB),建议先进行缩放以控制内存使用。Pillow 可以用一行代码完成: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## 第四步 – 在 PNG 上运行 OCR 并获取结果 + +引擎准备好、图像已加载后,就可以 **在 PNG 上运行 OCR** 并获取结构化结果了。 + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +`ocr_result` 对象包含一系列 `OcrRegion` 项目,每个项目都有识别出的文本和置信度分数(0‑100)。这正是你从 **发票中提取文本** 所需的细粒度数据。 + +--- + +## 第五步 – 将结果转换为 JSON 并美化输出 + +大多数下游系统都喜欢 JSON,因此我们将 OCR 输出转换为格式化的字符串。 + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### 示例输出 + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +请注意,每行都包含置信度指标——如果你计划自动 **从发票中提取文本**,可以据此过滤低置信度条目。 + +--- + +## 第六步 – 将 OCR 数据保存为 CSV(每行文本 + 置信度) + +CSV 非常适合电子表格或快速数据导入。Aspose 提供了一行代码即可将所有内容导出为 CSV 文件。 + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +生成的 CSV 将如下所示: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +现在你可以在 Excel、Google Sheets 中打开,或将其导入数据库。 + +--- + +## 进阶 – 处理低置信度文本和多页 PDF + +### 按置信度过滤 + +如果只想保留高置信度的行,可在写入前先过滤 JSON: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### 多页文档 + +Aspose.OCR 会为多页 PNG 或 PDF 自动创建新的 `page` 条目。遍历 `ocr_data["pages"]` 即可处理所有页面——无需额外代码。 + +--- + +## 完整可运行示例 + +下面是你可以直接复制、粘贴并立即运行的 **完整脚本**。将 `YOUR_DIRECTORY` 替换为存放 PNG 文件的文件夹路径。 + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +使用 `python run_ocr.py` 运行脚本,你将在控制台看到 JSON 输出,磁盘上生成 CSV 文件,并得到一个高置信度条目的过滤列表。 + +--- + +## 常见问题 + +**Q: 我可以用它来提取扫描收据的文本,而不是发票吗?** +A: 当然可以。工作流完全相同——只需将 `image_path` 指向你的收据 PNG。如果收据使用其他语言,相应地切换 `engine.language` 即可。 + +**Q: 如果我的 PNG 包含旋转的文字怎么办?** +A: Aspose.OCR 会自动检测方向,但对于顽固情况,你可以在将图像传给引擎之前使用 Pillow 手动旋转。 + +**Q: 使用 Aspose.OCR 是否需要付费许可证?** +A: 该库提供带水印的免费评估模式。生产环境下需要购买许可证,可从 Aspose 官网获取。 + +--- + +## 结论 + +我们已经覆盖了使用 Python **在 PNG 上运行 OCR** 所需的全部内容:安装 SDK、加载图像、提取结构化文本,以及将结果保存为 JSON 或 CSV。无论你是想 **从图像中提取文本** 用于简单脚本,还是 **从发票中提取文本** 用于自动化会计流水线,上述步骤都为你提供了坚实、可投入生产的基础。 + +接下来,你可以进一步探索: + +- 将 CSV 输出集成到数据库,实现批量发票存储。 +- 使用正则表达式进行后处理,提取日期、金额或税号。 +- 若发票中包含二维码,可使用 `ocr_engine.recognize_barcode` 功能进行识别。 + +尝试一下,调整置信度阈值,感受文档处理工作流的轻松流畅。还有其他问题或想分享的使用案例吗?欢迎在下方留言——祝你 OCR 顺利! + +![run OCR on PNG example](run-ocr-on-png.png "run OCR on PNG – visual example of OCR result") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/czech/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..9102dd20 --- /dev/null +++ b/ocr/czech/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-01-12 +description: Extrahujte text z obrázku v Pythonu pomocí Aspose OCR. Naučte se, jak + převést naskenovaný obrázek na text pomocí asynchronního kódu během několika minut. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: cs +og_description: Extrahujte text z obrázku v Pythonu pomocí Aspose OCR. Tento tutoriál + ukazuje, jak převést naskenovaný obrázek na text pomocí asynchronních funkcí. +og_title: Extrahování textu z obrázku v Pythonu – Asynchronní průvodce OCR +tags: +- python +- ocr +- async +title: Extrahování textu z obrázku v Pythonu – Průvodce asynchronním OCR +url: /cs/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrahování textu z obrázku v Pythonu – průvodce asynchronním OCR + +Už jste někdy potřebovali **extrahovat text z obrázku v Pythonu**, ale zasekli jste se u části OCR? Nejste v tom sami. Mnoho vývojářů narazí na problém, když mají naskenovaný dokument a chtějí jej převést na prohledávatelný text, aniž by si trhali vlasy. + +V tomto tutoriálu projdeme kompletním, spustitelným příkladem, který vám ukáže, jak **převést naskenovaný obrázek na text** pomocí asynchronního API Aspose OCR. Na konci budete mít jedinou funkci, kterou můžete vložit do libovolného projektu, a pochopíte, proč asynchronní zpracování může udržet vaši aplikaci responzivní i tehdy, když OCR trvá několik sekund. + +## Požadavky + +Než se pustíme do kódu, ujistěte se, že máte: + +- Python 3.8+ nainstalovaný (asynchronní funkce vyžadují alespoň 3.7) +- balíček `asposeocr` (`pip install asposeocr`) – to je knihovna, kterou použijeme +- naskenovaný soubor obrázku (TIFF, PNG, JPEG – cokoliv, co Aspose OCR podporuje) +- Základní znalosti `asyncio` (pokud ne, nebojte se – vše vám vysvětlíme) + +Žádné další systémové závislosti nejsou potřeba; Aspose OCR obsahuje vše, co je nutné. + +![Diagram zobrazující asynchronní OCR tok – extrahování textu z obrázku v Pythonu](https://example.com/async-ocr-diagram.png "asynchronní OCR tok – extrahování textu z obrázku v Pythonu") + +## Krok 1 – Nastavení asynchronní pomocné funkce + +Jádrem řešení je `async` funkce, která načte obrázek, spustí OCR a pak čeká na výsledek. Udržení funkce asynchronní znamená, že můžete spouštět další korutiny (např. stahování dalších souborů), zatímco OCR engine pracuje na pozadí. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Proč je to důležité:** Vrácením `Future` Aspose OCR provádí těžkou práci v samostatném vláknovém poolu. `await` uvolní event loop, takže vaše aplikace zůstane rychlá. Pokud budete potřebovat zpracovat mnoho obrázků najednou, můžete jednoduše naplánovat několik volání `async_ocr` pomocí `asyncio.gather`. + +## Krok 2 – Spuštění korutiny v event loopu + +Nyní, když máme pomocnou funkci, musíme ji spustit. `asyncio.run` vytvoří nový event loop, spustí korutinu a vše čistě ukončí. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Tip:** Pokud tuto funkci integrujete do větší asynchronní aplikace (např. FastAPI), zavoláte `await async_ocr(...)` přímo místo `asyncio.run`. + +## Krok 3 – Ověření výstupu + +Po spuštění skriptu byste měli vidět něco podobného: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Pokud výstup vypadá poškozeně, zkontrolujte: + +1. Obrázek je čistý a není příliš komprimovaný. +2. Vybrali jste správný jazyk (`ocr.Language.ENGLISH` funguje pro většinu latinských textů). +3. Cesta k souboru je správná a soubor je čitelný. + +## Krok 4 – Zpracování okrajových případů + +### Více jazyků + +Pokud potřebujete **převést naskenovaný obrázek na text** v jiném jazyce než angličtině, stačí změnit vlastnost jazyka: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Velké soubory + +U velmi velkých TIFF souborů zvažte změnu velikosti nebo konverzi na PNG s nižším rozlišením před předáním OCR. Tím snížíte zatížení paměti a urychlíte zpracování. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Ošetření chyb + +Zabalte volání OCR do `try/except` bloku, abyste zachytili chyby související se sítí nebo licencí. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Krok 5 – Škálování: Zpracování mnoha obrázků současně + +Protože je funkce asynchronní, můžete spustit desítky OCR úloh najednou: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Tento vzor udržuje CPU vytížený, zatímco OCR engine pracuje paralelně, což dramaticky snižuje celkový čas zpracování. + +## Závěr + +Nyní máte robustní **extrahování textu z obrázku v Pythonu** řešení, které využívá asynchronní API Aspose OCR. Kompletní příklad ukazuje, jak: + +1. Inicializovat OCR engine a vybrat jazyk. +2. Spustit OCR asynchronně pomocí `process_async`. +3. Čekat na výsledek bez blokování event loopu. +4. Řešit běžné problémy, jako jsou velké soubory a podpora více jazyků. + +Klidně upravte kód podle vlastních pipeline – ať už budujete systém pro správu dokumentů, vyhledávací indexátor nebo jednoduchý příkazový nástroj. Další kroky mohou zahrnovat: + +- Ukládání extrahovaného textu do databáze pro full‑textové vyhledávání. +- Přidání generování PDF (např. pomocí `PyPDF2`) pro vytvoření prohledávatelných PDF. +- Integraci s webovým frameworkem jako FastAPI pro RESTful OCR službu. + +Šťastné programování a užívejte si převod naskenovaných obrázků na prohledávatelný, editovatelný text! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/czech/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..72843c2a --- /dev/null +++ b/ocr/czech/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,215 @@ +--- +category: general +date: 2026-01-12 +description: Jak rychle provádět dávkové OCR obrázků a extrahovat text z JPEG souborů + v Pythonu. Naučte se krok za krokem dávkové zpracování s kompletním spustitelným + příkladem. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: cs +og_description: Jak dávkově provádět OCR obrázků a extrahovat text z JPEG souborů. + Tento průvodce vás provede kompletním, připraveným k použití řešením v Pythonu. +og_title: Jak dávkově provádět OCR obrázků – Rychlý Python tutoriál +tags: +- OCR +- Python +- image processing +title: Jak hromadně OCR obrázky – Rychlý průvodce pro extrakci textu z JPEG souborů +url: /cs/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak hromadně OCR obrázky – Rychlý průvodce pro extrakci textu z JPEG souborů + +Už jste se někdy zamýšleli **jak hromadně OCR obrázky** bez psaní samostatného skriptu pro každý soubor? Nejste v tom sami. V mnoha projektech—skenování faktur, digitalizace archivů nebo moderování obsahu—potřebujeme získat text z desítek či stovek JPEG souborů najednou. Dobrou zprávou je, že to můžete udělat pomocí několika řádků Pythonu a získáte znovupoužitelný engine, který můžete vložit do jakéhokoli pipeline. + +V tomto tutoriálu vám přesně ukážeme **jak hromadně OCR obrázky**, poté projdeme extrakci textu z JPEG souborů, řešení okrajových případů a ověření výstupu. Na konci budete mít samostatný skript, který můžete spustit na libovolné složce s obrázky, a pochopíte, proč je hromadné zpracování důležité pro výkon a údržbu. + +## Co se naučíte + +- Nastavit jednoduchý OCR engine a nakonfigurovat jej pro angličtinu. +- Shromáždit všechny JPEG soubory ze složky pomocí `pathlib`. +- Zavolat OCR engine jednou pro zpracování celé dávky. +- Zobrazit náhled rozpoznaného textu pro každý obrázek. +- Tipy pro práci s velkými dávkami, různými jazyky a běžnými úskalími. + +**Požadavky**: Python 3.8+, knihovna `ocr` (nebo jakýkoli kompatibilní wrapper) a složka s JPEG obrázky, které chcete analyzovat. Žádné externí služby nejsou potřeba—vše běží lokálně. + +--- + +## Krok 1: Inicializace OCR engine – Jádro toho, jak hromadně OCR obrázky + +Předtím, než můžeme **hromadně OCR obrázky**, potřebujeme engine, který umí číst text. Ve většině knihoven vytvoříte objekt engine, volitelně nastavíte jazyk a poté jej znovu použijete pro každý soubor. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Proč je to důležité*: Inicializace engine jednou eliminuje režii opakovaného načítání jazykových modelů. Také vám poskytuje jedno místo, kde můžete upravit nastavení (např. DPI, whitelist znaků), které se použije na celou dávku. + +> **Pro tip**: Pokud plánujete zpracovávat vícejazyčné dokumenty, přepněte `ocr.Language.ENGLISH` na `ocr.Language.MULTI` nebo načtěte více jazykových balíčků před zahájením dávky. + +--- + +## Krok 2: Shromáždit všechny JPEG soubory – Část „Extrahovat text z JPEG souborů“ + +Nyní, když je engine připraven, musíme mu říct, s jakými obrázky má pracovat. Použití `pathlib` dělá kód platformově nezávislý a stručný. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Proč je to důležité*: Shromážděním seznamu souborů nejprve můžeme celou kolekci předat OCR engine v jednom volání—právě to, o čem je „jak hromadně OCR obrázky“. Pokud máte podsložky, můžete změnit `glob("**/*.jpg")` na rekurzivní vyhledávání. + +> **Okrajový případ**: Pokud mají vaše obrázky smíšené přípony (`.jpeg`, `.JPG`), rozšiřte glob vzor: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Krok 3: Zpracovat celou dávku v jednom volání – Skutečná síla hromadného OCR + +Většina moderních OCR knihoven poskytuje metodu `process_batch` (nebo podobně pojmenovanou), která přijímá iterovatelný seznam cest k souborům. To je jádro **jak hromadně OCR obrázky** efektivně. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Proč je to důležité*: Jedno volání dávky snižuje počet přechodů Python‑C, udržuje jazykový model načtený v paměti a často umožňuje interní paralelizaci. Výsledkem je seznam objektů—každý obsahuje rozpoznaný text a skóre důvěry. + +> **Poznámka k výkonu**: Pro velmi velké dávky (tisíce obrázků) zvažte rozdělení seznamu na menší úseky (např. 200 souborů), aby nedošlo k nadměrné spotřebě paměti. + +--- + +## Krok 4: Zobrazit náhled extrahovaného textu – Rychlá validace + +Po dokončení dávky je užitečné nahlédnout na prvních několik znaků každého výsledku. To vám pomůže potvrdit, že OCR skutečně extrahuje text z vašich JPEG souborů. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Proč je to důležité*: Krátký náhled vám umožní odhalit zjevné selhání (např. prázdný výstup, poškozené znaky) bez otevírání každého souboru. Pokud zaznamenáte systematické problémy, můžete upravit nastavení engine a dávku spustit znovu. + +> **Běžná chyba**: Zapomenutí odstranit znaky nových řádků může způsobit nečistý náhled. Řádek `replace("\n", " ")` to vyčistí. + +--- + +## Úplný funkční příklad – Všechny kroky dohromady + +Níže je kompletní skript, který můžete zkopírovat, upravit cestu ke složce a spustit. Ukazuje celý workflow **jak hromadně OCR obrázky** od začátku do konce. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Očekávaný výstup** (ukázka): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Pokud náhled ukazuje smysluplný text, úspěšně jste **extrahovali text z JPEG souborů** pomocí hromadného přístupu. + +--- + +## Zpracování velkých dávek a pokročilé scénáře + +### Rozdělení velkých pracovních zátěží +Při práci s tisíci obrázky se může paměť stát úzkým hrdlem. Rozdělte seznam na menší úseky: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Přepínání jazyků +Pokud vaše dokumenty obsahují francouzštinu nebo španělštinu, změňte jazyk před zahájením dávky: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Ukládání výsledků na disk +Místo výpisu na obrazovku můžete chtít zapsat každý OCR výsledek do souboru `.txt`: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Závěr + +Nyní víte **jak hromadně OCR obrázky** a spolehlivě **extrahovat text z JPEG souborů** pomocí kompaktního Python skriptu. Inicializací engine jednou, shromážděním všech JPEG cest, jejich zpracováním v jedné dávce a náhledem výstupu dosáhnete jak rychlosti, tak jednoduchosti. Odtud můžete workflow rozšířit—přidat vícejazyčnou podporu, uložit výsledky do databáze nebo integrovat skript do většího pipeline pro zpracování dokumentů. + +Připraveni na další krok? Zkuste nahradit knihovnu `ocr` za Tesseract, experimentujte s různým předzpracováním obrázků (práh, změna velikosti) nebo vložte extrahovaný text do modelu zpracování přirozeného jazyka pro automatické kategorizování. Možnosti jsou neomezené a máte pevný základ, na kterém můžete stavět. + +Šťastné kódování a ať jsou vaše OCR dávky vždy bez chyb! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/czech/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..6d7c098e --- /dev/null +++ b/ocr/czech/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,143 @@ +--- +category: general +date: 2026-01-12 +description: Jak detekovat jazyk na obrázcích pomocí Aspose OCR – naučte se extrahovat + text z obrázku, zvládat OCR s více jazyky a používat OCR v Pythonu. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: cs +og_description: Jak detekovat jazyk na obrázcích pomocí Aspose OCR – krok za krokem + průvodce extrakcí textu z obrázku a zpracováním OCR s více jazyky. +og_title: Jak detekovat jazyk pomocí OCR pro smíšený text +tags: +- OCR +- Python +- Aspose +title: Jak detekovat jazyk pomocí OCR pro smíšený text +url: /cs/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak detekovat jazyk pomocí OCR pro smíšený text + +Detekce jazyka na obrázcích pomocí Aspose OCR je běžnou výzvou při práci s vícejazyčnými dokumenty. Už jste se někdy ptali, **how to extract text from image**, který obsahuje jak angličtinu, tak francouzštinu na stejné stránce? V tomto tutoriálu vás provedeme kompletním, spustitelným příkladem, který vám přesně ukáže, jak použít OCR k identifikaci jazyka, získání textu a zvládnutí scénářů se smíšeným jazykem bez obtíží. + +> **Předpoklady** – Měli byste mít nainstalovaný Python 3.8+, základní znalost pip a licenci Aspose OCR (bezplatná zkušební verze funguje pro tento demo). Žádné další externí knihovny nejsou vyžadovány. + +--- + +## Jak detekovat jazyk pomocí Aspose OCR + +Prvním krokem je vytvořit instanci OCR enginu a určit, které jazyky má hledat. Aspose OCR používá bitovou masku pro kombinaci jazyků, což usnadňuje podporu angličtiny, francouzštiny, španělštiny nebo jakékoli jiné kombinace, kterou potřebujete. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Proč je to důležité:** Inicializace enginu je základem. Bez ní nemůžete volat žádné OCR metody a engine obsahuje veškerou konfiguraci, která určuje, jak dobře bude později **detect language**. + +--- + +## Extrahovat text z obrázku pomocí OCR + +Nyní musíme engine informovat, které jazyky jsou možné. Nastavením bitové masky `ENGLISH | FRENCH` umožníme enginu automaticky vybrat nejlepší shodu pro každou oblast obrázku. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Proč je to důležité:** Povolení `auto_detect_language` je jádrem **how to detect language** v dokumentu se smíšeným jazykem. Engine skenuje text, hodnotí každý jazyk a vrací ten s nejvyšší důvěrou. Pokud tento krok přeskočíte, budete muset hádat jazyk sami, což podkopává smysl OCR se smíšeným jazykem. + +--- + +## Nastavení OCR pro smíšené jazyky + +Než předáme obrázek engine, musíme jej načíst. Aspose OCR pracuje s vlastní třídou `Image`, která abstrahuje podkladový formát souboru. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Tip:** Udržujte rozlišení obrázku kolem 300 dpi pro nejlepší výsledky. Nižší rozlišení může způsobit, že detekce jazyka přehlédne jemné znaky, zejména francouzské písmena s diakritikou. + +--- + +## Spuštění OCR procesu a získání výsledků + +S nakonfigurovaným enginem a načteným obrázkem můžeme konečně spustit OCR proces. Metoda `process` vrací objekt `OcrResult`, který obsahuje jak detekovaný kód jazyka, tak celý extrahovaný text. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Očekávaný výstup** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Pokud obrázek obsahuje francouzské části, uvidíte `FRENCH` jako detekovaný jazyk a odpovídající francouzský text bude vytištěn. + +--- + +## Příklad obrázku (Alt Text pro SEO) + +![jak detekovat jazyk v OCR obrázku se smíšeným jazykem](mixed_lang_invoice.png) + +*Následující snímek obrazovky ukazuje ukázkovou fakturu obsahující jak anglický, tak francouzský text, ilustrující, jak OCR engine může **detect language** a extrahovat obsah v jednom kroku.* + +--- + +## Časté problémy a profesionální tipy + +| Problém | Proč se to děje | Jak opravit / zmírnit | +|---------|----------------|------------------------| +| **Rozmazané nebo nízké rozlišení skenů** | Engine nedokáže rozlišit znaky, což vede k nesprávné detekci jazyka. | Skenujte alespoň 300 dpi, před OCR použijte ostření obrazu. | +| **Chybějící jazyk v bitové masce** | Pokud zapomenete zahrnout jazyk, engine použije první shodu, což často vede k nepřesným výsledkům. | Vždy uveďte všechny očekávané jazyky; můžete je kombinovat pomocí operátoru `|`. | +| **Smíšené skripty (např. latinka + cyrilice)** | Aspose OCR může vyžadovat samostatné jazykové balíčky. | Nainstalujte další jazykové balíčky a přidejte je do masky. | +| **Velké soubory způsobující špičky v paměti** | Načtení obrovského obrázku do paměti může skript zhavarovat. | Použijte `Image.resize` pro zmenšení při zachování DPI, nebo zpracovávejte obrázek po částech. | + +**Pro tip:** Po získání surového textu spusťte rychlý krok post‑processing pro normalizaci mezer a zalomení řádků. To značně usnadní následné zpracování (např. extrakci čísel faktur). + +--- + +## Shrnutí: Co jste se naučili + +Nyní víte, **how to detect language** v obrázku se smíšeným jazykem pomocí Aspose OCR, a viděli jste kompletní, end‑to‑end příklad, který také ukazuje **how to extract text from image**. Nastavením bitové masky jazyků, povolením automatické detekce a zpracováním objektu výsledku můžete spolehlivě zpracovávat faktury, účtenky nebo jakýkoli dokument, který kombinuje angličtinu a francouzštinu (nebo jiné jazyky). + +### Další kroky + +- Zkuste přidat **how to extract text** z PDF tím, že nejprve převedete každou stránku na obrázek. +- Experimentujte s dalšími sekundárními klíčovými slovy: prozkoumejte kompletní API **how to use OCR**, například nastavení OCR zón pro rychlejší zpracování. +- Ponořte se do složitějších případů **mixed language OCR**, jako jsou dokumenty, které přecházejí mezi třemi a více jazyky. + +Neváhejte upravit kód, otestovat jej na vlastních obrázcích a nechte engine udělat těžkou práci. Pokud narazíte na problémy, zanechte komentář níže — šťastné programování! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/czech/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..ed5c576d --- /dev/null +++ b/ocr/czech/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,213 @@ +--- +category: general +date: 2026-01-12 +description: Naučte se, jak provést OCR PDF v Pythonu a rychle vytvořit prohledávatelný + PDF. Převádějte naskenované PDF, extrahujte text z PDF a provádějte OCR naskenovaného + PDF v Pythonu pomocí Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: cs +og_description: Jak provést OCR PDF v Pythonu? Tento krok‑za‑krokem návod vám ukáže, + jak převést naskenované PDF soubory na prohledávatelné PDF a extrahovat text pomocí + Aspose OCR. +og_title: Jak provést OCR PDF a učinit jej prohledávatelným – Průvodce v Pythonu +tags: +- OCR +- Python +- PDF processing +title: Jak provést OCR PDF a učinit jej prohledávatelným – Průvodce v Pythonu +url: /cs/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak OCR PDF a učinit jej prohledávatelným – Průvodce v Pythonu + +Už jste se někdy zamysleli nad tím, **jak OCR PDF** soubory, aniž byste utráceli majlant za komerční software? Nejste v tom sami. Mnoho vývojářů narazí na problém, když potřebují převést naskenovanou smlouvu, fakturu nebo jakýkoli PDF založený na obrázcích na prohledávatelný dokument. Dobrá zpráva? S několika řádky Pythonu a Aspose OCR můžete převést naskenovaný PDF, extrahovat text z PDF a nakonec učinit PDF prohledávatelným během minut. + +V tomto tutoriálu projdeme vše, co potřebujete: od instalace knihovny, nastavení jazyka, zpracování naskenovaného PDF až po uložení výsledku jako prohledávatelného PDF, který obsahuje jak originální obrázek, tak skrytou textovou vrstvu. Na konci budete mít znovupoužitelný skript, který můžete vložit do jakéhokoli projektu — bez nutnosti ručního kopírování a vkládání. + +--- + +## Co budete potřebovat + +- **Python 3.8+** (kód funguje na 3.9, 3.10 a novějších) +- Aktivní licence **Aspose OCR for Python** (bezplatná zkušební verze stačí pro experimenty) +- Naskenovaný PDF soubor (např. `scanned_contract.pdf`), který chcete učinit prohledávatelným +- Základní znalost práce s příkazovým řádkem a virtuálními prostředími (volitelné, ale doporučené) + +> **Pro tip:** Pokud ještě nemáte licenci, zaregistrujte se na 30‑denní zkušební verzi na webu Aspose; zkušební verze je plně funkční pro vývojové účely. + +## Jak OCR PDF s Aspose OCR (Primární klíčové slovo v H2) + +Prvním krokem je získat správný balíček. Aspose OCR poskytuje čisté, vysoce‑úrovňové API, které abstrahuje nízko‑úrovňové detaily zpracování obrazu. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +Jakmile je balíček nainstalován, můžete začít psát skript. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Proč nastavit jazyk?** +> Přesnost OCR silně závisí na jazykovém modelu. Když explicitně řeknete enginu, že má očekávat anglický text, snížíte počet falešných pozitiv a zrychlíte zpracování. + +## Krok 2: Převést naskenovaný PDF na prohledávatelný PDF + +Nyní, když je engine připraven, nasměrujte jej na váš naskenovaný dokument. Metoda `process_pdf` vrací objekt `PdfResult`, který obsahuje jak originální data obrazu, tak rozpoznaný text. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Pokud potřebujete **convert scanned PDF** soubory hromadně, stačí projít adresář a volat `process_pdf` pro každý soubor. Engine zvládne více‑stránkové PDF „out of the box“. + +## Krok 3: Uložit výsledek jako prohledávatelný PDF (Učinit PDF prohledávatelným) + +Poslední část skládačky je uložení prohledávatelné verze. Aspose OCR to umožňuje jedním řádkem: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +Když otevřete `contract_searchable.pdf` v libovolném PDF prohlížeči, uvidíte originální naskenovaný obrázek, ale nyní můžete **search for any word**, které OCR engine rozpoznal. Skrytá textová vrstva je neviditelná pouhým okem, ale plně indexovatelná. + +### Kompletní skript – připravený ke spuštění + +Níže je kompletní, spustitelný příklad. Zkopírujte‑vložit jej do souboru pojmenovaného `make_searchable.py` a upravte cesty tak, aby odpovídaly vašemu prostředí. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Expected output:** +Spuštění skriptu vypíše potvrzovací řádek a vytvoří `contract_searchable.pdf`. Otevřete soubor, stiskněte `Ctrl + F` a zadejte libovolné slovo, které se v originálním naskenovaném obrázku vyskytuje — máte okamžité shody. + +## Časté otázky a okrajové případy + +### 1. Co když PDF obsahuje více jazyků? + +Můžete předat seznam jazyků engine: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR se pokusí rozpoznat text v obou jazycích na stejné stránce. + +### 2. Jak zacházet s nízkým rozlišením skenů? + +Pokud jsou zdrojové obrázky pod 150 dpi, může přesnost OCR trpět. Předzpracujte PDF pomocí nástroje jako `pdfimages`, abyste extrahovali stránky, zvětšili je pomocí Pillow a pak zpětně předali vyšší‑rozlišení obrazy do `process_pdf`. + +### 3. Můžu extrahovat čistý text bez vytváření prohledávatelného PDF? + +Určitě. Objekt `PdfResult` expose vlastnost `text`: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Tím se uspokojí případ **extract text pdf**, kdy potřebujete jen surové znaky. + +### 4. Existuje způsob, jak dávkově zpracovat složku PDF souborů? + +Ano — zabalte funkci `ocr_to_searchable` do jednoduché smyčky: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Nyní můžete **convert scanned pdf** soubory hromadně jedním příkazem. + +## Tipy pro výkon + +- **Reuse the engine**: Vytváření nového `OcrEngine` pro každý soubor přidává režii. Vytvořte jej jednou a znovu jej používejte v několika voláních. +- **Parallel processing**: Pro velké dávky zvažte Pythonův `concurrent.futures.ThreadPoolExecutor` — Aspose OCR je thread‑safe pro operace jen ke čtení. +- **Memory management**: Pokud zpracováváte opravdu velké PDF (stovky stránek), po každém souboru zavolejte `gc.collect()`, aby se uvolnila paměť. + +## Závěr + +Probrali jsme **how to OCR PDF** soubory v Pythonu, převedli tyto skeny na **searchable PDFs** a dokonce vám ukázali, jak **extract text PDF** přímo. S Aspose OCR získáte spolehlivý engine, který zvládne více‑stránkové dokumenty, více jazyků a vysoce přesné rozpoznání — vše jen s několika řádky kódu. + +Vyzkoušejte to na vlastních smlouvách, fakturách nebo archivovaných výzkumných pracích. Jakmile ovládnete základy, experimentujte s pokročilými funkcemi — jako jsou vlastní slovníky, předzpracování obrazu nebo integrace výstupu do full‑textového vyhledávacího indexu, např. Elasticsearch. + +Máte další otázky ohledně **ocr scanned pdf python** nebo potřebujete pomoc s řešením obtížného skenu? Zanechte komentář níže a šťastné kódování! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="příklad, jak OCR PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/czech/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..30e8258a --- /dev/null +++ b/ocr/czech/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,228 @@ +--- +category: general +date: 2026-01-12 +description: Jak provádět OCR rychle a přesně. Naučte se spustit OCR na dokumentu, + extrahovat text z TIFF, načíst obrázek pro OCR a nastavit jazyk OCR v Pythonu. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: cs +og_description: Jak provádět OCR v Pythonu. Tento tutoriál vám ukáže, jak spustit + OCR na dokumentu, extrahovat text z TIFF, načíst obrázek pro OCR a nastavit jazyk + OCR. +og_title: Jak provést OCR na TIFF dokumentu – kompletní průvodce +tags: +- OCR +- Python +- Image Processing +title: Jak provést OCR na TIFF dokumentu – průvodce krok za krokem +url: /cs/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak provést OCR na TIFF dokumentu – kompletní průvodce + +Už jste se někdy zamýšleli **jak provést OCR** na naskenovaném TIFF souboru, aniž byste strávili hodiny hledáním správné knihovny? Nejste sami. Mnoho vývojářů narazí na problém, když potřebují extrahovat text z TIFF obrázků, zejména když záleží na výkonu a nastavení jazyka. + +V tomto tutoriálu projdeme vše, co potřebujete vědět: od instalace OCR balíčku, načtení obrázku pro OCR, nastavení jazyka OCR, až po **spuštění OCR na dokumentu** a získání čistého textu. Na konci budete mít připravený skript, který můžete vložit do libovolného projektu. + +> **Tip:** I když příklad používá obecný modul `ocr`, stejné koncepty platí pro Tesseract, EasyOCR nebo jakýkoli moderní OCR engine, který nabízí Python API. + +--- + +## Co budete potřebovat + +- Python 3.8+ (jakákoli aktuální verze) +- OCR knihovnu, která poskytuje třídu `OcrEngine` (ve vzoru je použita fiktivní knihovna `ocr`; nahraďte ji tou skutečnou) +- Vícestránkový TIFF soubor, který chcete zpracovat (budeme ho nazývat `big_document.tif`) +- Počítač s alespoň 4 CPU jádry, pokud plánujete nastavit počet vláken + +Žádné externí služby, žádné cloudové klíče — pouze lokální kód, který běží během několika sekund. + +--- + +![jak provést OCR příklad](/images/ocr-example.png "jak provést OCR na TIFF dokumentu") + +*Alt text obrázku: jak provést OCR na TIFF dokumentu – náhled extrahovaného textu.* + +--- + +## Krok 1: Instalace a import OCR knihovny + +Nejprve si nainstalujte knihovnu. Většina OCR balíčků je na PyPI, takže stačí jednoduchý `pip install`. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Nyní importujte třídy, které budete potřebovat. Pokud používáte Tesseract, řádek importu bude vypadat jinak, ale zbytek kódu zůstane stejný. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Proč je to důležité:* Importování správných symbolů hned na začátku zabraňuje kolizím jmenných prostorů později a činí skript přehlednějším. + +--- + +## Krok 2: Vytvoření a konfigurace OCR enginu (nastavení jazyka OCR) + +Konfigurace enginu je místo, kde **nastavíte jazyk OCR** pro přesné rozpoznání. Angličtina je výchozí, ale můžete přepnout na francouzštinu, němčinu nebo dokonce na vícejazykový režim jedním řádkem. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Proč 4 vlákna?** Většina moderních notebooků má alespoň čtyři jádra a omezení počtu vláken zabraňuje tomu, aby OCR proces zabral celý počítač — obzvláště užitečné, když skript běží na sdíleném serveru. + +Pokud potřebujete jiný jazyk, stačí nahradit `ocr.Language.ENGLISH` za `ocr.Language.FRENCH`, `ocr.Language.SPANISH` a podobně. + +--- + +## Krok 3: Načtení obrázku pro OCR (Load Image for OCR) + +Nyní **načteme obrázek pro OCR**. Metoda `Image.load` načte TIFF soubor do paměti a automaticky zvládne vícestránkové dokumenty. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Hraniční případ:* Pokud je soubor obrovský, můžete narazit na nedostatek RAM. V takovém případě zvažte načítání jedné stránky najednou pomocí `Image.load_page(page_number)` (pokud knihovna tuto funkci podporuje). + +--- + +## Krok 4: Spuštění OCR na dokumentu + +S připraveným enginem a načteným obrázkem je čas **spustit OCR na dokumentu**. Metoda `process` provede těžkou práci a vrátí objekt výsledku. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +Za scénou engine rozdělí obrázek na textové bloky, spustí rozpoznávací model a výsledky spojí dohromady. Volání je blokující, což znamená, že skript čeká, dokud není celý TIFF zpracován — ideální pro dávkové úlohy. + +--- + +## Krok 5: Extrakce textu z TIFF a ověření výstupu + +Nakonec **extrahujeme text z TIFF** přístupem k atributu `text` výsledku. Vytiskneme prvních 200 znaků jako rychlou kontrolu. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Očekávaný výstup (příklad):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Pokud potřebujete celý text, jednoduše použijte `ocr_result.text`. Pro další zpracování můžete výstup zapsat do souboru `.txt`: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## Kompletní funkční příklad + +Sestavíme vše dohromady v připraveném skriptu. Nahraďte placeholder název balíčku tím, který jste skutečně nainstalovali. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Skript spustíte pomocí: + +```bash +python ocr_tiff_example.py +``` + +Měli byste vidět náhled vytištěný do konzole a soubor s názvem `extracted_text.txt`, který obsahuje kompletní transkripci. + +--- + +## Často kladené otázky a hraniční případy + +- **Co když TIFF obsahuje více stránek?** + Většina OCR engineů zachází s každou stránkou jako s odděleným obrázkem. `ocr_result.text` bude obsahovat nový řádek mezi stránkami. Pokud potřebujete zpracovávat po stránkách, iterujte pomocí `Image.load_page(page_number)`. + +- **Mohu místo TIFF zpracovat PNG nebo JPEG?** + Ano. Metoda `Image.load` obvykle přijímá libovolný formát podporovaný Pillow nebo podkladovou knihovnou. Stačí změnit příponu souboru. + +- **Můj text je poškozený — mám změnit jazyk?** + Ano. Krok **nastavení jazyka OCR** je klíčový pro dokumenty v jiných jazycích. Ujistěte se, že je nainstalován jazykový balíček (např. `tesseract‑lang‑fra` pro francouzštinu). + +- **Došla mi paměť?** + Snižte `set_memory_limit` nebo zpracovávejte stránky po jedné. Některé enginy také umožňují před rozpoznáním zmenšit rozlišení obrázku. + +--- + +## Závěr + +A máte to — stručný, plně funkční návod, **jak provést OCR** na TIFF souboru pomocí Pythonu. Probrali jsme vše od instalace knihovny, konfigurace enginu (včetně **nastavení jazyka OCR**), **načtení obrázku pro OCR**, **spuštění OCR na dokumentu** a nakonec **extrakci textu z TIFF**. + +Neváhejte experimentovat: upravte počet vláken, změňte jazyk nebo výstup OCR nasměrujte do pipeline pro zpracování přirozeného jazyka. Možnosti jsou neomezené, jakmile zvládnete základy. + +Máte další otázky? Zanechte komentář níže a šťastné programování! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/czech/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..8f24cb9e --- /dev/null +++ b/ocr/czech/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,176 @@ +--- +category: general +date: 2026-01-12 +description: jak nastavit jazyk v Aspose OCR Python a extrahovat text z obrázku pomocí + vlastního slovníku. krok za krokem tutoriál pro vývojáře +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: cs +og_description: Jak nastavit jazyk v Aspose OCR Python a extrahovat text z obrázku + pomocí vlastního slovníku. Naučte se celý pracovní postup během několika minut. +og_title: Jak nastavit jazyk v Aspose OCR Python – Kompletní průvodce +tags: +- OCR +- Python +- Aspose +- Image Processing +title: Jak nastavit jazyk v Aspose OCR Python – Kompletní průvodce +url: /cs/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak nastavit jazyk v Aspose OCR Python – Kompletní průvodce + +Už jste se někdy zamysleli nad **jak nastavit jazyk** při použití Aspose OCR v Pythonu? Nejste sami – mnoho vývojářů narazí na tento problém, když výchozí anglický model nepozná produktové kódy, sériová čísla nebo vícejazyčný text. Dobrou zprávou je, že řešení je jednoduché i výkonné. V tomto tutoriálu vás provedeme nastavením jazyka, přidáním vlastního slovníku, extrakcí textu z obrázku a nakonec zpracováním obrázku pro nejlepší výsledky OCR. + +Probereme vše, co potřebujete vědět: od instalace knihovny až po spuštění kompletního příkladu, který vypíše extrahovaný text. Na konci budete schopni **extrahovat text z obrázku** souborů s jistotou, i když obsahuje neobvyklé kódy nebo smíšené jazyky. + +## Požadavky + +* Nainstalovaný Python 3.8+ (kód používá f‑stringy, takže starší verze nebudou fungovat). +* Aktivní licence Aspose OCR pro Python nebo klíč pro bezplatnou zkušební verzi. +* Balíček `asposeocr` nainstalovaný pomocí `pip install asposeocr`. +* Vzorek obrázku (`product_label.png`), který obsahuje text, který chcete přečíst. + +Pokud už tyto komponenty máte, skvělé – pojďme dál. Pokud ne, stáhněte si bezplatnou zkušební verzi z webu Aspose a spusťte instalační příkaz; zabere to jen minutu. + +## Krok 1: Importujte modul Aspose OCR + +Prvním krokem je přidat třídy OCR do vašeho skriptu. Toto je základ pro **jak nastavit jazyk** později. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Tip:** Uchovávejte importy na začátku souboru. Usnadní to čtení skriptu, zejména když se k němu později vrátíte. + +## Krok 2: Jak nastavit jazyk + +Ve výchozím nastavení Aspose OCR předpokládá angličtinu. Pokud váš obrázek obsahuje francouzštinu, němčinu nebo jakýkoli jiný jazyk, musíte motoru sdělit, který jazyk má použít. Zde se ukáže síla hlavního klíčového slova. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Proč je to důležité? OCR motory se spoléhají na jazykově specifické modely znaků. Poskytnutí správného jazyka dramaticky zvyšuje přesnost – zejména u znaků s diakritikou nebo jazykově specifických ligatur. + +> **Poznámka:** Pokud potřebujete podporovat více jazyků současně, můžete předat seznam jako `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## Krok 3: Jak přidat slovník (uživatelem definovaná slova) + +Někdy OCR motor špatně rozpozná produktové kódy jako “AB‑1234”. Můžete zvýšit jistotu tím, že poskytnete vlastní slovník. To přímo odpovídá na **jak přidat slovník** v Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +Motor považuje tato slova za „známá“ a bude je upřednostňovat před podobně vypadajícími znaky. To je zvláště užitečné pro SKU čísla, sériové kódy nebo názvy značek, které nejsou součástí přirozeného jazyka. + +## Krok 4: Jak zpracovat obrázek + +Jakmile je motor nakonfigurován, musíte načíst obrázek, který chcete analyzovat. To řeší **jak zpracovat obrázek** čistým a opakovatelným způsobem. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +Pokud pracujete s PDF soubory, můžete nejprve každou stránku převést na obrázek – Aspose OCR to podporuje přímo. + +## Krok 5: Jak extrahovat text z obrázku + +Po nastavení všeho je posledním krokem spustit OCR a získat text. To je jádro **jak extrahovat text** z obrázku. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +Po spuštění skriptu byste měli vidět něco jako: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Pokud výstup vypadá poškozeně, zkontrolujte, že jste nastavili správný jazyk a že váš vlastní slovník obsahuje přesně řetězce, které očekáváte. + +## Kompletní funkční příklad + +Spojením všech částí zde máte celý skript, který můžete zkopírovat do souboru nazvaného `extract_label.py`. Nezapomeňte nahradit `YOUR_DIRECTORY` skutečnou cestou k vašemu obrázku. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Očekávaný výstup + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Pokud vidíte přesně kódy, které jste přidali do slovníku, úspěšně jste zvládli **jak nastavit jazyk**, **jak přidat slovník** a **jak extrahovat text z obrázku** pomocí Aspose OCR. + +## Řešení běžných okrajových případů + +| Situace | Co dělat | +|-----------|------------| +| **Obrázek je rozmazaný** | Předzpracujte pomocí `ocr.Image.apply_filter()` pro zaostření před voláním `process()`. | +| **Více jazyků na jednom obrázku** | Nastavte `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **Velké PDF soubory** | Procházejte každou stránku, převádějte na `ocr.Image` a volajte `process()` pro každou stránku. | +| **Neočekávané znaky** | Přidejte je do seznamu uživatelem definovaných slov; Aspose OCR je považuje za tokeny s vysokou jistotou. | + +## Vizuální reference + +![jak nastavit jazyk v Aspose OCR příklad](image.png "Snímek obrazovky ukazující nastavení jazyka v Aspose OCR Python příkladu") + +*Alt text:* **jak nastavit jazyk** snímek obrazovky ilustrující přiřazení vlastnosti jazyka v Python IDE. + +## Závěr + +Nyní víte **jak nastavit jazyk** v Aspose OCR Python, jak **přidat položky do slovníku** a přesné kroky k **extrakci textu z obrázku** a **zpracování obrázku** pro optimální výsledky. Výše uvedený kompletní příklad můžete vložit do libovolného projektu, upravit pro různé jazyky a rozšířit pro dávkové zpracování nebo vstupy PDF. + +Jste připraveni na další výzvu? Vyzkoušejte zaměnit `ocr.Language.ENGLISH` za `ocr.Language.FRENCH` a pozorujte zvýšení přesnosti na francouzských štítcích. Nebo experimentujte s metodou `set_user_defined_words` a zahrňte celý katalog produktů – váš OCR motor bude považovat každý záznam za vysoce jistou shodu. + +Šťastné programování a ať jsou vaše OCR výsledky vždy krystalicky čisté! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/czech/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..3c0b90ba --- /dev/null +++ b/ocr/czech/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-01-12 +description: Zpracovávejte ručně psané poznámky v Pythonu pomocí Aspose OCR – naučte + se rychle extrahovat text z jpg obrázků. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: cs +og_description: Zpracovávejte ručně psané poznámky v Pythonu pomocí Aspose OCR. Naučte + se, jak extrahovat text z jpg obrázků, rozpoznávat ručně psaný text pomocí OCR a + načítat obrázky pro OCR. +og_title: Zpracování ručně psaných poznámek pomocí Pythonu – kompletní OCR tutoriál +tags: +- OCR +- Python +- Aspose +title: Zpracování ručně psaných poznámek v Pythonu – Průvodce ručním OCR +url: /cs/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Zpracování ručně psaných poznámek v Pythonu – Průvodce ručním OCR + +Pokud potřebujete **zpracovat ručně psané poznámky** v Pythonu, tento průvodce vám přesně ukáže, jak na to. Ať už jsou poznámky na naskenovaném účtence, na fotografii tabule ve třídě nebo na rychlém selfie seznamu úkolů, naučíte se **jak extrahovat text** z těchto obrázků bez námahy. + +Provedeme vás každým krokem — import knihovny Aspose OCR, načtení JPG, spuštění enginu a práci s řádky s nízkou důvěrou. Na konci budete mít připravený skript, který dokáže **rozpoznat text z jpg** souborů a poskytne vám čisté, použitelné řetězce. + +## Co získáte + +- Kompletní, spustitelný ukázkový kód, který funguje ihned. +- Pochopení, proč je každý řádek důležitý, nejen co dělá. +- Tipy pro práci s nejasným rukopisem a výsledky s nízkou důvěrou. +- Návod, jak rozšířit skript pro PDF, více obrázků nebo vlastní jazykové balíčky. + +*Požadavky*: nainstalovaný Python 3.8+, platná licence Aspose OCR (nebo bezplatná zkušební verze) a soubor obrázku pojmenovaný `handwritten_notes.jpg` ve vašem projektovém adresáři. + +--- + +![Příklad zpracování ručně psaných poznámek](https://example.com/handwritten-notes.png "zpracování ručně psaných poznámek") + +*Alt text: proces ručně psaných poznámek – ukázkový obrázek zobrazující ručně psaný text připravený pro OCR.* + +## Zpracování ručně psaných poznámek: Nastavení OCR enginu + +### Proč je tento krok důležitý +OCR engine je mozkem rozpoznávacího procesu. Výběr správného jazyka a správná inicializace objektu zajišťuje, že engine ví, že má hledat anglické znaky, a že dokáže zvládnout specifika ručního psaní. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Tip:** Pokud očekáváte poznámky v jiném jazyce, vyměňte `ocr.Language.ENGLISH` za odpovídající výčet (např. `ocr.Language.FRENCH`). Engine automaticky načte potřebnou znakovou sadu. + +--- + +## Jak extrahovat text z JPG obrázků + +### Načtení obrázku — první překážka +Než může engine něco zpracovat, potřebuje bitmapovou reprezentaci vašeho JPG. Aspose nabízí pohodlnou statickou metodu `load`, která načte soubor do objektu `Image`. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Proč nepoužít OpenCV nebo Pillow?* +Tyto knihovny jsou skvělé pro předzpracování, ale `Image.load` od Aspose zaručuje přesný formát pixelů, který OCR engine očekává, čímž eliminuje častý zdroj nesouladu barevných hloubek. + +--- + +## Rozpoznání textu z JPG pomocí Handwritten OCR v Pythonu + +### Spuštění OCR enginu +Jakmile jsou engine a obrázek připraveny, spustíme rozpoznávání. Metoda `process` vrací objekt `OcrResult`, který obsahuje seznam objektů `Line`, z nichž každý má vlastní skóre důvěry. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**Co se děje pod kapotou?** +Aspose OCR spouští model hlubokého učení trénovaný na milionech vzorků ručního psaní. Rozděluje obrázek na řádky, pak na znaky a nakonec sestavuje nejpravděpodobnější textový řetězec pro každý řádek. + +--- + +## Načtení obrázku pro OCR — zpracování výsledků s nízkou důvěrou + +### Proč by vás měla zajímat důvěra +Ručně psané OCR nikdy není 100 % dokonalé. Skóre důvěry pod 75 % obvykle znamená, že engine měl potíže s pořadím tahů nebo šumem na pozadí. Filtrováním těchto řádků můžete rozhodnout, zda požádáte uživatele o ověření, nebo použijete další předzpracování obrázku. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Typický výstup** (vaše výsledky se mohou lišit): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Všimněte si, jak skript čistě odděluje spolehlivý text od nejistých částí. Nízkodůvěryhodné řádky můžete později předat do druhého průchodu s filtry pro vylepšení obrazu (např. zvýšení kontrastu) nebo je předložit lidskému recenzentovi. + +--- + +## Kompletní skript — připravený ke spuštění + +Níže je celý program, připravený ke zkopírování. Uložte jej jako `handwritten_ocr.py` a spusťte `python handwritten_ocr.py`. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Očekávané chování:** +- Skript vypíše každý řádek s procentuálním skóre důvěry. +- Řádky nad 75 % se zobrazí jako „Accepted“, zatímco ostatní jsou označeny k revizi. +- Kromě `asposeocr` nejsou vyžadovány žádné další závislosti. + +--- + +## Časté otázky a okrajové případy + +### Co když je můj obrázek PNG nebo BMP? +Aspose OCR automaticky detekuje formát, takže můžete jednoduše změnit příponu souboru v `image_path`. Žádné změny kódu nejsou potřeba. + +### Mé ručně psaní je extrémně nečitelné — jak mohu zlepšit přesnost? +1. **Předzpracujte obrázek** — zvyšte kontrast, odstraňte stíny na pozadí (OpenCV může pomoci). +2. **Zvyšte práh důvěry** — nastavte na 80 %, pokud chcete jen téměř dokonalé řádky. +3. **Natrénujte vlastní model** — Aspose nabízí funkci „custom language pack“ pro specializované styly ručního psaní. + +### Můžu zpracovat více obrázků najednou? +Určitě. Zabalte kroky načítání a zpracování do `for` smyčky přes seznam cest k souborům. Nezapomeňte pro rychlost znovu použít stejnou instanci `ocr_engine`. + +### Funguje to na macOS/Linux? +Ano. Aspose OCR poskytuje balíčky pro všechny hlavní platformy. Stačí `pip install asposeocr` a můžete začít. + +--- + +## Další kroky a související témata + +- **Jak extrahovat text z PDF** — jakmile máte OCR pipeline, předání PDF stránek do `ocr.Image.load` je změna jedním řádkem. +- **Integrace s databází** — uložte každý přijatý řádek do SQLite nebo PostgreSQL pro prohledávatelné poznámky. +- **Realtime OCR na mobilu** — spárujte tento skript s Flask nebo FastAPI a vystavte REST endpoint, který mohou volat mobilní aplikace. + +Každé z těchto rozšíření staví na základních konceptech, které jsme pokryli: **process handwritten notes**, **how to extract text**, **recognize text from jpg**, a **load image for OCR**. + +--- + +## Závěr + +Nyní máte robustní, end‑to‑end řešení pro **process handwritten notes** pomocí Pythonu a Aspose OCR. Průvodce vás provedl nastavením enginu, načtením JPG, spuštěním rozpoznávání a zpracováním výsledků s nízkou důvěrou — vše v jednom skriptu připraveném ke zkopírování. + +Odtud můžete experimentovat s různými technikami předzpracování obrázků, zvýšit práh důvěry nebo rozšířit řešení na dávkové zpracování stovek poznámek. Možnosti jsou neomezené a kód, který jste se právě naučili, je vaším startovacím bodem. + +*Šťastné programování a ať se vaše ručně psané poznámky konečně stanou prohledávatelným textem!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/czech/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..3923a0fb --- /dev/null +++ b/ocr/czech/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,237 @@ +--- +category: general +date: 2026-01-12 +description: Python OCR tutoriál ukazující, jak extrahovat text tabulky z obrázku. + Naučte se číst tabulku z obrázku a extrahovat vybraný text pomocí Aspose OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: cs +og_description: Python OCR tutoriál, který vás naučí, jak extrahovat text tabulky + z obrázku, číst tabulku z obrázku a extrahovat vybraný text pomocí Aspose OCR. +og_title: 'Python OCR tutoriál: Extrahujte text tabulky z obrázků' +tags: +- OCR +- Python +- AsposeOCR +title: 'Python OCR tutoriál: Extrahujte text tabulky z obrázků' +url: /cs/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR tutoriál: Extrahování textu tabulky z obrázků + +Už jste někdy potřebovali **python ocr tutorial**, který vám skutečně ukáže, jak vytáhnout tabulku ze skenovaného formuláře? Nejste v tom sami. Většina tutoriálů končí u obecného extrahování textu a nechává vás hádat, jak izolovat tu přehlednou mřížku dat, kterou potřebujete. + +V tomto průvodci projdeme reálným scénářem: čtení tabulky z obrázku, extrahování pouze vybraného textu, který potřebujete, a nakonec vytištění výsledků. Po cestě přidáme tipy, jak spolehlivě **how to extract table** data, abyste nemuseli pokaždé vymýšlet kolo znovu. + +## Co se naučíte + +- Jak nastavit Aspose OCR pro Python. +- Jak definovat obdélníkovou oblast, která obsahuje tabulku. +- Přesné kroky k **extract table text** a **read table from image**. +- Tipy pro práci s více jazyky nebo nepravidelným rozvržením tabulek. +- Kompletní spustitelný skript, který můžete dnes vložit do svého projektu. + +**Požadavky** +- Python 3.8 nebo novější. +- Základní povědomí o konceptech OCR (není potřeba hluboká odborná znalost). +- PNG nebo JPEG obrázek, který obsahuje jasnou tabulku (budeme ho nazývat `form_with_table.png`). + +Pokud to máte, pojďme se ponořit—žádné zbytečnosti, jen praktický kód. + +![python ocr tutorial example of table region](table_region_example.png){alt="příklad python ocr tutorial ukazující oblast tabulky"} + +## Krok 1: Instalace a import Aspose OCR + +Nejprve potřebujete knihovnu Aspose OCR. Balíček je na PyPI, takže jediný příkaz `pip` stačí. + +```bash +pip install aspose-ocr +``` + +Nyní importujte modul a všechny potřebné pomocníky. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro tip:* Uchovávejte své závislosti v souboru `requirements.txt`. To usnadní reprodukci prostředí. + +## Krok 2: Inicializace OCR enginu (Python OCR Tutorial Core) + +Vytvoření enginu je jádrem každého **python ocr tutorial**. Zde také nastavíme výchozí jazyk na angličtinu—klidně jej později změňte. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Proč nastavit jazyk? Přesnost OCR může výrazně vzrůst, když engine ví, jaké znaky očekávat. Pokud pracujete s vícejazyčnými formuláři, můžete buď nastavit seznam jazyků, nebo přepsat jazyk pro konkrétní oblast (viz níže). + +## Krok 3: Načtení obrázku + +Aspose OCR funguje s většinou běžných formátů obrázků. Stačí mu ukázat cestu k souboru a získáte objekt `Image` připravený ke zpracování. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Edge case:* Velké obrázky (více než 5 MB) mohou zpomalit zpracování. Zvažte jejich změnu velikosti nebo kompresi před OCR, pokud se výkon stane problémem. + +## Krok 4: Definování oblasti tabulky (Read Table from Image) + +Nyní přichází zábavná část: říct engine *kde* se tabulka nachází. Poskytnete `OcrRegion` s `Rectangle` (x, y, šířka, výška). Souřadnice jsou v pixelech, takže možná budete muset trochu experimentovat. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Proč používat oblast? Omezením OCR na oblast tabulky **extract selected text** rychleji a vyhneme se šumu z okolních popisků nebo grafiky. Také to zvyšuje přesnost, protože engine se může soustředit na jednotné rozvržení. + +## Krok 5: Spuštění OCR na definované oblasti + +S nastavenou oblastí zavoláme `process_region`. Metoda vrátí objekt `OcrResult`, který obsahuje surový text, skóre důvěry a dokonce i ohraničující rámečky, pokud je později potřebujete. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +Pokud potřebujete extrahovat více tabulek, jednoduše opakujte kroky 4‑5 s různými obdélníky. + +## Krok 6: Výstup extrahovaného textu tabulky + +Nakonec vytiskněte—nebo uložte—textovou reprezentaci tabulky. Aspose OCR vrací prostý text s konci řádků, které obvykle odpovídají řádkům, což usnadňuje následné zpracování. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Očekávaný výstup** (příklad): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +Nyní můžete tento řetězec předat `csv` parserům, pandas DataFrames nebo jakémukoli dalšímu analytickému řetězci. + +## Kompletní funkční příklad + +Spojením všeho dohromady získáte kompletní skript, který můžete spustit okamžitě. Nahraďte `YOUR_DIRECTORY/form_with_table.png` skutečnou cestou k vašemu obrázku. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Spusťte skript pomocí `python extract_table.py`. Pokud vše sedí, uvidíte tabulku vytištěnou v konzoli. + +## Časté otázky a řešení okrajových případů + +**Co když tabulka není dokonale obdélníková?** +Můžete tabulku rozdělit do několika překrývajících se oblastí nebo použít větší obdélník, který pokrývá celou oblast, a poté text post‑processovat (např. rozdělit podle konců řádků). + +**Mohu extrahovat jen konkrétní sloupce?** +Po získání kompletního textu tabulky použijte `csv` nebo `pandas` v Pythonu k vyříznutí sloupců, které vás zajímají. Samotný krok OCR vrací vše uvnitř obdélníku. + +**Jak pracovat s neanglickými tabulkami?** +Nastavte `ocr_engine.language` (nebo `region.language`) na odpovídající enum, například `ocr.Language.FRENCH`, nebo kombinujte více jazyků pomocí `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**Existuje způsob, jak získat ohraničující rámečky pro každou buňku?** +Aspose OCR může vrátit `region_result.words`, kde každé slovo obsahuje ohraničující rámeček. Budete muset tyto rámečky namapovat zpět na mřížku—užitečné pro pokročilou analýzu rozvržení. + +## Tipy pro lepší přesnost + +- **Vyčistěte obrázek**: Binarizujte nebo zvýšte kontrast před předáním OCR. Knihovny jako Pillow mohou pomoci. +- **Vyhněte se artefaktům komprese**: Ukládejte skeny jako PNG, pokud je to možné. +- **Dbejte na DPI**: 300 dpi je ideální; nižší hodnoty mohou způsobit chybějící znaky. +- **Testujte různé velikosti obdélníků**: Mírně větší obdélníky často zachytí odlehlé znaky patřící do tabulky. + +## Další kroky + +Nyní, když jste zvládli **how to extract table** data s Aspose OCR, můžete zkoumat: + +- Převod extrahovaného textu do CSV souboru pomocí Python modulu `csv`. +- Vložení dat do **pandas** DataFrame pro analýzu. +- Použití OCR ke čtení ručně psaných formulářů (vyžaduje jiný engine nebo další trénink). +- Automatizace dávkového zpracování desítek skenovaných formulářů pomocí jednoduché smyčky `for`. + +Každé z těchto rozšíření staví na základních konceptech pokrytých v tomto **python ocr tutorial**, takže jste dobře připraveni na škálování. + +--- + +*Šťastné kódování! Pokud narazíte na problémy, zanechte komentář níže—rád vám pomohu doladit extrakci.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/czech/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..94ac1ec4 --- /dev/null +++ b/ocr/czech/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,264 @@ +--- +category: general +date: 2026-01-12 +description: Rychle spusťte OCR na PNG souborech pomocí Pythonu. Naučte se, jak extrahovat + text z obrázku a faktury a načíst obrázek pro OCR pomocí Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: cs +og_description: Okamžitě spusťte OCR na PNG. Tento průvodce ukazuje, jak extrahovat + text z obrázku a faktury, načíst obrázek pro OCR a uložit výsledky jako JSON a CSV. +og_title: Spusťte OCR na PNG – Kompletní Python tutoriál +tags: +- OCR +- Python +- Image Processing +title: Spusťte OCR na PNG – Kompletní průvodce v Pythonu pro extrakci textu z obrázků +url: /cs/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Spusťte OCR na PNG – Kompletní průvodce v Pythonu pro extrakci textu z obrázků + +Už jste někdy potřebovali **spustit OCR na PNG** souborech, ale nebyli jste si jisti, která knihovna vám poskytne čisté, strukturované výsledky? Nejste v tom sami. V mnoha reálných projektech—například automatizace faktur nebo skenování účtenek—je první krok **extrahovat text z obrázku** a PNG je běžný formát, protože zachovává bezztrátovou kvalitu. + +V tomto tutoriálu projdeme praktickým příkladem pomocí balíčku Aspose.OCR pro Python. Na konci průvodce budete vědět, jak **načíst obrázek pro OCR**, získat každou řádku textu, převést tato data do přehledného JSON objektu a dokonce je uložit do CSV pro následné zpracování. Žádné zbytečnosti, jen praktické, připravené řešení. + +## Co se naučíte + +- Jak nainstalovat a importovat knihovnu Aspose.OCR. +- Přesné kroky k **spuštění OCR na PNG** a zpracování výsledného objektu. +- Způsoby, jak **extrahovat text z faktury** a formátovat výstup jako JSON nebo CSV. +- Tipy pro práci s nízkokontrastními obrázky, vícejazyčnými dokumenty a skóre důvěry. +- Kompletní ukázkový kód ke zkopírování a vložení, který můžete spustit ještě dnes. + +> **Předpoklad:** Python 3.8+ a základní znalost pip. Pokud jste dosud nepoužívali Aspose, nebojte se—tento průvodce pokrývá vše, co potřebujete k zahájení. + +--- + +## Krok 1 – Instalace Aspose.OCR a příprava prostředí + +Než budeme moci **spustit OCR na PNG**, musí být knihovna nainstalována ve vašem systému. + +```bash +pip install aspose-ocr +``` + +> **Tip:** Použijte virtuální prostředí (`python -m venv venv`), aby byly závislosti izolované. Zabrání to konfliktům verzí, pokud pracujete na více projektech. + +Po instalaci importujte potřebné moduly: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Zde načteme `asposeocr` pro těžkou práci a vestavěnou knihovnu `json` pro pozdější serializaci. + +## Krok 2 – Vytvoření OCR enginu a nastavení jazyka + +OCR engine je hlavní komponenta, která skutečně čte pixely. Pro většinu anglických faktur budete chtít balíček anglického jazyka: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Proč je to důležité:** Specifikace jazyka omezuje množinu znaků, což zvyšuje přesnost a urychluje zpracování. Pokud budete potřebovat zpracovávat vícejazyčné faktury, stačí vyměnit `ocr.Language.ENGLISH` za odpovídající enum. + +## Krok 3 – Načtení obrázku pro OCR + +Nyní **načteme obrázek pro OCR**. Metoda `Image.load` přijímá cestu k souboru a funguje s PNG, JPEG, BMP a dalšími. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Hraniční případ:** Pokud je PNG neobvykle velký (více než 5 MB), zvažte jeho zmenšení, aby byl rozumný spotřeba paměti. Pillow to dokáže v jediném řádku: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +## Krok 4 – Spuštění OCR na PNG a zachycení výsledku + +S připraveným enginem a načteným obrázkem je čas **spustit OCR na PNG** a získat strukturovaný výsledek. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +Objekt `ocr_result` obsahuje kolekci položek `OcrRegion`, z nichž každá má rozpoznaný text a skóre důvěry (0‑100). Zde získáte podrobná data potřebná k **extrakci textu z faktury** řádků. + +## Krok 5 – Převod výsledku do JSON a pěkný výpis + +Většina následných systémů miluje JSON, takže převádíme výstup OCR do hezky naformátovaného řetězce. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Ukázkový výstup + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Všimněte si, že každá řádka obsahuje metriku důvěry—ideální pro filtrování položek s nízkou důvěrou, pokud plánujete **extrahovat text z faktury** automaticky. + +## Krok 6 – Uložení OCR dat jako CSV (Jedna řádka na text + důvěru) + +CSV je ideální pro tabulky nebo rychlé importy dat. Aspose nabízí jednorázový příkaz, který vše uloží do CSV souboru. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +Vygenerovaný CSV bude vypadat takto: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Nyní jej můžete otevřít v Excelu, Google Sheets nebo načíst do databáze. + +## Bonus – Zpracování textu s nízkou důvěrou a vícestránkových PDF + +### Filtrování podle důvěry + +Pokud chcete pouze řádky s vysokou jistotou, před zápisem je potřeba filtrovat JSON: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Vícestránkové dokumenty + +Aspose.OCR automaticky vytvoří nový záznam `page` pro každou stránku ve vícestránkovém PNG nebo PDF. Projděte `ocr_data["pages"]`, abyste je všechny zpracovali—žádný další kód není potřeba. + +## Kompletní funkční příklad + +Níže je **kompletní skript**, který můžete okamžitě zkopírovat, vložit a spustit. Nahraďte `YOUR_DIRECTORY` složkou, která obsahuje váš PNG soubor. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Spusťte skript pomocí `python run_ocr.py` a uvidíte výpis JSON v konzoli, CSV soubor na disku a filtrovaný seznam položek s vysokou důvěrou. + +## Často kladené otázky + +**Q: Můžu to použít k extrakci textu ze skenované účtenky místo faktury?** +A: Rozhodně. Stejný postup platí—stačí nasměrovat `image_path` na PNG vaší účtenky. Pokud účtenka používá jiný jazyk, přepněte `engine.language` podle toho. + +**Q: Co když moje PNG obsahuje natočený text?** +A: Aspose.OCR automaticky detekuje orientaci, ale v obtížných případech můžete obrázek před předáním enginu ručně otočit pomocí Pillow. + +**Q: Potřebuji placenou licenci pro Aspose.OCR?** +A: Knihovna nabízí bezplatný evaluační režim s vodoznakem na výstupu. Pro produkční použití budete potřebovat licenci, kterou lze získat na webu Aspose. + +## Závěr + +Probrali jsme vše, co potřebujete k **spuštění OCR na PNG** souborech pomocí Pythonu: instalaci SDK, načtení obrázku, extrakci strukturovaného textu a uložení výsledku jako JSON nebo CSV. Ať už chcete **extrahovat text z obrázku** pro jednoduchý skript nebo **extrahovat text z faktury** pro automatizovaný účetní pipeline, výše uvedené kroky vám poskytnou pevný, připravený základ pro produkci. + +Dále můžete zkoumat: + +- Integraci CSV výstupu s databází pro hromadné ukládání faktur. +- Přidání post‑zpracování pomocí regulárních výrazů pro získání dat, částek nebo DIČ. +- Použití funkce `ocr_engine.recognize_barcode`, pokud vaše faktury obsahují QR kódy. + +Vyzkoušejte to, upravte prahy důvěry a sledujte, jak se váš workflow pro zpracování dokumentů stane hračkou. Máte další otázky nebo zajímavý případ použití? Zanechte komentář níže—příjemné OCRování! + +![run OCR on PNG example](run-ocr-on-png.png "run OCR on PNG – visual example of OCR result") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/dutch/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..a77bd700 --- /dev/null +++ b/ocr/dutch/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,195 @@ +--- +category: general +date: 2026-01-12 +description: Tekst extraheren uit afbeelding met Python en Aspose OCR. Leer hoe je + een gescande afbeelding naar tekst kunt converteren met asynchrone code in slechts + enkele minuten. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: nl +og_description: Tekst extraheren uit afbeelding met Python en Aspose OCR. Deze tutorial + laat zien hoe je een gescande afbeelding naar tekst kunt converteren met async‑functies. +og_title: Tekst extraheren uit afbeelding met Python – Asynchrone OCR-gids +tags: +- python +- ocr +- async +title: Tekst extraheren uit afbeelding met Python – Async OCR-gids +url: /nl/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tekst uit afbeelding halen met Python – Async OCR-gids + +Heb je ooit **tekst uit afbeelding Python** scripts moeten halen, maar liep je vast bij het OCR‑gedeelte? Je bent niet de enige. Veel ontwikkelaars komen tegen een muur wanneer ze een gescand document hebben en dit willen omzetten naar doorzoekbare tekst zonder zich te frustreren. + +In deze tutorial lopen we een volledig, uitvoerbaar voorbeeld door dat laat zien hoe je **gescande afbeelding naar tekst** kunt converteren met de asynchrone API van Aspose OCR. Aan het einde heb je een enkele functie die je in elk project kunt plaatsen, en begrijp je waarom asynchrone verwerking je app responsief kan houden, zelfs wanneer OCR enkele seconden duurt. + +## Vereisten + +Voordat we beginnen, zorg ervoor dat je het volgende hebt: + +- Python 3.8+ geïnstalleerd (de async‑functies hebben minimaal 3.7 nodig) +- `asposeocr`‑package (`pip install asposeocr`) – dit is de bibliotheek die we gaan gebruiken +- Een gescand afbeeldingsbestand (TIFF, PNG, JPEG – alles wat Aspose OCR ondersteunt) +- Basiskennis van `asyncio` (zo niet, geen zorgen – we leggen elke stap uit) + +Er zijn geen extra systeemafhankelijkheden nodig; Aspose OCR bundelt alles wat je nodig hebt. + +![Diagram die async OCR‑stroom toont – tekst uit afbeelding halen met python](https://example.com/async-ocr-diagram.png "async OCR‑stroom – tekst uit afbeelding halen met python") + +## Stap 1 – De asynchrone hulpfunctie instellen + +Het hart van de oplossing is een `async`‑functie die een afbeelding laadt, OCR start en vervolgens wacht op het resultaat. Door de functie asynchroon te houden, kun je andere coroutines (bijv. meer bestanden downloaden) uitvoeren terwijl de OCR‑engine op de achtergrond werkt. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Waarom dit belangrijk is:** Door een `Future` terug te geven, voert Aspose OCR het zware werk uit in een aparte thread‑pool. `await` geeft de event loop vrij, zodat je app soepel blijft. Als je ooit veel afbeeldingen tegelijk moet verwerken, kun je eenvoudig meerdere `async_ocr`‑aanroepen plannen met `asyncio.gather`. + +## Stap 2 – De coroutine uitvoeren in de event loop + +Nu we een hulpfunctie hebben, moeten we deze uitvoeren. `asyncio.run` maakt een nieuwe event loop, draait de coroutine en sluit alles netjes af. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Pro tip:** Als je dit integreert in een grotere async‑applicatie (bijv. FastAPI), roep je `await async_ocr(...)` direct aan in plaats van `asyncio.run`. + +## Stap 3 – De uitvoer verifiëren + +Wanneer je het script uitvoert, zou je iets moeten zien als: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Als de uitvoer er rommelig uitziet, controleer dan het volgende: + +1. De afbeelding is duidelijk en niet te sterk gecomprimeerd. +2. Je hebt de juiste taal geselecteerd (`ocr.Language.ENGLISH` werkt voor de meeste op het Latijn gebaseerde teksten). +3. Het bestandspad is correct en het bestand is leesbaar. + +## Stap 4 – Randgevallen afhandelen + +### Meerdere talen + +Als je **gescande afbeelding naar tekst** wilt converteren in een andere taal dan Engels, wijzig dan simpelweg de taal‑eigenschap: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Grote bestanden + +Voor zeer grote TIFF‑bestanden, overweeg ze te verkleinen of om te zetten naar een PNG met lagere resolutie voordat je ze aan OCR geeft. Dit vermindert het geheugenverbruik en versnelt de verwerking. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Foutafhandeling + +Plaats de OCR‑aanroep in een `try/except`‑blok om netwerk‑ of licentie‑fouten op te vangen. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Stap 5 – Opschalen: Veel afbeeldingen tegelijk verwerken + +Omdat de functie async is, kun je tientallen OCR‑taken tegelijk starten: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Dit patroon houdt de CPU bezig terwijl de OCR‑engine parallel werkt, waardoor de totale verwerkingstijd drastisch wordt verkort. + +## Conclusie + +Je hebt nu een solide **tekst uit afbeelding halen met Python**‑oplossing die gebruikmaakt van de asynchrone API van Aspose OCR. Het volledige voorbeeld laat zien hoe je: + +1. De OCR‑engine initialiseert en een taal selecteert. +2. OCR asynchroon start met `process_async`. +3. Het resultaat afwacht zonder de event loop te blokkeren. +4. Veelvoorkomende valkuilen afhandelt, zoals grote bestanden en ondersteuning voor meerdere talen. + +Voel je vrij om de code aan te passen aan je eigen pipelines—of je nu een document‑beheersysteem, een zoekindexer of een eenvoudige command‑line tool bouwt. Volgende stappen kunnen zijn: + +- Het geëxtraheerde tekst opslaan in een database voor full‑text search. +- PDF‑generatie toevoegen (bijv. met `PyPDF2`) om doorzoekbare PDF‑bestanden te maken. +- Integratie met een webframework zoals FastAPI voor een RESTful OCR‑service. + +Veel programmeerplezier, en geniet van het omzetten van die gescande afbeeldingen naar doorzoekbare, bewerkbare tekst! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/dutch/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..c88a5df9 --- /dev/null +++ b/ocr/dutch/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-01-12 +description: Hoe je afbeeldingen snel batch‑OCR't en tekst uit JPEG‑bestanden haalt + in Python. Leer stap‑voor‑stap batchverwerking met een volledig uitvoerbaar voorbeeld. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: nl +og_description: Hoe afbeeldingen in batch OCR'en en tekst uit JPEG‑bestanden extraheren. + Deze gids leidt je door een complete, kant‑klaar Python‑oplossing. +og_title: Hoe afbeeldingen batch-OCR – Snelle Python‑tutorial +tags: +- OCR +- Python +- image processing +title: Hoe batch-OCR op afbeeldingen toepassen – Snelle gids voor het extraheren van + tekst uit JPEG‑bestanden +url: /nl/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe batch OCR‑afbeeldingen – Snelle gids voor het extraheren van tekst uit JPEG‑bestanden + +Heb je je ooit afgevraagd **hoe je batch OCR‑afbeeldingen** kunt uitvoeren zonder voor elk bestand een apart script te schrijven? Je bent niet de enige. In veel projecten—factuurscanning, archiefdigitalisering of contentmoderatie—moeten we tekst uit tientallen of honderden JPEG‑bestanden in één keer halen. Het goede nieuws is dat je dit kunt doen met slechts een paar regels Python, en dat je een herbruikbare engine krijgt die je in elke pipeline kunt gebruiken. + +In deze tutorial laten we je precies zien **hoe je batch OCR‑afbeeldingen** uitvoert, vervolgens lopen we door het extraheren van tekst uit JPEG‑bestanden, het afhandelen van randgevallen en het verifiëren van de output. Aan het einde heb je een zelfstandige script die je op elke map met afbeeldingen kunt uitvoeren, en begrijp je waarom batchverwerking belangrijk is voor prestaties en onderhoudbaarheid. + +## Wat je zult leren + +- Een eenvoudige OCR‑engine opzetten en configureren voor Engels. +- Alle JPEG‑bestanden uit een map verzamelen met `pathlib`. +- De OCR‑engine één keer aanroepen om de hele batch te verwerken. +- Een voorbeeld van de herkende tekst voor elke afbeelding weergeven. +- Tips voor het verwerken van grote batches, verschillende talen en veelvoorkomende valkuilen. + +**Voorvereisten**: Python 3.8+, de `ocr`‑bibliotheek (of een compatibele wrapper), en een map met JPEG‑afbeeldingen die je wilt analyseren. Er zijn geen externe services nodig—alles draait lokaal. + +--- + +## Stap 1: Initialise de OCR Engine – De kern van hoe batch OCR‑afbeeldingen uit te voeren + +Voordat we **batch OCR‑afbeeldingen** kunnen uitvoeren, hebben we een engine nodig die tekst kan lezen. In de meeste bibliotheken maak je een engine‑object aan, stel je eventueel de taal in, en hergebruik je het voor elk bestand. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Waarom dit belangrijk is*: Het één keer initialiseren van de engine voorkomt de overhead van het herhaaldelijk laden van taalmodellen. Het geeft je ook één plek om instellingen aan te passen (bijv. DPI, whitelist van tekens) die op de hele batch van toepassing zijn. + +> **Pro tip**: Als je van plan bent meertalige documenten te verwerken, schakel dan `ocr.Language.ENGLISH` naar `ocr.Language.MULTI` of laad meerdere taalpakketten voordat de batch start. + +--- + +## Stap 2: Verzamel alle JPEG‑bestanden – Het “Tekst extraheren uit JPEG‑bestanden”‑deel + +Nu de engine klaar is, moeten we aangeven op welke afbeeldingen deze moet werken. Het gebruik van `pathlib` maakt de code platformonafhankelijk en beknopt. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Waarom dit belangrijk is*: Door eerst de bestandenlijst te verzamelen, kunnen we de hele collectie in één oproep aan de OCR‑engine voeren—precies waar “hoe batch OCR‑afbeeldingen” om draait. Als je sub‑mappen hebt, kun je `glob("**/*.jpg")` aanpassen om recursief te zoeken. + +> **Randgeval**: Als je afbeeldingen gemengde extensies hebben (`.jpeg`, `.JPG`), breid dan het glob‑patroon uit: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Stap 3: Verwerk de hele batch in één oproep – De echte kracht van batch OCR + +De meeste moderne OCR‑bibliotheken bieden een `process_batch`‑methode (of een vergelijkbare naam) die een iterabele van bestandspaden accepteert. Dit is de kern van **hoe je batch OCR‑afbeeldingen** efficiënt uitvoert. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Waarom dit belangrijk is*: Een enkele batch‑oproep vermindert het aantal Python‑naar‑C‑overgangen, houdt het taalmodel in het geheugen geladen, en maakt vaak interne parallelisatie mogelijk. Het resultaat is een lijst van objecten—elk met de herkende tekst en vertrouwensscores. + +> **Prestatie‑opmerking**: Voor zeer grote batches (duizenden afbeeldingen) kun je overwegen de lijst op te splitsen in kleinere delen (bijv. 200 bestanden) om overmatig geheugenverbruik te voorkomen. + +--- + +## Stap 4: Toon een voorbeeld van de geëxtraheerde tekst – Snelle validatie + +Nadat de batch is voltooid, is het handig om een kijkje te nemen naar de eerste paar tekens van elk resultaat. Dit helpt je te bevestigen dat de OCR daadwerkelijk tekst uit je JPEG‑bestanden haalt. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Waarom dit belangrijk is*: Een korte preview laat je duidelijke fouten (bijv. lege output, onleesbare tekens) opmerken zonder elk bestand te openen. Als je systematische problemen ziet, kun je de engine‑instellingen aanpassen en de batch opnieuw uitvoeren. + +> **Veelvoorkomende valkuil**: Het vergeten te strippen van newline‑karakters kan de preview rommelig maken. De regel `replace("\n", " ")` maakt het schoon. + +--- + +## Volledig werkend voorbeeld – Alle stappen gecombineerd + +Hieronder staat het volledige script dat je kunt kopiëren‑plakken, het pad naar de map kunt aanpassen, en kunt uitvoeren. Het demonstreert de volledige **hoe batch OCR‑afbeeldingen** workflow van begin tot eind. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Verwachte output** (voorbeeld): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Als de preview betekenisvolle tekst toont, heb je succesvol **tekst uit JPEG‑bestanden** geëxtraheerd met een batch‑aanpak. + +--- + +## Grote batches verwerken en geavanceerde scenario's + +### Grote werklasten chunken + +Bij het verwerken van duizenden afbeeldingen kan geheugen een knelpunt worden. Splits de lijst in kleinere chunks: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Talen wisselen + +Als je documenten Frans of Spaans bevatten, wijzig dan de taal vóór de batch: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Resultaten opslaan op schijf + +In plaats van af te drukken, wil je misschien elk OCR‑resultaat naar een `.txt`‑bestand schrijven: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Conclusie + +Je weet nu **hoe je batch OCR‑afbeeldingen** kunt uitvoeren en betrouwbaar **tekst uit JPEG‑bestanden** kunt extraheren met een compacte Python‑script. Door de engine één keer te initialiseren, alle JPEG‑paden te verzamelen, ze in één batch te verwerken en de output te previewen, bereik je zowel snelheid als eenvoud. Vanaf hier kun je de workflow uitbreiden—meertalige ondersteuning toevoegen, resultaten in een database opslaan, of het script integreren in een grotere document‑verwerkings‑pipeline. + +Klaar voor de volgende stap? Probeer de `ocr`‑bibliotheek te vervangen door Tesseract, experimenteer met verschillende beeld‑pre‑processing (drempeldetectie, schalen), of voer de geëxtraheerde tekst in een natural‑language‑processing‑model voor automatische categorisatie. De mogelijkheden zijn eindeloos, en je hebt een solide basis om op voort te bouwen. + +Veel plezier met coderen, en moge je OCR‑batches altijd foutloos zijn! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/dutch/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..deff12cf --- /dev/null +++ b/ocr/dutch/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,146 @@ +--- +category: general +date: 2026-01-12 +description: Hoe taal te detecteren in afbeeldingen met Aspose OCR – leer tekst uit + een afbeelding te extraheren, gemengde taal‑OCR te verwerken en OCR in Python te + gebruiken. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: nl +og_description: Hoe taal te detecteren in afbeeldingen met Aspose OCR – een stapsgewijze + handleiding om tekst uit een afbeelding te extraheren en gemengde taal‑OCR te verwerken. +og_title: Hoe taal te detecteren met OCR voor gemengde tekst +tags: +- OCR +- Python +- Aspose +title: Hoe taal te detecteren met OCR voor gemengde tekst +url: /nl/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe taal te detecteren met OCR voor gemengde tekst + +Hoe taal te detecteren in afbeeldingen met Aspose OCR is een veelvoorkomende uitdaging bij meertalige documenten. Heb je je ooit afgevraagd **hoe tekst uit een afbeelding te extraheren** die zowel Engels als Frans op dezelfde pagina bevat? In deze tutorial lopen we een volledig, uitvoerbaar voorbeeld door dat precies laat zien hoe je OCR gebruikt om de taal te identificeren, de tekst eruit te halen en gemengde‑taalscenario's af te handelen zonder moeite. + +We behandelen alles wat je moet weten: het opzetten van de Aspose OCR‑engine, aangeven welke talen moeten worden overwogen, een voorbeeldfactuur‑afbeelding laden, het OCR‑proces uitvoeren, en uiteindelijk de gedetecteerde taal samen met de geëxtraheerde tekst afdrukken. Aan het einde kun je de vraag “how to use OCR for mixed language OCR” beantwoorden in je eigen projecten, of je nu een facturatie‑pipeline, een kassabon‑scanner of een document‑archiverings‑tool bouwt. + +> **Prerequisites** – Je moet Python 3.8+ geïnstalleerd hebben, een basiskennis van pip, en een Aspose OCR‑licentie (de gratis proefversie werkt voor deze demo). Er zijn geen andere externe bibliotheken vereist. + +--- + +## Hoe taal te detecteren met Aspose OCR + +De eerste stap is het maken van een OCR‑engine‑instance en aangeven welke talen deze moet zoeken. Aspose OCR gebruikt een bit‑masker om talen te combineren, waardoor het eenvoudig is om Engels, Frans, Spaans of elke gewenste combinatie te ondersteunen. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Waarom dit belangrijk is:** Het initialiseren van de engine is de basis. Zonder deze kun je geen OCR‑methoden aanroepen, en de engine bevat alle configuratie die bepaalt hoe goed later **taal kan worden gedetecteerd**. + +--- + +## Tekst uit afbeelding extraheren met OCR + +Nu moeten we de engine laten weten welke talen mogelijk zijn. Door een bit‑masker van `ENGLISH | FRENCH` in te stellen, stellen we de engine in staat automatisch de beste match voor elk gebied van de afbeelding te kiezen. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Waarom dit belangrijk is:** Het inschakelen van `auto_detect_language` is de kern van **hoe taal te detecteren** in een gemengd‑taaldocument. De engine scant de tekst, scoort elke taal en retourneert degene met de hoogste zekerheid. Als je deze stap overslaat, moet je zelf de taal raden, wat het doel van gemengde taal‑OCR ondermijnt. + +--- + +## Instellingen voor gemengde taal‑OCR configureren + +Voordat we een afbeelding aan de engine voeren, moeten we deze laden. Aspose OCR werkt met zijn eigen `Image`‑klasse, die het onderliggende bestandsformaat abstraheert. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Tip:** Houd de beeldresolutie rond de 300 dpi voor de beste resultaten. Lagere resoluties kunnen ervoor zorgen dat de taaldetectie subtiele tekens mist, vooral geaccentueerde Franse letters. + +--- + +## OCR‑proces uitvoeren en resultaten ophalen + +Met de engine geconfigureerd en de afbeelding geladen, kunnen we eindelijk het OCR‑proces starten. De `process`‑methode retourneert een `OcrResult`‑object dat zowel de gedetecteerde taalcodes als de volledige geëxtraheerde tekst bevat. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Verwachte output** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Als de afbeelding Franse secties bevat, zie je `FRENCH` als de gedetecteerde taal en wordt de overeenkomstige Franse tekst afgedrukt. + +--- + +## Afbeeldingsvoorbeeld (Alt‑tekst voor SEO) + +![how to detect language in mixed language OCR image](mixed_lang_invoice.png) + +*De screenshot hierboven toont een voorbeeldfactuur met zowel Engelse als Franse tekst, en illustreert hoe de OCR‑engine **taal kan detecteren** en de inhoud in één stap kan extraheren.* + +--- + +## Veelvoorkomende valkuilen en pro‑tips + +| Issue | Why it Happens | How to Fix / Mitigate | +|-------|----------------|------------------------| +| **Blurry or low‑resolution scans** | The engine can’t distinguish characters, leading to wrong language detection. | Scan at ≥300 dpi, apply image sharpening before OCR. | +| **Missing language in the bit‑mask** | If you forget to include a language, the engine will default to the first match, often giving inaccurate results. | Always list every language you expect; you can combine many using the `|` operator. | +| **Mixed scripts (e.g., Latin + Cyrillic)** | Aspose OCR may need separate language packs. | Install additional language packs and add them to the mask. | +| **Large files causing memory spikes** | Loading a huge image into memory can crash the script. | Use `Image.resize` to downscale while preserving DPI, or process the image in tiles. | + +**Pro tip:** Nadat je de ruwe tekst hebt, voer je een snelle post‑processing stap uit om witruimte en regeleinden te normaliseren. Dit maakt downstream parsing (bijv. het extraheren van factuurnummers) veel eenvoudiger. + +--- + +## Samenvatting: wat je hebt geleerd + +Je weet nu **hoe taal te detecteren** in een gemengd‑taaldocument met Aspose OCR, en je hebt een compleet, end‑to‑end voorbeeld gezien dat ook **hoe tekst uit afbeelding te extraheren** laat zien. Door het taalmasker te configureren, auto‑detectie in te schakelen en het result‑object af te handelen, kun je betrouwbaar facturen, bonnen of elk document verwerken dat Engels en Frans (of andere talen) combineert. + +### Volgende stappen + +- Probeer **hoe tekst uit PDF's te extraheren** door elke pagina eerst naar een afbeelding te converteren. +- Experimenteer met de andere secundaire zoekwoorden: verken de volledige **how to use OCR** API‑surface, zoals het instellen van OCR‑zones voor snellere verwerking. +- Duik dieper in complexere **mixed language OCR**‑cases, zoals documenten die tussen drie of meer talen schakelen. + +Voel je vrij om de code aan te passen, te testen op je eigen afbeeldingen, en de engine het zware werk te laten doen. Als je ergens tegenaan loopt, laat dan een reactie achter — happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/dutch/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..b201aa0b --- /dev/null +++ b/ocr/dutch/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,226 @@ +--- +category: general +date: 2026-01-12 +description: Leer hoe je PDF's OCR't in Python en maak PDF's snel doorzoekbaar. Converteer + gescande PDF, extraheer tekst uit PDF en OCR gescande PDF in Python met Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: nl +og_description: Hoe OCR PDF in Python? Deze stapsgewijze tutorial laat zien hoe je + gescande PDF‑bestanden omzet in doorzoekbare PDF’s en tekst extraheert met Aspose + OCR. +og_title: Hoe PDF OCR'en en doorzoekbaar maken – Python-gids +tags: +- OCR +- Python +- PDF processing +title: Hoe PDF OCR'en en Zoekbaar Maken – Python Gids +url: /nl/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe PDF OCR'en en Doorzoekbaar Maken – Python Gids + +Heb je je ooit afgevraagd **hoe je PDF‑bestanden kunt OCR'en** zonder een fortuin uit te geven aan commerciële software? Je bent niet de enige. Veel ontwikkelaars lopen tegen een muur aan wanneer ze een gescande overeenkomst, een factuur of een andere op afbeeldingen gebaseerde PDF doorzoekbaar moeten maken. Het goede nieuws? Met een paar regels Python en Aspose OCR kun je gescande PDF’s omzetten, tekst uit PDF’s extraheren en uiteindelijk PDF’s doorzoekbaar maken in enkele minuten. + +In deze tutorial lopen we alles door wat je nodig hebt: van het installeren van de bibliotheek, het configureren van de taal, het verwerken van een gescande PDF, tot het opslaan van het resultaat als een doorzoekbare PDF die zowel de originele afbeelding als een verborgen tekstlaag bevat. Aan het einde heb je een herbruikbaar script dat je in elk project kunt plaatsen—zonder handmatig knippen‑en‑plakken. + +--- + +## Wat je nodig hebt + +- **Python 3.8+** (de code werkt op 3.9, 3.10 en nieuwer) +- Een actieve **Aspose OCR for Python**‑licentie (een gratis proefversie volstaat voor experimenten) +- Een gescande PDF‑file (bijv. `scanned_contract.pdf`) die je doorzoekbaar wilt maken +- Basiskennis van de commandoregel en virtuele omgevingen (optioneel maar aanbevolen) + +> **Pro tip:** Als je nog geen licentie hebt, meld je dan aan voor een 30‑daagse proefversie op de Aspose‑website; de proefversie is volledig functioneel voor ontwikkelingsdoeleinden. + +--- + +## Hoe PDF OCR'en met Aspose OCR (Primary Keyword in H2) + +De eerste stap is het juiste pakket te krijgen. Aspose OCR biedt een nette, high‑level API die de low‑level beeldverwerkingsdetails abstraheert. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +Zodra het pakket is geïnstalleerd, kun je beginnen met het schrijven van het script. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Waarom de taal instellen?** +> De OCR‑nauwkeurigheid hangt sterk af van het taalmodel. Door expliciet aan de engine te vertellen dat er Engelse tekst verwacht wordt, verminder je false positives en versnel je de verwerking. + +--- + +## Stap 2: Gescande PDF omzetten naar een Doorzoekbare PDF + +Nu de engine klaar is, wijs je deze op je gescande document. De `process_pdf`‑methode retourneert een `PdfResult`‑object dat zowel de originele afbeeldingsdata als de herkende tekst bevat. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Als je **gescande PDF**‑bestanden in bulk wilt **converteren**, loop dan simpelweg over een map en roep `process_pdf` aan voor elk bestand. De engine verwerkt multi‑page PDF’s out‑of‑the‑box. + +--- + +## Stap 3: Het Resultaat Opslaan als Doorzoekbare PDF (Make PDF Searchable) + +Het laatste puzzelstukje is het bewaren van de doorzoekbare versie. Aspose OCR maakt dit met één regel code: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +Wanneer je `contract_searchable.pdf` opent in een PDF‑viewer, zie je de originele gescande afbeelding, maar kun je nu **zoeken naar elk woord** dat de OCR‑engine heeft herkend. De verborgen tekstlaag is onzichtbaar voor het oog, maar volledig indexeerbaar. + +--- + +### Volledig Script – Klaar om uit te voeren + +Hieronder vind je het complete, uitvoerbare voorbeeld. Kopieer‑plak het in een bestand met de naam `make_searchable.py` en pas de paden aan jouw omgeving aan. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Verwachte output:** +Het uitvoeren van het script print een bevestigingsregel en maakt `contract_searchable.pdf` aan. Open het bestand, druk op `Ctrl + F` en typ een woord dat in de originele gescande afbeelding voorkomt—je zou meteen overeenkomsten moeten zien. + +--- + +## Veelgestelde Vragen & Randgevallen + +### 1. Wat als de PDF meerdere talen bevat? + +Je kunt een lijst van talen aan de engine doorgeven: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR zal proberen tekst in beide talen op dezelfde pagina te herkennen. + +### 2. Hoe ga ik om met scans met lage resolutie? + +Als de bronafbeeldingen onder de 150 dpi liggen, kan de OCR‑nauwkeurigheid afnemen. Pre‑process de PDF met een tool zoals `pdfimages` om pagina’s te extraheren, schaal ze op met Pillow, en voer de hogere resolutie‑afbeeldingen terug in `process_pdf`. + +### 3. Kan ik de platte tekst extraheren zonder een doorzoekbare PDF te maken? + +Absoluut. Het `PdfResult`‑object biedt een `text`‑eigenschap: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Dit dekt de **extract text pdf**‑use‑case wanneer je alleen de ruwe tekens nodig hebt. + +### 4. Is er een manier om een map met PDF’s batch‑matig te verwerken? + +Ja—verpak de `ocr_to_searchable`‑functie in een eenvoudige loop: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Nu kun je **gescande pdf**‑bestanden in massa **converteren** met één commando. + +--- + +## Prestatietips + +- **Engine hergebruiken**: Een nieuwe `OcrEngine` voor elk bestand aanmaken voegt overhead toe. Instantieer hem één keer en hergebruik hem voor meerdere aanroepen. +- **Parallel verwerken**: Voor grote batches kun je Python’s `concurrent.futures.ThreadPoolExecutor` gebruiken—Aspose OCR is thread‑safe voor alleen‑lezen operaties. +- **Geheugenbeheer**: Als je zeer grote PDF’s (honderden pagina’s) verwerkt, roep dan `gc.collect()` aan na elk bestand om geheugen vrij te maken. + +--- + +## Conclusie + +We hebben behandeld **hoe je PDF‑bestanden OCR't** in Python, die scans omgezet naar **doorzoekbare PDF’s**, en zelfs laten zien hoe je **tekst uit PDF** direct kunt **extraheren**. Met Aspose OCR krijg je een betrouwbare engine die multi‑page documenten, meerdere talen en hoge herkenningsnauwkeurigheid aankan—alles met slechts een paar regels code. + +Probeer het op je eigen contracten, facturen of gearchiveerde onderzoeksdocumenten. Zodra je de basis onder de knie hebt, experimenteer dan met geavanceerde functies—zoals aangepaste woordenboeken, beeld‑pre‑processing, of het integreren van de output in een full‑text zoekindex zoals Elasticsearch. + +Heb je meer vragen over **ocr scanned pdf python** of heb je hulp nodig bij een lastige scan? Laat een reactie achter, en happy coding! + +--- + +![voorbeeld van hoe pdf OCR](image-placeholder.png){alt="voorbeeld van hoe pdf OCR"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/dutch/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..961ff5e3 --- /dev/null +++ b/ocr/dutch/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: Hoe OCR snel en nauwkeurig uit te voeren. Leer OCR op een document uit + te voeren, tekst uit TIFF te extraheren, een afbeelding voor OCR te laden en de + OCR-taal in Python in te stellen. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: nl +og_description: Hoe OCR uit te voeren in Python. Deze tutorial laat zien hoe je OCR + op een document uitvoert, tekst uit een tiff extraheert, een afbeelding laadt voor + OCR en de OCR-taal instelt. +og_title: Hoe OCR op een TIFF-document uit te voeren – Complete gids +tags: +- OCR +- Python +- Image Processing +title: Hoe OCR uit te voeren op een TIFF‑document – Stapsgewijze handleiding +url: /nl/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe OCR uit te voeren op een TIFF‑document – Complete gids + +Heb je je ooit afgevraagd **hoe je OCR** kunt uitvoeren op een gescande TIFF‑bestand zonder uren te verspillen aan het zoeken naar de juiste bibliotheek? Je bent niet de enige. Veel ontwikkelaars lopen tegen een muur aan wanneer ze tekst uit TIFF‑afbeeldingen moeten extraheren, vooral wanneer prestaties en taalinstellingen belangrijk zijn. + +In deze tutorial lopen we alles door wat je moet weten: van het installeren van het OCR‑pakket, het laden van de afbeelding voor OCR, het instellen van de OCR‑taal, tot uiteindelijk **OCR uitvoeren op document** en schone tekst ophalen. Aan het einde heb je een kant‑klaar script dat je in elk project kunt gebruiken. + +> **Pro tip:** Terwijl het voorbeeld een generieke `ocr`‑module gebruikt, zijn dezelfde concepten van toepassing op Tesseract, EasyOCR, of elke moderne OCR‑engine die een Python‑API biedt. + +--- + +## Wat je nodig hebt + +- Python 3.8+ (elke recente versie werkt) +- Een OCR‑bibliotheek die een `OcrEngine`‑klasse biedt (het voorbeeld gebruikt een fictief `ocr`‑pakket; vervang dit door je eigen) +- Een multi‑page TIFF‑bestand dat je wilt verwerken (we noemen het `big_document.tif`) +- Een machine met minimaal 4 CPU‑kernen als je het aantal threads wilt instellen + +Geen externe services, geen cloud‑sleutels — alleen lokale code die in seconden draait. + +![voorbeeld van OCR uitvoeren](/images/ocr-example.png "hoe OCR uit te voeren op een TIFF‑document") + +*Afbeeldings‑alt‑tekst: hoe OCR uit te voeren op een TIFF‑document – voorbeeld van geëxtraheerde tekst.* + +--- + +## Stap 1: Installeer en importeer de OCR‑bibliotheek + +Allereerst: haal de bibliotheek op je machine. De meeste OCR‑pakketten staan op PyPI, dus een simpele `pip install` doet het werk. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Importeer nu de klassen die je nodig hebt. Als je Tesseract gebruikt, ziet de import‑regel er anders uit, maar de rest van de code blijft hetzelfde. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Waarom dit belangrijk is:* Het vroegtijdig importeren van de juiste symbolen voorkomt later naamconflicten en maakt het script makkelijker leesbaar. + +--- + +## Stap 2: Maak en configureer de OCR‑engine (Set OCR Language) + +Het configureren van de engine is waar je **OCR‑taal instelt** voor nauwkeurige herkenning. Engels is de standaard, maar je kunt met één regel overschakelen naar Frans, Duits of zelfs een meertalige modus. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Waarom 4 threads?** De meeste moderne laptops hebben minstens vier kernen, en het beperken van het aantal threads voorkomt dat het OCR‑proces de hele machine opeet — dit is vooral handig wanneer het script op een gedeelde server draait. + +Als je een andere taal nodig hebt, vervang je simpelweg `ocr.Language.ENGLISH` door `ocr.Language.FRENCH`, `ocr.Language.SPANISH`, enzovoort. + +--- + +## Stap 3: Laad afbeelding voor OCR (Load Image for OCR) + +Nu **laden we de afbeelding voor OCR**. De `Image.load`‑methode leest het TIFF‑bestand in het geheugen en verwerkt multi‑page documenten automatisch. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Randgeval:* Als het bestand enorm is, kun je zonder RAM komen te zitten. Overweeg in dat scenario om één pagina per keer te laden met `Image.load_page(page_number)` (als de bibliotheek dat ondersteunt). + +--- + +## Stap 4: OCR uitvoeren op document + +Met de engine klaar en de afbeelding geladen, is het tijd om **OCR uit te voeren op document**. De `process`‑methode doet het zware werk en geeft een result‑object terug. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +Achter de schermen splitst de engine de afbeelding in tekstblokken, voert het herkenningsmodel uit en voegt de resultaten samen. De oproep is blokkerend, wat betekent dat het script wacht tot de volledige TIFF is verwerkt — perfect voor batch‑taken. + +--- + +## Stap 5: Tekst extraheren uit TIFF en output verifiëren + +Tot slot **extraheren we tekst uit TIFF** door de `text`‑attribuut van het resultaat te benaderen. Laten we de eerste 200 tekens afdrukken als snelle sanity‑check. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Verwachte output (voorbeeld):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Als je de volledige tekst nodig hebt, gebruik je simpelweg `ocr_result.text`. Voor verdere verwerking wil je het misschien naar een `.txt`‑bestand schrijven: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## Volledig werkend voorbeeld + +Alles bij elkaar, hier is een kant‑klaar script. Vervang de placeholder‑pakketnaam door de naam die je daadwerkelijk hebt geïnstalleerd. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Voer het script uit met: + +```bash +python ocr_tiff_example.py +``` + +Je zou een preview in de console moeten zien en een bestand genaamd `extracted_text.txt` met de volledige transcriptie. + +--- + +## Veelgestelde vragen & randgevallen + +- **Wat als de TIFF meerdere pagina's bevat?** + De meeste OCR‑engines behandelen elke pagina intern als een aparte afbeelding. `ocr_result.text` bevat een regeleinde tussen pagina's. Als je per pagina wilt verwerken, itereer dan met `Image.load_page(page_number)`. + +- **Kan ik een PNG of JPEG verwerken in plaats van TIFF?** + Zeker. De `Image.load`‑methode accepteert doorgaans elk formaat dat Pillow of de onderliggende bibliotheek ondersteunt. Verander gewoon de bestandsextensie. + +- **Mijn tekst is onleesbaar — moet ik de taal wijzigen?** + Ja. De stap **OCR‑taal instellen** is cruciaal voor niet‑Engelse documenten. Zorg ervoor dat het taalpakket geïnstalleerd is (bijv. `tesseract‑lang‑fra` voor Frans). + +- **Geen geheugen meer?** + Verlaag de `set_memory_limit` of verwerk pagina's één voor één. Sommige engines laten je ook de afbeelding verkleinen vóór herkenning. + +--- + +## Conclusie + +Daar heb je het — een beknopte, volledig functionele gids over **hoe OCR uit te voeren** op een TIFF‑bestand met Python. We hebben alles behandeld, van het installeren van de bibliotheek, het configureren van de engine (inclusief **OCR‑taal instellen**), **afbeelding laden voor OCR**, **OCR uitvoeren op document**, en uiteindelijk **tekst extraheren uit TIFF**. + +Voel je vrij om te experimenteren: pas het aantal threads aan, wissel van taal, of voer de OCR‑output in een natural‑language‑pipeline. De mogelijkheden zijn eindeloos zodra je de basis onder de knie hebt. + +Heb je meer vragen? Laat een reactie achter hieronder, en happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/dutch/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..a2dd1cf1 --- /dev/null +++ b/ocr/dutch/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,181 @@ +--- +category: general +date: 2026-01-12 +description: hoe de taal in Aspose OCR Python in te stellen en tekst uit een afbeelding + te extraheren met behulp van een aangepast woordenboek. Stapsgewijze tutorial voor + ontwikkelaars. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: nl +og_description: hoe je de taal instelt in Aspose OCR Python en tekst uit een afbeelding + haalt met een aangepast woordenboek. Leer de volledige workflow in enkele minuten. +og_title: Hoe stel je de taal in Aspose OCR Python – Complete gids +tags: +- OCR +- Python +- Aspose +- Image Processing +title: hoe de taal instellen in Aspose OCR Python – Complete gids +url: /nl/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# hoe je de taal instelt in Aspose OCR Python – Complete Gids + +Heb je je ooit afgevraagd **hoe je de taal instelt** bij het gebruik van Aspose OCR in Python? Je bent niet de enige—veel ontwikkelaars lopen tegen dit probleem aan wanneer het standaard Engelse model productcodes, serienummers of meertalige tekst niet herkent. Het goede nieuws is dat de oplossing zowel eenvoudig als krachtig is. In deze tutorial lopen we door het configureren van de taal, het toevoegen van een aangepast woordenboek, het extraheren van tekst uit een afbeelding, en uiteindelijk het verwerken van de afbeelding voor de beste OCR-resultaten. + +We behandelen alles wat je moet weten: van het installeren van de bibliotheek tot het uitvoeren van een volledig voorbeeld dat de geëxtraheerde tekst afdrukt. Aan het einde kun je **tekst uit afbeelding** bestanden met vertrouwen extraheren, zelfs wanneer de inhoud ongebruikelijke codes of gemengde talen bevat. + +## Vereisten + +Voordat we beginnen, zorg dat je het volgende hebt: + +* Python 3.8+ geïnstalleerd (de code gebruikt f‑strings, dus oudere versies werken niet). +* Een actieve Aspose OCR voor Python‑licentie of een gratis proeflicentiesleutel. +* Het `asposeocr`‑pakket geïnstalleerd via `pip install asposeocr`. +* Een voorbeeldafbeelding (`product_label.png`) die de tekst bevat die je wilt lezen. + +Als je die onderdelen al hebt, prima—laten we doorgaan. Zo niet, haal dan de gratis proefversie van de Aspose‑website en voer het install‑commando uit; het duurt maar een minuut. + +## Stap 1: Importeer de Aspose OCR‑module + +Het eerste wat je moet doen is de OCR‑klassen in je script importeren. Dit vormt de basis voor **hoe je de taal instelt** later. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Pro tip:** Houd je imports bovenaan het bestand. Het maakt het script makkelijker te doorbladeren, vooral als je later terugkomt. + +## Stap 2: Hoe je de taal instelt + +Standaard gaat Aspose OCR uit van Engels. Als je afbeelding Frans, Duits of een andere taal bevat, moet je de engine vertellen welke taal te gebruiken. Hier komt het belangrijkste trefwoord van pas. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Waarom is dit belangrijk? OCR‑engines vertrouwen op taalspecifieke tekenmodellen. Het opgeven van de juiste taal verbetert de nauwkeurigheid dramatisch—vooral voor accenten of taalspecifieke ligaturen. + +> **Opmerking:** Als je meerdere talen tegelijk wilt ondersteunen, kun je een lijst doorgeven zoals `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## Stap 3: Hoe je een woordenboek toevoegt (gebruiker‑gedefinieerde woorden) + +Soms leest de OCR‑engine productcodes verkeerd, zoals “AB‑1234”. Je kunt het vertrouwen verhogen door een aangepast woordenboek te voeden. Dit beantwoordt direct **hoe je een woordenboek toevoegt** in Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +De engine behandelt deze woorden als “bekend” en geeft ze de voorkeur boven vergelijkbare tekens. Dit is vooral handig voor SKU‑nummers, serienummers of merknamen die niet tot een natuurlijke taal behoren. + +## Stap 4: Hoe je een afbeelding verwerkt + +Nu de engine geconfigureerd is, moet je de afbeelding laden die je wilt analyseren. Dit behandelt **hoe je een afbeelding verwerkt** op een schone, herhaalbare manier. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +Als je met PDF‑bestanden werkt, kun je elke pagina eerst naar een afbeelding converteren—Aspose OCR ondersteunt dat direct. + +## Stap 5: Hoe je tekst uit een afbeelding extraheert + +Met alles ingesteld, is de laatste stap het uitvoeren van de OCR en het ophalen van de tekst. Dit is de kern van **hoe je tekst extraheert** uit een afbeelding. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +Wanneer je het script uitvoert, zou je iets moeten zien als: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Als de output er onleesbaar uitziet, controleer dan of je de juiste taal hebt ingesteld en of je aangepaste woordenboek exact de verwachte strings bevat. + +## Volledig Werkend Voorbeeld + +Alles bij elkaar, hier is het volledige script dat je kunt kopiëren‑plakken in een bestand genaamd `extract_label.py`. Vervang `YOUR_DIRECTORY` door het daadwerkelijke pad naar je afbeelding. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Verwachte Output + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Als je de exacte codes ziet die je aan het woordenboek hebt toegevoegd, heb je met succes **hoe je de taal instelt**, **hoe je een woordenboek toevoegt**, en **hoe je tekst uit een afbeelding extraheert** met Aspose OCR onder de knie. + +## Veelvoorkomende Edge Cases Afhandelen + +| Situatie | Wat te Doen | +|----------|-------------| +| **Afbeelding is onscherp** | Pre‑process met `ocr.Image.apply_filter()` om te verscherpen voordat je `process()` aanroept. | +| **Meerdere talen in één afbeelding** | Stel `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **Grote PDF’s** | Loop door elke pagina, converteer naar `ocr.Image`, en roep `process()` per pagina aan. | +| **Onverwachte tekens** | Voeg ze toe aan de lijst met gebruiker‑gedefinieerde woorden; Aspose OCR behandelt ze als tokens met hoge zekerheid. | + +Deze tips houden je OCR‑pipeline robuust, zelfs wanneer de invoer niet perfect is. + +## Visuele Referentie + +![how to set language in Aspose OCR example](image.png "Screenshot showing how to set language in Aspose OCR Python example") + +*Alt‑tekst:* **how to set language** screenshot die de toewijzing van de taal‑eigenschap in een Python‑IDE illustreert. + +## Conclusie + +Je weet nu **hoe je de taal instelt** in Aspose OCR Python, hoe je **woordenboek**‑items toevoegt, en de exacte stappen om **tekst uit een afbeelding te extraheren** en **afbeeldingen te verwerken** voor optimale resultaten. Het volledige voorbeeld hierboven kun je in elk project plaatsen, aanpassen voor andere talen, en uitbreiden voor batchverwerking of PDF‑invoer. + +Klaar voor de volgende uitdaging? Probeer `ocr.Language.ENGLISH` te vervangen door `ocr.Language.FRENCH` en observeer de nauwkeurigheidsverbetering op Franstalige etiketten. Of experimenteer met de `set_user_defined_words`‑methode om een heel productcatalogus op te nemen—je OCR‑engine zal elke invoer behandelen als een match met hoge zekerheid. + +Happy coding, en moge je OCR‑resultaten altijd kristalhelder zijn! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/dutch/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..3488a03a --- /dev/null +++ b/ocr/dutch/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-01-12 +description: Verwerk handgeschreven notities in Python met Aspose OCR – leer hoe je + snel tekst uit jpg‑afbeeldingen kunt extraheren. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: nl +og_description: Verwerk handgeschreven notities in Python met Aspose OCR. Leer hoe + je tekst uit jpg‑afbeeldingen kunt extraheren, handgeschreven OCR kunt herkennen + en afbeeldingen kunt laden voor OCR. +og_title: Verwerk handgeschreven notities met Python – Complete OCR-tutorial +tags: +- OCR +- Python +- Aspose +title: Verwerk handgeschreven notities met Python – Handgeschreven OCR-gids +url: /nl/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Handgeschreven notities verwerken met Python – Handgeschreven OCR‑gids + +Als je **handgeschreven notities** moet verwerken in Python, laat deze gids je precies zien hoe. Of de notities nu op een gescande bon, een foto van een klaslokaal‑whiteboard, of een snelle selfie van een takenlijst staan, je leert **hoe je tekst kunt extraheren** uit die afbeeldingen zonder moeite. + +We lopen elke stap door – het importeren van de Aspose OCR‑bibliotheek, het laden van een JPG, het uitvoeren van de engine en het omgaan met regels met lage‑vertrouwensscore. Aan het einde heb je een kant‑klaar script dat **tekst uit jpg‑bestanden kan herkennen** en je schone, bruikbare strings geeft. + +## Wat je zult leren + +- Een volledige, uitvoerbare code‑voorbeeld dat direct werkt. +- Inzicht waarom elke regel belangrijk is, niet alleen wat hij doet. +- Tips voor het omgaan met wobbelige handschrift en lage‑vertrouwensresultaten. +- Richtlijnen om het script uit te breiden voor PDF’s, meerdere afbeeldingen, of aangepaste taal‑pakketten. + +*Voorwaarden*: Python 3.8+ geïnstalleerd, een geldige Aspose OCR‑licentie (of een gratis proefversie), en een afbeeldingsbestand genaamd `handwritten_notes.jpg` in je projectmap. + +--- + +![Voorbeeld van handgeschreven notities verwerken](https://example.com/handwritten-notes.png "handgeschreven notities verwerken") + +*Alt‑tekst: handgeschreven notities verwerken – voorbeeldafbeelding met handgeschreven tekst klaar voor OCR.* + +## Handgeschreven notities verwerken: de OCR‑engine instellen + +### Waarom deze stap belangrijk is +De OCR‑engine is het brein achter het herkenningsproces. De juiste taal kiezen en het object correct initialiseren zorgt ervoor dat de engine weet dat hij naar Engelse tekens moet zoeken en dat hij de eigenaardigheden van handschrift aankan. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Pro‑tip:** Als je notities in een andere taal verwacht, vervang `ocr.Language.ENGLISH` door de juiste enum (bijv. `ocr.Language.FRENCH`). De engine laadt automatisch de benodigde tekenset. + +--- + +## Hoe tekst uit JPG‑afbeeldingen te extraheren + +### De afbeelding laden – de eerste hindernis +Voordat de engine iets kan doen, heeft hij een bitmap‑representatie van je JPG nodig. Aspose biedt een handige statische `load`‑methode die het bestand in een `Image`‑object leest. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Waarom niet OpenCV of Pillow gebruiken?* +Die bibliotheken zijn uitstekend voor pre‑processing, maar `Image.load` van Aspose garandeert het exacte pixel‑formaat dat de OCR‑engine verwacht, waardoor een veelvoorkomende bron van kleur‑diepte‑mismatches wordt geëlimineerd. + +--- + +## Tekst herkennen uit JPG met Handwritten OCR Python + +### De OCR‑engine uitvoeren +Nu de engine en afbeelding klaar zijn, starten we de herkenning. De `process`‑methode retourneert een `OcrResult`‑object dat een lijst van `Line`‑objecten bevat, elk met een eigen vertrouwensscore. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**Wat gebeurt er onder de motorkap?** +Aspose OCR draait een deep‑learning‑model getraind op miljoenen handgeschreven voorbeelden. Het segmenteert de afbeelding in regels, daarna in tekens, en stelt tenslotte de meest waarschijnlijke tekstreeks voor elke regel samen. + +--- + +## Afbeelding laden voor OCR – omgaan met lage‑vertrouwensresultaten + +### Waarom je om vertrouwensscore moet geven +Handgeschreven OCR is nooit 100 % perfect. Een vertrouwensscore onder 75 % betekent meestal dat de engine moeite had met de penseelstreek of achtergrondruis. Door die regels te filteren kun je bepalen of je een gebruiker om verificatie vraagt of extra beeld‑pre‑processing toepast. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Typische output** (jouw resultaten zullen variëren): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Merk op hoe het script betrouwbaar tekst van wobbelige stukken scheidt. Je kunt de lage‑vertrouwensregels later door een tweede ronde met beeld‑verbeteringsfilters (bijv. contrastverhoging) laten gaan of aan een menselijke reviewer voorleggen. + +--- + +## Volledig script – klaar om uit te voeren + +Hieronder staat het volledige programma, klaar om te kopiëren‑plakken. Sla het op als `handwritten_ocr.py` en voer `python handwritten_ocr.py` uit. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Verwacht gedrag:** +- Het script print elke regel met zijn vertrouwenspercentage. +- Regels boven 75 % verschijnen als “Accepted”, terwijl de rest gemarkeerd wordt voor review. +- Er zijn geen extra afhankelijkheden nodig buiten `asposeocr`. + +--- + +## Veelgestelde vragen & randgevallen + +### Wat als mijn afbeelding een PNG of BMP is? +Aspose OCR detecteert het formaat automatisch, dus je kunt simpelweg de bestandsextensie in `image_path` aanpassen. Geen code‑wijzigingen nodig. + +### Mijn handschrift is extreem rommelig – hoe kan ik de nauwkeurigheid verbeteren? +1. **Pre‑process de afbeelding** – verhoog contrast, verwijder achtergrondschaduwen (OpenCV kan helpen). +2. **Verhoog de vertrouwensdrempel** – stel deze in op 80 % als je alleen bijna‑perfecte regels wilt. +3. **Train een aangepast model** – Aspose biedt een “custom language pack”‑functie voor gespecialiseerde handschriftstijlen. + +### Kan ik meerdere afbeeldingen in één run verwerken? +Zeker. Plaats de laad‑ en verwerkingsstappen in een `for`‑loop over een lijst met pad‑namen. Hergebruik dezelfde `ocr_engine`‑instantie voor snelheid. + +### Werkt dit op macOS/Linux? +Ja. Aspose OCR levert wheels voor alle grote platforms. Gewoon `pip install asposeocr` en je bent klaar. + +--- + +## Volgende stappen & gerelateerde onderwerpen + +- **Hoe tekst uit PDF’s te extraheren** – zodra je de OCR‑pipeline hebt, is het invoeren van PDF‑pagina’s in `ocr.Image.load` een wijziging van één regel. +- **Integratie met een database** – sla elke geaccepteerde regel op in SQLite of PostgreSQL voor doorzoekbare notities. +- **Realtime OCR op mobiel** – combineer dit script met Flask of FastAPI om een REST‑endpoint bloot te stellen dat mobiele apps kunnen aanroepen. + +Al deze uitbreidingen bouwen voort op de kernconcepten die we hebben behandeld: **handgeschreven notities verwerken**, **tekst extraheren**, **tekst herkennen uit jpg**, en **afbeelding laden voor OCR**. + +--- + +## Conclusie + +Je beschikt nu over een solide, end‑to‑end‑oplossing voor **handgeschreven notities verwerken** met Python en Aspose OCR. De gids heeft je stap voor stap door het instellen van de engine, het laden van een JPG, het uitvoeren van herkenning en het afhandelen van lage‑vertrouwensresultaten geleid – allemaal in één kopieer‑en‑plak‑script. + +Vanaf hier kun je experimenteren met verschillende beeld‑pre‑processing‑technieken, de vertrouwensdrempel verhogen, of de oplossing opschalen naar batch‑verwerking van honderden notities. De mogelijkheden zijn eindeloos, en de code die je nu kent is je lanceerplatform. + +*Veel programmeerplezier, en moge je handgeschreven notities eindelijk doorzoekbare tekst worden!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/dutch/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..7bec2429 --- /dev/null +++ b/ocr/dutch/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-12 +description: Python OCR‑tutorial die laat zien hoe je tabeltekst uit een afbeelding + haalt. Leer hoe je een tabel uit een afbeelding leest en geselecteerde tekst extraheert + met Aspose OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: nl +og_description: Python OCR-tutorial die je leert hoe je tabeltekst uit een afbeelding + kunt extraheren, een tabel uit een afbeelding kunt lezen en geselecteerde tekst + kunt extraheren met Aspose OCR. +og_title: 'Python OCR-tutorial: Tekst uit tabellen extraheren uit afbeeldingen' +tags: +- OCR +- Python +- AsposeOCR +title: 'Python OCR Tutorial: Tekst uit tabellen extraheren uit afbeeldingen' +url: /nl/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR Tutorial: Tabeltekst uit afbeeldingen extraheren + +Heb je ooit een **python ocr tutorial** nodig gehad die je echt laat zien hoe je een tabel uit een gescand formulier haalt? Je bent niet de enige. De meeste tutorials stoppen bij algemene tekstelextractie, waardoor je moet raden hoe je dat nette raster met gegevens dat je nodig hebt, kunt isoleren. + +In deze gids lopen we een real‑world scenario door: een tabel uit een afbeelding lezen, alleen de geselecteerde tekst die je nodig hebt extraheren, en uiteindelijk de resultaten afdrukken. Onderweg geven we tips over **how to extract table** data betrouwbaar, zodat je de wiel niet elke keer opnieuw hoeft uit te vinden. + +## Wat je zult leren + +- Hoe je Aspose OCR voor Python instelt. +- Hoe je een rechthoekig gebied definieert dat een tabel bevat. +- De exacte stappen om **extract table text** en **read table from image** uit te voeren. +- Tips voor het omgaan met meerdere talen of onregelmatige tabelindelingen. +- Een complete, uitvoerbare script die je vandaag in je project kunt plaatsen. + +**Prerequisites** +- Python 3.8 of nieuwer. +- Basiskennis van OCR-concepten (geen diepgaande expertise vereist). +- Een PNG- of JPEG-afbeelding die een duidelijke tabel bevat (we noemen het `form_with_table.png`). + +Als je dat hebt, laten we erin duiken—geen poespas, alleen bruikbare code. + +![python ocr tutorial voorbeeld van tabelgebied](table_region_example.png){alt="python ocr tutorial voorbeeld dat tabelgebied toont"} + +## Stap 1: Installeer en importeer Aspose OCR + +Allereerst: je hebt de Aspose OCR bibliotheek nodig. Het pakket staat op PyPI, dus één `pip`-opdracht doet het werk. + +```bash +pip install aspose-ocr +``` + +Importeer nu de module en eventuele helpers die je nodig hebt. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro tip:* Houd je afhankelijkheden in een `requirements.txt`-bestand. Het maakt het reproduceren van de omgeving een fluitje van een cent. + +## Stap 2: Initialiseer de OCR Engine (Python OCR Tutorial Core) + +Het creëren van de engine is het hart van elke **python ocr tutorial**. Hier stellen we ook de standaardtaal in op Engels—voel je vrij om deze later te wijzigen. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Waarom de taal instellen? OCR-nauwkeurigheid kan drastisch stijgen wanneer de engine weet welke tekens te verwachten. Als je met meertalige formulieren werkt, kun je een lijst met talen instellen of per regio overschrijven (zie later). + +## Stap 3: Laad je afbeelding + +Aspose OCR werkt met de meeste gangbare afbeeldingsformaten. Geef simpelweg het bestandspad op, en je hebt een `Image`-object klaar voor verwerking. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Edge case:* Grote afbeeldingen (groter dan 5 MB) kunnen de verwerking vertragen. Overweeg ze te verkleinen of te comprimeren vóór OCR als de prestaties een probleem worden. + +## Stap 4: Definieer het tabelgebied (Read Table from Image) + +Nu komt het leuke deel: de engine vertellen *waar* de tabel zich bevindt. Je levert een `OcrRegion` met een `Rectangle` (x, y, breedte, hoogte). De coördinaten zijn pixel‑gebaseerd, dus je moet misschien een beetje experimenteren. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Waarom een regio gebruiken? Door OCR te beperken tot het tabelgebied **extract selected text** sneller en ruis van omliggende labels of grafische elementen te vermijden. Het verbetert ook de nauwkeurigheid omdat de engine zich kan concentreren op een uniform layout. + +## Stap 5: Voer OCR uit op de gedefinieerde regio + +Met de regio ingesteld roepen we `process_region` aan. De methode retourneert een `OcrResult`-object dat de ruwe tekst, vertrouwensscores en zelfs begrenzingskaders bevat als je die later nodig hebt. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +Als je meerdere tabellen moet extraheren, herhaal dan eenvoudig Stappen 4‑5 met verschillende rechthoeken. + +## Stap 6: Output de geëxtraheerde tabeltekst + +Print tenslotte—of sla op—de tekstuele weergave van de tabel. Aspose OCR retourneert platte tekst met regeleinden die meestal overeenkomen met rijen, waardoor nabewerking eenvoudig is. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Verwachte output** (voorbeeld): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +Je kunt deze string nu invoeren in `csv`-parsers, pandas DataFrames, of elke downstream analytics-pijplijn. + +## Volledig werkend voorbeeld + +Alles bij elkaar genomen, hier is het volledige script dat je direct kunt uitvoeren. Vervang `YOUR_DIRECTORY/form_with_table.png` door het daadwerkelijke pad naar je afbeelding. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Voer het script uit met `python extract_table.py`. Als alles klopt, zie je de tabel afgedrukt in je console. + +## Veelgestelde vragen & Edge‑Case handling + +**Wat als de tabel niet perfect rechthoekig is?** +Je kunt de tabel opsplitsen in meerdere overlappende regio's of een grotere rechthoek gebruiken die het hele gebied dekt en vervolgens de tekst post‑processen (bijv. splitsen op regeleinden). + +**Kan ik alleen specifieke kolommen extraheren?** +Nadat je de volledige tabeltekst hebt, gebruik je Python’s `csv` of `pandas` om de kolommen die je nodig hebt eruit te snijden. De OCR-stap zelf retourneert alles binnen de rechthoek. + +**Hoe werk ik met niet‑Engelse tabellen?** +Stel `ocr_engine.language` (of `region.language`) in op de juiste enum, zoals `ocr.Language.FRENCH` of combineer meerdere talen met `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**Is er een manier om begrenzingskaders voor elke cel te krijgen?** +Aspose OCR kan `region_result.words` retourneren waarbij elk woord een begrenzingskader bevat. Je moet die kaders terug naar een raster mappen—handig voor geavanceerde lay-outanalyse. + +## Tips voor betere nauwkeurigheid + +- **Clean the image**: Binariseer of verhoog het contrast voordat je het naar OCR stuurt. Bibliotheken zoals Pillow kunnen helpen. +- **Avoid compression artifacts**: Sla scans op als PNG wanneer mogelijk. +- **Mind DPI**: 300 dpi is een ideaal punt; lagere waarden kunnen gemiste tekens veroorzaken. +- **Test different rectangle sizes**: Iets grotere rechthoeken vangen vaak vreemde tekens die bij de tabel horen. + +## Volgende stappen + +Nu je **how to extract table** data met Aspose OCR onder de knie hebt, kun je het volgende verkennen: + +- De geëxtraheerde tekst omzetten naar een CSV‑bestand met Python’s `csv`-module. +- De gegevens invoeren in een **pandas** DataFrame voor analyse. +- OCR gebruiken om handgeschreven formulieren te lezen (vereist een andere engine of extra training). +- Batchverwerking van tientallen gescande formulieren automatiseren met een eenvoudige `for`‑lus. + +Elk van deze uitbreidingen bouwt voort op de kernconcepten die in deze **python ocr tutorial** behandeld zijn, dus je bent goed gepositioneerd om op te schalen. + +--- + +*Happy coding! Als je ergens tegenaan loopt, laat dan een reactie achter—ik help je graag de extractie fijn af te stemmen.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/dutch/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..caa7f25e --- /dev/null +++ b/ocr/dutch/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-01-12 +description: Voer OCR snel uit op PNG‑bestanden met Python. Leer hoe je tekst uit + een afbeelding en factuur kunt extraheren, en hoe je een afbeelding kunt laden voor + OCR met Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: nl +og_description: Voer OCR direct uit op PNG. Deze gids laat zien hoe je tekst uit een + afbeelding en factuur kunt extraheren, de afbeelding kunt laden voor OCR, en de + resultaten kunt opslaan als JSON en CSV. +og_title: Voer OCR uit op PNG – Volledige Python‑tutorial +tags: +- OCR +- Python +- Image Processing +title: OCR uitvoeren op PNG – Complete Python-gids om tekst uit afbeeldingen te halen +url: /nl/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# OCR uitvoeren op PNG – Complete Python-gids om tekst uit afbeeldingen te extraheren + +Heb je ooit **run OCR on PNG** bestanden nodig gehad, maar wist je niet welke bibliotheek je schone, gestructureerde resultaten zou geven? Je bent niet de enige. In veel real‑world projecten—denk aan factuurautomatisering of kassabon‑scannen— is de eerste stap om **extract text from image** bestanden te verwerken, en PNG is een veelgebruikt formaat omdat het verliesvrije kwaliteit behoudt. + +In deze tutorial lopen we een hands‑on voorbeeld door met het Aspose.OCR Python‑pakket. Aan het einde van de gids weet je hoe je **load image for OCR** kunt uitvoeren, elke regel tekst kunt ophalen, die data kunt omzetten naar een net JSON‑object, en zelfs kunt exporteren naar CSV voor downstream verwerking. Geen poespas, alleen een praktische, kant‑klaar oplossing. + +## Wat je zult leren + +- Hoe de Aspose.OCR bibliotheek te installeren en importeren. +- De exacte stappen om **run OCR on PNG** uit te voeren en het result object te verwerken. +- Manieren om **extract text from invoice** bestanden te extraheren en de output te formatteren als JSON of CSV. +- Tips voor het omgaan met afbeeldingen met laag contrast, meertalige documenten en confidence scores. +- Een complete copy‑and‑paste code‑voorbeeld dat je vandaag kunt uitvoeren. + +> **Prerequisite:** Python 3.8+ en een basiskennis van pip. Als je nog nooit Aspose hebt gebruikt, maak je geen zorgen—deze gids behandelt alles wat je nodig hebt om te beginnen. + +--- + +## Stap 1 – Installeer Aspose.OCR en bereid je omgeving voor + +Voordat we **run OCR on PNG** kunnen uitvoeren, moet de bibliotheek aanwezig zijn op je systeem. + +```bash +pip install aspose-ocr +``` + +> **Pro tip:** Gebruik een virtuele omgeving (`python -m venv venv`) om afhankelijkheden geïsoleerd te houden. Het voorkomt versieconflicten als je met meerdere projecten werkt. + +Na installatie importeer je de modules die we nodig hebben: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Hier importeren we `asposeocr` voor het zware werk en de ingebouwde `json` bibliotheek voor latere serialisatie. + +## Stap 2 – Maak de OCR‑engine en stel de taal in + +De OCR‑engine is het kernonderdeel dat daadwerkelijk de pixels leest. Voor de meeste Engelse facturen wil je het Engelse taalpakket gebruiken: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Why this matters:** Het specificeren van de taal beperkt de tekenset, wat de nauwkeurigheid verhoogt en de verwerking versnelt. Als je ooit meertalige facturen moet verwerken, verwissel je gewoon `ocr.Language.ENGLISH` door de juiste enum. + +## Stap 3 – Laad de afbeelding voor OCR + +Nu gaan we **load image for OCR**. De `Image.load` methode accepteert een bestandspad en werkt met PNG, JPEG, BMP en meer. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Edge case:** Als de PNG ongewoon groot is (meer dan 5 MB), overweeg dan eerst te verkleinen om het geheugenverbruik redelijk te houden. Pillow kan dat in één regel doen: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +## Stap 4 – OCR uitvoeren op PNG en het resultaat vastleggen + +Met de engine klaar en de afbeelding geladen, is het tijd om **run OCR on PNG** uit te voeren en het gestructureerde resultaat op te halen. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +Het `ocr_result` object bevat een collectie van `OcrRegion` items, elk met de herkende tekst en een confidence‑score (0‑100). Hier krijg je de gedetailleerde data die nodig is om **extract text from invoice** regels te extraheren. + +## Stap 5 – Converteer het resultaat naar JSON en print het mooi + +De meeste downstream systemen houden van JSON, dus we zetten de OCR‑output om in een mooi geformatteerde string. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Voorbeeldoutput + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Let op hoe elke regel een confidence‑metriek bevat—perfect om lage‑confidence items te filteren als je van plan bent **extract text from invoice** automatisch te extraheren. + +## Stap 6 – Sla de OCR‑data op als CSV (één regel per tekst + confidence) + +CSV is ideaal voor spreadsheets of snelle data‑imports. Aspose biedt een one‑liner om alles naar een CSV‑bestand te dumpen. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +De gegenereerde CSV ziet er als volgt uit: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Je kunt het nu openen in Excel, Google Sheets, of invoeren in een database. + +## Bonus – Omgaan met low‑confidence tekst en multi‑page PDF's + +### Filteren op confidence + +Als je alleen regels met hoge zekerheid wilt, filter dan de JSON voordat je deze wegschrijft: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Multi‑page documenten + +Aspose.OCR maakt automatisch een nieuw `page`‑item aan voor elke pagina in een multi‑page PNG of PDF. Loop door `ocr_data["pages"]` om ze allemaal te verwerken—geen extra code nodig. + +## Volledig werkend voorbeeld + +Hieronder staat het **complete script** dat je kunt kopiëren, plakken en direct kunt uitvoeren. Vervang `YOUR_DIRECTORY` door de map die je PNG‑bestand bevat. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Voer het script uit met `python run_ocr.py` en je ziet de JSON‑dump in de console, een CSV‑bestand op schijf, en een gefilterde lijst van high‑confidence items. + +## Veelgestelde vragen + +**Q: Kan ik dit gebruiken om tekst te extraheren uit een gescande kassabon in plaats van een factuur?** +A: Absoluut. Hetzelfde workflow geldt—wijs gewoon `image_path` naar je kassabon‑PNG. Als de kassabon een andere taal gebruikt, wissel je `engine.language` overeenkomstig. + +**Q: Wat als mijn PNG gedraaide tekst bevat?** +A: Aspose.OCR detecteert automatisch de oriëntatie, maar voor hardnekkige gevallen kun je de afbeelding handmatig roteren met Pillow voordat je deze aan de engine geeft. + +**Q: Heb ik een betaalde licentie nodig voor Aspose.OCR?** +A: De bibliotheek biedt een gratis evaluatiemodus met een watermerk op de output. Voor productiegebruik heb je een licentie nodig, die je kunt verkrijgen via de Aspose‑website. + +## Conclusie + +We hebben alles behandeld wat je nodig hebt om **run OCR on PNG** bestanden te gebruiken met Python: het installeren van de SDK, het laden van de afbeelding, het extraheren van gestructureerde tekst, en het opslaan van het resultaat als JSON of CSV. Of je nu **extract text from image** wilt voor een simpel script of **extract text from invoice** voor een geautomatiseerde boekhoud‑pipeline, de bovenstaande stappen geven je een solide, productie‑gereed fundament. + +Vervolgens kun je het volgende verkennen: + +- Het integreren van de CSV‑output met een database voor bulk‑factuuropslag. +- Het toevoegen van post‑processing met reguliere expressies om data, bedragen of btw‑nummers te extraheren. +- Het gebruiken van de `ocr_engine.recognize_barcode` functie als je facturen QR‑codes bevatten. + +Probeer het, pas de confidence‑drempels aan, en zie hoe je document‑verwerkingsworkflow een fluitje van een cent wordt. Heb je meer vragen of een coole use‑case om te delen? Laat een reactie achter—happy OCRing! + +![run OCR on PNG example](run-ocr-on-png.png "run OCR on PNG – visual example of OCR result") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/english/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..c8b3334c --- /dev/null +++ b/ocr/english/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-01-12 +description: Extract text from image Python using Aspose OCR. Learn how to convert + scanned image to text with async code in just minutes. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: en +og_description: Extract text from image Python with Aspose OCR. This tutorial shows + how to convert scanned image to text using async functions. +og_title: Extract Text from Image Python – Async OCR Guide +tags: +- python +- ocr +- async +title: Extract Text from Image Python – Async OCR Guide +url: /python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extract Text from Image Python – Async OCR Guide + +Ever needed to **extract text from image Python** scripts but felt stuck at the OCR part? You're not the only one. Many developers hit a wall when they have a scanned document and want to turn it into searchable text without pulling their hair out. + +In this tutorial we’ll walk through a complete, runnable example that shows you how to **convert scanned image to text** using Aspose OCR’s asynchronous API. By the end you’ll have a single function that you can drop into any project, and you’ll understand why async processing can keep your app responsive even when OCR takes a few seconds. + +## Prerequisites + +Before we dive in, make sure you have: + +- Python 3.8+ installed (the async features need at least 3.7) +- `asposeocr` package (`pip install asposeocr`) – this is the library we’ll use +- A scanned image file (TIFF, PNG, JPEG – anything Aspose OCR supports) +- Basic familiarity with `asyncio` (if not, don’t worry – we’ll explain each step) + +No additional system dependencies are required; Aspose OCR bundles everything you need. + +![Diagram showing async OCR flow – extract text from image python](https://example.com/async-ocr-diagram.png "async OCR flow – extract text from image python") + +## Step 1 – Set Up the Asynchronous Helper Function + +The heart of the solution is an `async` function that loads an image, starts OCR, and then awaits the result. Keeping the function asynchronous means you can run other coroutines (e.g., downloading more files) while the OCR engine works in the background. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Why this matters:** By returning a `Future`, Aspose OCR does the heavy lifting on a separate thread pool. `await` releases the event loop, so your app stays snappy. If you ever need to process many images concurrently, you can simply schedule several `async_ocr` calls with `asyncio.gather`. + +## Step 2 – Run the Coroutine in the Event Loop + +Now that we have a helper, we need to execute it. `asyncio.run` creates a fresh event loop, runs the coroutine, and shuts everything down cleanly. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Pro tip:** If you’re integrating this into a larger async application (e.g., FastAPI), you’d call `await async_ocr(...)` directly instead of `asyncio.run`. + +## Step 3 – Verify the Output + +When you run the script, you should see something like: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +If the output looks garbled, double‑check that: + +1. The image is clear and not overly compressed. +2. You’ve selected the correct language (`ocr.Language.ENGLISH` works for most Latin‑based texts). +3. The file path is correct and the file is readable. + +## Step 4 – Handling Edge Cases + +### Multiple Languages + +If you need to **convert scanned image to text** in a language other than English, just change the language property: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Large Files + +For very large TIFFs, consider resizing or converting to a lower‑resolution PNG before feeding it to OCR. This reduces memory pressure and speeds up processing. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Error Handling + +Wrap the OCR call in a `try/except` block to catch network‑related or licensing errors. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Step 5 – Scaling Up: Processing Many Images Concurrently + +Because the function is async, you can fire off dozens of OCR jobs at once: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +This pattern keeps the CPU busy while the OCR engine works in parallel, dramatically reducing total processing time. + +## Conclusion + +You now have a solid, **extract text from image Python** solution that leverages Aspose OCR’s asynchronous API. The complete example shows how to: + +1. Initialize the OCR engine and select a language. +2. Launch OCR asynchronously with `process_async`. +3. Await the result without blocking the event loop. +4. Handle common pitfalls like large files and multi‑language support. + +Feel free to adapt the code to your own pipelines—whether you’re building a document‑management system, a search indexer, or a simple command‑line utility. Next steps could include: + +- Storing the extracted text in a database for full‑text search. +- Adding PDF generation (e.g., using `PyPDF2`) to create searchable PDFs. +- Integrating with a web framework like FastAPI for a RESTful OCR service. + +Happy coding, and enjoy turning those scanned images into searchable, editable text! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/english/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..db7671eb --- /dev/null +++ b/ocr/english/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,214 @@ +--- +category: general +date: 2026-01-12 +description: How to batch OCR images quickly and extract text from JPEG files in Python. + Learn step‑by‑step batch processing with a complete runnable example. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: en +og_description: How to batch OCR images and extract text from JPEG files. This guide + walks you through a complete, ready‑to‑run Python solution. +og_title: How to Batch OCR Images – Quick Python Tutorial +tags: +- OCR +- Python +- image processing +title: How to Batch OCR Images – Fast Guide for Extracting Text from JPEG Files +url: /python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to Batch OCR Images – Fast Guide for Extracting Text from JPEG Files + +Ever wondered **how to batch OCR images** without writing a separate script for each file? You’re not alone. In many projects—invoice scanning, archival digitisation, or content moderation—we need to pull text from dozens or hundreds of JPEG files in one go. The good news is that you can do it with just a few lines of Python, and you’ll have a reusable engine that you can drop into any pipeline. + +In this tutorial we’ll show you exactly **how to batch OCR images**, then walk through extracting text from JPEG files, handling edge cases, and verifying the output. By the end you’ll have a self‑contained script that you can run against any folder of images, and you’ll understand why batch processing matters for performance and maintainability. + +## What You’ll Learn + +- Set up a simple OCR engine and configure it for English. +- Collect all JPEG files from a directory with `pathlib`. +- Call the OCR engine once to process the whole batch. +- Display a preview of the recognised text for each image. +- Tips for handling large batches, different languages, and common pitfalls. + +**Prerequisites**: Python 3.8+, the `ocr` library (or any compatible wrapper), and a folder of JPEG images you want to analyse. No external services are required—everything runs locally. + +--- + +## Step 1: Initialise the OCR Engine – The Core of How to Batch OCR Images + +Before we can **batch OCR images**, we need an engine that knows how to read text. In most libraries you create an engine object, optionally set the language, and then reuse it for every file. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Why this matters*: Initialising the engine once avoids the overhead of loading language models repeatedly. It also gives you a single place to tweak settings (e.g., DPI, character whitelist) that will apply to the whole batch. + +> **Pro tip**: If you plan to process multilingual documents, switch `ocr.Language.ENGLISH` to `ocr.Language.MULTI` or load multiple language packs before the batch starts. + +--- + +## Step 2: Gather All JPEG Files – The “Extract Text from JPEG Files” Part + +Now that the engine is ready, we need to tell it which images to work on. Using `pathlib` makes the code platform‑independent and concise. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Why this matters*: By collecting the file list first, we can feed the whole collection to the OCR engine in one call—exactly what “how to batch OCR images” is all about. If you have sub‑folders, you can change `glob("**/*.jpg")` to search recursively. + +> **Edge case**: If your images have mixed extensions (`.jpeg`, `.JPG`), extend the glob pattern: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Step 3: Process the Whole Batch in One Call – The Real Power of Batch OCR + +Most modern OCR libraries expose a `process_batch` (or similarly named) method that accepts an iterable of file paths. This is the heart of **how to batch OCR images** efficiently. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Why this matters*: A single batch call reduces the number of Python‑to‑C transitions, keeps the language model loaded in memory, and often enables internal parallelisation. The result is a list of objects—each containing the recognised text and confidence scores. + +> **Performance note**: For very large batches (thousands of images), consider splitting the list into smaller chunks (e.g., 200 files) to avoid excessive memory consumption. + +--- + +## Step 4: Show a Preview of the Extracted Text – Quick Validation + +After the batch finishes, it’s useful to peek at the first few characters of each result. This helps you confirm that the OCR is actually extracting text from your JPEG files. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Why this matters*: A short preview lets you spot obvious failures (e.g., blank output, garbled characters) without opening every file. If you notice systematic issues, you can adjust engine settings and rerun the batch. + +> **Common pitfall**: Forgetting to strip newline characters can make the preview look messy. The `replace("\n", " ")` line cleans it up. + +--- + +## Full Working Example – All Steps Combined + +Below is the complete script that you can copy‑paste, adjust the directory path, and run. It demonstrates the entire **how to batch OCR images** workflow from start to finish. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Expected output** (sample): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +If the preview shows meaningful text, you’ve successfully **extracted text from JPEG files** using a batch approach. + +--- + +## Handling Large Batches and Advanced Scenarios + +### Chunking Large Workloads +When dealing with thousands of images, memory can become a bottleneck. Split the list into smaller chunks: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Switching Languages +If your documents contain French or Spanish, change the language before the batch: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Saving Results to Disk +Instead of printing, you might want to write each OCR result to a `.txt` file: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Conclusion + +You now know **how to batch OCR images** and reliably **extract text from JPEG files** using a compact Python script. By initialising the engine once, gathering all JPEG paths, processing them in a single batch, and previewing the output, you achieve both speed and simplicity. From here you can expand the workflow—add multilingual support, store results in a database, or integrate the script into a larger document‑processing pipeline. + +Ready for the next step? Try swapping the `ocr` library for Tesseract, experiment with different image pre‑processing (thresholding, resizing), or feed the extracted text into a natural‑language‑processing model for automatic categorisation. The sky’s the limit, and you’ve got a solid foundation to build on. + +Happy coding, and may your OCR batches always be error‑free! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/english/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..21d8bef2 --- /dev/null +++ b/ocr/english/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,145 @@ +--- +category: general +date: 2026-01-12 +description: How to detect language in images using Aspose OCR – learn to extract + text from image, handle mixed language OCR and use OCR in Python. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: en +og_description: How to detect language in images using Aspose OCR – a step‑by‑step + guide to extract text from image and handle mixed language OCR. +og_title: How to Detect Language with OCR for Mixed Text +tags: +- OCR +- Python +- Aspose +title: How to Detect Language with OCR for Mixed Text +url: /python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to Detect Language with OCR for Mixed Text + +How to detect language in images using Aspose OCR is a common challenge when dealing with multilingual documents. Ever wondered **how to extract text from image** that contains both English and French on the same page? In this tutorial we’ll walk through a complete, runnable example that shows you exactly how to use OCR to identify the language, pull the text out, and handle mixed‑language scenarios without breaking a sweat. + +We’ll cover everything you need to know: setting up the Aspose OCR engine, telling it which languages to consider, loading a sample invoice image, running the OCR process, and finally printing the detected language together with the extracted text. By the end you’ll be able to answer the question “how to use OCR for mixed language OCR” in your own projects, whether you’re building an invoicing pipeline, a receipt scanner, or a document‑archival tool. + +> **Prerequisites** – You should have Python 3.8+ installed, a basic familiarity with pip, and an Aspose OCR license (the free trial works for this demo). No other external libraries are required. + +--- + +## How to Detect Language with Aspose OCR + +The first step is to create an OCR engine instance and tell it which languages it should look for. Aspose OCR uses a bit‑mask to combine languages, which makes it easy to support English, French, Spanish, or any combination you need. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Why this matters:** Initializing the engine is the foundation. Without it you can’t call any OCR methods, and the engine holds all the configuration that determines how well it can **detect language** later on. + +--- + +## Extract Text from Image Using OCR + +Now we need to let the engine know which languages are possible. By setting a bit‑mask of `ENGLISH | FRENCH` we enable the engine to automatically pick the best match for each region of the image. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Why this matters:** Enabling `auto_detect_language` is the crux of **how to detect language** in a mixed‑language document. The engine scans the text, scores each language, and returns the one with the highest confidence. If you skip this step you’ll be forced to guess the language yourself, which defeats the purpose of mixed language OCR. + +--- + +## Configure Mixed Language OCR Settings + +Before we feed an image to the engine, we have to load it. Aspose OCR works with its own `Image` class, which abstracts away the underlying file format. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Tip:** Keep the image resolution around 300 dpi for best results. Lower resolutions can cause the language detection to miss subtle characters, especially accented French letters. + +--- + +## Run the OCR Process and Get Results + +With the engine configured and the image loaded, we can finally run the OCR process. The `process` method returns an `OcrResult` object that contains both the detected language code and the full extracted text. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Expected output** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +If the image contains French sections, you’ll see `FRENCH` as the detected language and the corresponding French text printed out. + +--- + +## Image Example (Alt Text for SEO) + +![how to detect language in mixed language OCR image](mixed_lang_invoice.png) + +*The screenshot above shows a sample invoice containing both English and French text, illustrating how the OCR engine can **detect language** and extract the content in one pass.* + +--- + +## Common Pitfalls and Pro Tips + +| Issue | Why it Happens | How to Fix / Mitigate | +|-------|----------------|------------------------| +| **Blurry or low‑resolution scans** | The engine can’t distinguish characters, leading to wrong language detection. | Scan at ≥300 dpi, apply image sharpening before OCR. | +| **Missing language in the bit‑mask** | If you forget to include a language, the engine will default to the first match, often giving inaccurate results. | Always list every language you expect; you can combine many using the `|` operator. | +| **Mixed scripts (e.g., Latin + Cyrillic)** | Aspose OCR may need separate language packs. | Install additional language packs and add them to the mask. | +| **Large files causing memory spikes** | Loading a huge image into memory can crash the script. | Use `Image.resize` to downscale while preserving DPI, or process the image in tiles. | + +**Pro tip:** After you get the raw text, run a quick post‑processing step to normalize whitespace and line breaks. This makes downstream parsing (e.g., extracting invoice numbers) much simpler. + +--- + +## Wrap‑Up: What You’ve Learned + +You now know **how to detect language** in a mixed‑language image using Aspose OCR, and you’ve seen a complete, end‑to‑end example that also shows **how to extract text from image**. By configuring the language bit‑mask, enabling auto‑detection, and handling the result object, you can reliably process invoices, receipts, or any document that mixes English and French (or other languages). + +### Next Steps + +- Try adding **how to extract text** from PDFs by converting each page to an image first. +- Experiment with the other secondary keywords: explore the full **how to use OCR** API surface, such as setting OCR zones for faster processing. +- Dive into more complex **mixed language OCR** cases, like documents that switch between three or more languages. + +Feel free to tweak the code, test it on your own images, and let the engine do the heavy lifting. If you hit any snags, drop a comment below—happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/english/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..d79c05f0 --- /dev/null +++ b/ocr/english/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-01-12 +description: Learn how to OCR PDF in Python and make PDF searchable quickly. Convert + scanned PDF, extract text PDF, and OCR scanned PDF Python using Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: en +og_description: How to OCR PDF in Python? This step‑by‑step tutorial shows you how + to convert scanned PDF files into searchable PDFs and extract text with Aspose OCR. +og_title: How to OCR PDF and Make It Searchable – Python Guide +tags: +- OCR +- Python +- PDF processing +title: How to OCR PDF and Make It Searchable – Python Guide +url: /python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to OCR PDF and Make It Searchable – Python Guide + +Ever wondered **how to OCR PDF** files without spending a fortune on commercial software? You're not alone. Many developers hit a wall when they need to turn a scanned contract, an invoice, or any image‑based PDF into a searchable document. The good news? With a few lines of Python and Aspose OCR you can convert scanned PDF, extract text PDF, and finally make PDF searchable in minutes. + +In this tutorial we’ll walk through everything you need: from installing the library, configuring the language, processing a scanned PDF, to saving the result as a searchable PDF that contains both the original image and a hidden text layer. By the end you’ll have a reusable script you can drop into any project—no manual copy‑pasting required. + +--- + +## What You’ll Need + +- **Python 3.8+** (the code works on 3.9, 3.10, and newer) +- An active **Aspose OCR for Python** license (a free trial works for experimentation) +- A scanned PDF file (e.g., `scanned_contract.pdf`) you want to make searchable +- Basic familiarity with the command line and virtual environments (optional but recommended) + +> **Pro tip:** If you don’t have a license yet, sign up for a 30‑day trial on the Aspose website; the trial version is fully functional for development purposes. + +--- + +## How to OCR PDF with Aspose OCR (Primary Keyword in H2) + +The first step is to get the right package. Aspose OCR provides a clean, high‑level API that abstracts away the low‑level image processing details. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +Once the package is installed, you can start writing the script. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Why set the language?** +> OCR accuracy heavily depends on the language model. By explicitly telling the engine to expect English text, you reduce false positives and speed up processing. + +--- + +## Step 2: Convert Scanned PDF to a Searchable PDF + +Now that the engine is ready, point it at your scanned document. The `process_pdf` method returns a `PdfResult` object that contains both the original image data and the recognized text. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +If you need to **convert scanned PDF** files in bulk, just loop over a directory and call `process_pdf` for each file. The engine handles multi‑page PDFs out of the box. + +--- + +## Step 3: Save the Result as a Searchable PDF (Make PDF Searchable) + +The final piece of the puzzle is persisting the searchable version. Aspose OCR makes this a one‑liner: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +When you open `contract_searchable.pdf` in any PDF viewer, you’ll see the original scanned image, but you can now **search for any word** that the OCR engine recognized. The hidden text layer is invisible to the eye yet fully indexable. + +--- + +### Full Script – Ready to Run + +Below is the complete, runnable example. Copy‑paste it into a file named `make_searchable.py` and adjust the paths to match your environment. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Expected output:** +Running the script prints a confirmation line and creates `contract_searchable.pdf`. Open the file, press `Ctrl + F`, and type any word that appears in the original scanned image—you should see matches instantly. + +--- + +## Common Questions & Edge Cases + +### 1. What if the PDF contains multiple languages? + +You can pass a list of languages to the engine: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR will attempt to recognize text in both languages on the same page. + +### 2. How do I handle low‑resolution scans? + +If the source images are under 150 dpi, OCR accuracy may suffer. Pre‑process the PDF with a tool like `pdfimages` to extract pages, upscale them with Pillow, and feed the higher‑resolution images back into `process_pdf`. + +### 3. Can I extract the plain text without creating a searchable PDF? + +Absolutely. The `PdfResult` object exposes a `text` property: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +This satisfies the **extract text pdf** use‑case when you only need the raw characters. + +### 4. Is there a way to batch‑process a folder of PDFs? + +Yes—wrap the `ocr_to_searchable` function in a simple loop: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Now you can **convert scanned pdf** files en masse with a single command. + +--- + +## Performance Tips + +- **Reuse the engine**: Creating a new `OcrEngine` for every file adds overhead. Instantiate it once and reuse across multiple calls. +- **Parallel processing**: For large batches, consider Python’s `concurrent.futures.ThreadPoolExecutor`—Aspose OCR is thread‑safe for read‑only operations. +- **Memory management**: If you process very large PDFs (hundreds of pages), call `gc.collect()` after each file to free memory. + +--- + +## Conclusion + +We’ve covered **how to OCR PDF** files in Python, turned those scans into **searchable PDFs**, and even showed you how to **extract text PDF** directly. With Aspose OCR you get a reliable engine that handles multi‑page documents, multiple languages, and high‑accuracy recognition—all with just a few lines of code. + +Give it a try on your own contracts, invoices, or archived research papers. Once you’ve mastered the basics, experiment with the advanced features—like custom dictionaries, image preprocessing, or integrating the output into a full‑text search index such as Elasticsearch. + +Got more questions about **ocr scanned pdf python** or need help troubleshooting a tricky scan? Drop a comment below, and happy coding! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="how to ocr pdf example"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/english/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..e31d7557 --- /dev/null +++ b/ocr/english/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: How to perform OCR quickly and accurately. Learn to run OCR on document, + extract text from tiff, load image for OCR and set OCR language in Python. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: en +og_description: How to perform OCR in Python. This tutorial shows you how to run OCR + on document, extract text from tiff, load image for OCR and set OCR language. +og_title: How to Perform OCR on a TIFF Document – Complete Guide +tags: +- OCR +- Python +- Image Processing +title: How to Perform OCR on a TIFF Document – Step‑by‑Step Guide +url: /python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to Perform OCR on a TIFF Document – Complete Guide + +Ever wondered **how to perform OCR** on a scanned TIFF file without spending hours hunting for the right library? You're not alone. Many developers hit a wall when they need to extract text from tiff images, especially when performance and language settings matter. + +In this tutorial we’ll walk through everything you need to know: from installing the OCR package, loading the image for OCR, setting the OCR language, to finally **run OCR on document** and pull out clean text. By the end you’ll have a ready‑to‑run script that you can drop into any project. + +> **Pro tip:** While the example uses a generic `ocr` module, the same concepts apply to Tesseract, EasyOCR, or any modern OCR engine that exposes a Python API. + +--- + +## What You’ll Need + +- Python 3.8+ (any recent version works) +- An OCR library that provides an `OcrEngine` class (the sample uses a fictional `ocr` package; replace it with your real one) +- A multi‑page TIFF file you want to process (we’ll call it `big_document.tif`) +- A machine with at least 4 CPU cores if you plan to set thread count + +No external services, no cloud keys—just local code that runs in seconds. + +--- + +![how to perform ocr example](/images/ocr-example.png "how to perform OCR on a TIFF document") + +*Image alt text: how to perform OCR on a TIFF document – preview of extracted text.* + +--- + +## Step 1: Install and Import the OCR Library + +First things first: get the library onto your machine. Most OCR packages are on PyPI, so a simple `pip install` does the trick. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Now import the classes you’ll need. If you’re using Tesseract, the import line would look different, but the rest of the code stays the same. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Why this matters:* Importing the right symbols early prevents namespace clashes later and makes the script easier to read. + +--- + +## Step 2: Create and Configure the OCR Engine (Set OCR Language) + +Configuring the engine is where you **set OCR language** for accurate recognition. English is the default, but you can switch to French, German, or even multilingual mode with a single line. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Why 4 threads?** Most modern laptops have at least four cores, and limiting the thread count prevents the OCR process from hogging the whole machine—especially useful when the script runs on a shared server. + +If you need another language, just replace `ocr.Language.ENGLISH` with `ocr.Language.FRENCH`, `ocr.Language.SPANISH`, etc. + +--- + +## Step 3: Load Image for OCR (Load Image for OCR) + +Now we **load image for OCR**. The `Image.load` method reads the TIFF file into memory, handling multi‑page documents automatically. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Edge case:* If the file is huge, you might run out of RAM. In that scenario, consider loading one page at a time with `Image.load_page(page_number)` (if the library supports it). + +--- + +## Step 4: Run OCR on Document + +With the engine ready and the image loaded, it’s time to **run OCR on document**. The `process` method performs the heavy lifting and returns a result object. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +Behind the scenes the engine splits the image into text blocks, runs the recognition model, and stitches the results together. The call is blocking, meaning the script waits until the whole TIFF is processed—perfect for batch jobs. + +--- + +## Step 5: Extract Text from TIFF and Verify Output + +Finally, we **extract text from tiff** by accessing the `text` attribute of the result. Let’s print the first 200 characters as a quick sanity check. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Expected output (example):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +If you need the full text, simply use `ocr_result.text`. For downstream processing you might want to write it to a `.txt` file: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## Full Working Example + +Putting it all together, here’s a ready‑to‑run script. Replace the placeholder package name with the one you actually installed. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Run the script with: + +```bash +python ocr_tiff_example.py +``` + +You should see a preview printed to the console and a file named `extracted_text.txt` containing the full transcription. + +--- + +## Common Questions & Edge Cases + +- **What if the TIFF contains multiple pages?** + Most OCR engines treat each page as a separate image internally. The `ocr_result.text` will contain a newline between pages. If you need per‑page handling, iterate with `Image.load_page(page_number)`. + +- **Can I process a PNG or JPEG instead of TIFF?** + Absolutely. The `Image.load` method usually accepts any format supported by Pillow or the underlying library. Just change the file extension. + +- **My text is garbled—should I change the language?** + Yes. The `set OCR language` step is crucial for non‑English documents. Make sure the language pack is installed (e.g., `tesseract‑lang‑fra` for French). + +- **Running out of memory?** + Reduce the `set_memory_limit` or process pages one‑by‑one. Some engines also allow you to downscale the image before recognition. + +--- + +## Conclusion + +There you have it—a concise, fully‑functional guide on **how to perform OCR** on a TIFF file using Python. We covered everything from installing the library, configuring the engine (including **set OCR language**), **load image for OCR**, **run OCR on document**, and finally **extract text from tiff**. + +Feel free to experiment: tweak the thread count, switch languages, or feed the OCR output into a natural‑language pipeline. The sky’s the limit once you’ve mastered the basics. + +Got more questions? Drop a comment below, and happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/english/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..dd562f46 --- /dev/null +++ b/ocr/english/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,180 @@ +--- +category: general +date: 2026-01-12 +description: how to set language in Aspose OCR Python and extract text from image + using a custom dictionary. Step‑by‑step tutorial for developers. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: en +og_description: how to set language in Aspose OCR Python and extract text from image + with a custom dictionary. Learn the full workflow in minutes. +og_title: how to set language in Aspose OCR Python – Complete Guide +tags: +- OCR +- Python +- Aspose +- Image Processing +title: how to set language in Aspose OCR Python – Complete Guide +url: /python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# how to set language in Aspose OCR Python – Complete Guide + +Ever wondered **how to set language** when using Aspose OCR in Python? You’re not alone—many developers hit this snag when the default English model doesn’t recognize product codes, serial numbers, or multilingual text. The good news is that the solution is both simple and powerful. In this tutorial we’ll walk through configuring the language, adding a custom dictionary, extracting text from an image, and finally processing the image for the best OCR results. + +We’ll cover everything you need to know: from installing the library to running a full example that prints the extracted text. By the end you’ll be able to **extract text from image** files with confidence, even when the content includes unusual codes or mixed languages. + +## Prerequisites + +Before we dive in, make sure you have: + +* Python 3.8+ installed (the code uses f‑strings, so older versions won’t work). +* An active Aspose OCR for Python license or a free trial key. +* The `asposeocr` package installed via `pip install asposeocr`. +* A sample image (`product_label.png`) that contains the text you want to read. + +If you already have those pieces, great—let’s move on. If not, grab the free trial from Aspose’s website and run the install command; it only takes a minute. + +## Step 1: Import the Aspose OCR module + +The first thing you need to do is bring the OCR classes into your script. This is the foundation for **how to set language** later on. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Pro tip:** Keep your imports at the top of the file. It makes the script easier to scan, especially when you come back later. + +## Step 2: How to set language + +By default, Aspose OCR assumes English. If your image contains French, German, or any other language, you’ll need to tell the engine which language to use. This is where the primary keyword shines. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Why does this matter? OCR engines rely on language‑specific character models. Supplying the correct language improves accuracy dramatically—especially for accented characters or language‑specific ligatures. + +> **Note:** If you need to support multiple languages simultaneously, you can pass a list like `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## Step 3: How to add dictionary (user‑defined words) + +Sometimes the OCR engine misreads product codes like “AB‑1234”. You can boost confidence by feeding a custom dictionary. This directly answers **how to add dictionary** in Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +The engine treats these words as “known” and will favor them over similar‑looking characters. This is especially handy for SKU numbers, serial codes, or brand names that aren’t part of a natural language. + +## Step 4: How to process image + +Now that the engine is configured, you need to load the image you want to analyze. This addresses **how to process image** in a clean, repeatable way. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +If you’re dealing with PDFs, you can convert each page to an image first—Aspose OCR supports that out of the box. + +## Step 5: How to extract text from image + +With everything set, the final step is to run the OCR and retrieve the text. This is the core of **how to extract text** from an image. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +When you run the script, you should see something like: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +If the output looks garbled, double‑check that you’ve set the correct language and that your custom dictionary contains the exact strings you expect. + +## Complete Working Example + +Putting it all together, here’s the full script you can copy‑paste into a file called `extract_label.py`. Make sure to replace `YOUR_DIRECTORY` with the actual path to your image. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Expected Output + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +If you see the exact codes you added to the dictionary, you’ve successfully mastered **how to set language**, **how to add dictionary**, and **how to extract text from image** using Aspose OCR. + +## Handling Common Edge Cases + +| Situation | What to Do | +|-----------|------------| +| **Image is blurry** | Pre‑process with `ocr.Image.apply_filter()` to sharpen before calling `process()`. | +| **Multiple languages in one image** | Set `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **Large PDFs** | Loop through each page, convert to `ocr.Image`, and call `process()` per page. | +| **Unexpected characters** | Add them to the user‑defined words list; Aspose OCR treats them as high‑confidence tokens. | + +These tips keep your OCR pipeline robust, even when the input isn’t perfect. + +## Visual Reference + +![how to set language in Aspose OCR example](image.png "Screenshot showing how to set language in Aspose OCR Python example") + +*Alt text:* **how to set language** screenshot illustrating the language property assignment in a Python IDE. + +## Conclusion + +You now know **how to set language** in Aspose OCR Python, how to **add dictionary** entries, and the exact steps to **extract text from image** and **process image** files for optimal results. The complete example above can be dropped into any project, tweaked for different languages, and expanded to handle batch processing or PDF inputs. + +Ready for the next challenge? Try swapping `ocr.Language.ENGLISH` for `ocr.Language.FRENCH` and observe the accuracy boost on French‑language labels. Or experiment with the `set_user_defined_words` method to include a whole product catalog—your OCR engine will treat every entry as a high‑confidence match. + +Happy coding, and may your OCR results be ever crystal‑clear! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/english/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..fbc27e06 --- /dev/null +++ b/ocr/english/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,209 @@ +--- +category: general +date: 2026-01-12 +description: Process handwritten notes in Python using Aspose OCR – learn how to extract + text from jpg images quickly. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: en +og_description: Process handwritten notes in Python with Aspose OCR. Learn how to + extract text from jpg images, recognize handwritten OCR, and load images for OCR. +og_title: Process Handwritten Notes with Python – Complete OCR Tutorial +tags: +- OCR +- Python +- Aspose +title: Process Handwritten Notes with Python – Handwritten OCR Guide +url: /python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Process Handwritten Notes with Python – Handwritten OCR Guide + +If you need to **process handwritten notes** in Python, this guide shows you exactly how. Whether the notes are on a scanned receipt, a classroom whiteboard photo, or a quick selfie of a to‑do list, you’ll learn **how to extract text** from those images without breaking a sweat. + +We’ll walk through every step—importing the Aspose OCR library, loading a JPG, running the engine, and dealing with low‑confidence lines. By the end you’ll have a ready‑to‑run script that can **recognize text from jpg** files and give you clean, actionable strings. + +## What You’ll Gain + +- A complete, runnable code sample that works out‑of‑the‑box. +- Understanding of why each line matters, not just what it does. +- Tips for handling shaky handwriting and low‑confidence results. +- Guidance on extending the script for PDFs, multiple images, or custom language packs. + +*Prerequisites*: Python 3.8+ installed, a valid Aspose OCR license (or a free trial), and an image file named `handwritten_notes.jpg` in your project folder. + +--- + +![Process handwritten notes example](https://example.com/handwritten-notes.png "process handwritten notes") + +*Alt text: process handwritten notes – sample image showing handwritten text ready for OCR.* + +## Process Handwritten Notes: Setting Up the OCR Engine + +### Why this step matters +The OCR engine is the brain behind the recognition process. Choosing the right language and initializing the object correctly ensures the engine knows it should look for English characters and that it can handle the quirks of handwriting. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Pro tip:** If you anticipate notes in another language, swap `ocr.Language.ENGLISH` for the appropriate enum (e.g., `ocr.Language.FRENCH`). The engine will automatically load the needed character set. + +--- + +## How to Extract Text from JPG Images + +### Loading the image – the first hurdle +Before the engine can do any work, it needs a bitmap representation of your JPG. Aspose offers a convenient static `load` method that reads the file into an `Image` object. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Why not use OpenCV or Pillow?* +Those libraries are great for preprocessing, but Aspose’s `Image.load` guarantees the exact pixel format the OCR engine expects, eliminating a common source of mismatched color depths. + +--- + +## Recognize Text from JPG with Handwritten OCR Python + +### Running the OCR engine +Now that the engine and image are ready, we fire off the recognition. The `process` method returns an `OcrResult` object that contains a list of `Line` objects, each with its own confidence score. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**What’s happening under the hood?** +Aspose OCR runs a deep‑learning model trained on millions of handwritten samples. It segments the image into lines, then characters, finally assembling the most likely text string for each line. + +--- + +## Load Image for OCR – Handling Low‑Confidence Results + +### Why you should care about confidence +Handwritten OCR is never 100 % perfect. A confidence score below 75 % usually means the engine struggled with the stroke order or background noise. By filtering those lines, you can decide whether to ask a user for verification or apply additional image preprocessing. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Typical output** (your results will vary): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Notice how the script cleanly separates reliable text from shaky bits. You can later feed the low‑confidence lines into a second pass with image‑enhancement filters (e.g., contrast boost) or present them to a human reviewer. + +--- + +## Full Script – Ready to Run + +Below is the entire program, ready for copy‑paste. Save it as `handwritten_ocr.py` and run `python handwritten_ocr.py`. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Expected behavior:** +- The script prints each line with its confidence percentage. +- Lines above 75 % appear as “Accepted”, while the rest are flagged for review. +- No additional dependencies are required beyond `asposeocr`. + +--- + +## Common Questions & Edge Cases + +### What if my image is a PNG or BMP? +Aspose OCR automatically detects the format, so you can simply change the file extension in `image_path`. No code changes needed. + +### My handwriting is extremely messy—how can I improve accuracy? +1. **Preprocess the image** – increase contrast, remove background shadows (OpenCV can help). +2. **Increase the confidence threshold** – set it to 80 % if you only want near‑perfect lines. +3. **Train a custom model** – Aspose offers a “custom language pack” feature for specialized handwriting styles. + +### Can I process multiple images in one run? +Absolutely. Wrap the loading and processing steps in a `for` loop over a list of file paths. Remember to re‑use the same `ocr_engine` instance for speed. + +### Does this work on macOS/Linux? +Yes. Aspose OCR provides wheels for all major platforms. Just `pip install asposeocr` and you’re good to go. + +--- + +## Next Steps & Related Topics + +- **How to extract text from PDFs** – once you have the OCR pipeline, feeding PDF pages into `ocr.Image.load` is a one‑line change. +- **Integrating with a database** – store each accepted line in SQLite or PostgreSQL for searchable notes. +- **Real‑time OCR on mobile** – pair this script with Flask or FastAPI to expose a REST endpoint that mobile apps can call. + +Each of these extensions builds on the core concepts we covered: **process handwritten notes**, **how to extract text**, **recognize text from jpg**, and **load image for OCR**. + +--- + +## Conclusion + +You now have a solid, end‑to‑end solution for **process handwritten notes** using Python and Aspose OCR. The guide walked through setting up the engine, loading a JPG, running recognition, and handling low‑confidence results—all in a single, copy‑paste script. + +From here, experiment with different image preprocessing techniques, raise the confidence threshold, or scale the solution to batch‑process hundreds of notes. The sky’s the limit, and the code you just learned is your launchpad. + +*Happy coding, and may your handwritten notes finally become searchable text!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/english/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..c3daacfe --- /dev/null +++ b/ocr/english/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,237 @@ +--- +category: general +date: 2026-01-12 +description: Python OCR tutorial showing how to extract table text from an image. + Learn to read table from image and extract selected text with Aspose OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: en +og_description: Python OCR tutorial that teaches you how to extract table text from + an image, read table from image and extract selected text using Aspose OCR. +og_title: 'Python OCR Tutorial: Extract Table Text from Images' +tags: +- OCR +- Python +- AsposeOCR +title: 'Python OCR Tutorial: Extract Table Text from Images' +url: /python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR Tutorial: Extract Table Text from Images + +Ever needed a **python ocr tutorial** that actually shows you how to pull a table out of a scanned form? You're not the only one. Most tutorials stop at generic text extraction, leaving you guessing how to isolate that neat grid of data you care about. + +In this guide we’ll walk through a real‑world scenario: reading a table from an image, extracting only the selected text you need, and finally printing the results. Along the way we’ll sprinkle in tips on **how to extract table** data reliably, so you won’t have to reinvent the wheel each time. + +## What You’ll Learn + +- How to set up Aspose OCR for Python. +- How to define a rectangular region that contains a table. +- The exact steps to **extract table text** and **read table from image**. +- Tips for handling multiple languages or irregular table layouts. +- A complete, runnable script you can drop into your project today. + +**Prerequisites** +- Python 3.8 or newer. +- Basic familiarity with OCR concepts (no deep expertise required). +- A PNG or JPEG image that contains a clear table (we’ll call it `form_with_table.png`). + +If you’ve got those, let’s dive in—no fluff, just actionable code. + +![python ocr tutorial example of table region](table_region_example.png){alt="python ocr tutorial example showing table region"} + +## Step 1: Install and Import Aspose OCR + +First things first: you need the Aspose OCR library. The package is on PyPI, so a single `pip` command does the trick. + +```bash +pip install aspose-ocr +``` + +Now import the module and any helpers you’ll need. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro tip:* Keep your dependencies in a `requirements.txt` file. It makes reproducing the environment a breeze. + +## Step 2: Initialise the OCR Engine (Python OCR Tutorial Core) + +Creating the engine is the heart of any **python ocr tutorial**. Here we also set the default language to English—feel free to swap it out later. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Why set the language? OCR accuracy can jump dramatically when the engine knows what characters to expect. If you’re dealing with multilingual forms, you can either set a list of languages or override per region (see later). + +## Step 3: Load Your Image + +Aspose OCR works with most common image formats. Just point it at the file path, and you’ll have an `Image` object ready for processing. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Edge case:* Large images (over 5 MB) can slow down processing. Consider resizing or compressing them before OCR if performance becomes an issue. + +## Step 4: Define the Table Region (Read Table from Image) + +Now comes the fun part: telling the engine *where* the table lives. You provide an `OcrRegion` with a `Rectangle` (x, y, width, height). The coordinates are pixel‑based, so you may need to experiment a bit. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Why use a region? By limiting OCR to the table area we **extract selected text** faster and avoid noise from surrounding labels or graphics. It also improves accuracy because the engine can focus on a uniform layout. + +## Step 5: Run OCR on the Defined Region + +With the region set, we invoke `process_region`. The method returns an `OcrResult` object that holds the raw text, confidence scores, and even bounding boxes if you need them later. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +If you need to extract multiple tables, simply repeat Steps 4‑5 with different rectangles. + +## Step 6: Output the Extracted Table Text + +Finally, print—or store—the table’s textual representation. Aspose OCR returns plain text with line breaks that usually align with rows, making post‑processing straightforward. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Expected output** (example): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +You can now feed this string into `csv` parsers, pandas DataFrames, or any downstream analytics pipeline. + +## Full Working Example + +Putting it all together, here’s the complete script you can run immediately. Replace `YOUR_DIRECTORY/form_with_table.png` with the actual path to your image. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Run the script with `python extract_table.py`. If everything lines up, you’ll see the table printed to your console. + +## Common Questions & Edge‑Case Handling + +**What if the table isn’t perfectly rectangular?** +You can split the table into multiple overlapping regions or use a larger rectangle that covers the whole area and then post‑process the text (e.g., split on line breaks). + +**Can I extract only specific columns?** +After you have the full table text, use Python’s `csv` or `pandas` to slice out the columns you care about. The OCR step itself returns everything inside the rectangle. + +**How do I work with non‑English tables?** +Set `ocr_engine.language` (or `region.language`) to the appropriate enum, such as `ocr.Language.FRENCH` or combine multiple languages using `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**Is there a way to get bounding boxes for each cell?** +Aspose OCR can return `region_result.words` where each word includes a bounding box. You’d need to map those boxes back to a grid—useful for advanced layout analysis. + +## Tips for Better Accuracy + +- **Clean the image**: Binarize or increase contrast before feeding it to OCR. Libraries like Pillow can help. +- **Avoid compression artifacts**: Save scans as PNG when possible. +- **Mind DPI**: 300 dpi is a sweet spot; lower values can cause missed characters. +- **Test different rectangle sizes**: Slightly larger rectangles often capture stray characters that belong to the table. + +## Next Steps + +Now that you’ve mastered **how to extract table** data with Aspose OCR, you might explore: + +- Converting the extracted text into a CSV file with Python’s `csv` module. +- Feeding the data into a **pandas** DataFrame for analysis. +- Using OCR to read handwritten forms (requires a different engine or additional training). +- Automating batch processing of dozens of scanned forms using a simple `for` loop. + +Each of these extensions builds on the core concepts covered in this **python ocr tutorial**, so you’re well‑positioned to scale up. + +--- + +*Happy coding! If you hit any snags, drop a comment below—I'll be glad to help you fine‑tune the extraction.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/english/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..17da545f --- /dev/null +++ b/ocr/english/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,282 @@ +--- +category: general +date: 2026-01-12 +description: Run OCR on PNG files quickly with Python. Learn how to extract text from + image and invoice, and load image for OCR using Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: en +og_description: Run OCR on PNG instantly. This guide shows how to extract text from + image and invoice, load image for OCR, and save results as JSON and CSV. +og_title: Run OCR on PNG – Full Python Tutorial +tags: +- OCR +- Python +- Image Processing +title: Run OCR on PNG – Complete Python Guide to Extract Text from Images +url: /python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Run OCR on PNG – Complete Python Guide to Extract Text from Images + +Ever needed to **run OCR on PNG** files but weren’t sure which library would give you clean, structured results? You’re not alone. In many real‑world projects—think invoice automation or receipt scanning—the first step is to **extract text from image** files, and PNG is a common format because it preserves lossless quality. + +In this tutorial we’ll walk through a hands‑on example using the Aspose.OCR Python package. By the end of the guide you’ll know how to **load image for OCR**, pull out every line of text, turn that data into a tidy JSON object, and even dump it to CSV for downstream processing. No fluff, just a practical, ready‑to‑run solution. + +## What You’ll Learn + +- How to install and import the Aspose.OCR library. +- The exact steps to **run OCR on PNG** and handle the result object. +- Ways to **extract text from invoice** files and format the output as JSON or CSV. +- Tips for dealing with low‑contrast images, multi‑language documents, and confidence scores. +- A complete, copy‑and‑paste code sample that you can execute today. + +> **Prerequisite:** Python 3.8+ and a basic familiarity with pip. If you’ve never used Aspose before, don’t worry—this guide covers everything you need to get started. + +--- + +## Step 1 – Install Aspose.OCR and Prepare Your Environment + +Before we can **run OCR on PNG**, the library has to be present on your system. + +```bash +pip install aspose-ocr +``` + +> **Pro tip:** Use a virtual environment (`python -m venv venv`) to keep dependencies isolated. It prevents version clashes if you’re juggling multiple projects. + +Once installed, import the modules we’ll need: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Here we bring in `asposeocr` for the heavy lifting and the built‑in `json` library for later serialization. + +--- + +## Step 2 – Create the OCR Engine and Set the Language + +The OCR engine is the core component that actually reads the pixels. For most English invoices, you’ll want the English language pack: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Why this matters:** Specifying the language narrows down the character set, which boosts accuracy and speeds up processing. If you ever need to handle multilingual invoices, just swap `ocr.Language.ENGLISH` for the appropriate enum. + +--- + +## Step 3 – Load the Image for OCR + +Now we’ll **load image for OCR**. The `Image.load` method accepts a file path, and it works with PNG, JPEG, BMP, and more. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Edge case:** If the PNG is unusually large (over 5 MB), consider resizing it first to keep memory usage reasonable. Pillow can do that in a single line: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## Step 4 – Run OCR on PNG and Capture the Result + +With the engine ready and the image loaded, it’s time to **run OCR on PNG** and retrieve the structured result. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +The `ocr_result` object contains a collection of `OcrRegion` items, each with the recognized text and a confidence score (0‑100). This is where you get the granular data needed to **extract text from invoice** lines. + +--- + +## Step 5 – Convert the Result to JSON and Pretty‑Print It + +Most downstream systems love JSON, so we’ll turn the OCR output into a nicely formatted string. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Sample Output + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Notice how each line includes a confidence metric—perfect for filtering out low‑confidence entries if you plan to **extract text from invoice** automatically. + +--- + +## Step 6 – Save the OCR Data as CSV (One Line per Text + Confidence) + +CSV is ideal for spreadsheets or quick data imports. Aspose offers a one‑liner to dump everything into a CSV file. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +The generated CSV will look like this: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +You can now open it in Excel, Google Sheets, or feed it into a database. + +--- + +## Bonus – Handling Low‑Confidence Text and Multi‑Page PDFs + +### Filtering by Confidence + +If you only want high‑certainty lines, filter the JSON before you write it out: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Multi‑Page Documents + +Aspose.OCR automatically creates a new `page` entry for each page in a multi‑page PNG or PDF. Loop through `ocr_data["pages"]` to process them all—no extra code needed. + +--- + +## Full Working Example + +Below is the **complete script** you can copy, paste, and run immediately. Replace `YOUR_DIRECTORY` with the folder that holds your PNG file. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Run the script with `python run_ocr.py` and you’ll see the JSON dump in the console, a CSV file on disk, and a filtered list of high‑confidence entries. + +--- + +## Frequently Asked Questions + +**Q: Can I use this to extract text from a scanned receipt instead of an invoice?** +A: Absolutely. The same workflow applies—just point `image_path` at your receipt PNG. If the receipt uses a different language, switch `engine.language` accordingly. + +**Q: What if my PNG contains rotated text?** +A: Aspose.OCR automatically detects orientation, but for stubborn cases you can manually rotate the image with Pillow before feeding it to the engine. + +**Q: Do I need a paid license for Aspose.OCR?** +A: The library offers a free evaluation mode with a watermark on the output. For production use you’ll need a license, which you can obtain from the Aspose website. + +--- + +## Conclusion + +We’ve covered everything you need to **run OCR on PNG** files using Python: installing the SDK, loading the image, extracting structured text, and saving the result as JSON or CSV. Whether you’re looking to **extract text from image** for a simple script or **extract text from invoice** for an automated accounting pipeline, the steps above give you a solid, production‑ready foundation. + +Next, you might explore: + +- Integrating the CSV output with a database for bulk invoice storage. +- Adding post‑processing with regular expressions to pull out dates, amounts, or tax IDs. +- Using the `ocr_engine.recognize_barcode` feature if your invoices include QR codes. + +Give it a try, tweak the confidence thresholds, and watch your document‑processing workflow become a breeze. Got more questions or a cool use‑case to share? Drop a comment below—happy OCRing! + +![run OCR on PNG example](run-ocr-on-png.png "run OCR on PNG – visual example of OCR result") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/french/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..5ef57dd9 --- /dev/null +++ b/ocr/french/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,195 @@ +--- +category: general +date: 2026-01-12 +description: Extraire du texte d’une image avec Python en utilisant Aspose OCR. Apprenez + à convertir une image numérisée en texte avec du code asynchrone en quelques minutes. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: fr +og_description: Extraire du texte d’une image Python avec Aspose OCR. Ce tutoriel + montre comment convertir une image numérisée en texte en utilisant des fonctions + asynchrones. +og_title: Extraire du texte d’une image avec Python – Guide OCR asynchrone +tags: +- python +- ocr +- async +title: Extraire du texte d’une image avec Python – Guide OCR asynchrone +url: /fr/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extraire du texte d’une image avec Python – Guide OCR Asynchrone + +Vous avez déjà eu besoin d’**extraire du texte d’une image Python** dans vos scripts mais vous êtes bloqué au niveau de l’OCR ? Vous n’êtes pas seul. De nombreux développeurs se heurtent à un mur lorsqu’ils ont un document numérisé et souhaitent le transformer en texte recherchable sans perdre patience. + +Dans ce tutoriel, nous parcourrons un exemple complet et exécutable qui montre comment **convertir une image numérisée en texte** en utilisant l’API asynchrone d’Aspose OCR. À la fin, vous disposerez d’une fonction unique que vous pourrez intégrer dans n’importe quel projet, et vous comprendrez pourquoi le traitement asynchrone permet à votre application de rester réactive même lorsque l’OCR prend quelques secondes. + +## Prérequis + +Avant de commencer, assurez‑vous d’avoir : + +- Python 3.8+ installé (les fonctionnalités async nécessitent au moins la version 3.7) +- Le package `asposeocr` (`pip install asposeocr`) – c’est la bibliothèque que nous utiliserons +- Un fichier image numérisé (TIFF, PNG, JPEG – tout ce qu’Aspose OCR prend en charge) +- Une connaissance de base de `asyncio` (si vous n’en avez pas, pas d’inquiétude – nous expliquerons chaque étape) + +Aucune dépendance système supplémentaire n’est requise ; Aspose OCR regroupe tout ce dont vous avez besoin. + +![Diagramme montrant le flux OCR asynchrone – extraire du texte d’une image python](https://example.com/async-ocr-diagram.png "flux OCR asynchrone – extraire du texte d’une image python") + +## Étape 1 – Configurer la fonction d’assistance asynchrone + +Le cœur de la solution est une fonction `async` qui charge une image, lance l’OCR, puis attend le résultat. Garder la fonction asynchrone signifie que vous pouvez exécuter d’autres coroutines (par ex., télécharger d’autres fichiers) pendant que le moteur OCR travaille en arrière‑plan. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Pourquoi c’est important :** En renvoyant un `Future`, Aspose OCR effectue le travail lourd dans un pool de threads séparé. `await` libère la boucle d’événements, de sorte que votre application reste fluide. Si vous devez traiter de nombreuses images simultanément, il suffit de planifier plusieurs appels `async_ocr` avec `asyncio.gather`. + +## Étape 2 – Exécuter la coroutine dans la boucle d’événements + +Maintenant que nous avons une fonction d’assistance, nous devons l’exécuter. `asyncio.run` crée une nouvelle boucle d’événements, exécute la coroutine et ferme proprement le tout. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Astuce :** Si vous intégrez cela dans une application async plus grande (par ex., FastAPI), vous appelleriez directement `await async_ocr(...)` au lieu de `asyncio.run`. + +## Étape 3 – Vérifier la sortie + +Lorsque vous lancez le script, vous devriez voir quelque chose comme : + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Si la sortie apparaît illisible, revérifiez que : + +1. L’image est nette et pas trop compressée. +2. Vous avez sélectionné la bonne langue (`ocr.Language.ENGLISH` fonctionne pour la plupart des textes latins). +3. Le chemin du fichier est correct et le fichier est lisible. + +## Étape 4 – Gestion des cas particuliers + +### Plusieurs langues + +Si vous devez **convertir une image numérisée en texte** dans une langue autre que l’anglais, il suffit de modifier la propriété de langue : + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Fichiers volumineux + +Pour des TIFF très gros, envisagez de redimensionner ou de convertir en PNG à résolution plus basse avant de les envoyer à l’OCR. Cela réduit la pression sur la mémoire et accélère le traitement. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Gestion des erreurs + +Enveloppez l’appel OCR dans un bloc `try/except` pour intercepter les erreurs liées au réseau ou à la licence. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Étape 5 – Mise à l’échelle : traiter de nombreuses images en parallèle + +Comme la fonction est async, vous pouvez lancer des dizaines de jobs OCR simultanément : + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Ce modèle maintient le CPU occupé pendant que le moteur OCR travaille en parallèle, réduisant ainsi de façon spectaculaire le temps de traitement total. + +## Conclusion + +Vous disposez maintenant d’une solution robuste d’**extraction de texte d’une image Python** qui exploite l’API asynchrone d’Aspose OCR. L’exemple complet montre comment : + +1. Initialiser le moteur OCR et sélectionner une langue. +2. Lancer l’OCR de façon asynchrone avec `process_async`. +3. Attendre le résultat sans bloquer la boucle d’événements. +4. Gérer les pièges courants comme les fichiers volumineux et le support multilingue. + +N’hésitez pas à adapter le code à vos propres pipelines — que vous construisiez un système de gestion de documents, un indexeur de recherche ou un simple utilitaire en ligne de commande. Les étapes suivantes pourraient inclure : + +- Stocker le texte extrait dans une base de données pour la recherche en texte intégral. +- Ajouter la génération de PDF (par ex., avec `PyPDF2`) pour créer des PDF recherchables. +- Intégrer avec un framework web comme FastAPI pour un service OCR RESTful. + +Bon codage, et profitez de la transformation de vos images numérisées en texte searchable et éditable ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/french/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..b5adedc7 --- /dev/null +++ b/ocr/french/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-01-12 +description: Comment effectuer rapidement une OCR par lots d'images et extraire le + texte des fichiers JPEG en Python. Apprenez le traitement par lots étape par étape + avec un exemple complet et exécutable. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: fr +og_description: Comment effectuer une OCR par lots d'images et extraire le texte des + fichiers JPEG. Ce guide vous accompagne à travers une solution Python complète, + prête à l'emploi. +og_title: Comment faire de l’OCR par lots sur des images – Tutoriel Python rapide +tags: +- OCR +- Python +- image processing +title: Comment faire de l'OCR par lots d'images – Guide rapide pour extraire le texte + des fichiers JPEG +url: /fr/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment effectuer la reconnaissance optique de caractères (OCR) par lots – Guide rapide pour extraire du texte de fichiers JPEG + +Vous êtes-vous déjà demandé **comment effectuer la reconnaissance optique de caractères (OCR) par lots** sans écrire un script distinct pour chaque fichier ? Vous n'êtes pas seul. Dans de nombreux projets—numérisation de factures, archivage, modération de contenu—nous devons extraire du texte de dizaines ou de centaines de fichiers JPEG en une seule fois. La bonne nouvelle, c’est que cela ne nécessite que quelques lignes de Python, et vous disposerez d’un moteur réutilisable que vous pourrez intégrer à n’importe quel pipeline. + +Dans ce tutoriel, nous vous montrons exactement **comment effectuer la reconnaissance optique de caractères (OCR) par lots**, puis nous détaillons l’extraction du texte des fichiers JPEG, la gestion des cas particuliers et la vérification du résultat. À la fin, vous disposerez d’un script autonome que vous pourrez exécuter sur n’importe quel dossier d’images, et vous comprendrez pourquoi le traitement par lots est essentiel pour les performances et la maintenabilité. + +## Ce que vous allez apprendre + +- Configurer un moteur OCR simple et le paramétrer pour l’anglais. +- Rassembler tous les fichiers JPEG d’un répertoire avec `pathlib`. +- Appeler le moteur OCR une seule fois pour traiter tout le lot. +- Afficher un aperçu du texte reconnu pour chaque image. +- Astuces pour gérer de gros lots, différentes langues et les pièges courants. + +**Prérequis** : Python 3.8+, la bibliothèque `ocr` (ou tout wrapper compatible), et un dossier d’images JPEG que vous souhaitez analyser. Aucun service externe n’est requis — tout s’exécute localement. + +--- + +## Étape 1 : Initialiser le moteur OCR – Le cœur de **Comment effectuer la reconnaissance optique de caractères (OCR) par lots** + +Avant de pouvoir **effectuer la reconnaissance optique de caractères (OCR) par lots**, il nous faut un moteur capable de lire le texte. Dans la plupart des bibliothèques, vous créez un objet moteur, définissez éventuellement la langue, puis le réutilisez pour chaque fichier. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Pourquoi c’est important* : Initialiser le moteur une seule fois évite le surcoût de chargement répété des modèles linguistiques. Cela vous donne également un point unique où ajuster les paramètres (par ex., DPI, liste blanche de caractères) qui s’appliqueront à tout le lot. + +> **Astuce** : Si vous prévoyez de traiter des documents multilingues, remplacez `ocr.Language.ENGLISH` par `ocr.Language.MULTI` ou chargez plusieurs packs de langues avant le démarrage du lot. + +--- + +## Étape 2 : Rassembler tous les fichiers JPEG – La partie « Extraire le texte des fichiers JPEG » + +Maintenant que le moteur est prêt, nous devons lui indiquer quelles images traiter. L’utilisation de `pathlib` rend le code indépendant de la plateforme et concis. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Pourquoi c’est important* : En collectant d’abord la liste des fichiers, nous pouvons fournir l’ensemble de la collection au moteur OCR en un seul appel — exactement ce que signifie **comment effectuer la reconnaissance optique de caractères (OCR) par lots**. Si vous avez des sous‑dossiers, vous pouvez changer `glob("**/*.jpg")` pour une recherche récursive. + +> **Cas particulier** : Si vos images ont des extensions mixtes (`.jpeg`, `.JPG`), étendez le motif glob : `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Étape 3 : Traiter tout le lot en un seul appel – La vraie puissance du batch OCR + +La plupart des bibliothèques OCR modernes exposent une méthode `process_batch` (ou similaire) qui accepte un itérable de chemins de fichiers. C’est le cœur de **comment effectuer la reconnaissance optique de caractères (OCR) par lots** de façon efficace. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Pourquoi c’est important* : Un appel unique de lot réduit le nombre de transitions Python‑vers‑C, maintient le modèle linguistique chargé en mémoire et permet souvent une parallélisation interne. Le résultat est une liste d’objets — chacun contenant le texte reconnu et les scores de confiance. + +> **Note de performance** : Pour des lots très volumineux (des milliers d’images), envisagez de diviser la liste en morceaux plus petits (par ex., 200 fichiers) afin d’éviter une consommation excessive de mémoire. + +--- + +## Étape 4 : Afficher un aperçu du texte extrait – Validation rapide + +Une fois le lot terminé, il est utile d’afficher les premiers caractères de chaque résultat. Cela vous permet de confirmer que l’OCR extrait réellement du texte de vos fichiers JPEG. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Pourquoi c’est important* : Un aperçu court vous aide à repérer les échecs évidents (texte vide, caractères illisibles) sans ouvrir chaque fichier. Si vous constatez des problèmes récurrents, vous pouvez ajuster les paramètres du moteur et relancer le lot. + +> **Piège fréquent** : Oublier de supprimer les caractères de nouvelle ligne peut rendre l’aperçu désordonné. La ligne `replace("\n", " ")` nettoie cela. + +--- + +## Exemple complet fonctionnel – Toutes les étapes combinées + +Voici le script complet que vous pouvez copier‑coller, ajuster le chemin du répertoire, puis exécuter. Il illustre l’ensemble du workflow **comment effectuer la reconnaissance optique de caractères (OCR) par lots** du début à la fin. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Sortie attendue** (exemple) : + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Si l’aperçu montre du texte significatif, vous avez réussi à **extraire du texte des fichiers JPEG** en utilisant une approche par lots. + +--- + +## Gestion des gros lots et scénarios avancés + +### Découpage des charges de travail importantes +Lorsque vous traitez des milliers d’images, la mémoire peut devenir un goulot d’étranglement. Divisez la liste en morceaux plus petits : + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Changement de langue +Si vos documents contiennent du français ou de l’espagnol, modifiez la langue avant le lot : + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Enregistrement des résultats sur disque +Au lieu d’afficher, vous pouvez écrire chaque résultat OCR dans un fichier `.txt` : + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Conclusion + +Vous savez maintenant **comment effectuer la reconnaissance optique de caractères (OCR) par lots** et **extraire du texte des fichiers JPEG** à l’aide d’un script Python compact. En initialisant le moteur une fois, en rassemblant tous les chemins JPEG, en les traitant en un seul lot et en affichant un aperçu du résultat, vous obtenez à la fois rapidité et simplicité. Vous pouvez désormais étendre ce workflow — ajouter la prise en charge multilingue, stocker les résultats dans une base de données, ou intégrer le script à un pipeline de traitement de documents plus vaste. + +Prêt pour l’étape suivante ? Essayez de remplacer la bibliothèque `ocr` par Tesseract, expérimentez différents pré‑traitements d’image (seuillage, redimensionnement), ou alimentez le texte extrait dans un modèle de traitement du langage naturel pour une catégorisation automatique. Le ciel est la limite, et vous disposez d’une base solide pour construire. + +Bon codage, et que vos lots OCR restent toujours sans erreur ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/french/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..decbb11c --- /dev/null +++ b/ocr/french/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,147 @@ +--- +category: general +date: 2026-01-12 +description: Comment détecter la langue dans les images avec Aspose OCR – apprenez + à extraire le texte d’une image, à gérer la reconnaissance optique de caractères + multilingue et à utiliser l’OCR en Python. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: fr +og_description: Comment détecter la langue dans les images avec Aspose OCR – un guide + étape par étape pour extraire le texte d’une image et gérer la reconnaissance optique + de caractères multilingue. +og_title: Comment détecter la langue avec l'OCR pour un texte mixte +tags: +- OCR +- Python +- Aspose +title: Comment détecter la langue avec l’OCR pour du texte mixte +url: /fr/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment détecter la langue avec OCR pour du texte mixte + +Détecter la langue dans les images à l'aide d'Aspose OCR est un défi courant lorsqu'on travaille avec des documents multilingues. Vous êtes-vous déjà demandé **comment extraire du texte d'une image** contenant à la fois de l'anglais et du français sur la même page ? Dans ce tutoriel, nous parcourrons un exemple complet et exécutable qui vous montre exactement comment utiliser l'OCR pour identifier la langue, extraire le texte et gérer les scénarios multilingues sans effort. + +Nous couvrirons tout ce que vous devez savoir : configurer le moteur Aspose OCR, indiquer les langues à prendre en compte, charger une image de facture d'exemple, exécuter le processus OCR, puis afficher la langue détectée ainsi que le texte extrait. À la fin, vous pourrez répondre à la question « comment utiliser l'OCR pour du texte multilingue » dans vos propres projets, que vous construisiez une chaîne de facturation, un scanner de reçus ou un outil d'archivage de documents. + +> **Prérequis** – Vous devez avoir Python 3.8+ installé, une connaissance de base de pip, et une licence Aspose OCR (l'essai gratuit suffit pour cette démonstration). Aucune autre bibliothèque externe n'est requise. + +--- + +## Comment détecter la langue avec Aspose OCR + +La première étape consiste à créer une instance du moteur OCR et à lui indiquer quelles langues il doit rechercher. Aspose OCR utilise un masque de bits pour combiner les langues, ce qui facilite le support de l'anglais, du français, de l'espagnol ou de toute combinaison dont vous avez besoin. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Pourquoi c’est important :** L'initialisation du moteur est la base. Sans elle, vous ne pouvez appeler aucune méthode OCR, et le moteur contient toute la configuration qui détermine à quel point il pourra **détecter la langue** plus tard. + +--- + +## Extraire du texte d'une image avec OCR + +Nous devons maintenant indiquer au moteur quelles langues sont possibles. En définissant un masque de bits `ENGLISH | FRENCH`, nous permettons au moteur de choisir automatiquement la meilleure correspondance pour chaque région de l'image. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Pourquoi c’est important :** Activer `auto_detect_language` est l'essentiel de **comment détecter la langue** dans un document multilingue. Le moteur analyse le texte, attribue un score à chaque langue et renvoie celle avec la plus grande confiance. Si vous sautez cette étape, vous devrez deviner la langue vous‑même, ce qui annule l'intérêt de l'OCR multilingue. + +--- + +## Configurer les paramètres OCR multilingues + +Avant d'alimenter le moteur avec une image, nous devons la charger. Aspose OCR utilise sa propre classe `Image`, qui abstrait le format de fichier sous‑jacent. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Astuce :** Conservez une résolution d'image d'environ 300 dpi pour de meilleurs résultats. Des résolutions plus faibles peuvent empêcher la détection de la langue de reconnaître des caractères subtils, notamment les lettres françaises accentuées. + +--- + +## Exécuter le processus OCR et obtenir les résultats + +Avec le moteur configuré et l'image chargée, nous pouvons enfin exécuter le processus OCR. La méthode `process` renvoie un objet `OcrResult` qui contient à la fois le code de la langue détectée et le texte complet extrait. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Sortie attendue** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Si l'image contient des sections en français, vous verrez `FRENCH` comme langue détectée et le texte français correspondant affiché. + +--- + +## Exemple d'image (texte alternatif pour le SEO) + +![comment détecter la langue dans une image OCR multilingue](mixed_lang_invoice.png) + +*La capture d'écran ci‑dessus montre une facture d'exemple contenant à la fois du texte anglais et français, illustrant comment le moteur OCR peut **détecter la langue** et extraire le contenu en une seule passe.* + +--- + +## Pièges courants et astuces professionnelles + +| Problème | Pourquoi cela se produit | Comment corriger / atténuer | +|----------|--------------------------|-----------------------------| +| **Scans flous ou basse résolution** | Le moteur ne peut pas distinguer les caractères, ce qui entraîne une mauvaise détection de la langue. | Scanner à ≥300 dpi, appliquer un renforcement d'image avant l'OCR. | +| **Langue manquante dans le masque de bits** | Si vous oubliez d'inclure une langue, le moteur utilisera par défaut la première correspondance, donnant souvent des résultats inexacts. | Listez toujours chaque langue attendue ; vous pouvez en combiner plusieurs avec l'opérateur `|`. | +| **Scripts mixtes (p. ex., latin + cyrillique)** | Aspose OCR peut nécessiter des packs de langues séparés. | Installez des packs de langues supplémentaires et ajoutez‑les au masque. | +| **Fichiers volumineux provoquant des pics de mémoire** | Charger une image très grande en mémoire peut faire planter le script. | Utilisez `Image.resize` pour réduire la taille tout en conservant le DPI, ou traitez l'image par tuiles. | + +**Astuce :** Après avoir obtenu le texte brut, effectuez une étape rapide de post‑traitement pour normaliser les espaces et les sauts de ligne. Cela simplifie grandement l'analyse en aval (p. ex., extraction des numéros de facture). + +--- + +## Conclusion : Ce que vous avez appris + +Vous savez maintenant **comment détecter la langue** dans une image multilingue à l'aide d'Aspose OCR, et vous avez vu un exemple complet de bout en bout qui montre également **comment extraire du texte d'une image**. En configurant le masque de bits des langues, en activant la détection automatique et en gérant l'objet résultat, vous pouvez traiter de manière fiable des factures, des reçus ou tout document mélangeant anglais et français (ou d'autres langues). + +### Prochaines étapes + +- Essayez d'ajouter **comment extraire du texte** des PDF en convertissant chaque page en image d'abord. +- Expérimentez avec les autres mots‑clés secondaires : explorez toute la surface de l'API **how to use OCR**, comme la définition de zones OCR pour un traitement plus rapide. +- Plongez dans des cas plus complexes d'**OCR multilingue**, comme des documents qui alternent entre trois langues ou plus. + +N'hésitez pas à ajuster le code, le tester sur vos propres images, et laisser le moteur faire le travail lourd. Si vous rencontrez des problèmes, laissez un commentaire ci‑dessus—bon codage ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/french/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..9e85a882 --- /dev/null +++ b/ocr/french/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: Apprenez à faire de l’OCR sur les PDF en Python et à rendre les PDF recherchables + rapidement. Convertissez les PDF numérisés, extrayez le texte des PDF et effectuez + l’OCR de PDF numérisés en Python à l’aide d’Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: fr +og_description: Comment faire de l'OCR d'un PDF en Python ? Ce tutoriel étape par + étape vous montre comment convertir des fichiers PDF numérisés en PDF recherchables + et extraire le texte avec Aspose OCR. +og_title: Comment OCR un PDF et le rendre consultable – Guide Python +tags: +- OCR +- Python +- PDF processing +title: Comment OCR un PDF et le rendre consultable – Guide Python +url: /fr/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment faire de l'OCR PDF et le rendre interrogeable – Guide Python + +Vous êtes‑vous déjà demandé **comment faire de l'OCR PDF** sans dépenser une fortune en logiciels commerciaux ? Vous n'êtes pas seul. De nombreux développeurs se heurtent à un mur lorsqu’ils doivent transformer un contrat numérisé, une facture ou tout PDF basé sur une image en un document interrogeable. Bonne nouvelle ? Avec quelques lignes de Python et Aspose OCR, vous pouvez convertir un PDF numérisé, extraire le texte d’un PDF, et enfin rendre le PDF interrogeable en quelques minutes. + +Dans ce tutoriel, nous passerons en revue tout ce dont vous avez besoin : de l’installation de la bibliothèque, à la configuration de la langue, en passant par le traitement d’un PDF numérisé, jusqu’à l’enregistrement du résultat sous forme de PDF interrogeable contenant à la fois l’image originale et une couche de texte cachée. À la fin, vous disposerez d’un script réutilisable que vous pourrez intégrer à n’importe quel projet—sans copier‑coller manuellement. + +--- + +## Ce dont vous avez besoin + +- **Python 3.8+** (le code fonctionne sur 3.9, 3.10 et versions ultérieures) +- Une licence active **Aspose OCR for Python** (un essai gratuit suffit pour expérimenter) +- Un fichier PDF numérisé (par ex. `scanned_contract.pdf`) que vous souhaitez rendre interrogeable +- Une connaissance de base de la ligne de commande et des environnements virtuels (optionnel mais recommandé) + +> **Astuce :** Si vous n’avez pas encore de licence, inscrivez‑vous pour un essai de 30 jours sur le site Aspose ; la version d’essai est pleinement fonctionnelle pour le développement. + +--- + +## Comment faire de l'OCR PDF avec Aspose OCR (Mot‑clé principal en H2) + +La première étape consiste à obtenir le bon package. Aspose OCR propose une API propre et de haut niveau qui masque les détails de traitement d’image de bas niveau. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +Une fois le package installé, vous pouvez commencer à écrire le script. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Pourquoi définir la langue ?** +> La précision de l’OCR dépend fortement du modèle linguistique. En indiquant explicitement au moteur qu’il doit s’attendre à du texte anglais, vous réduisez les faux positifs et accélérez le traitement. + +--- + +## Étape 2 : Convertir un PDF numérisé en PDF interrogeable + +Maintenant que le moteur est prêt, pointez‑le vers votre document numérisé. La méthode `process_pdf` renvoie un objet `PdfResult` qui contient à la fois les données d’image originales et le texte reconnu. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Si vous devez **convertir des PDF numérisés** en masse, il suffit de parcourir un répertoire et d’appeler `process_pdf` pour chaque fichier. Le moteur gère les PDF multi‑pages dès le départ. + +--- + +## Étape 3 : Enregistrer le résultat en tant que PDF interrogeable (Rendre le PDF interrogeable) + +Le dernier maillon du puzzle consiste à persister la version interrogeable. Aspose OCR rend cela possible en une seule ligne : + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +Lorsque vous ouvrez `contract_searchable.pdf` dans n’importe quel lecteur PDF, vous voyez l’image numérisée originale, mais vous pouvez maintenant **rechercher n’importe quel mot** que le moteur OCR a reconnu. La couche de texte cachée est invisible à l’œil mais entièrement indexable. + +--- + +### Script complet – Prêt à exécuter + +Voici l’exemple complet et exécutable. Copiez‑collez‑le dans un fichier nommé `make_searchable.py` et ajustez les chemins pour qu’ils correspondent à votre environnement. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Sortie attendue :** +L’exécution du script affiche une ligne de confirmation et crée `contract_searchable.pdf`. Ouvrez le fichier, appuyez sur `Ctrl + F` et tapez n’importe quel mot présent dans l’image numérisée d’origine — vous verrez les correspondances instantanément. + +--- + +## Questions fréquentes et cas particuliers + +### 1. Que faire si le PDF contient plusieurs langues ? + +Vous pouvez transmettre une liste de langues au moteur : + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR tentera de reconnaître le texte dans les deux langues sur la même page. + +### 2. Comment gérer les numérisations à basse résolution ? + +Si les images sources sont inférieures à 150 dpi, la précision de l’OCR peut en pâtir. Pré‑traitez le PDF avec un outil comme `pdfimages` pour extraire les pages, agrandissez‑les avec Pillow, puis réinjectez les images à plus haute résolution dans `process_pdf`. + +### 3. Puis‑je extraire le texte brut sans créer un PDF interrogeable ? + +Absolument. L’objet `PdfResult` expose une propriété `text` : + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Cela répond au cas d’usage **extract text pdf** lorsque vous n’avez besoin que des caractères bruts. + +### 4. Existe‑t‑il un moyen de traiter en lot un dossier de PDFs ? + +Oui — encapsulez la fonction `ocr_to_searchable` dans une boucle simple : + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Vous pouvez ainsi **convertir des PDF numérisés** en masse avec une seule commande. + +--- + +## Conseils de performance + +- **Réutiliser le moteur** : créer un nouveau `OcrEngine` pour chaque fichier ajoute du surcoût. Instanciez‑le une fois et réutilisez‑le pour plusieurs appels. +- **Traitement parallèle** : pour de gros lots, envisagez `concurrent.futures.ThreadPoolExecutor` de Python — Aspose OCR est thread‑safe pour les opérations en lecture seule. +- **Gestion de la mémoire** : si vous traitez des PDF très volumineux (des centaines de pages), appelez `gc.collect()` après chaque fichier pour libérer la mémoire. + +--- + +## Conclusion + +Nous avons couvert **comment faire de l'OCR PDF** en Python, transformé ces numérisations en **PDF interrogeables**, et même montré comment **extract text pdf** directement. Avec Aspose OCR, vous obtenez un moteur fiable qui gère les documents multi‑pages, les multiples langues et une reconnaissance haute précision—tout cela avec seulement quelques lignes de code. + +Essayez-le sur vos propres contrats, factures ou archives de recherches. Une fois les bases maîtrisées, expérimentez les fonctionnalités avancées — dictionnaires personnalisés, pré‑traitement d’image, ou intégration du résultat dans un index de recherche plein texte tel qu’Elasticsearch. + +Vous avez d’autres questions sur **ocr scanned pdf python** ou besoin d’aide pour dépanner une numérisation difficile ? Laissez un commentaire ci‑dessous, et bon codage ! + +--- + +![exemple de comment faire de l'ocr pdf](image-placeholder.png){alt="exemple de comment faire de l'ocr pdf"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/french/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..325ee7a5 --- /dev/null +++ b/ocr/french/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,228 @@ +--- +category: general +date: 2026-01-12 +description: Comment effectuer une OCR rapidement et avec précision. Apprenez à exécuter + l'OCR sur un document, extraire le texte d'un TIFF, charger une image pour l'OCR + et définir la langue de l'OCR en Python. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: fr +og_description: Comment effectuer l’OCR en Python. Ce tutoriel vous montre comment + exécuter l’OCR sur un document, extraire le texte d’un TIFF, charger une image pour + l’OCR et définir la langue de l’OCR. +og_title: Comment effectuer une OCR sur un document TIFF – Guide complet +tags: +- OCR +- Python +- Image Processing +title: Comment effectuer la reconnaissance optique de caractères (OCR) sur un document + TIFF – Guide étape par étape +url: /fr/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment effectuer une OCR sur un document TIFF – Guide complet + +Vous vous êtes déjà demandé **comment effectuer une OCR** sur un fichier TIFF numérisé sans passer des heures à chercher la bonne bibliothèque ? Vous n'êtes pas seul. De nombreux développeurs se heurtent à un mur lorsqu'ils doivent extraire du texte d'images TIFF, surtout lorsque les performances et les paramètres de langue sont importants. + +Dans ce tutoriel, nous passerons en revue tout ce que vous devez savoir : de l'installation du package OCR, le chargement de l'image pour l'OCR, la configuration de la langue OCR, jusqu'à **exécuter l'OCR sur le document** et extraire du texte propre. À la fin, vous disposerez d'un script prêt à l'emploi que vous pourrez intégrer à n'importe quel projet. + +> **Astuce pro :** Bien que l'exemple utilise un module générique `ocr`, les mêmes concepts s'appliquent à Tesseract, EasyOCR ou tout moteur OCR moderne qui expose une API Python. + +--- + +## Ce dont vous aurez besoin + +- Python 3.8+ (toute version récente fonctionne) +- Une bibliothèque OCR qui fournit une classe `OcrEngine` (l'exemple utilise un package fictif `ocr` ; remplacez-le par celui que vous utilisez réellement) +- Un fichier TIFF multi‑pages que vous souhaitez traiter (nous l'appellerons `big_document.tif`) +- Une machine avec au moins 4 cœurs CPU si vous prévoyez de définir le nombre de threads + +Pas de services externes, pas de clés cloud—juste du code local qui s'exécute en quelques secondes. + +![exemple d'exécution d'OCR](/images/ocr-example.png "Comment effectuer une OCR sur un document TIFF") + +*Texte alternatif de l'image : comment effectuer une OCR sur un document TIFF – aperçu du texte extrait.* + +--- + +## Étape 1 : Installer et importer la bibliothèque OCR + +Première chose à faire : installer la bibliothèque sur votre machine. La plupart des packages OCR sont sur PyPI, donc un simple `pip install` suffit. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Ensuite, importez les classes dont vous avez besoin. Si vous utilisez Tesseract, la ligne d'importation sera différente, mais le reste du code reste identique. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Pourquoi c'est important :* Importer les bons symboles dès le départ évite les conflits de noms plus tard et rend le script plus lisible. + +--- + +## Étape 2 : Créer et configurer le moteur OCR (définir la langue OCR) + +Configurer le moteur, c’est là que vous **définissez la langue OCR** pour une reconnaissance précise. L'anglais est la langue par défaut, mais vous pouvez passer au français, à l'allemand, ou même à un mode multilingue avec une seule ligne. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Pourquoi 4 threads ?** La plupart des ordinateurs portables modernes ont au moins quatre cœurs, et limiter le nombre de threads empêche le processus OCR d’occuper toute la machine—particulièrement utile lorsque le script s'exécute sur un serveur partagé. + +Si vous avez besoin d’une autre langue, remplacez simplement `ocr.Language.ENGLISH` par `ocr.Language.FRENCH`, `ocr.Language.SPANISH`, etc. + +--- + +## Étape 3 : Charger l'image pour l'OCR (Load Image for OCR) + +Nous **chargeons maintenant l'image pour l'OCR**. La méthode `Image.load` lit le fichier TIFF en mémoire, en gérant automatiquement les documents multi‑pages. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Cas limite :* Si le fichier est très volumineux, vous pourriez manquer de RAM. Dans ce cas, envisagez de charger une page à la fois avec `Image.load_page(page_number)` (si la bibliothèque le supporte). + +--- + +## Étape 4 : Exécuter l'OCR sur le document + +Avec le moteur prêt et l'image chargée, il est temps de **exécuter l'OCR sur le document**. La méthode `process` effectue le travail lourd et renvoie un objet résultat. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +En coulisses, le moteur divise l'image en blocs de texte, exécute le modèle de reconnaissance et assemble les résultats. L'appel est bloquant, ce qui signifie que le script attend que le TIFF complet soit traité—idéal pour les traitements par lots. + +--- + +## Étape 5 : Extraire le texte du TIFF et vérifier la sortie + +Enfin, nous **extrayons le texte du TIFF** en accédant à l'attribut `text` du résultat. Imprimons les 200 premiers caractères comme vérification rapide. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Sortie attendue (exemple) :** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Si vous avez besoin du texte complet, utilisez simplement `ocr_result.text`. Pour un traitement en aval, vous pourriez vouloir l'écrire dans un fichier `.txt` : + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## Exemple complet fonctionnel + +En réunissant le tout, voici un script prêt à l'exécution. Remplacez le nom de package fictif par celui que vous avez réellement installé. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Exécutez le script avec : + +```bash +python ocr_tiff_example.py +``` + +Vous devriez voir un aperçu affiché dans la console et un fichier nommé `extracted_text.txt` contenant la transcription complète. + +--- + +## Questions fréquentes & cas limites + +- **Et si le TIFF contient plusieurs pages ?** + La plupart des moteurs OCR traitent chaque page comme une image distincte en interne. `ocr_result.text` contiendra un saut de ligne entre les pages. Si vous avez besoin d'un traitement page par page, itérez avec `Image.load_page(page_number)`. + +- **Puis-je traiter un PNG ou JPEG à la place d'un TIFF ?** + Bien sûr. La méthode `Image.load` accepte généralement tout format supporté par Pillow ou la bibliothèque sous‑jacente. Changez simplement l'extension du fichier. + +- **Mon texte est illisible—devrais-je changer la langue ?** + Oui. L'étape **définir la langue OCR** est cruciale pour les documents non‑anglais. Assurez‑vous que le pack de langue est installé (par ex., `tesseract‑lang‑fra` pour le français). + +- **Manque de mémoire ?** + Réduisez le `set_memory_limit` ou traitez les pages une par une. Certains moteurs permettent également de réduire la résolution de l'image avant la reconnaissance. + +--- + +## Conclusion + +Voilà—un guide concis et entièrement fonctionnel sur **comment effectuer une OCR** sur un fichier TIFF avec Python. Nous avons couvert tout, de l'installation de la bibliothèque, la configuration du moteur (y compris **définir la langue OCR**), **charger l'image pour l'OCR**, **exécuter l'OCR sur le document**, et enfin **extraire le texte du TIFF**. + +N'hésitez pas à expérimenter : ajustez le nombre de threads, changez de langue, ou alimentez la sortie OCR dans un pipeline de traitement du langage naturel. Le ciel est la limite une fois que vous avez maîtrisé les bases. + +Vous avez d'autres questions ? Laissez un commentaire ci‑dessous, et bon codage ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/french/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..c9af3f6e --- /dev/null +++ b/ocr/french/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,178 @@ +--- +category: general +date: 2026-01-12 +description: Comment définir la langue dans Aspose OCR Python et extraire le texte + d’une image en utilisant un dictionnaire personnalisé. Tutoriel étape par étape + pour les développeurs. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: fr +og_description: Comment définir la langue dans Aspose OCR Python et extraire du texte + d’une image avec un dictionnaire personnalisé. Apprenez le flux complet en quelques + minutes. +og_title: Comment définir la langue dans Aspose OCR Python – Guide complet +tags: +- OCR +- Python +- Aspose +- Image Processing +title: Comment définir la langue dans Aspose OCR Python – Guide complet +url: /fr/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# comment définir la langue dans Aspose OCR Python – Guide complet + +Vous vous êtes déjà demandé **comment définir la langue** lors de l’utilisation d’Aspose OCR en Python ? Vous n’êtes pas seul — de nombreux développeurs rencontrent ce problème lorsque le modèle anglais par défaut ne reconnaît pas les codes produit, les numéros de série ou le texte multilingue. La bonne nouvelle, c’est que la solution est à la fois simple et puissante. Dans ce tutoriel, nous allons parcourir la configuration de la langue, l’ajout d’un dictionnaire personnalisé, l’extraction de texte à partir d’une image, puis le traitement de l’image pour obtenir les meilleurs résultats OCR. + +Nous couvrirons tout ce que vous devez savoir : de l’installation de la bibliothèque à l’exécution d’un exemple complet qui affiche le texte extrait. À la fin, vous serez capable d’**extraire du texte d’une image** avec confiance, même lorsque le contenu comprend des codes inhabituels ou des langues mixtes. + +## Prérequis + +* Python 3.8+ installé (le code utilise les f‑strings, donc les versions antérieures ne fonctionneront pas). +* Une licence active d’Aspose OCR for Python ou une clé d’essai gratuite. +* Le package `asposeocr` installé via `pip install asposeocr`. +* Une image d’exemple (`product_label.png`) contenant le texte que vous souhaitez lire. + +Si vous avez déjà ces éléments, super — passons à la suite. Sinon, récupérez l’essai gratuit sur le site d’Aspose et exécutez la commande d’installation ; cela ne prend qu’une minute. + +## Étape 1 : Importer le module Aspose OCR + +La première chose à faire est d’importer les classes OCR dans votre script. C’est la base pour **comment définir la langue** plus tard. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Astuce** : Gardez vos imports en haut du fichier. Cela rend le script plus facile à parcourir, surtout lorsque vous y revenez plus tard. + +## Étape 2 : Comment définir la langue + +Par défaut, Aspose OCR suppose l’anglais. Si votre image contient du français, de l’allemand ou toute autre langue, vous devez indiquer au moteur quelle langue utiliser. C’est ici que le mot‑clé principal entre en jeu. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Pourquoi est‑ce important ? Les moteurs OCR s’appuient sur des modèles de caractères spécifiques à chaque langue. Fournir la bonne langue améliore considérablement la précision — notamment pour les caractères accentués ou les ligatures propres à une langue. + +> **Note** : Si vous devez prendre en charge plusieurs langues simultanément, vous pouvez passer une liste comme `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## Étape 3 : Comment ajouter un dictionnaire (mots définis par l'utilisateur) + +Parfois, le moteur OCR lit mal des codes produit comme « AB‑1234 ». Vous pouvez augmenter la confiance en alimentant un dictionnaire personnalisé. Cela répond directement à **comment ajouter un dictionnaire** dans Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +Le moteur considère ces mots comme « connus » et les privilégiera par rapport à des caractères similaires. C’est particulièrement utile pour les numéros SKU, les codes de série ou les marques qui ne font pas partie d’une langue naturelle. + +## Étape 4 : Comment traiter l'image + +Maintenant que le moteur est configuré, vous devez charger l’image que vous souhaitez analyser. Cela répond à **comment traiter l'image** de manière propre et reproductible. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +Si vous travaillez avec des PDF, vous pouvez d’abord convertir chaque page en image — Aspose OCR le supporte nativement. + +## Étape 5 : Comment extraire du texte d'une image + +Avec tout en place, l’étape finale consiste à exécuter l’OCR et à récupérer le texte. C’est le cœur de **comment extraire du texte** d’une image. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +Lorsque vous exécutez le script, vous devriez voir quelque chose comme : + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Si la sortie apparaît brouillée, revérifiez que vous avez bien défini la langue correcte et que votre dictionnaire personnalisé contient exactement les chaînes attendues. + +## Exemple complet fonctionnel + +En rassemblant le tout, voici le script complet que vous pouvez copier‑coller dans un fichier nommé `extract_label.py`. Assurez‑vous de remplacer `YOUR_DIRECTORY` par le chemin réel vers votre image. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Résultat attendu + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Si vous voyez les codes exacts que vous avez ajoutés au dictionnaire, vous avez maîtrisé **comment définir la langue**, **comment ajouter un dictionnaire**, et **comment extraire du texte d'une image** avec Aspose OCR. + +## Gestion des cas limites courants + +| Situation | Que faire | +|-----------|-----------| +| **L'image est floue** | Pré‑traiter avec `ocr.Image.apply_filter()` pour affiner avant d’appeler `process()`. | +| **Plusieurs langues dans une même image** | Définir `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **PDF volumineux** | Boucler sur chaque page, convertir en `ocr.Image`, et appeler `process()` page par page. | +| **Caractères inattendus** | Les ajouter à la liste des mots définis par l'utilisateur ; Aspose OCR les traite comme des jetons à haute confiance. | + +## Référence visuelle + +![comment définir la langue dans l'exemple Aspose OCR](image.png "Capture d'écran montrant comment définir la langue dans l'exemple Aspose OCR Python") + +*Texte alternatif* : **comment définir la langue** capture d'écran illustrant l’affectation de la propriété language dans un IDE Python. + +## Conclusion + +Vous savez désormais **comment définir la langue** dans Aspose OCR Python, comment **ajouter des entrées de dictionnaire**, et les étapes exactes pour **extraire du texte d'une image** et **traiter l'image** afin d’obtenir des résultats optimaux. L’exemple complet ci‑dessus peut être intégré à n’importe quel projet, adapté à différentes langues, et étendu pour gérer le traitement par lots ou les entrées PDF. + +Prêt pour le prochain défi ? Essayez de remplacer `ocr.Language.ENGLISH` par `ocr.Language.FRENCH` et observez l’amélioration de précision sur les étiquettes en français. Ou expérimentez la méthode `set_user_defined_words` pour inclure tout un catalogue de produits — votre moteur OCR traitera chaque entrée comme une correspondance à haute confiance. + +Bon codage, et que vos résultats OCR soient toujours d’une clarté cristalline ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/french/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..b2e26403 --- /dev/null +++ b/ocr/french/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-01-12 +description: Traitez des notes manuscrites en Python avec Aspose OCR – apprenez à + extraire rapidement le texte des images jpg. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: fr +og_description: Traitez les notes manuscrites en Python avec Aspose OCR. Apprenez + comment extraire du texte à partir d'images jpg, reconnaître l'OCR manuscrit et + charger des images pour l'OCR. +og_title: Traitez les notes manuscrites avec Python – Tutoriel complet d’OCR +tags: +- OCR +- Python +- Aspose +title: Traiter les notes manuscrites avec Python – Guide d'OCR manuscrite +url: /fr/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Traiter les notes manuscrites avec Python – Guide OCR manuscrit + +Si vous devez **traiter des notes manuscrites** en Python, ce guide vous montre exactement comment faire. Que les notes soient sur un reçu numérisé, une photo d’un tableau de classe ou un selfie rapide d’une liste de tâches, vous apprendrez **comment extraire du texte** de ces images sans effort. + +Nous passerons en revue chaque étape — importation de la bibliothèque Aspose OCR, chargement d’un JPG, exécution du moteur et gestion des lignes à faible confiance. À la fin, vous disposerez d’un script prêt à l’emploi qui peut **reconnaître le texte à partir de jpg** et vous fournir des chaînes propres et exploitables. + +## Ce que vous allez obtenir + +- Un exemple de code complet et exécutable qui fonctionne immédiatement. +- Une compréhension du pourquoi chaque ligne est importante, pas seulement du comment. +- Des astuces pour gérer une écriture tremblotante et des résultats à faible confiance. +- Des conseils pour étendre le script aux PDF, à plusieurs images ou à des packs de langues personnalisés. + +*Prérequis* : Python 3.8+ installé, une licence Aspose OCR valide (ou un essai gratuit), et un fichier image nommé `handwritten_notes.jpg` dans le dossier de votre projet. + +--- + +![Process handwritten notes example](https://example.com/handwritten-notes.png "process handwritten notes") + +*Texte alternatif : process handwritten notes – image d’exemple montrant du texte manuscrit prêt pour l’OCR.* + +## Traiter les notes manuscrites : configuration du moteur OCR + +### Pourquoi cette étape est importante +Le moteur OCR est le cerveau du processus de reconnaissance. Choisir la bonne langue et initialiser correctement l’objet garantit que le moteur sait qu’il doit rechercher des caractères anglais et qu’il peut gérer les particularités de l’écriture manuscrite. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Astuce :** Si vous prévoyez des notes dans une autre langue, remplacez `ocr.Language.ENGLISH` par l’énumération appropriée (par ex., `ocr.Language.FRENCH`). Le moteur chargera automatiquement le jeu de caractères requis. + +--- + +## Comment extraire du texte à partir d’images JPG + +### Chargement de l’image – le premier obstacle +Avant que le moteur ne puisse travailler, il a besoin d’une représentation bitmap de votre JPG. Aspose propose une méthode statique pratique `load` qui lit le fichier dans un objet `Image`. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Pourquoi ne pas utiliser OpenCV ou Pillow ?* +Ces bibliothèques sont excellentes pour le pré‑traitement, mais `Image.load` d’Aspose garantit le format de pixel exact attendu par le moteur OCR, éliminant ainsi une source fréquente de profondeur de couleur incompatibles. + +--- + +## Reconnaître le texte à partir de JPG avec OCR manuscrit Python + +### Exécution du moteur OCR +Maintenant que le moteur et l’image sont prêts, nous lançons la reconnaissance. La méthode `process` renvoie un objet `OcrResult` contenant une liste d’objets `Line`, chacun avec son propre score de confiance. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**Que se passe-t‑il en coulisses ?** +Aspose OCR exécute un modèle d’apprentissage profond entraîné sur des millions d’échantillons manuscrits. Il segmente l’image en lignes, puis en caractères, pour enfin assembler la chaîne de texte la plus probable pour chaque ligne. + +--- + +## Charger l’image pour l’OCR – gestion des résultats à faible confiance + +### Pourquoi la confiance vous importe +L’OCR manuscrit n’est jamais parfait à 100 %. Un score de confiance inférieur à 75 % indique généralement que le moteur a eu du mal avec l’ordre des traits ou le bruit de fond. En filtrant ces lignes, vous pouvez décider de demander une vérification à l’utilisateur ou d’appliquer un pré‑traitement d’image supplémentaire. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Sortie typique** (vos résultats varieront) : + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Remarquez comment le script sépare proprement le texte fiable des parties tremblotantes. Vous pouvez ensuite envoyer les lignes à faible confiance dans un second passage avec des filtres d’amélioration d’image (par ex., augmentation du contraste) ou les présenter à un relecteur humain. + +--- + +## Script complet – prêt à l’exécution + +Voici le programme complet, prêt à copier‑coller. Enregistrez‑le sous le nom `handwritten_ocr.py` et lancez `python handwritten_ocr.py`. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Comportement attendu** : +- Le script affiche chaque ligne avec son pourcentage de confiance. +- Les lignes au‑dessus de 75 % apparaissent comme « Accepted », tandis que les autres sont signalées pour révision. +- Aucune dépendance supplémentaire n’est requise au‑delà de `asposeocr`. + +--- + +## Questions fréquentes & cas particuliers + +### Et si mon image est un PNG ou BMP ? +Aspose OCR détecte automatiquement le format, il suffit donc de changer l’extension du fichier dans `image_path`. Aucun changement de code n’est nécessaire. + +### Mon écriture est extrêmement désordonnée—comment améliorer la précision ? +1. **Pré‑traitez l’image** — augmentez le contraste, éliminez les ombres de fond (OpenCV peut aider). +2. **Augmentez le seuil de confiance** — fixez‑le à 80 % si vous ne voulez que des lignes quasi‑parfaites. +3. **Entraînez un modèle personnalisé** — Aspose propose une fonctionnalité de « custom language pack » pour les styles d’écriture spécialisés. + +### Puis‑je traiter plusieurs images en une seule exécution ? +Absolument. Enveloppez les étapes de chargement et de traitement dans une boucle `for` parcourant une liste de chemins de fichiers. Pensez à réutiliser la même instance `ocr_engine` pour gagner en vitesse. + +### Cela fonctionne‑t‑il sous macOS/Linux ? +Oui. Aspose OCR fournit des wheels pour toutes les plateformes majeures. Il suffit de `pip install asposeocr` et le tour est joué. + +--- + +## Prochaines étapes & sujets connexes + +- **Comment extraire du texte de PDF** — une fois le pipeline OCR en place, il suffit de remplacer `ocr.Image.load` par le chargement des pages PDF, ce qui ne change qu’une ligne. +- **Intégration avec une base de données** — stockez chaque ligne acceptée dans SQLite ou PostgreSQL pour des notes consultables. +- **OCR en temps réel sur mobile** — associez ce script à Flask ou FastAPI pour exposer un endpoint REST que les applications mobiles peuvent appeler. + +Chacune de ces extensions s’appuie sur les concepts de base abordés : **process handwritten notes**, **how to extract text**, **recognize text from jpg**, et **load image for OCR**. + +--- + +## Conclusion + +Vous disposez maintenant d’une solution complète, de bout en bout, pour **process handwritten notes** avec Python et Aspose OCR. Le guide a couvert la configuration du moteur, le chargement d’un JPG, l’exécution de la reconnaissance et la gestion des résultats à faible confiance—le tout dans un script unique à copier‑coller. + +À partir d’ici, expérimentez différentes techniques de pré‑traitement d’image, augmentez le seuil de confiance ou mettez à l’échelle la solution pour traiter des centaines de notes en lot. Le ciel est la limite, et le code que vous venez d’apprendre est votre rampe de lancement. + +*Bon codage, et que vos notes manuscrites deviennent enfin du texte recherchable !* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/french/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..fbaeeb14 --- /dev/null +++ b/ocr/french/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-12 +description: Tutoriel OCR Python montrant comment extraire le texte d’un tableau à + partir d’une image. Apprenez à lire un tableau depuis une image et à extraire le + texte sélectionné avec Aspose OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: fr +og_description: Tutoriel Python OCR qui vous apprend à extraire le texte d'un tableau + à partir d'une image, lire le tableau depuis l'image et extraire le texte sélectionné + à l'aide d'Aspose OCR. +og_title: 'Tutoriel OCR Python : Extraire le texte des tableaux à partir d''images' +tags: +- OCR +- Python +- AsposeOCR +title: 'Tutoriel OCR Python : Extraire le texte des tableaux à partir d''images' +url: /fr/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tutoriel OCR Python : Extraire le texte d’un tableau à partir d’images + +Vous avez déjà eu besoin d’un **python ocr tutorial** qui montre réellement comment extraire un tableau d’un formulaire numérisé ? Vous n’êtes pas le seul. La plupart des tutoriels s’arrêtent à l’extraction de texte générique, vous laissant deviner comment isoler cette grille de données qui vous intéresse. + +Dans ce guide, nous parcourrons un scénario réel : lire un tableau à partir d’une image, extraire uniquement le texte sélectionné dont vous avez besoin, puis afficher les résultats. En cours de route, nous ajouterons des astuces sur **how to extract table** de façon fiable, afin que vous n'ayez pas à réinventer la roue à chaque fois. + +## Ce que vous apprendrez + +- Comment configurer Aspose OCR pour Python. +- Comment définir une région rectangulaire contenant un tableau. +- Les étapes exactes pour **extract table text** et **read table from image**. +- Astuces pour gérer plusieurs langues ou des mises en page de tableau irrégulières. +- Un script complet et exécutable que vous pouvez intégrer immédiatement à votre projet. + +**Pré-requis** +- Python 3.8 ou version supérieure. +- Familiarité de base avec les concepts d’OCR (pas besoin d’expertise approfondie). +- Une image PNG ou JPEG contenant un tableau clair (nous l’appellerons `form_with_table.png`). + +Si vous avez tout cela, plongeons‑y—pas de blabla, juste du code concret. + +![exemple de tutoriel OCR python de la région du tableau](table_region_example.png){alt="exemple de tutoriel OCR python montrant la région du tableau"} + +## Étape 1 : Installer et importer Aspose OCR + +Première chose à faire : vous avez besoin de la bibliothèque Aspose OCR. Le paquet se trouve sur PyPI, donc une simple commande `pip` suffit. + +```bash +pip install aspose-ocr +``` + +Importez maintenant le module ainsi que les assistants dont vous aurez besoin. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Astuce :* Conservez vos dépendances dans un fichier `requirements.txt`. Cela facilite la reproduction de l’environnement. + +## Étape 2 : Initialiser le moteur OCR (Noyau du tutoriel OCR Python) + +Créer le moteur est le cœur de tout **python ocr tutorial**. Ici, nous définissons également la langue par défaut sur l’anglais—n’hésitez pas à la changer plus tard. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Pourquoi définir la langue ? La précision de l’OCR peut augmenter considérablement lorsque le moteur sait quels caractères attendre. Si vous traitez des formulaires multilingues, vous pouvez soit définir une liste de langues, soit surcharger par région (voir plus loin). + +## Étape 3 : Charger votre image + +Aspose OCR fonctionne avec la plupart des formats d’image courants. Il suffit de pointer vers le chemin du fichier, et vous obtiendrez un objet `Image` prêt à être traité. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Cas particulier :* Les images volumineuses (plus de 5 Mo) peuvent ralentir le traitement. Envisagez de les redimensionner ou de les compresser avant l’OCR si les performances deviennent un problème. + +## Étape 4 : Définir la région du tableau (Read Table from Image) + +Voici la partie amusante : indiquer au moteur *où* se trouve le tableau. Vous fournissez un `OcrRegion` avec un `Rectangle` (x, y, largeur, hauteur). Les coordonnées sont basées sur les pixels, vous devrez donc peut‑être expérimenter un peu. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Pourquoi utiliser une région ? En limitant l’OCR à la zone du tableau, nous **extract selected text** plus rapidement et évitons le bruit provenant des étiquettes ou graphiques environnants. Cela améliore également la précision car le moteur peut se concentrer sur une mise en page uniforme. + +## Étape 5 : Exécuter l’OCR sur la région définie + +Une fois la région définie, nous appelons `process_region`. La méthode renvoie un objet `OcrResult` contenant le texte brut, les scores de confiance, et même les boîtes englobantes si vous en avez besoin plus tard. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +Si vous devez extraire plusieurs tableaux, répétez simplement les Étapes 4‑5 avec des rectangles différents. + +## Étape 6 : Afficher le texte du tableau extrait + +Enfin, imprimez—ou stockez—la représentation textuelle du tableau. Aspose OCR renvoie du texte brut avec des sauts de ligne qui correspondent généralement aux lignes, ce qui rend le post‑traitement simple. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Sortie attendue** (exemple) : + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +Vous pouvez maintenant transmettre cette chaîne aux analyseurs `csv`, aux DataFrames pandas, ou à tout pipeline d’analyse en aval. + +## Exemple complet fonctionnel + +En rassemblant le tout, voici le script complet que vous pouvez exécuter immédiatement. Remplacez `YOUR_DIRECTORY/form_with_table.png` par le chemin réel de votre image. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Exécutez le script avec `python extract_table.py`. Si tout s’aligne, vous verrez le tableau affiché dans votre console. + +## Questions fréquentes & gestion des cas particuliers + +**Que faire si le tableau n’est pas parfaitement rectangulaire ?** +Vous pouvez diviser le tableau en plusieurs régions qui se chevauchent ou utiliser un rectangle plus grand couvrant toute la zone, puis post‑traiter le texte (par ex., en le découpant aux sauts de ligne). + +**Puis‑je extraire uniquement des colonnes spécifiques ?** +Une fois que vous avez le texte complet du tableau, utilisez `csv` ou `pandas` de Python pour extraire les colonnes qui vous intéressent. L’étape OCR elle‑même renvoie tout ce qui se trouve dans le rectangle. + +**Comment travailler avec des tableaux non anglais ?** +Définissez `ocr_engine.language` (ou `region.language`) sur l’énumération appropriée, comme `ocr.Language.FRENCH` ou combinez plusieurs langues avec `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**Existe‑t‑il un moyen d’obtenir les boîtes englobantes de chaque cellule ?** +Aspose OCR peut renvoyer `region_result.words` où chaque mot comprend une boîte englobante. Vous devrez mapper ces boîtes sur une grille—utile pour une analyse de mise en page avancée. + +## Conseils pour une meilleure précision + +- **Nettoyez l’image** : binarisez ou augmentez le contraste avant de la soumettre à l’OCR. Des bibliothèques comme Pillow peuvent aider. +- **Évitez les artefacts de compression** : enregistrez les numérisations au format PNG lorsque c’est possible. +- **Attention au DPI** : 300 dpi est un bon compromis ; des valeurs plus faibles peuvent entraîner des caractères manquants. +- **Testez différentes tailles de rectangle** : des rectangles légèrement plus grands capturent souvent des caractères errants appartenant au tableau. + +## Prochaines étapes + +Maintenant que vous avez maîtrisé **how to extract table** avec Aspose OCR, vous pourriez explorer : + +- Convertir le texte extrait en fichier CSV avec le module `csv` de Python. +- Injecter les données dans un DataFrame **pandas** pour l’analyse. +- Utiliser l’OCR pour lire des formulaires manuscrits (nécessite un moteur différent ou un entraînement supplémentaire). +- Automatiser le traitement par lots de dizaines de formulaires numérisés à l’aide d’une simple boucle `for`. + +Chacune de ces extensions s’appuie sur les concepts de base abordés dans ce **python ocr tutorial**, vous plaçant ainsi en bonne position pour passer à l’échelle. + +--- + +*Bon codage ! Si vous rencontrez des problèmes, laissez un commentaire ci‑dessous—je serai ravi de vous aider à affiner l’extraction.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/french/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..1538e28c --- /dev/null +++ b/ocr/french/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,284 @@ +--- +category: general +date: 2026-01-12 +description: Exécutez la reconnaissance optique de caractères (OCR) sur des fichiers + PNG rapidement avec Python. Apprenez comment extraire le texte d’une image et d’une + facture, et charger l’image pour l’OCR en utilisant Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: fr +og_description: Exécutez l’OCR sur un PNG instantanément. Ce guide montre comment + extraire le texte d’une image et d’une facture, charger l’image pour l’OCR, et enregistrer + les résultats au format JSON et CSV. +og_title: Exécuter OCR sur PNG – Tutoriel complet Python +tags: +- OCR +- Python +- Image Processing +title: Exécuter l’OCR sur PNG – Guide complet Python pour extraire le texte des images +url: /fr/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Exécuter l'OCR sur PNG – Guide complet Python pour extraire du texte d'images + +Vous avez déjà eu besoin de **exécuter l'OCR sur PNG** mais vous n'étiez pas sûr de la bibliothèque qui vous fournirait des résultats propres et structurés ? Vous n'êtes pas seul. Dans de nombreux projets réels—pensez à l'automatisation des factures ou à la numérisation de reçus—la première étape consiste à **extraire du texte d'image**, et le PNG est un format courant car il conserve une qualité sans perte. + +Dans ce tutoriel, nous allons parcourir un exemple pratique en utilisant le package Aspose.OCR pour Python. À la fin du guide, vous saurez comment **charger une image pour l'OCR**, extraire chaque ligne de texte, transformer ces données en un objet JSON bien structuré, et même les exporter en CSV pour un traitement en aval. Pas de blabla, juste une solution prête à l'emploi. + +## Ce que vous allez apprendre + +- Comment installer et importer la bibliothèque Aspose.OCR. +- Les étapes exactes pour **exécuter l'OCR sur PNG** et gérer l'objet résultat. +- Des méthodes pour **extraire du texte de facture** et formater la sortie en JSON ou CSV. +- Des astuces pour traiter les images à faible contraste, les documents multilingues et les scores de confiance. +- Un exemple complet, copiable‑collable, que vous pouvez exécuter dès aujourd'hui. + +> **Prérequis :** Python 3.8+ et une connaissance de base de pip. Si vous n’avez jamais utilisé Aspose auparavant, ne vous inquiétez pas — ce guide couvre tout ce dont vous avez besoin pour démarrer. + +--- + +## Étape 1 – Installer Aspose.OCR et préparer votre environnement + +Avant de pouvoir **exécuter l'OCR sur PNG**, la bibliothèque doit être présente sur votre système. + +```bash +pip install aspose-ocr +``` + +> **Astuce :** Utilisez un environnement virtuel (`python -m venv venv`) pour isoler les dépendances. Cela évite les conflits de version si vous jonglez avec plusieurs projets. + +Une fois installé, importez les modules dont nous aurons besoin : + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Ici nous chargeons `asposeocr` pour le traitement lourd et la bibliothèque intégrée `json` pour la sérialisation ultérieure. + +--- + +## Étape 2 – Créer le moteur OCR et définir la langue + +Le moteur OCR est le composant central qui lit réellement les pixels. Pour la plupart des factures en anglais, vous utiliserez le pack de langue anglais : + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Pourquoi c’est important :** Spécifier la langue restreint l’ensemble de caractères, ce qui augmente la précision et accélère le traitement. Si vous devez gérer des factures multilingues, remplacez simplement `ocr.Language.ENGLISH` par l’énumération appropriée. + +--- + +## Étape 3 – Charger l'image pour l'OCR + +Nous allons maintenant **charger l'image pour l'OCR**. La méthode `Image.load` accepte un chemin de fichier et fonctionne avec PNG, JPEG, BMP, et plus encore. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Cas particulier :** Si le PNG est exceptionnellement volumineux (plus de 5 Mo), envisagez de le redimensionner d'abord afin de garder une utilisation mémoire raisonnable. Pillow peut le faire en une seule ligne : + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## Étape 4 – Exécuter l'OCR sur PNG et capturer le résultat + +Avec le moteur prêt et l'image chargée, il est temps de **exécuter l'OCR sur PNG** et de récupérer le résultat structuré. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +L’objet `ocr_result` contient une collection d’éléments `OcrRegion`, chacun avec le texte reconnu et un score de confiance (0‑100). C’est ici que vous obtenez les données granulaires nécessaires pour **extraire du texte de facture**. + +--- + +## Étape 5 – Convertir le résultat en JSON et l’afficher joliment + +La plupart des systèmes en aval préfèrent le JSON, nous allons donc transformer la sortie OCR en une chaîne bien formatée. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Exemple de sortie + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Remarquez que chaque ligne inclut une métrique de confiance — parfait pour filtrer les entrées à faible confiance si vous prévoyez d’**extraire du texte de facture** automatiquement. + +--- + +## Étape 6 – Enregistrer les données OCR en CSV (une ligne par texte + confiance) + +Le CSV est idéal pour les feuilles de calcul ou les importations rapides de données. Aspose propose une ligne de code pour tout exporter dans un fichier CSV. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +Le CSV généré ressemblera à ceci : + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Vous pouvez maintenant l’ouvrir dans Excel, Google Sheets, ou l’alimenter dans une base de données. + +--- + +## Bonus – Gestion du texte à faible confiance et des PDF multi‑pages + +### Filtrage par confiance + +Si vous ne voulez que les lignes à haute certitude, filtrez le JSON avant de l’écrire : + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Documents multi‑pages + +Aspose.OCR crée automatiquement une nouvelle entrée `page` pour chaque page d’un PNG ou PDF multi‑pages. Parcourez `ocr_data["pages"]` pour les traiter toutes—aucun code supplémentaire n’est nécessaire. + +--- + +## Exemple complet fonctionnel + +Voici le **script complet** que vous pouvez copier, coller et exécuter immédiatement. Remplacez `YOUR_DIRECTORY` par le dossier contenant votre fichier PNG. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Exécutez le script avec `python run_ocr.py` et vous verrez le dump JSON dans la console, un fichier CSV sur le disque, et une liste filtrée d’entrées à haute confiance. + +--- + +## Questions fréquentes + +**Q : Puis‑je utiliser cela pour extraire du texte d’un reçu numérisé au lieu d’une facture ?** +R : Absolument. Le même flux de travail s’applique—il suffit de pointer `image_path` vers votre PNG de reçu. Si le reçu utilise une langue différente, changez `engine.language` en conséquence. + +**Q : Et si mon PNG contient du texte tourné ?** +R : Aspose.OCR détecte automatiquement l’orientation, mais pour les cas récalcitrants vous pouvez faire pivoter manuellement l’image avec Pillow avant de la transmettre au moteur. + +**Q : Ai‑je besoin d’une licence payante pour Aspose.OCR ?** +R : La bibliothèque propose un mode d’évaluation gratuit avec un filigrane sur la sortie. Pour une utilisation en production, vous aurez besoin d’une licence, disponible sur le site d’Aspose. + +--- + +## Conclusion + +Nous avons couvert tout ce dont vous avez besoin pour **exécuter l'OCR sur PNG** avec Python : installation du SDK, chargement de l’image, extraction de texte structuré, et sauvegarde du résultat en JSON ou CSV. Que vous souhaitiez **extraire du texte d’image** pour un script simple ou **extraire du texte de facture** pour une chaîne d’automatisation comptable, les étapes ci‑dessus vous offrent une base solide prête pour la production. + +Ensuite, vous pourriez explorer : + +- L’intégration de la sortie CSV avec une base de données pour le stockage en masse des factures. +- L’ajout de post‑traitement avec des expressions régulières pour extraire dates, montants ou numéros de TVA. +- L’utilisation de la fonction `ocr_engine.recognize_barcode` si vos factures contiennent des QR codes. + +Essayez, ajustez les seuils de confiance, et voyez votre flux de traitement de documents devenir un jeu d’enfant. Vous avez d’autres questions ou un cas d’usage intéressant à partager ? Laissez un commentaire ci‑dessous—bon OCR ! + +![run OCR on PNG example](run-ocr-on-png.png "run OCR on PNG – visual example of OCR result") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/german/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..fe7d3e0d --- /dev/null +++ b/ocr/german/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,192 @@ +--- +category: general +date: 2026-01-12 +description: Extrahiere Text aus Bildern mit Python und Aspose OCR. Lerne, wie du + gescannte Bilder in Text umwandelst, mit asynchronem Code, in nur wenigen Minuten. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: de +og_description: Text aus Bild mit Python und Aspose OCR extrahieren. Dieses Tutorial + zeigt, wie man ein gescanntes Bild mit asynchronen Funktionen in Text umwandelt. +og_title: Text aus Bild extrahieren Python – Async OCR Leitfaden +tags: +- python +- ocr +- async +title: Text aus Bild mit Python extrahieren – Asynchroner OCR-Leitfaden +url: /de/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Text aus Bild mit Python extrahieren – Async OCR Leitfaden + +Haben Sie jemals **extract text from image Python** Skripte schreiben müssen, aber beim OCR‑Teil festgesteckt? Sie sind nicht der Einzige. Viele Entwickler stoßen an eine Grenze, wenn sie ein gescanntes Dokument haben und es in durchsuchbaren Text umwandeln wollen, ohne sich die Haare zu raufen. + +In diesem Tutorial führen wir Sie durch ein vollständiges, ausführbares Beispiel, das zeigt, wie Sie **convert scanned image to text** mit der asynchronen API von Aspose OCR umsetzen. Am Ende haben Sie eine einzelne Funktion, die Sie in jedes Projekt einbinden können, und Sie verstehen, warum asynchrone Verarbeitung Ihre Anwendung reaktionsfähig hält, selbst wenn OCR einige Sekunden dauert. + +## Voraussetzungen + +- Python 3.8+ installiert (die async‑Funktionen benötigen mindestens 3.7) +- `asposeocr`‑Paket (`pip install asposeocr`) – das ist die Bibliothek, die wir verwenden +- Eine gescannte Bilddatei (TIFF, PNG, JPEG – alles, was Aspose OCR unterstützt) +- Grundlegende Kenntnisse in `asyncio` (falls nicht, keine Sorge – wir erklären jeden Schritt) + +Keine zusätzlichen Systemabhängigkeiten sind erforderlich; Aspose OCR bündelt alles, was Sie benötigen. + +![Diagramm, das den async OCR‑Fluss zeigt – extract text from image python](https://example.com/async-ocr-diagram.png "async OCR flow – extract text from image python") + +## Schritt 1 – Asynchrone Hilfsfunktion einrichten + +Der Kern der Lösung ist eine `async`‑Funktion, die ein Bild lädt, OCR startet und dann auf das Ergebnis wartet. Die asynchrone Implementierung ermöglicht es Ihnen, andere Coroutinen (z. B. das Herunterladen weiterer Dateien) auszuführen, während die OCR‑Engine im Hintergrund arbeitet. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Why this matters:** Durch die Rückgabe eines `Future` erledigt Aspose OCR die schwere Arbeit in einem separaten Thread‑Pool. `await` gibt die Ereignisschleife frei, sodass Ihre Anwendung flink bleibt. Wenn Sie jemals viele Bilder gleichzeitig verarbeiten müssen, können Sie einfach mehrere `async_ocr`‑Aufrufe mit `asyncio.gather` planen. + +## Schritt 2 – Die Coroutine im Event Loop ausführen + +Jetzt, wo wir die Hilfsfunktion haben, müssen wir sie ausführen. `asyncio.run` erstellt eine neue Ereignisschleife, führt die Coroutine aus und beendet alles sauber. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Pro tip:** Wenn Sie das in eine größere async‑Anwendung (z. B. FastAPI) integrieren, würden Sie `await async_ocr(...)` direkt aufrufen statt `asyncio.run`. + +## Schritt 3 – Ausgabe überprüfen + +Wenn Sie das Skript ausführen, sollten Sie etwa Folgendes sehen: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Wenn die Ausgabe unleserlich ist, prüfen Sie Folgendes doppelt: + +1. Das Bild ist klar und nicht übermäßig komprimiert. +2. Sie haben die richtige Sprache ausgewählt (`ocr.Language.ENGLISH` funktioniert für die meisten latin‑basierten Texte). +3. Der Dateipfad ist korrekt und die Datei ist lesbar. + +## Schritt 4 – Sonderfälle behandeln + +### Mehrere Sprachen + +Wenn Sie **convert scanned image to text** in einer anderen Sprache als Englisch benötigen, ändern Sie einfach die Spracheigenschaft: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Große Dateien + +Bei sehr großen TIFF‑Dateien sollten Sie das Bild verkleinern oder in ein PNG mit niedrigerer Auflösung konvertieren, bevor Sie es an OCR übergeben. Das reduziert den Speicherverbrauch und beschleunigt die Verarbeitung. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Fehlerbehandlung + +Umhüllen Sie den OCR‑Aufruf mit einem `try/except`‑Block, um netzwerk‑ oder lizenzbezogene Fehler abzufangen. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Schritt 5 – Skalierung: Viele Bilder gleichzeitig verarbeiten + +Da die Funktion async ist, können Sie Dutzende von OCR‑Jobs gleichzeitig starten: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Dieses Muster hält die CPU beschäftigt, während die OCR‑Engine parallel arbeitet, und reduziert die Gesamtverarbeitungszeit dramatisch. + +## Fazit + +Sie haben jetzt eine robuste **extract text from image Python**‑Lösung, die die asynchrone API von Aspose OCR nutzt. Das vollständige Beispiel zeigt, wie man: + +1. Die OCR‑Engine initialisiert und eine Sprache auswählt. +2. OCR asynchron mit `process_async` startet. +3. Auf das Ergebnis wartet, ohne die Ereignisschleife zu blockieren. +4. Häufige Stolperfallen wie große Dateien und Mehrsprachenunterstützung behandelt. + +Passen Sie den Code gern an Ihre eigenen Pipelines an – egal, ob Sie ein Dokumenten‑Management‑System, einen Suchindexer oder ein einfaches Befehlszeilen‑Tool bauen. Nächste Schritte könnten sein: + +- Das extrahierte Text in einer Datenbank für Volltextsuche speichern. +- PDF‑Erstellung hinzufügen (z. B. mit `PyPDF2`), um durchsuchbare PDFs zu erzeugen. +- Integration in ein Web‑Framework wie FastAPI für einen REST‑basierten OCR‑Service. + +Viel Spaß beim Coden und beim Umwandeln Ihrer gescannten Bilder in durchsuchbaren, editierbaren Text! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/german/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..99da26e2 --- /dev/null +++ b/ocr/german/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-01-12 +description: Wie man Bilder schnell stapelweise OCR verarbeitet und Text aus JPEG‑Dateien + in Python extrahiert. Lernen Sie die schrittweise Stapelverarbeitung mit einem vollständigen, + ausführbaren Beispiel. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: de +og_description: Wie man Bilder stapelweise OCR verarbeitet und Text aus JPEG‑Dateien + extrahiert. Dieser Leitfaden führt Sie durch eine vollständige, sofort einsatzbereite + Python‑Lösung. +og_title: Wie man OCR‑Bilder stapelt – Schnelles Python‑Tutorial +tags: +- OCR +- Python +- image processing +title: Wie man Bilder stapelweise OCR verarbeitet – Schnelle Anleitung zum Extrahieren + von Text aus JPEG-Dateien +url: /de/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man OCR‑Bilder stapelt – Schnell‑Leitfaden zum Extrahieren von Text aus JPEG‑Dateien + +Haben Sie sich jemals gefragt, **wie man OCR‑Bilder stapelt**, ohne für jede Datei ein separates Skript zu schreiben? Sie sind nicht allein. In vielen Projekten – Rechnungsscan, Archivdigitalisierung oder Inhaltsmoderation – müssen wir Text aus Dutzenden oder Hunderten von JPEG‑Dateien auf einmal extrahieren. Die gute Nachricht: Das geht mit nur wenigen Zeilen Python, und Sie erhalten eine wiederverwendbare Engine, die Sie in jede Pipeline einbinden können. + +In diesem Tutorial zeigen wir Ihnen genau **wie man OCR‑Bilder stapelt**, gehen dann Schritt für Schritt durch das Extrahieren von Text aus JPEG‑Dateien, den Umgang mit Sonderfällen und die Überprüfung der Ausgabe. Am Ende haben Sie ein eigenständiges Skript, das Sie gegen jeden Ordner mit Bildern ausführen können, und Sie verstehen, warum Batch‑Verarbeitung für Performance und Wartbarkeit wichtig ist. + +## Was Sie lernen werden + +- Eine einfache OCR‑Engine einrichten und für Englisch konfigurieren. +- Alle JPEG‑Dateien eines Verzeichnisses mit `pathlib` sammeln. +- Die OCR‑Engine einmal aufrufen, um das gesamte Batch zu verarbeiten. +- Eine Vorschau des erkannten Textes für jedes Bild anzeigen. +- Tipps zum Umgang mit großen Batches, verschiedenen Sprachen und häufigen Fallstricken. + +**Voraussetzungen**: Python 3.8+, die `ocr`‑Bibliothek (oder ein kompatibler Wrapper) und ein Ordner mit JPEG‑Bildern, die Sie analysieren möchten. Keine externen Dienste nötig – alles läuft lokal. + +--- + +## Schritt 1: OCR‑Engine initialisieren – Der Kern von Wie man OCR‑Bilder stapelt + +Bevor wir **OCR‑Bilder stapeln** können, benötigen wir eine Engine, die Text lesen kann. In den meisten Bibliotheken erzeugt man ein Engine‑Objekt, setzt optional die Sprache und verwendet es dann für jede Datei wieder. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Warum das wichtig ist*: Die Engine einmal zu initialisieren vermeidet den Overhead, Sprachmodelle wiederholt zu laden. Außerdem haben Sie einen einzigen Ort, um Einstellungen (z. B. DPI, Zeichen‑Whitelist) zu ändern, die für das gesamte Batch gelten. + +> **Pro‑Tipp**: Wenn Sie mehrsprachige Dokumente verarbeiten wollen, wechseln Sie `ocr.Language.ENGLISH` zu `ocr.Language.MULTI` oder laden Sie mehrere Sprachpakete, bevor das Batch startet. + +--- + +## Schritt 2: Alle JPEG‑Dateien sammeln – Der Teil „Text aus JPEG‑Dateien extrahieren“ + +Jetzt, wo die Engine bereit ist, müssen wir ihr sagen, welche Bilder sie verarbeiten soll. Mit `pathlib` bleibt der Code plattformunabhängig und kompakt. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Warum das wichtig ist*: Indem wir die Dateiliste zuerst sammeln, können wir die gesamte Sammlung mit einem Aufruf an die OCR‑Engine übergeben – genau das, worum es bei **wie man OCR‑Bilder stapelt** geht. Wenn Sie Unterordner haben, ändern Sie `glob("**/*.jpg")` zu einer rekursiven Suche. + +> **Sonderfall**: Wenn Ihre Bilder gemischte Endungen haben (`.jpeg`, `.JPG`), erweitern Sie das Glob‑Muster: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Schritt 3: Das gesamte Batch in einem Aufruf verarbeiten – Die eigentliche Kraft von Batch‑OCR + +Die meisten modernen OCR‑Bibliotheken bieten eine `process_batch`‑Methode (oder ähnlich benannt) an, die ein Iterable von Dateipfaden akzeptiert. Das ist das Herzstück von **wie man OCR‑Bilder stapelt** effizient. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Warum das wichtig ist*: Ein einziger Batch‑Aufruf reduziert die Anzahl der Python‑zu‑C‑Übergänge, hält das Sprachmodell im Speicher und ermöglicht oft interne Parallelisierung. Das Ergebnis ist eine Liste von Objekten – jedes enthält den erkannten Text und Konfidenzwerte. + +> **Performance‑Hinweis**: Für sehr große Batches (Tausende Bilder) sollten Sie die Liste in kleinere Stücke (z. B. 200 Dateien) aufteilen, um übermäßigen Speicherverbrauch zu vermeiden. + +--- + +## Schritt 4: Eine Vorschau des extrahierten Textes anzeigen – Schnelle Validierung + +Nachdem das Batch fertig ist, ist es sinnvoll, die ersten Zeichen jedes Ergebnisses anzuschauen. So können Sie bestätigen, dass die OCR tatsächlich Text aus Ihren JPEG‑Dateien extrahiert. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Warum das wichtig ist*: Eine kurze Vorschau lässt Sie offensichtliche Fehler (leere Ausgabe, verzerrte Zeichen) erkennen, ohne jede Datei öffnen zu müssen. Wenn Sie systematische Probleme bemerken, können Sie die Engine‑Einstellungen anpassen und das Batch erneut ausführen. + +> **Häufiger Fehler**: Das Vergessen, Zeilenumbrüche zu entfernen, kann die Vorschau unordentlich machen. Die Zeile `replace("\n", " ")` bereinigt das. + +--- + +## Vollständiges Beispiel – Alle Schritte kombiniert + +Unten finden Sie das komplette Skript, das Sie kopieren‑einfügen, den Verzeichnispfad anpassen und ausführen können. Es demonstriert den gesamten **wie man OCR‑Bilder stapelt**‑Workflow von Anfang bis Ende. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Erwartete Ausgabe** (Beispiel): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Wenn die Vorschau sinnvollen Text zeigt, haben Sie erfolgreich **Text aus JPEG‑Dateien extrahiert** mittels eines Batch‑Ansatzes. + +--- + +## Umgang mit großen Batches und fortgeschrittenen Szenarien + +### Aufteilen großer Arbeitslasten +Bei Tausenden von Bildern kann der Speicher zum Engpass werden. Teilen Sie die Liste in kleinere Stücke: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Sprachen wechseln +Enthalten Ihre Dokumente Französisch oder Spanisch, ändern Sie die Sprache vor dem Batch: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Ergebnisse auf Festplatte speichern +Statt zu drucken, möchten Sie vielleicht jedes OCR‑Ergebnis in einer `.txt`‑Datei ablegen: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Fazit + +Sie wissen jetzt **wie man OCR‑Bilder stapelt** und zuverlässig **Text aus JPEG‑Dateien extrahiert** mit einem kompakten Python‑Skript. Durch einmaliges Initialisieren der Engine, Sammeln aller JPEG‑Pfade, Verarbeiten in einem einzigen Batch und Vorschau der Ausgabe erreichen Sie sowohl Geschwindigkeit als auch Einfachheit. Von hier aus können Sie den Workflow erweitern – Mehrsprachigkeit hinzufügen, Ergebnisse in einer Datenbank speichern oder das Skript in eine größere Dokumenten‑Verarbeitungspipeline integrieren. + +Bereit für den nächsten Schritt? Probieren Sie die `ocr`‑Bibliothek gegen Tesseract aus, experimentieren Sie mit verschiedener Bild‑Vorverarbeitung (Schwellwertsetzung, Skalierung) oder leiten Sie den extrahierten Text an ein Natural‑Language‑Processing‑Modell zur automatischen Kategorisierung weiter. Der Himmel ist die Grenze, und Sie haben ein solides Fundament zum Weiterbauen. + +Viel Spaß beim Coden, und mögen Ihre OCR‑Batches immer fehlerfrei sein! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/german/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..77dba1d4 --- /dev/null +++ b/ocr/german/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,134 @@ +--- +category: general +date: 2026-01-12 +description: Wie man Sprache in Bildern mit Aspose OCR erkennt – lernen Sie, Text + aus Bildern zu extrahieren, gemischte Sprach‑OCR zu verarbeiten und OCR in Python + zu verwenden. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: de +og_description: Wie man Sprache in Bildern mit Aspose OCR erkennt – eine Schritt‑für‑Schritt‑Anleitung + zum Extrahieren von Text aus Bildern und zum Umgang mit gemischter Sprach‑OCR. +og_title: Wie man Sprache mit OCR für gemischten Text erkennt +tags: +- OCR +- Python +- Aspose +title: Wie man Sprache mit OCR bei gemischtem Text erkennt +url: /de/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man Sprache mit OCR für gemischten Text erkennt + +Die Erkennung von Sprache in Bildern mit Aspose OCR ist eine häufige Herausforderung beim Umgang mit mehrsprachigen Dokumenten. Haben Sie sich schon einmal gefragt, **wie man Text aus einem Bild** extrahiert, das sowohl Englisch als auch Französisch auf derselben Seite enthält? In diesem Tutorial führen wir Sie durch ein vollständiges, ausführbares Beispiel, das genau zeigt, wie man OCR verwendet, um die Sprache zu identifizieren, den Text zu extrahieren und gemischte Sprachszenarien problemlos zu handhaben. + +Wir behandeln alles, was Sie wissen müssen: die Einrichtung der Aspose OCR‑Engine, das Festlegen der zu berücksichtigenden Sprachen, das Laden eines Beispiel‑Rechnungsbildes, das Ausführen des OCR‑Prozesses und schließlich das Ausgeben der erkannten Sprache zusammen mit dem extrahierten Text. Am Ende können Sie die Frage “how to use OCR for mixed language OCR” in Ihren eigenen Projekten beantworten, egal ob Sie eine Rechnungs‑Pipeline, einen Belegscanner oder ein Dokumenten‑Archivierungstool bauen. + +> **Voraussetzungen** – Sie sollten Python 3.8+ installiert haben, Grundkenntnisse in pip besitzen und eine Aspose OCR‑Lizenz (die kostenlose Testversion funktioniert für diese Demo). Keine weiteren externen Bibliotheken sind erforderlich. + +--- + +## Wie man Sprache mit Aspose OCR erkennt + +Der erste Schritt besteht darin, eine OCR‑Engine‑Instanz zu erstellen und ihr mitzuteilen, welche Sprachen sie erkennen soll. Aspose OCR verwendet eine Bit‑Maske, um Sprachen zu kombinieren, was es einfach macht, Englisch, Französisch, Spanisch oder jede gewünschte Kombination zu unterstützen. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Warum das wichtig ist:** Das Initialisieren der Engine ist die Grundlage. Ohne sie können Sie keine OCR‑Methoden aufrufen, und die Engine enthält alle Konfigurationen, die bestimmen, wie gut sie später **Sprache erkennen** kann. + +## Text aus Bild mit OCR extrahieren + +Jetzt müssen wir der Engine mitteilen, welche Sprachen möglich sind. Durch das Setzen einer Bit‑Maske von `ENGLISH | FRENCH` ermöglichen wir der Engine, automatisch die beste Übereinstimmung für jede Region des Bildes auszuwählen. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Warum das wichtig ist:** Das Aktivieren von `auto_detect_language` ist der Kern von **how to detect language** in einem Dokument mit gemischten Sprachen. Die Engine scannt den Text, bewertet jede Sprache und gibt die mit dem höchsten Vertrauen zurück. Wenn Sie diesen Schritt überspringen, müssen Sie die Sprache selbst raten, was den Zweck von Mixed‑Language‑OCR zunichte macht. + +## Mixed‑Language‑OCR‑Einstellungen konfigurieren + +Bevor wir ein Bild an die Engine übergeben, müssen wir es laden. Aspose OCR arbeitet mit seiner eigenen `Image`‑Klasse, die das zugrunde liegende Dateiformat abstrahiert. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Tipp:** Halten Sie die Bildauflösung bei etwa 300 dpi für beste Ergebnisse. Niedrigere Auflösungen können dazu führen, dass die Spracherkennung subtile Zeichen verpasst, insbesondere akzentuierte französische Buchstaben. + +## OCR‑Prozess ausführen und Ergebnisse erhalten + +Mit der konfigurierten Engine und dem geladenen Bild können wir schließlich den OCR‑Prozess ausführen. Die Methode `process` gibt ein `OcrResult`‑Objekt zurück, das sowohl den erkannten Sprachcode als auch den vollständig extrahierten Text enthält. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Erwartete Ausgabe** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Wenn das Bild französische Abschnitte enthält, sehen Sie `FRENCH` als erkannte Sprache und den entsprechenden französischen Text, der ausgegeben wird. + +## Bildbeispiel (Alt‑Text für SEO) + +![wie man Sprache in gemischtem Sprach‑OCR‑Bild erkennt](mixed_lang_invoice.png) + +*Der obige Screenshot zeigt eine Beispielrechnung, die sowohl englischen als auch französischen Text enthält und veranschaulicht, wie die OCR‑Engine **Sprache erkennen** und den Inhalt in einem Durchlauf extrahieren kann.* + +## Häufige Fallstricke und Pro‑Tipps + +| Problem | Warum es passiert | Wie zu beheben / mildern | +|---------|-------------------|--------------------------| +| **Unscharfe oder niedrig aufgelöste Scans** | Die Engine kann Zeichen nicht unterscheiden, was zu falscher Spracherkennung führt. | Bei ≥300 dpi scannen, Bildschärfung vor OCR anwenden. | +| **Fehlende Sprache in der Bit‑Maske** | Wenn Sie vergessen, eine Sprache einzuschließen, verwendet die Engine standardmäßig die erste Übereinstimmung, was oft ungenaue Ergebnisse liefert. | Listen Sie immer jede erwartete Sprache auf; Sie können viele mit dem `|`‑Operator kombinieren. | +| **Gemischte Schriftsysteme (z. B. Lateinisch + Kyrillisch)** | Aspose OCR benötigt möglicherweise separate Sprachpakete. | Zusätzliche Sprachpakete installieren und zur Maske hinzufügen. | +| **Große Dateien verursachen Speicherspitzen** | Das Laden eines riesigen Bildes in den Speicher kann das Skript zum Absturz bringen. | `Image.resize` verwenden, um die Größe zu reduzieren und dabei die DPI beizubehalten, oder das Bild in Kacheln verarbeiten. | + +**Pro‑Tipp:** Nachdem Sie den Rohtext erhalten haben, führen Sie einen kurzen Nachbearbeitungsschritt aus, um Leerzeichen und Zeilenumbrüche zu normalisieren. Das macht die nachgelagerte Analyse (z. B. das Extrahieren von Rechnungsnummern) deutlich einfacher. + +## Zusammenfassung: Was Sie gelernt haben + +Sie wissen jetzt, **wie man Sprache** in einem Bild mit gemischten Sprachen mithilfe von Aspose OCR erkennt, und Sie haben ein vollständiges End‑zu‑End‑Beispiel gesehen, das auch **wie man Text aus Bild extrahiert** zeigt. Durch das Konfigurieren der Sprach‑Bit‑Maske, das Aktivieren der automatischen Erkennung und das Verarbeiten des Ergebnisobjekts können Sie zuverlässig Rechnungen, Belege oder jedes Dokument verarbeiten, das Englisch und Französisch (oder andere Sprachen) mischt. + +### Nächste Schritte + +- Versuchen Sie, **wie man Text extrahiert** aus PDFs hinzuzufügen, indem Sie jede Seite zuerst in ein Bild konvertieren. +- Experimentieren Sie mit den anderen sekundären Schlüsselwörtern: Erkunden Sie die vollständige **how to use OCR**‑API, z. B. das Festlegen von OCR‑Zonen für schnellere Verarbeitung. +- Tauchen Sie ein in komplexere **mixed language OCR**‑Fälle, wie Dokumente, die zwischen drei oder mehr Sprachen wechseln. + +Passen Sie den Code gerne an, testen Sie ihn mit Ihren eigenen Bildern und lassen Sie die Engine die schwere Arbeit übernehmen. Wenn Sie auf Probleme stoßen, hinterlassen Sie unten einen Kommentar – happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/german/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..af5928ed --- /dev/null +++ b/ocr/german/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: Erfahren Sie, wie Sie PDFs in Python OCRen und PDFs schnell durchsuchbar + machen. Konvertieren Sie gescannte PDFs, extrahieren Sie Text aus PDFs und OCRen + Sie gescannte PDFs in Python mit Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: de +og_description: Wie man PDFs in Python OCRt? Dieses Schritt‑für‑Schritt‑Tutorial zeigt + Ihnen, wie Sie gescannte PDF‑Dateien in durchsuchbare PDFs umwandeln und Text mit + Aspose OCR extrahieren. +og_title: Wie man PDFs OCRt und durchsuchbar macht – Python‑Leitfaden +tags: +- OCR +- Python +- PDF processing +title: Wie man PDFs OCRt und durchsuchbar macht – Python‑Leitfaden +url: /de/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man PDF OCR und durchsuchbar macht – Python‑Leitfaden + +Haben Sie sich jemals gefragt, **wie man PDF OCR** durchführt, ohne ein Vermögen für kommerzielle Software auszugeben? Sie sind nicht allein. Viele Entwickler stoßen an ihre Grenzen, wenn sie einen gescannten Vertrag, eine Rechnung oder irgendeine bildbasierte PDF in ein durchsuchbares Dokument umwandeln müssen. Die gute Nachricht? Mit ein paar Zeilen Python und Aspose OCR können Sie gescannte PDFs konvertieren, Text‑PDF extrahieren und schließlich PDFs in wenigen Minuten durchsuchbar machen. + +In diesem Tutorial führen wir Sie durch alles, was Sie benötigen: von der Installation der Bibliothek, über die Konfiguration der Sprache, die Verarbeitung eines gescannten PDFs bis hin zum Speichern des Ergebnisses als durchsuchbares PDF, das sowohl das Originalbild als auch eine versteckte Textebene enthält. Am Ende haben Sie ein wiederverwendbares Skript, das Sie in jedes Projekt einbinden können – ohne manuelles Kopieren und Einfügen. + +--- + +## Was Sie benötigen + +- **Python 3.8+** (der Code funktioniert auf 3.9, 3.10 und neuer) +- Eine aktive **Aspose OCR for Python**‑Lizenz (ein kostenloser Testzugang reicht für Experimente) +- Eine gescannte PDF‑Datei (z. B. `scanned_contract.pdf`), die Sie durchsuchbar machen möchten +- Grundlegende Erfahrung mit der Befehlszeile und virtuellen Umgebungen (optional, aber empfohlen) + +> **Pro‑Tipp:** Wenn Sie noch keine Lizenz haben, melden Sie sich für eine 30‑tägige Testversion auf der Aspose‑Website an; die Testversion ist für Entwicklungszwecke vollständig funktionsfähig. + +--- + +## Wie man PDF mit Aspose OCR OCR‑t (Primäres Schlüsselwort in H2) + +Der erste Schritt besteht darin, das richtige Paket zu erhalten. Aspose OCR bietet eine saubere, hoch‑level API, die die low‑level Bildverarbeitungsdetails abstrahiert. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +Sobald das Paket installiert ist, können Sie mit dem Schreiben des Skripts beginnen. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Warum die Sprache festlegen?** +> Die OCR‑Genauigkeit hängt stark vom Sprachmodell ab. Indem Sie der Engine explizit mitteilen, dass englischer Text erwartet wird, reduzieren Sie Fehlalarme und beschleunigen die Verarbeitung. + +--- + +## Schritt 2: Gescanntes PDF in ein durchsuchbares PDF konvertieren + +Jetzt, wo die Engine bereit ist, zeigen Sie ihr Ihr gescanntes Dokument. Die Methode `process_pdf` gibt ein `PdfResult`‑Objekt zurück, das sowohl die ursprünglichen Bilddaten als auch den erkannten Text enthält. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Wenn Sie **gescannte PDF**‑Dateien stapelweise konvertieren müssen, schleifen Sie einfach über ein Verzeichnis und rufen `process_pdf` für jede Datei auf. Die Engine verarbeitet mehrseitige PDFs out‑of‑the‑box. + +--- + +## Schritt 3: Ergebnis als durchsuchbares PDF speichern (PDF durchsuchbar machen) + +Der letzte Baustein des Puzzles ist das Persistieren der durchsuchbaren Version. Aspose OCR macht das mit einer einzigen Zeile: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +Wenn Sie `contract_searchable.pdf` in einem beliebigen PDF‑Betrachter öffnen, sehen Sie das ursprüngliche gescannte Bild, können aber nun **nach jedem Wort** suchen, das die OCR‑Engine erkannt hat. Die versteckte Textebene ist für das Auge unsichtbar, aber vollständig indexierbar. + +--- + +### Vollständiges Skript – Bereit zum Ausführen + +Unten finden Sie das komplette, ausführbare Beispiel. Kopieren Sie es in eine Datei namens `make_searchable.py` und passen Sie die Pfade an Ihre Umgebung an. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Erwartete Ausgabe:** +Beim Ausführen des Skripts wird eine Bestätigungszeile ausgegeben und `contract_searchable.pdf` erstellt. Öffnen Sie die Datei, drücken Sie `Ctrl + F` und geben Sie ein beliebiges Wort ein, das im ursprünglichen gescannten Bild vorkommt – Sie sollten sofort Treffer sehen. + +--- + +## Häufige Fragen & Sonderfälle + +### 1. Was, wenn das PDF mehrere Sprachen enthält? + +Sie können der Engine eine Liste von Sprachen übergeben: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR versucht, Text in beiden Sprachen auf derselben Seite zu erkennen. + +### 2. Wie gehe ich mit niedrig aufgelösten Scans um? + +Wenn die Quellbilder unter 150 dpi liegen, kann die OCR‑Genauigkeit leiden. Vorverarbeiten Sie das PDF mit einem Tool wie `pdfimages`, um Seiten zu extrahieren, skalieren Sie sie mit Pillow hoch und geben Sie die hochauflösenden Bilder wieder an `process_pdf` weiter. + +### 3. Kann ich den Klartext extrahieren, ohne ein durchsuchbares PDF zu erstellen? + +Absolut. Das `PdfResult`‑Objekt stellt eine `text`‑Eigenschaft bereit: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Damit wird der **extract text pdf**‑Anwendungsfall abgedeckt, wenn Sie nur die rohen Zeichen benötigen. + +### 4. Gibt es eine Möglichkeit, einen Ordner mit PDFs stapelweise zu verarbeiten? + +Ja – wickeln Sie die Funktion `ocr_to_searchable` in eine einfache Schleife ein: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Jetzt können Sie **gescannte pdf**‑Dateien massenhaft mit einem einzigen Befehl **konvertieren**. + +--- + +## Leistungstipps + +- **Engine wiederverwenden**: Das Erstellen einer neuen `OcrEngine` für jede Datei verursacht zusätzlichen Aufwand. Instanziieren Sie sie einmal und nutzen Sie sie für mehrere Aufrufe. +- **Parallelverarbeitung**: Für große Stapel sollten Sie Python’s `concurrent.futures.ThreadPoolExecutor` in Betracht ziehen – Aspose OCR ist für Lese‑Operationen thread‑sicher. +- **Speichermanagement**: Wenn Sie sehr große PDFs (Hunderte Seiten) verarbeiten, rufen Sie nach jeder Datei `gc.collect()` auf, um den Speicher freizugeben. + +--- + +## Fazit + +Wir haben gezeigt, **wie man PDF OCR** in Python durchführt, diese Scans in **durchsuchbare PDFs** umwandelt und sogar **Text‑PDF** direkt extrahiert. Mit Aspose OCR erhalten Sie eine zuverlässige Engine, die mehrseitige Dokumente, mehrere Sprachen und hochgenaue Erkennung unterstützt – alles mit nur wenigen Codezeilen. + +Probieren Sie es an Ihren eigenen Verträgen, Rechnungen oder archivierten Forschungsarbeiten aus. Sobald Sie die Grundlagen beherrschen, experimentieren Sie mit erweiterten Funktionen – wie benutzerdefinierten Wörterbüchern, Bildvorverarbeitung oder der Integration des Outputs in einen Volltext‑Suchindex wie Elasticsearch. + +Haben Sie weitere Fragen zu **ocr scanned pdf python** oder benötigen Hilfe bei der Fehlersuche eines kniffligen Scans? Hinterlassen Sie einen Kommentar unten, und happy coding! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="Beispiel für OCR von PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/german/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..9784f68e --- /dev/null +++ b/ocr/german/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: Wie man OCR schnell und genau durchführt. Lernen Sie, OCR auf Dokumenten + auszuführen, Text aus TIFF zu extrahieren, ein Bild für OCR zu laden und die OCR‑Sprache + in Python festzulegen. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: de +og_description: Wie man OCR in Python durchführt. Dieses Tutorial zeigt Ihnen, wie + Sie OCR auf Dokumenten ausführen, Text aus TIFF extrahieren, ein Bild für OCR laden + und die OCR‑Sprache einstellen. +og_title: Wie man OCR auf einem TIFF-Dokument durchführt – Komplettanleitung +tags: +- OCR +- Python +- Image Processing +title: Wie man OCR auf einem TIFF-Dokument durchführt – Schritt‑für‑Schritt‑Anleitung +url: /de/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man OCR auf einem TIFF-Dokument durchführt – Vollständige Anleitung + +Haben Sie sich jemals gefragt, **wie man OCR** auf einer gescannten TIFF-Datei durchführt, ohne Stunden damit zu verbringen, die richtige Bibliothek zu suchen? Sie sind nicht allein. Viele Entwickler stoßen an ihre Grenzen, wenn sie Text aus TIFF‑Bildern extrahieren müssen, besonders wenn Leistung und Spracheinstellungen wichtig sind. + +In diesem Tutorial führen wir Sie durch alles, was Sie wissen müssen: von der Installation des OCR‑Pakets, dem Laden des Bildes für OCR, dem Einstellen der OCR‑Sprache, bis hin zum **Ausführen von OCR auf dem Dokument** und dem Extrahieren von sauberem Text. Am Ende haben Sie ein einsatzbereites Skript, das Sie in jedes Projekt einbinden können. + +> **Profi‑Tipp:** Während das Beispiel ein generisches `ocr`‑Modul verwendet, gelten dieselben Konzepte für Tesseract, EasyOCR oder jede moderne OCR‑Engine, die eine Python‑API bereitstellt. + +--- + +## Was Sie benötigen + +- Python 3.8+ (jede aktuelle Version funktioniert) +- Eine OCR‑Bibliothek, die eine `OcrEngine`‑Klasse bereitstellt (das Beispiel verwendet ein fiktives `ocr`‑Paket; ersetzen Sie es durch Ihr echtes) +- Eine mehrseitige TIFF‑Datei, die Sie verarbeiten möchten (wir nennen sie `big_document.tif`) +- Ein Rechner mit mindestens 4 CPU‑Kernen, falls Sie die Thread‑Anzahl festlegen wollen + +Keine externen Dienste, keine Cloud‑Schlüssel – nur lokaler Code, der in Sekunden läuft. + +![Beispiel für OCR‑Ausführung](/images/ocr-example.png "Wie man OCR auf einem TIFF-Dokument durchführt") + +*Bildbeschreibung: Wie man OCR auf einem TIFF-Dokument durchführt – Vorschau des extrahierten Textes.* + +--- + +## Schritt 1: Installieren und Importieren der OCR‑Bibliothek + +Zuerst: Holen Sie sich die Bibliothek auf Ihren Rechner. Die meisten OCR‑Pakete sind auf PyPI, sodass ein einfacher `pip install` ausreicht. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Jetzt importieren Sie die Klassen, die Sie benötigen. Wenn Sie Tesseract verwenden, sieht die Import‑Zeile anders aus, aber der Rest des Codes bleibt gleich. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Warum das wichtig ist:* Das frühe Importieren der richtigen Symbole verhindert später Namenskonflikte und macht das Skript leichter lesbar. + +--- + +## Schritt 2: Erstellen und Konfigurieren der OCR‑Engine (OCR‑Sprache festlegen) + +Das Konfigurieren der Engine ist der Ort, an dem Sie **die OCR‑Sprache festlegen** für eine genaue Erkennung. Englisch ist die Vorgabe, aber Sie können mit einer einzigen Zeile zu Französisch, Deutsch oder sogar zum mehrsprachigen Modus wechseln. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Warum 4 Threads?** Die meisten modernen Laptops haben mindestens vier Kerne, und das Begrenzen der Thread‑Anzahl verhindert, dass der OCR‑Prozess die gesamte Maschine beansprucht – besonders nützlich, wenn das Skript auf einem gemeinsam genutzten Server läuft. + +Wenn Sie eine andere Sprache benötigen, ersetzen Sie einfach `ocr.Language.ENGLISH` durch `ocr.Language.FRENCH`, `ocr.Language.SPANISH` usw. + +--- + +## Schritt 3: Bild für OCR laden (Load Image for OCR) + +Jetzt **laden wir das Bild für OCR**. Die Methode `Image.load` liest die TIFF‑Datei in den Speicher und verarbeitet mehrseitige Dokumente automatisch. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Randfall:* Wenn die Datei sehr groß ist, könnte Ihnen der Arbeitsspeicher ausgehen. In diesem Fall sollten Sie erwägen, Seite für Seite mit `Image.load_page(page_number)` zu laden (sofern die Bibliothek das unterstützt). + +--- + +## Schritt 4: OCR auf Dokument ausführen + +Mit der bereitstehenden Engine und dem geladenen Bild ist es Zeit, **OCR auf dem Dokument auszuführen**. Die Methode `process` übernimmt die schwere Arbeit und gibt ein Ergebnisobjekt zurück. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +Im Hintergrund teilt die Engine das Bild in Textblöcke, führt das Erkennungsmodell aus und fügt die Ergebnisse zusammen. Der Aufruf ist blockierend, das heißt, das Skript wartet, bis das gesamte TIFF verarbeitet ist – ideal für Batch‑Jobs. + +--- + +## Schritt 5: Text aus TIFF extrahieren und Ausgabe überprüfen + +Abschließend **extrahieren wir Text aus dem TIFF**, indem wir auf das Attribut `text` des Ergebnisses zugreifen. Lassen Sie uns die ersten 200 Zeichen als schnelle Plausibilitätsprüfung ausgeben. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Erwartete Ausgabe (Beispiel):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Wenn Sie den gesamten Text benötigen, verwenden Sie einfach `ocr_result.text`. Für die Weiterverarbeitung möchten Sie ihn vielleicht in eine `.txt`‑Datei schreiben: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## Vollständiges funktionierendes Beispiel + +Alles zusammengefügt, hier ein einsatzbereites Skript. Ersetzen Sie den Platzhalter‑Paketnamen durch den, den Sie tatsächlich installiert haben. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Führen Sie das Skript aus mit: + +```bash +python ocr_tiff_example.py +``` + +Sie sollten eine Vorschau in der Konsole sehen und eine Datei namens `extracted_text.txt`, die die vollständige Transkription enthält. + +--- + +## Häufige Fragen & Randfälle + +- **Was ist, wenn das TIFF mehrere Seiten enthält?** + Die meisten OCR‑Engines behandeln jede Seite intern als separates Bild. `ocr_result.text` enthält einen Zeilenumbruch zwischen den Seiten. Wenn Sie eine pro‑Seite‑Verarbeitung benötigen, iterieren Sie mit `Image.load_page(page_number)`. + +- **Kann ich stattdessen ein PNG oder JPEG verarbeiten?** + Absolut. Die Methode `Image.load` akzeptiert in der Regel jedes von Pillow oder der zugrunde liegenden Bibliothek unterstützte Format. Ändern Sie einfach die Dateierweiterung. + +- **Mein Text ist verzerrt – sollte ich die Sprache ändern?** + Ja. Der Schritt **set OCR language** ist entscheidend für Nicht‑Englisch‑Dokumente. Stellen Sie sicher, dass das Sprachpaket installiert ist (z. B. `tesseract‑lang‑fra` für Französisch). + +- **Läuft der Speicher aus?** + Reduzieren Sie `set_memory_limit` oder verarbeiten Sie Seiten einzeln. Einige Engines erlauben zudem das Herunterskalieren des Bildes vor der Erkennung. + +--- + +## Fazit + +Damit haben Sie – ein kompakter, voll funktionsfähiger Leitfaden, wie man **OCR** auf einer TIFF‑Datei mit Python durchführt. Wir haben alles behandelt, von der Installation der Bibliothek, der Konfiguration der Engine (einschließlich **set OCR language**), **load image for OCR**, **run OCR on document** und schließlich **extract text from tiff**. + +Fühlen Sie sich frei zu experimentieren: Passen Sie die Thread‑Anzahl an, wechseln Sie die Sprache oder leiten Sie die OCR‑Ausgabe in eine Natural‑Language‑Pipeline weiter. Der Himmel ist die Grenze, sobald Sie die Grundlagen beherrschen. + +Haben Sie weitere Fragen? Hinterlassen Sie unten einen Kommentar, und viel Spaß beim Coden! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/german/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..959a7f16 --- /dev/null +++ b/ocr/german/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,178 @@ +--- +category: general +date: 2026-01-12 +description: Wie man die Sprache in Aspose OCR Python festlegt und Text aus einem + Bild mit einem benutzerdefinierten Wörterbuch extrahiert. Schritt‑für‑Schritt‑Tutorial + für Entwickler. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: de +og_description: Wie man die Sprache in Aspose OCR Python einstellt und Text aus einem + Bild mit einem benutzerdefinierten Wörterbuch extrahiert. Lernen Sie den vollständigen + Workflow in Minuten. +og_title: Wie man die Sprache in Aspose OCR Python einstellt – Komplettanleitung +tags: +- OCR +- Python +- Aspose +- Image Processing +title: Wie man die Sprache in Aspose OCR Python einstellt – Komplettanleitung +url: /de/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man die Sprache in Aspose OCR Python festlegt – Vollständige Anleitung + +Haben Sie sich jemals gefragt, **wie man die Sprache** festlegt, wenn man Aspose OCR in Python verwendet? Sie sind nicht allein – viele Entwickler stoßen auf dieses Problem, wenn das standardmäßige englische Modell Produktcodes, Seriennummern oder mehrsprachigen Text nicht erkennt. Die gute Nachricht ist, dass die Lösung sowohl einfach als auch leistungsstark ist. In diesem Tutorial führen wir Sie durch die Konfiguration der Sprache, das Hinzufügen eines benutzerdefinierten Wörterbuchs, das Extrahieren von Text aus einem Bild und schließlich die Bildverarbeitung für die besten OCR-Ergebnisse. + +Wir behandeln alles, was Sie wissen müssen: von der Installation der Bibliothek bis zum Ausführen eines vollständigen Beispiels, das den extrahierten Text ausgibt. Am Ende können Sie **Text aus Bild**-Dateien mit Zuversicht extrahieren, selbst wenn der Inhalt ungewöhnliche Codes oder gemischte Sprachen enthält. + +## Voraussetzungen + +* Python 3.8+ installiert (der Code verwendet f‑Strings, daher funktionieren ältere Versionen nicht). +* Eine aktive Aspose OCR for Python Lizenz oder ein kostenloser Testschlüssel. +* Das `asposeocr`‑Paket installiert via `pip install asposeocr`. +* Ein Beispielbild (`product_label.png`), das den Text enthält, den Sie lesen möchten. + +Wenn Sie diese Komponenten bereits haben, großartig – lassen Sie uns weitermachen. Wenn nicht, holen Sie sich die kostenlose Testversion von Asposes Website und führen Sie den Installationsbefehl aus; das dauert nur eine Minute. + +## Schritt 1: Importieren des Aspose OCR‑Moduls + +Das Erste, was Sie tun müssen, ist, die OCR‑Klassen in Ihr Skript zu importieren. Dies ist die Grundlage für **wie man die Sprache festlegt** später. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Pro Tipp:** Halten Sie Ihre Importe am Anfang der Datei. Das macht das Skript leichter zu überblicken, besonders wenn Sie später zurückkehren. + +## Schritt 2: Wie man die Sprache festlegt + +Standardmäßig geht Aspose OCR von Englisch aus. Wenn Ihr Bild Französisch, Deutsch oder eine andere Sprache enthält, müssen Sie der Engine mitteilen, welche Sprache verwendet werden soll. Hier kommt das Haupt‑Schlüsselwort zum Einsatz. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Warum ist das wichtig? OCR‑Engines basieren auf sprachspezifischen Zeichenmodellen. Die Angabe der richtigen Sprache verbessert die Genauigkeit erheblich – besonders bei Akzentzeichen oder sprachspezifischen Ligaturen. + +> **Hinweis:** Wenn Sie mehrere Sprachen gleichzeitig unterstützen müssen, können Sie eine Liste übergeben, z. B. `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## Schritt 3: Wie man ein Wörterbuch hinzufügt (benutzerdefinierte Wörter) + +Manchmal liest die OCR‑Engine Produktcodes wie „AB‑1234“ falsch. Sie können das Vertrauen erhöhen, indem Sie ein benutzerdefiniertes Wörterbuch bereitstellen. Das beantwortet direkt **wie man ein Wörterbuch hinzufügt** in Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +Die Engine behandelt diese Wörter als „bekannt“ und bevorzugt sie gegenüber ähnlich aussehenden Zeichen. Das ist besonders praktisch für SKU‑Nummern, Seriencodes oder Markennamen, die nicht zu einer natürlichen Sprache gehören. + +## Schritt 4: Wie man ein Bild verarbeitet + +Jetzt, wo die Engine konfiguriert ist, müssen Sie das Bild laden, das Sie analysieren möchten. Das behandelt **wie man ein Bild verarbeitet** auf eine saubere, wiederholbare Weise. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +Wenn Sie mit PDFs arbeiten, können Sie jede Seite zuerst in ein Bild konvertieren – Aspose OCR unterstützt das von Haus aus. + +## Schritt 5: Wie man Text aus einem Bild extrahiert + +Wenn alles eingestellt ist, ist der letzte Schritt, die OCR auszuführen und den Text abzurufen. Das ist der Kern von **wie man Text extrahiert** aus einem Bild. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +Wenn Sie das Skript ausführen, sollten Sie etwas Ähnliches sehen: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Wenn die Ausgabe unleserlich erscheint, überprüfen Sie, ob Sie die richtige Sprache eingestellt haben und ob Ihr benutzerdefiniertes Wörterbuch die genauen erwarteten Zeichenketten enthält. + +## Vollständiges funktionierendes Beispiel + +Wenn wir alles zusammenfügen, finden Sie hier das vollständige Skript, das Sie in eine Datei namens `extract_label.py` kopieren können. Ersetzen Sie `YOUR_DIRECTORY` durch den tatsächlichen Pfad zu Ihrem Bild. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Erwartete Ausgabe + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Wenn Sie die genauen Codes sehen, die Sie dem Wörterbuch hinzugefügt haben, haben Sie erfolgreich **wie man die Sprache festlegt**, **wie man ein Wörterbuch hinzufügt** und **wie man Text aus einem Bild extrahiert** mit Aspose OCR gemeistert. + +## Umgang mit häufigen Randfällen + +| Situation | Was zu tun ist | +|-----------|----------------| +| **Bild ist unscharf** | Vorverarbeiten mit `ocr.Image.apply_filter()`, um das Bild zu schärfen, bevor `process()` aufgerufen wird. | +| **Mehrere Sprachen in einem Bild** | Setzen Sie `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **Große PDFs** | Durchlaufen Sie jede Seite, konvertieren Sie sie zu `ocr.Image` und rufen Sie `process()` pro Seite auf. | +| **Unerwartete Zeichen** | Fügen Sie sie der Liste benutzerdefinierter Wörter hinzu; Aspose OCR behandelt sie als hochzuverlässige Token. | + +## Visuelle Referenz + +![how to set language in Aspose OCR Beispiel](image.png "Screenshot, der zeigt, wie man die Sprache in Aspose OCR Python Beispiel festlegt") + +*Alt-Text:* **how to set language** Screenshot, die die Zuweisung der Spracheigenschaft in einer Python‑IDE veranschaulicht. + +## Fazit + +Sie wissen jetzt, **wie man die Sprache** in Aspose OCR Python festlegt, wie man **Wörterbuch**‑Einträge hinzufügt und die genauen Schritte, um **Text aus Bild** zu **extrahieren** und **Bild**‑Dateien für optimale Ergebnisse zu **verarbeiten**. Das obige vollständige Beispiel kann in jedes Projekt eingefügt, für verschiedene Sprachen angepasst und erweitert werden, um Stapelverarbeitung oder PDF‑Eingaben zu handhaben. + +Bereit für die nächste Herausforderung? Versuchen Sie, `ocr.Language.ENGLISH` durch `ocr.Language.FRENCH` zu ersetzen und beobachten Sie die Genauigkeitssteigerung bei französischsprachigen Etiketten. Oder experimentieren Sie mit der Methode `set_user_defined_words`, um einen gesamten Produktkatalog einzubeziehen – Ihre OCR‑Engine wird jeden Eintrag als hochzuverlässige Übereinstimmung behandeln. + +Viel Spaß beim Programmieren, und mögen Ihre OCR‑Ergebnisse stets kristallklar sein! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/german/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..4be126d6 --- /dev/null +++ b/ocr/german/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-01-12 +description: Verarbeiten Sie handschriftliche Notizen in Python mit Aspose OCR – lernen + Sie, wie Sie Text schnell aus JPG-Bildern extrahieren. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: de +og_description: Verarbeiten Sie handschriftliche Notizen in Python mit Aspose OCR. + Erfahren Sie, wie Sie Text aus JPG‑Bildern extrahieren, handschriftliche OCR erkennen + und Bilder für OCR laden. +og_title: Handgeschriebene Notizen mit Python verarbeiten – Vollständiges OCR‑Tutorial +tags: +- OCR +- Python +- Aspose +title: Handgeschriebene Notizen mit Python verarbeiten – Handgeschriebener OCR-Leitfaden +url: /de/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Handgeschriebene Notizen mit Python verarbeiten – Handwritten OCR Guide + +Wenn Sie **handgeschriebene Notizen** in Python **verarbeiten** müssen, zeigt Ihnen dieser Leitfaden genau, wie das geht. Egal, ob die Notizen auf einem gescannten Kassenbon, einem Foto einer Klassenraum‑Tafel oder einem schnellen Selfie einer To‑Do‑Liste stehen, Sie lernen **wie man Text extrahiert** aus diesen Bildern – ganz ohne Schweiß. + +Wir gehen jeden Schritt durch – das Importieren der Aspose OCR‑Bibliothek, das Laden einer JPG, das Ausführen der Engine und den Umgang mit Zeilen niedriger Vertrauenswürdigkeit. Am Ende haben Sie ein sofort einsatzbereites Skript, das **text from jpg** Dateien erkennen und Ihnen saubere, nutzbare Zeichenketten liefert. + +## Was Sie erhalten + +- Ein vollständiges, sofort ausführbares Code‑Beispiel, das out‑of‑the‑box funktioniert. +- Verständnis dafür, warum jede Zeile wichtig ist, nicht nur was sie tut. +- Tipps zum Umgang mit wackeliger Handschrift und Ergebnissen niedriger Vertrauenswürdigkeit. +- Hinweise zur Erweiterung des Skripts für PDFs, mehrere Bilder oder benutzerdefinierte Sprachpakete. + +*Voraussetzungen*: Python 3.8+ installiert, eine gültige Aspose OCR‑Lizenz (oder ein kostenloser Test), und eine Bilddatei namens `handwritten_notes.jpg` in Ihrem Projektordner. + +--- + +![Process handwritten notes example](https://example.com/handwritten-notes.png "process handwritten notes") + +*Alt‑Text: handgeschriebene Notizen verarbeiten – Beispielbild, das handgeschriebenen Text für OCR zeigt.* + +## Handgeschriebene Notizen verarbeiten: OCR‑Engine einrichten + +### Warum dieser Schritt wichtig ist +Die OCR‑Engine ist das Gehirn hinter dem Erkennungsprozess. Die richtige Sprache auszuwählen und das Objekt korrekt zu initialisieren, stellt sicher, dass die Engine weiß, dass sie nach englischen Zeichen suchen soll und dass sie die Eigenheiten handschriftlicher Eingaben handhaben kann. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Pro‑Tipp:** Wenn Sie Notizen in einer anderen Sprache erwarten, ersetzen Sie `ocr.Language.ENGLISH` durch das passende Enum (z. B. `ocr.Language.FRENCH`). Die Engine lädt dann automatisch den benötigten Zeichensatz. + +--- + +## Wie man Text aus JPG‑Bildern extrahiert + +### Bild laden – das erste Hindernis +Bevor die Engine etwas tun kann, benötigt sie eine Bitmap‑Darstellung Ihrer JPG. Aspose bietet eine praktische statische `load`‑Methode, die die Datei in ein `Image`‑Objekt einliest. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Warum nicht OpenCV oder Pillow verwenden?* +Diese Bibliotheken eignen sich hervorragend zur Vorverarbeitung, aber Aspose’s `Image.load` garantiert das exakt erwartete Pixel‑Format der OCR‑Engine und eliminiert so eine häufige Quelle von Farb‑Tiefe‑Inkonsistenzen. + +--- + +## Text aus JPG mit Handwritten OCR Python erkennen + +### OCR‑Engine ausführen +Jetzt, wo Engine und Bild bereit sind, starten wir die Erkennung. Die `process`‑Methode liefert ein `OcrResult`‑Objekt, das eine Liste von `Line`‑Objekten enthält, jeweils mit einem Vertrauens‑Score. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**Was passiert im Hintergrund?** +Aspose OCR nutzt ein Deep‑Learning‑Modell, das auf Millionen handschriftlicher Beispiele trainiert wurde. Es segmentiert das Bild in Zeilen, dann in Zeichen und setzt schließlich für jede Zeile die wahrscheinlichste Textzeichenkette zusammen. + +--- + +## Bild für OCR laden – Umgang mit Ergebnissen niedriger Vertrauenswürdigkeit + +### Warum Vertrauenswürdigkeit wichtig ist +Handschriftliche OCR ist nie zu 100 % perfekt. Ein Vertrauens‑Score unter 75 % bedeutet meist, dass die Engine mit Strichreihenfolge oder Hintergrundrauschen zu kämpfen hatte. Durch das Filtern dieser Zeilen können Sie entscheiden, ob Sie den Nutzer um Bestätigung bitten oder zusätzliche Bild‑Vorverarbeitung anwenden. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Typische Ausgabe** (Ihre Ergebnisse können abweichen): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Beachten Sie, wie das Skript zuverlässigen Text sauber von wackeligen Teilen trennt. Sie können die Zeilen niedriger Vertrauenswürdigkeit später in einem zweiten Durchlauf mit Bild‑Verbesserungsfiltern (z. B. Kontrast‑Boost) verarbeiten oder einem menschlichen Prüfer vorlegen. + +--- + +## Vollständiges Skript – sofort einsatzbereit + +Unten finden Sie das gesamte Programm, bereit zum Kopieren‑Einfügen. Speichern Sie es als `handwritten_ocr.py` und führen Sie `python handwritten_ocr.py` aus. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Erwartetes Verhalten:** +- Das Skript gibt jede Zeile mit ihrem Vertrauens‑Prozentsatz aus. +- Zeilen über 75 % werden als „Accepted“ angezeigt, während der Rest zur Überprüfung markiert wird. +- Es werden keine zusätzlichen Abhängigkeiten außer `asposeocr` benötigt. + +--- + +## Häufige Fragen & Sonderfälle + +### Was, wenn mein Bild ein PNG oder BMP ist? +Aspose OCR erkennt das Format automatisch, sodass Sie einfach die Dateierweiterung in `image_path` ändern können. Keine Code‑Änderungen nötig. + +### Meine Handschrift ist extrem unordentlich – wie kann ich die Genauigkeit verbessern? +1. **Bild vorverarbeiten** – Kontrast erhöhen, Hintergrundschatten entfernen (OpenCV kann helfen). +2. **Vertrauens‑Schwelle erhöhen** – auf 80 % setzen, wenn Sie nur nahezu perfekte Zeilen wollen. +3. **Eigenes Modell trainieren** – Aspose bietet ein „custom language pack“ für spezialisierte Handschriftstile. + +### Kann ich mehrere Bilder in einem Durchlauf verarbeiten? +Absolut. Packen Sie die Lade‑ und Verarbeitungs‑Schritte in eine `for`‑Schleife über eine Liste von Dateipfaden. Nutzen Sie dieselbe `ocr_engine`‑Instanz für höhere Geschwindigkeit. + +### Funktioniert das unter macOS/Linux? +Ja. Aspose OCR stellt Wheels für alle gängigen Plattformen bereit. Einfach `pip install asposeocr` und loslegen. + +--- + +## Nächste Schritte & verwandte Themen + +- **Wie man Text aus PDFs extrahiert** – Sobald die OCR‑Pipeline steht, ist das Einbinden von PDF‑Seiten in `ocr.Image.load` ein einziger Zeilenwechsel. +- **Integration in eine Datenbank** – Speichern Sie jede akzeptierte Zeile in SQLite oder PostgreSQL für durchsuchbare Notizen. +- **Echtzeit‑OCR auf Mobilgeräten** – Kombinieren Sie dieses Skript mit Flask oder FastAPI, um einen REST‑Endpoint bereitzustellen, den mobile Apps aufrufen können. + +All diese Erweiterungen bauen auf den Kernkonzepten auf, die wir behandelt haben: **process handwritten notes**, **how to extract text**, **recognize text from jpg**, und **load image for OCR**. + +--- + +## Fazit + +Sie haben nun eine solide End‑to‑End‑Lösung, um **process handwritten notes** mit Python und Aspose OCR zu bewältigen. Der Leitfaden führte Sie durch das Einrichten der Engine, das Laden einer JPG, das Ausführen der Erkennung und den Umgang mit Ergebnissen niedriger Vertrauenswürdigkeit – alles in einem einzigen Kopier‑Einfüge‑Skript. + +Ab hier können Sie verschiedene Bild‑Vorverarbeitungstechniken ausprobieren, die Vertrauens‑Schwelle anheben oder die Lösung skalieren, um Hunderte von Notizen stapelweise zu verarbeiten. Der Himmel ist das Limit, und der Code, den Sie gerade gelernt haben, ist Ihr Sprungbrett. + +*Viel Spaß beim Coden, und möge Ihre handgeschriebene Notiz endlich zu durchsuchbarem Text werden!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/german/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..3ee80dbf --- /dev/null +++ b/ocr/german/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-12 +description: Python OCR‑Tutorial, das zeigt, wie man Tabellentext aus einem Bild extrahiert. + Lernen Sie, Tabellen aus Bildern zu lesen und ausgewählten Text mit Aspose OCR zu + extrahieren. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: de +og_description: Python-OCR-Tutorial, das Ihnen zeigt, wie Sie Tabellentext aus einem + Bild extrahieren, Tabellen aus Bildern lesen und ausgewählten Text mit Aspose OCR + extrahieren. +og_title: 'Python OCR Tutorial: Tabellentext aus Bildern extrahieren' +tags: +- OCR +- Python +- AsposeOCR +title: 'Python-OCR-Tutorial: Tabellentext aus Bildern extrahieren' +url: /de/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR Tutorial: Tabellentext aus Bildern extrahieren + +Haben Sie jemals ein **python ocr tutorial** gebraucht, das Ihnen tatsächlich zeigt, wie man eine Tabelle aus einem gescannten Formular extrahiert? Sie sind nicht allein. Die meisten Tutorials bleiben bei der generischen Textextraktion stehen und lassen Sie rätseln, wie Sie das übersichtliche Datengitter, das Sie benötigen, isolieren können. + +In diesem Leitfaden gehen wir ein reales Szenario durch: das Lesen einer Tabelle aus einem Bild, das Extrahieren nur des ausgewählten Textes, den Sie benötigen, und schließlich das Ausgeben der Ergebnisse. Unterwegs geben wir Tipps, wie man **how to extract table** Daten zuverlässig extrahiert, sodass Sie das Rad nicht jedes Mal neu erfinden müssen. + +## Was Sie lernen werden + +- Wie man Aspose OCR für Python einrichtet. +- Wie man einen rechteckigen Bereich definiert, der eine Tabelle enthält. +- Die genauen Schritte zum **extract table text** und **read table from image**. +- Tipps zum Umgang mit mehreren Sprachen oder unregelmäßigen Tabellenlayouts. +- Ein vollständiges, ausführbares Skript, das Sie noch heute in Ihr Projekt einbinden können. + +**Voraussetzungen** +- Python 3.8 oder neuer. +- Grundlegende Vertrautheit mit OCR-Konzepten (keine tiefe Expertise erforderlich). +- Ein PNG- oder JPEG-Bild, das eine klare Tabelle enthält (wir nennen es `form_with_table.png`). + +Wenn Sie das haben, lassen Sie uns eintauchen – ohne Schnickschnack, nur umsetzbarer Code. + +![python ocr tutorial example of table region](table_region_example.png){alt="python ocr tutorial Beispiel, das den Tabellenbereich zeigt"} + +## Schritt 1: Aspose OCR installieren und importieren + +Zuerst benötigen Sie die Aspose OCR-Bibliothek. Das Paket ist auf PyPI verfügbar, sodass ein einzelner `pip`‑Befehl ausreicht. + +```bash +pip install aspose-ocr +``` + +Jetzt importieren Sie das Modul und alle Hilfsfunktionen, die Sie benötigen. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro‑Tipp:* Halten Sie Ihre Abhängigkeiten in einer `requirements.txt`‑Datei. Das erleichtert das Reproduzieren der Umgebung enorm. + +## Schritt 2: OCR‑Engine initialisieren (Python OCR Tutorial Core) + +Das Erstellen der Engine ist das Herzstück jedes **python ocr tutorial**. Hier setzen wir außerdem die Standardsprache auf Englisch – Sie können sie später problemlos ändern. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Warum die Sprache festlegen? Die OCR‑Genauigkeit kann stark steigen, wenn die Engine weiß, welche Zeichen zu erwarten sind. Wenn Sie mit mehrsprachigen Formularen arbeiten, können Sie entweder eine Liste von Sprachen festlegen oder pro Region überschreiben (siehe später). + +## Schritt 3: Bild laden + +Aspose OCR funktioniert mit den meisten gängigen Bildformaten. Zeigen Sie einfach auf den Dateipfad, und Sie erhalten ein `Image`‑Objekt, das bereit zur Verarbeitung ist. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Sonderfall:* Große Bilder (über 5 MB) können die Verarbeitung verlangsamen. Erwägen Sie, sie vor der OCR zu verkleinern oder zu komprimieren, falls die Leistung ein Problem darstellt. + +## Schritt 4: Tabellenbereich definieren (Read Table from Image) + +Jetzt kommt der spaßige Teil: der Engine mitteilen, *wo* die Tabelle liegt. Sie übergeben ein `OcrRegion` mit einem `Rectangle` (x, y, Breite, Höhe). Die Koordinaten basieren auf Pixeln, sodass Sie ein wenig experimentieren müssen. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Warum einen Bereich verwenden? Durch die Begrenzung der OCR auf den Tabellenbereich **extract selected text** wir schneller und vermeiden Rauschen von umliegenden Beschriftungen oder Grafiken. Außerdem verbessert es die Genauigkeit, da sich die Engine auf ein einheitliches Layout konzentrieren kann. + +## Schritt 5: OCR im definierten Bereich ausführen + +Mit dem gesetzten Bereich rufen wir `process_region` auf. Die Methode gibt ein `OcrResult`‑Objekt zurück, das den Rohtext, Konfidenzwerte und sogar Begrenzungsrahmen enthält, falls Sie diese später benötigen. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +Wenn Sie mehrere Tabellen extrahieren müssen, wiederholen Sie einfach die Schritte 4‑5 mit unterschiedlichen Rechtecken. + +## Schritt 6: Extrahierten Tabellentext ausgeben + +Zum Schluss geben Sie die textuelle Darstellung der Tabelle aus – oder speichern sie. Aspose OCR liefert Klartext mit Zeilenumbrüchen, die in der Regel den Zeilen entsprechen, was die Nachbearbeitung einfach macht. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Erwartete Ausgabe** (Beispiel): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +Sie können diesen String jetzt in `csv`‑Parser, pandas‑DataFrames oder jede nachgelagerte Analyse‑Pipeline einspeisen. + +## Vollständiges funktionierendes Beispiel + +Alles zusammengeführt, hier das komplette Skript, das Sie sofort ausführen können. Ersetzen Sie `YOUR_DIRECTORY/form_with_table.png` durch den tatsächlichen Pfad zu Ihrem Bild. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Führen Sie das Skript mit `python extract_table.py` aus. Wenn alles passt, wird die Tabelle in Ihrer Konsole ausgegeben. + +## Häufige Fragen & Sonderfall‑Behandlung + +**Was, wenn die Tabelle nicht perfekt rechteckig ist?** +Sie können die Tabelle in mehrere überlappende Bereiche aufteilen oder ein größeres Rechteck verwenden, das den gesamten Bereich abdeckt, und anschließend den Text nachbearbeiten (z. B. anhand von Zeilenumbrüchen splitten). + +**Kann ich nur bestimmte Spalten extrahieren?** +Nachdem Sie den vollständigen Tabellentext haben, verwenden Sie Python‑`csv` oder `pandas`, um die gewünschten Spalten herauszuschneiden. Der OCR‑Schritt selbst gibt alles innerhalb des Rechtecks zurück. + +**Wie arbeite ich mit nicht‑englischen Tabellen?** +Setzen Sie `ocr_engine.language` (oder `region.language`) auf das passende Enum, z. B. `ocr.Language.FRENCH` oder kombinieren Sie mehrere Sprachen mit `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**Gibt es eine Möglichkeit, Begrenzungsrahmen für jede Zelle zu erhalten?** +Aspose OCR kann `region_result.words` zurückgeben, wobei jedes Wort einen Begrenzungsrahmen enthält. Sie müssten diese Rahmen zurück zu einem Raster zuordnen – nützlich für fortgeschrittene Layout‑Analysen. + +## Tipps für bessere Genauigkeit + +- **Clean the image**: Binarisieren oder den Kontrast erhöhen, bevor Sie das Bild an OCR übergeben. Bibliotheken wie Pillow können helfen. +- **Avoid compression artifacts**: Speichern Sie Scans nach Möglichkeit als PNG. +- **Mind DPI**: 300 dpi ist ein optimaler Wert; niedrigere Werte können zu fehlenden Zeichen führen. +- **Test different rectangle sizes**: Etwas größere Rechtecke erfassen oft lose Zeichen, die zur Tabelle gehören. + +## Nächste Schritte + +Jetzt, da Sie **how to extract table** Daten mit Aspose OCR gemeistert haben, könnten Sie folgendes erkunden: + +- Den extrahierten Text mit Pythons `csv`‑Modul in eine CSV‑Datei umwandeln. +- Die Daten in ein **pandas**‑DataFrame für Analysen einspeisen. +- OCR zum Lesen handschriftlicher Formulare verwenden (erfordert eine andere Engine oder zusätzliches Training). +- Die Stapelverarbeitung von Dutzenden gescannter Formulare automatisieren mittels einer einfachen `for`‑Schleife. + +Jede dieser Erweiterungen baut auf den Kernkonzepten dieses **python ocr tutorial** auf, sodass Sie gut gerüstet sind, um zu skalieren. + +--- + +*Viel Spaß beim Coden! Wenn Sie auf Probleme stoßen, hinterlassen Sie unten einen Kommentar – ich helfe Ihnen gerne, die Extraktion zu optimieren.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/german/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..8298e01e --- /dev/null +++ b/ocr/german/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,285 @@ +--- +category: general +date: 2026-01-12 +description: Führen Sie OCR schnell auf PNG-Dateien mit Python aus. Erfahren Sie, + wie Sie Text aus Bildern und Rechnungen extrahieren und Bilder für OCR mit Aspose.OCR + laden. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: de +og_description: Führen Sie OCR sofort auf PNG aus. Dieser Leitfaden zeigt, wie man + Text aus Bild und Rechnung extrahiert, das Bild für OCR lädt und die Ergebnisse + als JSON und CSV speichert. +og_title: OCR auf PNG ausführen – Vollständiges Python‑Tutorial +tags: +- OCR +- Python +- Image Processing +title: OCR auf PNG ausführen – Vollständiger Python‑Leitfaden zum Extrahieren von + Text aus Bildern +url: /de/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# OCR auf PNG ausführen – Vollständiger Python‑Leitfaden zum Extrahieren von Text aus Bildern + +Haben Sie jemals **OCR auf PNG**‑Dateien ausführen müssen, waren sich aber nicht sicher, welche Bibliothek saubere, strukturierte Ergebnisse liefert? Sie sind nicht allein. In vielen realen Projekten – denken Sie an Rechnungsautomatisierung oder Beleg‑Scanning – ist der erste Schritt, **Text aus Bild**‑Dateien zu extrahieren, und PNG ist ein gängiges Format, weil es verlustfreie Qualität bewahrt. + +In diesem Tutorial führen wir Sie anhand eines praxisnahen Beispiels mit dem Aspose.OCR‑Python‑Paket. Am Ende des Leitfadens wissen Sie, wie Sie **image for OCR laden**, jede Textzeile extrahieren, die Daten in ein übersichtliches JSON‑Objekt umwandeln und sogar in CSV für die Weiterverarbeitung exportieren können. Keine Umschweife, nur eine praktische, sofort einsetzbare Lösung. + +## Was Sie lernen werden + +- Wie man die Aspose.OCR‑Bibliothek installiert und importiert. +- Die genauen Schritte, um **OCR auf PNG** auszuführen und das Ergebnisobjekt zu verarbeiten. +- Methoden, um **Text aus Rechnung**‑Dateien zu extrahieren und die Ausgabe als JSON oder CSV zu formatieren. +- Tipps zum Umgang mit kontrastarmen Bildern, mehrsprachigen Dokumenten und Vertrauenswerten. +- Ein vollständiges Copy‑and‑Paste‑Code‑Beispiel, das Sie noch heute ausführen können. + +> **Voraussetzung:** Python 3.8+ und Grundkenntnisse in pip. Wenn Sie Aspose noch nie verwendet haben, keine Sorge – dieser Leitfaden deckt alles ab, was Sie für den Einstieg benötigen. + +--- + +## Schritt 1 – Aspose.OCR installieren und Ihre Umgebung vorbereiten + +Bevor wir **OCR auf PNG** ausführen können, muss die Bibliothek auf Ihrem System vorhanden sein. + +```bash +pip install aspose-ocr +``` + +> **Pro‑Tipp:** Verwenden Sie eine virtuelle Umgebung (`python -m venv venv`), um Abhängigkeiten zu isolieren. Das verhindert Versionskonflikte, wenn Sie mehrere Projekte gleichzeitig verwalten. + +Sobald die Installation abgeschlossen ist, importieren wir die benötigten Module: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Hier importieren wir `asposeocr` für die eigentliche Verarbeitung und die eingebaute `json`‑Bibliothek für die spätere Serialisierung. + +--- + +## Schritt 2 – OCR‑Engine erstellen und Sprache festlegen + +Die OCR‑Engine ist die Kernkomponente, die tatsächlich die Pixel liest. Für die meisten englischen Rechnungen benötigen Sie das englische Sprachpaket: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Warum das wichtig ist:** Durch die Angabe der Sprache wird der Zeichensatz eingeschränkt, was die Genauigkeit erhöht und die Verarbeitung beschleunigt. Wenn Sie mehrsprachige Rechnungen verarbeiten müssen, ersetzen Sie einfach `ocr.Language.ENGLISH` durch das passende Enum. + +--- + +## Schritt 3 – Bild für OCR laden + +Jetzt **laden wir das Bild für OCR**. Die Methode `Image.load` akzeptiert einen Dateipfad und funktioniert mit PNG, JPEG, BMP und mehr. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Randfall:** Wenn das PNG ungewöhnlich groß ist (über 5 MB), sollten Sie es zuerst verkleinern, um den Speicherverbrauch im Rahmen zu halten. Pillow kann das in einer einzigen Zeile erledigen: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## Schritt 4 – OCR auf PNG ausführen und Ergebnis erfassen + +Mit der bereitstehenden Engine und dem geladenen Bild ist es Zeit, **OCR auf PNG** auszuführen und das strukturierte Ergebnis abzurufen. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +Das Objekt `ocr_result` enthält eine Sammlung von `OcrRegion`‑Elementen, jedes mit dem erkannten Text und einem Vertrauenswert (0‑100). Hier erhalten Sie die granularen Daten, die zum **Extrahieren von Text aus Rechnung**‑Zeilen nötig sind. + +--- + +## Schritt 5 – Ergebnis in JSON konvertieren und hübsch ausgeben + +Die meisten nachgelagerten Systeme lieben JSON, also wandeln wir die OCR‑Ausgabe in einen schön formatierten String um. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Sample Output + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Beachten Sie, dass jede Zeile eine Vertrauensmetrik enthält – perfekt, um Einträge mit niedriger Sicherheit herauszufiltern, wenn Sie **Text aus Rechnung** automatisch extrahieren möchten. + +--- + +## Schritt 6 – OCR‑Daten als CSV speichern (eine Zeile pro Text + Vertrauenswert) + +CSV ist ideal für Tabellenkalkulationen oder schnelle Datenimporte. Aspose bietet einen Einzeiler, um alles in eine CSV‑Datei zu schreiben. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +Die erzeugte CSV‑Datei sieht folgendermaßen aus: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Sie können sie jetzt in Excel, Google Sheets öffnen oder in eine Datenbank einspielen. + +--- + +## Bonus – Umgang mit Text niedriger Sicherheit und mehrseitigen PDFs + +### Filtern nach Vertrauenswert + +Wenn Sie nur Zeilen mit hoher Sicherheit möchten, filtern Sie das JSON, bevor Sie es schreiben: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Mehrseitige Dokumente + +Aspose.OCR erstellt automatisch einen neuen `page`‑Eintrag für jede Seite in einem mehrseitigen PNG oder PDF. Durchlaufen Sie `ocr_data["pages"]`, um alle zu verarbeiten – kein zusätzlicher Code nötig. + +--- + +## Vollständiges funktionierendes Beispiel + +Unten finden Sie das **complete script**, das Sie sofort kopieren, einfügen und ausführen können. Ersetzen Sie `YOUR_DIRECTORY` durch den Ordner, der Ihre PNG‑Datei enthält. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Führen Sie das Skript mit `python run_ocr.py` aus und Sie sehen die JSON‑Ausgabe in der Konsole, eine CSV‑Datei auf der Festplatte und eine gefilterte Liste von Einträgen mit hoher Sicherheit. + +--- + +## Häufig gestellte Fragen + +**F: Kann ich das verwenden, um Text aus einem gescannten Beleg statt einer Rechnung zu extrahieren?** +A: Absolut. Der gleiche Arbeitsablauf gilt – zeigen Sie einfach `image_path` auf Ihr Beleg‑PNG. Wenn der Beleg eine andere Sprache verwendet, wechseln Sie `engine.language` entsprechend. + +**F: Was ist, wenn mein PNG gedrehten Text enthält?** +A: Aspose.OCR erkennt die Ausrichtung automatisch, aber bei hartnäckigen Fällen können Sie das Bild mit Pillow manuell drehen, bevor Sie es an die Engine übergeben. + +**F: Benötige ich eine kostenpflichtige Lizenz für Aspose.OCR?** +A: Die Bibliothek bietet einen kostenlosen Evaluierungsmodus mit Wasserzeichen im Ergebnis. Für den Produktionseinsatz benötigen Sie eine Lizenz, die Sie auf der Aspose‑Website erhalten können. + +--- + +## Fazit + +Wir haben alles behandelt, was Sie benötigen, um **OCR auf PNG**‑Dateien mit Python auszuführen: Installation des SDK, Laden des Bildes, Extrahieren strukturierten Textes und Speichern des Ergebnisses als JSON oder CSV. Egal, ob Sie **Text aus Bild** für ein einfaches Skript oder **Text aus Rechnung** für eine automatisierte Buchhaltungspipeline extrahieren möchten, die obigen Schritte bieten Ihnen eine solide, produktionsbereite Grundlage. + +Als Nächstes könnten Sie folgendes erkunden: + +- Integration der CSV‑Ausgabe in eine Datenbank für die massenhafte Rechnungsablage. +- Hinzufügen einer Nachbearbeitung mit regulären Ausdrücken, um Daten, Beträge oder Steuer‑IDs zu extrahieren. +- Nutzung der Funktion `ocr_engine.recognize_barcode`, falls Ihre Rechnungen QR‑Codes enthalten. + +Probieren Sie es aus, passen Sie die Vertrauens‑Schwellenwerte an und sehen Sie, wie Ihr Dokumenten‑Verarbeitungs‑Workflow zum Kinderspiel wird. Haben Sie weitere Fragen oder ein cooles Anwendungsbeispiel? Hinterlassen Sie unten einen Kommentar – happy OCRing! + +![run OCR on PNG example](run-ocr-on-png.png "run OCR on PNG – visual example of OCR result") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/greek/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..b6a77560 --- /dev/null +++ b/ocr/greek/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,195 @@ +--- +category: general +date: 2026-01-12 +description: Εξάγετε κείμενο από εικόνα με Python χρησιμοποιώντας το Aspose OCR. Μάθετε + πώς να μετατρέπετε σκαναρισμένη εικόνα σε κείμενο με ασύγχρονο κώδικα σε λίγα λεπτά. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: el +og_description: Εξαγωγή κειμένου από εικόνα Python με Aspose OCR. Αυτό το σεμινάριο + δείχνει πώς να μετατρέψετε μια σαρωμένη εικόνα σε κείμενο χρησιμοποιώντας ασύγχρονες + λειτουργίες. +og_title: Εξαγωγή κειμένου από εικόνα με Python – Οδηγός Async OCR +tags: +- python +- ocr +- async +title: Εξαγωγή κειμένου από εικόνα με Python – Οδηγός Async OCR +url: /el/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Εξαγωγή Κειμένου από Εικόνα με Python – Οδηγός Async OCR + +Έχετε χρειαστεί ποτέ να **εξάγετε κείμενο από εικόνα Python** σε σενάρια αλλά να κολλήσετε στο μέρος του OCR; Δεν είστε μόνοι. Πολλοί προγραμματιστές αντιμετωπίζουν πρόβλημα όταν έχουν ένα σαρωμένο έγγραφο και θέλουν να το μετατρέψουν σε αναζητήσιμο κείμενο χωρίς να τρελαίνονται. + +Σε αυτό το tutorial θα περάσουμε από ένα πλήρες, εκτελέσιμο παράδειγμα που δείχνει πώς να **μετατρέψετε σαρωμένη εικόνα σε κείμενο** χρησιμοποιώντας το ασύγχρονο API του Aspose OCR. Στο τέλος θα έχετε μια μοναδική συνάρτηση που μπορείτε να ενσωματώσετε σε οποιοδήποτε έργο, και θα καταλάβετε γιατί η ασύγχρονη επεξεργασία μπορεί να κρατήσει την εφαρμογή σας ανταποκρινόμενη ακόμη και όταν το OCR διαρκεί μερικά δευτερόλεπτα. + +## Προαπαιτούμενα + +Πριν ξεκινήσουμε, βεβαιωθείτε ότι έχετε: + +- Python 3.8+ εγκατεστημένο (οι ασύγχρονες δυνατότητες απαιτούν τουλάχιστον 3.7) +- Πακέτο `asposeocr` (`pip install asposeocr`) – αυτή είναι η βιβλιοθήκη που θα χρησιμοποιήσουμε +- Ένα σαρωμένο αρχείο εικόνας (TIFF, PNG, JPEG – ό,τι υποστηρίζει το Aspose OCR) +- Βασική εξοικείωση με `asyncio` (αν δεν την έχετε, μην ανησυχείτε – θα εξηγήσουμε κάθε βήμα) + +Δεν απαιτούνται πρόσθετες εξαρτήσεις συστήματος· το Aspose OCR περιλαμβάνει όλα όσα χρειάζεστε. + +![Διάγραμμα που δείχνει τη ροή async OCR – εξαγωγή κειμένου από εικόνα Python](https://example.com/async-ocr-diagram.png "async OCR flow – extract text from image python") + +## Βήμα 1 – Ρύθμιση της Ασύγχρονης Βοηθητικής Συνάρτησης + +Η καρδιά της λύσης είναι μια `async` συνάρτηση που φορτώνει μια εικόνα, ξεκινά το OCR και στη συνέχεια περιμένει το αποτέλεσμα. Κρατώντας τη συνάρτηση ασύγχρονη, μπορείτε να εκτελείτε άλλες coroutine (π.χ. λήψη περισσότερων αρχείων) ενώ η μηχανή OCR εργάζεται στο παρασκήνιο. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Γιατί είναι σημαντικό:** Επιστρέφοντας ένα `Future`, το Aspose OCR κάνει το βαρέως φορτίου έργο σε ξεχωριστό thread pool. Το `await` ελευθερώνει το event loop, ώστε η εφαρμογή σας να παραμένει γρήγορη. Αν χρειαστεί ποτέ να επεξεργαστείτε πολλές εικόνες ταυτόχρονα, μπορείτε απλώς να προγραμματίσετε πολλαπλές κλήσεις `async_ocr` με `asyncio.gather`. + +## Βήμα 2 – Εκτέλεση της Coroutine στο Event Loop + +Τώρα που έχουμε τη βοηθητική συνάρτηση, πρέπει να την εκτελέσουμε. Το `asyncio.run` δημιουργεί ένα νέο event loop, τρέχει τη coroutine και κλείνει τα πάντα καθαρά. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Συμβουλή:** Αν την ενσωματώνετε σε μια μεγαλύτερη ασύγχρονη εφαρμογή (π.χ. FastAPI), θα καλέσετε `await async_ocr(...)` απευθείας αντί για `asyncio.run`. + +## Βήμα 3 – Επαλήθευση του Αποτελέσματος + +Όταν τρέξετε το script, θα πρέπει να δείτε κάτι σαν: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Αν το αποτέλεσμα φαίνεται χαραγμένο, ελέγξτε ξανά ότι: + +1. Η εικόνα είναι καθαρή και δεν είναι υπερβολικά συμπιεσμένη. +2. Έχετε επιλέξει τη σωστή γλώσσα (`ocr.Language.ENGLISH` λειτουργεί για τα περισσότερα κείμενα με λατινικό αλφάβητο). +3. Η διαδρομή του αρχείου είναι σωστή και το αρχείο είναι αναγνώσιμο. + +## Βήμα 4 – Διαχείριση Ακραίων Περιπτώσεων + +### Πολλαπλές Γλώσσες + +Αν χρειάζεται να **μετατρέψετε σαρωμένη εικόνα σε κείμενο** σε γλώσσα διαφορετική από τα Αγγλικά, απλώς αλλάξτε την ιδιότητα γλώσσας: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Μεγάλα Αρχεία + +Για πολύ μεγάλα TIFF, σκεφτείτε να αλλάξετε το μέγεθος ή να τα μετατρέψετε σε PNG χαμηλότερης ανάλυσης πριν τα δώσετε στο OCR. Αυτό μειώνει την πίεση μνήμης και επιταχύνει την επεξεργασία. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Διαχείριση Σφαλμάτων + +Τυλίξτε την κλήση OCR σε μπλοκ `try/except` για να πιάσετε σφάλματα δικτύου ή αδειοδότησης. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Βήμα 5 – Κλιμάκωση: Επεξεργασία Πολλών Εικόνων Συγχρόνως + +Επειδή η συνάρτηση είναι async, μπορείτε να ξεκινήσετε δεκάδες εργασίες OCR ταυτόχρονα: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Αυτό το μοτίβο κρατά την CPU απασχολημένη ενώ η μηχανή OCR λειτουργεί παράλληλα, μειώνοντας δραστικά το συνολικό χρόνο επεξεργασίας. + +## Συμπέρασμα + +Τώρα έχετε μια ισχυρή λύση **extract text from image Python** που αξιοποιεί το ασύγχρονο API του Aspose OCR. Το πλήρες παράδειγμα δείχνει πώς να: + +1. Αρχικοποιήσετε τη μηχανή OCR και να επιλέξετε γλώσσα. +2. Εκκινήσετε το OCR ασύγχρονα με `process_async`. +3. Περιμένετε το αποτέλεσμα χωρίς να μπλοκάρετε το event loop. +4. Διαχειριστείτε κοινά προβλήματα όπως μεγάλα αρχεία και υποστήριξη πολλαπλών γλωσσών. + +Αισθανθείτε ελεύθεροι να προσαρμόσετε τον κώδικα στις δικές σας ροές εργασίας—είτε χτίζετε σύστημα διαχείρισης εγγράφων, μηχανή ευρετηρίου αναζήτησης, ή απλό εργαλείο γραμμής εντολών. Επόμενα βήματα θα μπορούσαν να περιλαμβάνουν: + +- Αποθήκευση του εξαγόμενου κειμένου σε βάση δεδομένων για πλήρη αναζήτηση κειμένου. +- Προσθήκη δημιουργίας PDF (π.χ. με χρήση `PyPDF2`) για δημιουργία αναζητήσιμων PDF. +- Ενσωμάτωση με web framework όπως FastAPI για υπηρεσία OCR τύπου REST. + +Καλή προγραμματιστική και απολαύστε τη μετατροπή των σαρωμένων εικόνων σε αναζητήσιμο, επεξεργάσιμο κείμενο! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/greek/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..b4f41eb7 --- /dev/null +++ b/ocr/greek/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-01-12 +description: Πώς να εκτελέσετε μαζική OCR εικόνων γρήγορα και να εξάγετε κείμενο από + αρχεία JPEG σε Python. Μάθετε βήμα‑βήμα τη μαζική επεξεργασία με ένα πλήρες εκτελέσιμο + παράδειγμα. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: el +og_description: Πώς να εκτελέσετε μαζική OCR εικόνων και να εξάγετε κείμενο από αρχεία + JPEG. Αυτός ο οδηγός σας καθοδηγεί βήμα‑βήμα μέσα από μια πλήρη, έτοιμη προς εκτέλεση + λύση Python. +og_title: Πώς να επεξεργαστείτε εικόνες OCR σε παρτίδες – Γρήγορο σεμινάριο Python +tags: +- OCR +- Python +- image processing +title: Πώς να κάνετε ομαδική OCR εικόνων – Γρήγορος οδηγός για την εξαγωγή κειμένου + από αρχεία JPEG +url: /el/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να Επεξεργαστείτε OCR Εικόνες Μαζικά – Γρήγορος Οδηγός για Εξαγωγή Κειμένου από Αρχεία JPEG + +Έχετε αναρωτηθεί ποτέ **πώς να κάνετε OCR εικόνες μαζικά** χωρίς να γράφετε ξεχωριστό script για κάθε αρχείο; Δεν είστε μόνοι. Σε πολλά έργα—σάρωση τιμολογίων, ψηφιοποίηση αρχείων, ή διαχείριση περιεχομένου—πρέπει να εξάγουμε κείμενο από δεκάδες ή εκατοντάδες αρχεία JPEG σε μία μόνο εκτέλεση. Το καλό νέο είναι ότι μπορείτε να το κάνετε με λίγες γραμμές Python και θα έχετε μια επαναχρησιμοποιήσιμη μηχανή που μπορείτε να ενσωματώσετε σε οποιοδήποτε pipeline. + +Σε αυτό το tutorial θα δείξουμε ακριβώς **πώς να κάνετε OCR εικόνες μαζικά**, θα περάσουμε από την εξαγωγή κειμένου από αρχεία JPEG, τη διαχείριση ειδικών περιπτώσεων και την επαλήθευση του αποτελέσματος. Στο τέλος θα έχετε ένα αυτόνομο script που μπορείτε να τρέξετε σε οποιονδήποτε φάκελο εικόνων, και θα καταλάβετε γιατί η μαζική επεξεργασία είναι σημαντική για την απόδοση και τη συντηρησιμότητα. + +## Τι Θα Μάθετε + +- Ρύθμιση μιας απλής μηχανής OCR και διαμόρφωση για Αγγλικά. +- Συλλογή όλων των αρχείων JPEG από έναν φάκελο με `pathlib`. +- Κλήση της μηχανής OCR μία φορά για την επεξεργασία ολόκληρης της δέσμης. +- Εμφάνιση προεπισκόπησης του αναγνωρισμένου κειμένου για κάθε εικόνα. +- Συμβουλές για τη διαχείριση μεγάλων δέσμεων, διαφορετικών γλωσσών και κοινών παγίδων. + +**Προαπαιτούμενα**: Python 3.8+, η βιβλιοθήκη `ocr` (ή οποιοδήποτε συμβατό wrapper) και ένας φάκελος με εικόνες JPEG που θέλετε να αναλύσετε. Δεν απαιτούνται εξωτερικές υπηρεσίες—όλα εκτελούνται τοπικά. + +--- + +## Βήμα 1: Αρχικοποίηση της Μηχανής OCR – Ο Πυρήνας του Πώς να Επεξεργαστείτε OCR Εικόνες Μαζικά + +Πριν μπορέσουμε να **κάνουμε OCR εικόνες μαζικά**, χρειαζόμαστε μια μηχανή που ξέρει πώς να διαβάζει κείμενο. Στις περισσότερες βιβλιοθήκες δημιουργείτε ένα αντικείμενο μηχανής, προαιρετικά ορίζετε τη γλώσσα και στη συνέχεια το επαναχρησιμοποιείτε για κάθε αρχείο. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Γιατί είναι σημαντικό*: Η αρχικοποίηση της μηχανής μία φορά αποφεύγει το κόστος φόρτωσης των μοντέλων γλώσσας επανειλημμένα. Επίσης, σας δίνει ένα μοναδικό σημείο για να ρυθμίσετε παραμέτρους (π.χ. DPI, whitelist χαρακτήρων) που θα ισχύουν για ολόκληρη τη δέσμη. + +> **Pro tip**: Αν σκοπεύετε να επεξεργαστείτε πολυγλωσσικά έγγραφα, αλλάξτε το `ocr.Language.ENGLISH` σε `ocr.Language.MULTI` ή φορτώστε πολλαπλά πακέτα γλώσσας πριν ξεκινήσει η δέσμη. + +--- + +## Βήμα 2: Συλλογή Όλων των Αρχείων JPEG – Το Μέρος «Εξαγωγή Κειμένου από Αρχεία JPEG» + +Τώρα που η μηχανή είναι έτοιμη, πρέπει να της πούμε ποιες εικόνες θα επεξεργαστεί. Η χρήση του `pathlib` κάνει τον κώδικα ανεξάρτητο από πλατφόρμα και σύντομο. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Γιατί είναι σημαντικό*: Συλλέγοντας πρώτα τη λίστα αρχείων, μπορούμε να τροφοδοτήσουμε ολόκληρη τη συλλογή στη μηχανή OCR με μία κλήση—ακριβώς αυτό που σημαίνει «πώς να κάνετε OCR εικόνες μαζικά». Αν έχετε υποφακέλους, μπορείτε να αλλάξετε το `glob("**/*.jpg")` ώστε να ψάχνει αναδρομικά. + +> **Edge case**: Αν οι εικόνες σας έχουν μικτές επεκτάσεις (`.jpeg`, `.JPG`), επεκτείνετε το μοτίβο glob: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Βήμα 3: Επεξεργασία Ολόκληρης της Δέσμης με Μία Κλήση – Η Πραγματική Δύναμη του Batch OCR + +Οι περισσότερες σύγχρονες βιβλιοθήκες OCR προσφέρουν μια μέθοδο `process_batch` (ή παρόμοια) που δέχεται έναν επαναλήψιμο κατάλογο διαδρομών αρχείων. Αυτό είναι η καρδιά του **πώς να κάνετε OCR εικόνες μαζικά** αποδοτικά. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Γιατί είναι σημαντικό*: Μία κλήση δέσμης μειώνει τον αριθμό των μεταβάσεων Python‑to‑C, κρατά το μοντέλο γλώσσας φορτωμένο στη μνήμη και συχνά επιτρέπει εσωτερική παραλληλοποίηση. Το αποτέλεσμα είναι μια λίστα αντικειμένων—κάθε ένα περιέχει το αναγνωρισμένο κείμενο και τις βαθμολογίες εμπιστοσύνης. + +> **Performance note**: Για πολύ μεγάλες δέσμες (χιλιάδες εικόνες), σκεφτείτε να χωρίσετε τη λίστα σε μικρότερα τμήματα (π.χ. 200 αρχεία) ώστε να αποφύγετε υπερβολική κατανάλωση μνήμης. + +--- + +## Βήμα 4: Εμφάνιση Προεπισκόπησης του Εξαγόμενου Κειμένου – Γρήγορη Επαλήθευση + +Αφού ολοκληρωθεί η δέσμη, είναι χρήσιμο να ρίξετε μια ματιά στους πρώτους χαρακτήρες κάθε αποτελέσματος. Αυτό σας βοηθά να επιβεβαιώσετε ότι το OCR εξάγει πράγματι κείμενο από τα αρχεία JPEG σας. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Γιατί είναι σημαντικό*: Μια σύντομη προεπισκόπηση σας επιτρέπει να εντοπίσετε προφανείς αποτυχίες (π.χ. κενό αποτέλεσμα, χαλασμένοι χαρακτήρες) χωρίς να ανοίξετε κάθε αρχείο. Αν παρατηρήσετε συστηματικά προβλήματα, μπορείτε να προσαρμόσετε τις ρυθμίσεις της μηχανής και να ξανατρέξετε τη δέσμη. + +> **Common pitfall**: Η παράλειψη αφαίρεσης χαρακτήρων νέας γραμμής μπορεί να κάνει την προεπισκόπηση ακατάστατη. Η γραμμή `replace("\n", " ")` το καθαρίζει. + +--- + +## Πλήρες Παράδειγμα Λειτουργίας – Όλα τα Βήματα Συνδυασμένα + +Ακολουθεί το πλήρες script που μπορείτε να αντιγράψετε‑επικολλήσετε, να προσαρμόσετε τη διαδρομή του φακέλου και να τρέξετε. Δείχνει ολόκληρη τη ροή **πώς να κάνετε OCR εικόνες μαζικά** από την αρχή μέχρι το τέλος. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Αναμενόμενο αποτέλεσμα** (παράδειγμα): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Αν η προεπισκόπηση εμφανίζει νόημα κείμενο, έχετε εξαγάγει επιτυχώς **κείμενο από αρχεία JPEG** χρησιμοποιώντας μια μαζική προσέγγιση. + +--- + +## Διαχείριση Μεγάλων Δεσμών και Προχωρημένα Σενάρια + +### Κατακερματισμός Μεγάλων Φορτίων Εργασίας +Όταν εργάζεστε με χιλιάδες εικόνες, η μνήμη μπορεί να γίνει bottleneck. Χωρίστε τη λίστα σε μικρότερα τμήματα: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Αλλαγή Γλωσσών +Αν τα έγγραφά σας περιέχουν Γαλλικά ή Ισπανικά, αλλάξτε τη γλώσσα πριν την δέσμη: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Αποθήκευση Αποτελεσμάτων σε Δίσκο +Αντί να τυπώνετε, ίσως θέλετε να γράψετε κάθε αποτέλεσμα OCR σε αρχείο `.txt`: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Συμπέρασμα + +Τώρα ξέρετε **πώς να κάνετε OCR εικόνες μαζικά** και αξιόπιστα **να εξάγετε κείμενο από αρχεία JPEG** χρησιμοποιώντας ένα σύντομο script Python. Αρχικοποιώντας τη μηχανή μία φορά, συλλέγοντας όλες τις διαδρομές JPEG, επεξεργάζοντάς τες σε μία δέσμη και προεπισκοπώντας το αποτέλεσμα, επιτυγχάνετε ταχύτητα και απλότητα. Από εδώ μπορείτε να επεκτείνετε τη ροή—να προσθέσετε πολυγλωσσική υποστήριξη, να αποθηκεύσετε τα αποτελέσματα σε βάση δεδομένων ή να ενσωματώσετε το script σε ένα μεγαλύτερο pipeline επεξεργασίας εγγράφων. + +Έτοιμοι για το επόμενο βήμα; Δοκιμάστε να αντικαταστήσετε τη βιβλιοθήκη `ocr` με το Tesseract, πειραματιστείτε με διαφορετική προεπεξεργασία εικόνας (thresholding, resizing) ή τροφοδοτήστε το εξαγόμενο κείμενο σε μοντέλο φυσικής γλώσσας για αυτόματη κατηγοριοποίηση. Ο ουρανός είναι το όριο, και έχετε μια σταθερή βάση για να χτίσετε. + +Καλή κωδικοποίηση, και εύχομαι οι OCR δέσμες σας να είναι πάντα χωρίς σφάλματα! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/greek/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..eb7963d0 --- /dev/null +++ b/ocr/greek/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,147 @@ +--- +category: general +date: 2026-01-12 +description: Πώς να ανιχνεύσετε τη γλώσσα σε εικόνες χρησιμοποιώντας το Aspose OCR + – μάθετε να εξάγετε κείμενο από εικόνα, να διαχειρίζεστε OCR μικτής γλώσσας και + να χρησιμοποιείτε OCR σε Python. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: el +og_description: Πώς να ανιχνεύσετε τη γλώσσα σε εικόνες χρησιμοποιώντας το Aspose + OCR – ένας οδηγός βήμα‑προς‑βήμα για την εξαγωγή κειμένου από εικόνα και τη διαχείριση + OCR με μεικτές γλώσσες. +og_title: Πώς να ανιχνεύσετε τη γλώσσα με OCR για μεικτό κείμενο +tags: +- OCR +- Python +- Aspose +title: Πώς να ανιχνεύσετε τη γλώσσα με OCR για μεικτό κείμενο +url: /el/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να ανιχνεύσετε τη γλώσσα με OCR για μεικτό κείμενο + +Πώς να ανιχνεύσετε τη γλώσσα σε εικόνες χρησιμοποιώντας το Aspose OCR είναι μια συχνή πρόκληση όταν εργάζεστε με πολυγλωσσικά έγγραφα. Έχετε αναρωτηθεί ποτέ **πώς να εξάγετε κείμενο από εικόνα** που περιέχει τόσο αγγλικά όσο και γαλλικά στην ίδια σελίδα; Σε αυτό το tutorial θα περάσουμε βήμα‑βήμα από ένα πλήρες, εκτελέσιμο παράδειγμα που δείχνει ακριβώς πώς να χρησιμοποιήσετε το OCR για να εντοπίσετε τη γλώσσα, να εξάγετε το κείμενο και να διαχειριστείτε σενάρια μεικτής γλώσσας χωρίς καμία δυσκολία. + +Θα καλύψουμε όλα όσα χρειάζεστε: τη ρύθμιση του κινητήρα Aspose OCR, τον ορισμό των γλωσσών που πρέπει να ληφθούν υπόψη, τη φόρτωση ενός δείγματος εικόνας τιμολογίου, την εκτέλεση της διαδικασίας OCR και, τέλος, την εκτύπωση της εντοπισμένης γλώσσας μαζί με το εξαγόμενο κείμενο. Στο τέλος θα μπορείτε να απαντήσετε στην ερώτηση “πώς να χρησιμοποιήσετε το OCR για μεικτή γλώσσα” στα δικά σας έργα, είτε χτίζετε μια γραμμή επεξεργασίας τιμολογίων, έναν σαρωτή αποδείξεων ή ένα εργαλείο αρχειοθέτησης εγγράφων. + +> **Απαιτούμενα** – Θα πρέπει να έχετε εγκατεστημένο το Python 3.8+, βασική εξοικείωση με το pip και μια άδεια Aspose OCR (η δωρεάν δοκιμή λειτουργεί για αυτή τη demo). Δεν απαιτούνται άλλες εξωτερικές βιβλιοθήκες. + +--- + +## Πώς να ανιχνεύσετε τη γλώσσα με Aspose OCR + +Το πρώτο βήμα είναι να δημιουργήσετε μια παρουσία του κινητήρα OCR και να του πείτε ποιες γλώσσες πρέπει να ψάξει. Το Aspose OCR χρησιμοποιεί μια bit‑mask για να συνδυάσει γλώσσες, κάτι που το καθιστά εύκολο να υποστηρίξει αγγλικά, γαλλικά, ισπανικά ή οποιονδήποτε συνδυασμό χρειάζεστε. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Γιατί είναι σημαντικό:** Η αρχικοποίηση του κινητήρα είναι το θεμέλιο. Χωρίς αυτήν δεν μπορείτε να καλέσετε καμία μέθοδο OCR, και ο κινητήρας κρατά όλες τις ρυθμίσεις που καθορίζουν πόσο καλά μπορεί να **ανιχνεύσει τη γλώσσα** αργότερα. + +--- + +## Εξαγωγή κειμένου από εικόνα με OCR + +Τώρα πρέπει να ενημερώσουμε τον κινητήρα ποιες γλώσσες είναι πιθανές. Ορίζοντας μια bit‑mask `ENGLISH | FRENCH` ενεργοποιούμε τον κινητήρα να επιλέγει αυτόματα την καλύτερη αντιστοιχία για κάθε περιοχή της εικόνας. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Γιατί είναι σημαντικό:** Η ενεργοποίηση του `auto_detect_language` είναι η ουσία του **πώς να ανιχνεύσετε τη γλώσσα** σε ένα έγγραφο μεικτής γλώσσας. Ο κινητήρας σαρώει το κείμενο, βαθμολογεί κάθε γλώσσα και επιστρέφει αυτήν με την υψηλότερη εμπιστοσύνη. Αν παραλείψετε αυτό το βήμα, θα πρέπει να μαντέψετε τη γλώσσα μόνοι σας, κάτι που αναιρεί το σκοπό του OCR μεικτής γλώσσας. + +--- + +## Ρύθμιση παραμέτρων OCR για μεικτή γλώσσα + +Πριν τροφοδοτήσουμε μια εικόνα στον κινητήρα, πρέπει να τη φορτώσουμε. Το Aspose OCR λειτουργεί με τη δική του κλάση `Image`, η οποία αφαιρεί την πολυπλοκότητα του υποκείμενου τύπου αρχείου. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Συμβουλή:** Κρατήστε την ανάλυση της εικόνας γύρω στα 300 dpi για τα καλύτερα αποτελέσματα. Χαμηλότερες αναλύσεις μπορούν να κάνουν την ανίχνευση γλώσσας να χάσει λεπτές χαρακτήρες, ειδικά τα τονισμένα γαλλικά γράμματα. + +--- + +## Εκτέλεση της διαδικασίας OCR και λήψη αποτελεσμάτων + +Με τον κινητήρα ρυθμισμένο και την εικόνα φορτωμένη, μπορούμε τελικά να τρέξουμε τη διαδικασία OCR. Η μέθοδος `process` επιστρέφει ένα αντικείμενο `OcrResult` που περιέχει τόσο τον κωδικό της εντοπισμένης γλώσσας όσο και το πλήρες εξαγόμενο κείμενο. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Αναμενόμενη έξοδος** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Αν η εικόνα περιέχει γαλλικά τμήματα, θα δείτε `FRENCH` ως την εντοπισμένη γλώσσα και το αντίστοιχο γαλλικό κείμενο να εκτυπώνεται. + +--- + +## Παράδειγμα εικόνας (Alt Text για SEO) + +![πώς να ανιχνεύσετε τη γλώσσα σε εικόνα OCR μεικτής γλώσσας](mixed_lang_invoice.png) + +*Το screenshot παραπάνω δείχνει ένα δείγμα τιμολογίου που περιέχει τόσο αγγλικό όσο και γαλλικό κείμενο, επιδεικνύοντας πώς ο κινητήρας OCR μπορεί να **ανιχνεύσει τη γλώσσα** και να εξάγει το περιεχόμενο σε ένα μόνο πέρασμα.* + +--- + +## Συνηθισμένα προβλήματα και επαγγελματικές συμβουλές + +| Πρόβλημα | Γιατί συμβαίνει | Πώς να διορθώσετε / μετριάσετε | +|----------|----------------|--------------------------------| +| **Θολές ή χαμηλής ανάλυσης σαρώσεις** | Ο κινητήρας δεν μπορεί να διακρίνει χαρακτήρες, οδηγώντας σε λανθασμένη ανίχνευση γλώσσας. | Σαρώστε σε ≥300 dpi, εφαρμόστε όξυνση εικόνας πριν το OCR. | +| **Λείπει γλώσσα στη bit‑mask** | Αν ξεχάσετε να συμπεριλάβετε μια γλώσσα, ο κινητήρας θα προεπιλέξει την πρώτη αντιστοιχία, συχνά δίνοντας ανακριβή αποτελέσματα. | Πάντα να αναφέρετε κάθε γλώσσα που αναμένετε· μπορείτε να συνδυάσετε πολλές χρησιμοποιώντας τον τελεστή `|`. | +| **Μεικτά αλφάβητα (π.χ., Latin + Cyrillic)** | Το Aspose OCR μπορεί να χρειάζεται ξεχωριστά πακέτα γλώσσας. | Εγκαταστήστε πρόσθετα πακέτα γλώσσας και προσθέστε τα στη mask. | +| **Μεγάλα αρχεία που προκαλούν άλματα μνήμης** | Η φόρτωση μιας τεράστιας εικόνας στη μνήμη μπορεί να καταρρεύσει το script. | Χρησιμοποιήστε `Image.resize` για να μειώσετε το μέγεθος διατηρώντας το DPI, ή επεξεργαστείτε την εικόνα σε τμήματα. | + +**Συμβουλή επαγγελματία:** Αφού λάβετε το ακατέργαστο κείμενο, εκτελέστε ένα γρήγορο βήμα post‑processing για να ομαλοποιήσετε τα κενά και τις αλλαγές γραμμής. Αυτό κάνει την επεξεργασία downstream (π.χ., εξαγωγή αριθμών τιμολογίων) πολύ πιο απλή. + +--- + +## Συμπέρασμα: Τι μάθατε + +Τώρα ξέρετε **πώς να ανιχνεύσετε τη γλώσσα** σε μια εικόνα μεικτής γλώσσας χρησιμοποιώντας το Aspose OCR, και είδατε ένα πλήρες, end‑to‑end παράδειγμα που δείχνει επίσης **πώς να εξάγετε κείμενο από εικόνα**. Με τη ρύθμιση της bit‑mask γλώσσας, την ενεργοποίηση της αυτόματης ανίχνευσης και τη διαχείριση του αντικειμένου αποτελέσματος, μπορείτε αξιόπιστα να επεξεργάζεστε τιμολόγια, αποδείξεις ή οποιοδήποτε έγγραφο που συνδυάζει αγγλικά και γαλλικά (ή άλλες γλώσσες). + +### Επόμενα βήματα + +- Δοκιμάστε να προσθέσετε **πώς να εξάγετε κείμενο** από PDF μετατρέποντας κάθε σελίδα σε εικόνα πρώτα. +- Πειραματιστείτε με τις άλλες δευτερεύουσες λέξεις‑κλειδιά: εξερευνήστε όλη την επιφάνεια API **πώς να χρησιμοποιήσετε OCR**, όπως ο ορισμός ζωνών OCR για ταχύτερη επεξεργασία. +- Βυθιστείτε σε πιο σύνθετες περιπτώσεις **OCR μεικτής γλώσσας**, όπως έγγραφα που εναλλάσσουν τρεις ή περισσότερες γλώσσες. + +Αισθανθείτε ελεύθεροι να τροποποιήσετε τον κώδικα, να τον δοκιμάσετε στις δικές σας εικόνες, και αφήστε τον κινητήρα να κάνει το σκληρό έργο. Αν αντιμετωπίσετε δυσκολίες, αφήστε ένα σχόλιο παρακάτω — καλή κωδικοποίηση! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/greek/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..64f0d9ae --- /dev/null +++ b/ocr/greek/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,213 @@ +--- +category: general +date: 2026-01-12 +description: Μάθετε πώς να κάνετε OCR σε PDF με Python και να κάνετε το PDF αναζητήσιμο + γρήγορα. Μετατρέψτε σκαναρισμένα PDF, εξάγετε κείμενο από PDF και κάντε OCR σε σκαναρισμένα + PDF με Python χρησιμοποιώντας το Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: el +og_description: Πώς να κάνετε OCR PDF σε Python; Αυτό το βήμα‑βήμα tutorial σας δείχνει + πώς να μετατρέψετε σαρωμένα αρχεία PDF σε αναζητήσιμα PDF και να εξάγετε κείμενο + με το Aspose OCR. +og_title: Πώς να κάνετε OCR σε PDF και να το κάνετε αναζητήσιμο – Οδηγός Python +tags: +- OCR +- Python +- PDF processing +title: Πώς να κάνετε OCR σε PDF και να το κάνετε αναζητήσιμο – Οδηγός Python +url: /el/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να κάνετε OCR PDF και να το κάνετε Αναζητήσιμο – Οδηγός Python + +Έχετε αναρωτηθεί ποτέ **πώς να κάνετε OCR PDF** αρχεία χωρίς να ξοδέψετε μια περιουσία σε εμπορικό λογισμικό; Δεν είστε μόνοι. Πολλοί προγραμματιστές συναντούν δυσκολίες όταν πρέπει να μετατρέψουν ένα σαρωμένο συμβόλαιο, ένα τιμολόγιο ή οποιοδήποτε PDF βασισμένο σε εικόνα σε ένα αναζητήσιμο έγγραφο. Τα καλά νέα; Με μερικές γραμμές Python και Aspose OCR μπορείτε να μετατρέψετε σαρωμένα PDF, να εξάγετε κείμενο PDF και τελικά να κάνετε το PDF αναζητήσιμο σε λίγα λεπτά. + +Σε αυτό το εκπαιδευτικό υλικό θα περάσουμε από όλα όσα χρειάζεστε: από την εγκατάσταση της βιβλιοθήκης, τη ρύθμιση της γλώσσας, την επεξεργασία ενός σαρωμένου PDF, μέχρι την αποθήκευση του αποτελέσματος ως αναζητήσιμο PDF που περιέχει τόσο την αρχική εικόνα όσο και ένα κρυφό στρώμα κειμένου. Στο τέλος θα έχετε ένα επαναχρησιμοποιήσιμο script που μπορείτε να ενσωματώσετε σε οποιοδήποτε έργο—χωρίς να χρειάζεται χειροκίνητη αντιγραφή‑επικόλληση. + +--- + +## Τι Θα Χρειαστείτε + +- **Python 3.8+** (ο κώδικας λειτουργεί σε 3.9, 3.10 και νεότερες εκδόσεις) +- Μία ενεργή άδεια **Aspose OCR for Python** (μια δωρεάν δοκιμή λειτουργεί για πειραματισμό) +- Ένα σαρωμένο αρχείο PDF (π.χ., `scanned_contract.pdf`) που θέλετε να κάνετε αναζητήσιμο +- Βασική εξοικείωση με τη γραμμή εντολών και τα εικονικά περιβάλλοντα (προαιρετικό αλλά συνιστάται) + +> **Συμβουλή:** Αν δεν έχετε ακόμη άδεια, εγγραφείτε για δοκιμαστική περίοδο 30 ημερών στην ιστοσελίδα της Aspose· η δοκιμαστική έκδοση είναι πλήρως λειτουργική για σκοπούς ανάπτυξης. + +## Πώς να κάνετε OCR PDF με Aspose OCR (Κύρια Λέξη-Κλειδί σε H2) + +Το πρώτο βήμα είναι να αποκτήσετε το σωστό πακέτο. Το Aspose OCR παρέχει ένα καθαρό, υψηλού επιπέδου API που αφαιρεί τις λεπτομέρειες της χαμηλού επιπέδου επεξεργασίας εικόνας. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +Μόλις εγκατασταθεί το πακέτο, μπορείτε να ξεκινήσετε να γράφετε το script. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Γιατί να ορίσετε τη γλώσσα;** +> Η ακρίβεια του OCR εξαρτάται σε μεγάλο βαθμό από το μοντέλο γλώσσας. Ενημερώνοντας ρητά τη μηχανή ότι αναμένει κείμενο στα Αγγλικά, μειώνετε τα ψευδώς θετικά και επιταχύνετε την επεξεργασία. + +## Βήμα 2: Μετατροπή Σαρωμένου PDF σε Αναζητήσιμο PDF + +Τώρα που η μηχανή είναι έτοιμη, κατευθύνετέ την στο σαρωμένο έγγραφό σας. Η μέθοδος `process_pdf` επιστρέφει ένα αντικείμενο `PdfResult` που περιέχει τόσο τα αρχικά δεδομένα εικόνας όσο και το αναγνωρισμένο κείμενο. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Αν χρειάζεται να **μετατρέψετε σαρωμένα PDF** αρχεία μαζικά, απλώς κάντε βρόχο σε έναν φάκελο και καλέστε `process_pdf` για κάθε αρχείο. Η μηχανή διαχειρίζεται PDF πολλαπλών σελίδων αμέσως. + +## Βήμα 3: Αποθήκευση του Αποτελέσματος ως Αναζητήσιμο PDF (Κάντε το PDF Αναζητήσιμο) + +Το τελευταίο κομμάτι του παζλ είναι η αποθήκευση της αναζητήσιμης έκδοσης. Το Aspose OCR το κάνει αυτό με μία γραμμή κώδικα: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +Όταν ανοίξετε το `contract_searchable.pdf` σε οποιονδήποτε προβολέα PDF, θα δείτε την αρχική σαρωμένη εικόνα, αλλά τώρα μπορείτε **να αναζητήσετε οποιαδήποτε λέξη** που η μηχανή OCR αναγνώρισε. Το κρυφό στρώμα κειμένου είναι αόρατο στο μάτι αλλά πλήρως ευρετηριάσιμο. + +### Πλήρες Script – Έτοιμο για Εκτέλεση + +Παρακάτω είναι το πλήρες, εκτελέσιμο παράδειγμα. Αντιγράψτε‑επικολλήστε το σε ένα αρχείο με όνομα `make_searchable.py` και προσαρμόστε τις διαδρομές ώστε να ταιριάζουν με το περιβάλλον σας. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Αναμενόμενη έξοδος:** +Η εκτέλεση του script εκτυπώνει μια γραμμή επιβεβαίωσης και δημιουργεί το `contract_searchable.pdf`. Ανοίξτε το αρχείο, πατήστε `Ctrl + F` και πληκτρολογήστε οποιαδήποτε λέξη εμφανίζεται στην αρχική σαρωμένη εικόνα—θα δείτε τα αποτελέσματα αμέσως. + +## Συχνές Ερωτήσεις & Ακραίες Περιπτώσεις + +### 1. Τι γίνεται αν το PDF περιέχει πολλαπλές γλώσσες; + +Μπορείτε να περάσετε μια λίστα γλωσσών στη μηχανή: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Το Aspose OCR θα προσπαθήσει να αναγνωρίσει κείμενο και στις δύο γλώσσες στην ίδια σελίδα. + +### 2. Πώς να διαχειριστώ σαρώσεις χαμηλής ανάλυσης; + +Αν οι εικόνες προέλευσης είναι κάτω από 150 dpi, η ακρίβεια του OCR μπορεί να υποφέρει. Προεπεξεργαστείτε το PDF με ένα εργαλείο όπως το `pdfimages` για να εξάγετε τις σελίδες, αυξήστε την ανάλυση τους με το Pillow και τροφοδοτήστε τις εικόνες υψηλότερης ανάλυσης ξανά στο `process_pdf`. + +### 3. Μπορώ να εξάγω το ακατέργαστο κείμενο χωρίς να δημιουργήσω αναζητήσιμο PDF; + +Απολύτως. Το αντικείμενο `PdfResult` εκθέτει μια ιδιότητα `text`: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Αυτό καλύπτει τη χρήση **extract text pdf** όταν χρειάζεστε μόνο τους ακατέργαστους χαρακτήρες. + +### 4. Υπάρχει τρόπος να επεξεργαστείτε μαζικά ένα φάκελο PDF; + +Ναι—τυλίξτε τη λειτουργία `ocr_to_searchable` σε έναν απλό βρόχο: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Τώρα μπορείτε να **μετατρέψετε σαρωμένα pdf** αρχεία μαζικά με μία μόνο εντολή. + +## Συμβουλές Απόδοσης + +- **Επαναχρησιμοποίηση της μηχανής**: Η δημιουργία ενός νέου `OcrEngine` για κάθε αρχείο προσθέτει επιπλέον φόρτο. Δημιουργήστε το μία φορά και επαναχρησιμοποιήστε το σε πολλαπλές κλήσεις. +- **Παράλληλη επεξεργασία**: Για μεγάλες παρτίδες, σκεφτείτε το `concurrent.futures.ThreadPoolExecutor` της Python—το Aspose OCR είναι ασφαλές για νήματα σε λειτουργίες μόνο ανάγνωσης. +- **Διαχείριση μνήμης**: Αν επεξεργάζεστε πολύ μεγάλα PDF (εκατοντάδες σελίδες), καλέστε `gc.collect()` μετά από κάθε αρχείο για να ελευθερώσετε μνήμη. + +## Συμπέρασμα + +Καλύψαμε **πώς να κάνετε OCR PDF** αρχεία σε Python, μετατρέψαμε αυτές τις σαρώσεις σε **αναζητήσιμα PDFs**, και ακόμη σας δείξαμε πώς να **εξάγετε κείμενο PDF** απευθείας. Με το Aspose OCR έχετε μια αξιόπιστη μηχανή που διαχειρίζεται έγγραφα πολλαπλών σελίδων, πολλαπλές γλώσσες και υψηλής ακρίβειας αναγνώριση—όλα με λίγες μόνο γραμμές κώδικα. + +Δοκιμάστε το στα δικά σας συμβόλαια, τιμολόγια ή αρχειοθετημένα ερευνητικά έγγραφα. Μόλις κατακτήσετε τα βασικά, πειραματιστείτε με τις προχωρημένες λειτουργίες—όπως προσαρμοσμένα λεξικά, προεπεξεργασία εικόνας ή ενσωμάτωση του αποτελέσματος σε ευρετήριο πλήρους κειμένου όπως το Elasticsearch. + +Έχετε περισσότερες ερωτήσεις σχετικά με **ocr scanned pdf python** ή χρειάζεστε βοήθεια για την αντιμετώπιση μιας δύσκολης σάρωσης; Αφήστε ένα σχόλιο παρακάτω, και καλή προγραμματιστική! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="πώς να κάνετε OCR PDF παράδειγμα"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/greek/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..c4895f84 --- /dev/null +++ b/ocr/greek/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-12 +description: Πώς να εκτελέσετε OCR γρήγορα και με ακρίβεια. Μάθετε πώς να τρέχετε + OCR σε έγγραφο, να εξάγετε κείμενο από tiff, να φορτώνετε εικόνα για OCR και να + ορίζετε τη γλώσσα OCR στην Python. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: el +og_description: Πώς να εκτελέσετε OCR στην Python. Αυτό το σεμινάριο σας δείχνει πώς + να εκτελείτε OCR σε έγγραφο, να εξάγετε κείμενο από tiff, να φορτώνετε εικόνα για + OCR και να ορίζετε τη γλώσσα OCR. +og_title: Πώς να εκτελέσετε OCR σε έγγραφο TIFF – Πλήρης οδηγός +tags: +- OCR +- Python +- Image Processing +title: Πώς να εκτελέσετε OCR σε έγγραφο TIFF – Οδηγός βήμα‑προς‑βήμα +url: /el/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να εκτελέσετε OCR σε έγγραφο TIFF – Οδηγός πλήρους + +Έχετε αναρωτηθεί ποτέ **πώς να εκτελέσετε OCR** σε ένα σαρωμένο αρχείο TIFF χωρίς να ξοδεύετε ώρες ψάχνοντας τη σωστή βιβλιοθήκη; Δεν είστε μόνοι. Πολλοί προγραμματιστές συναντούν πρόβλημα όταν χρειάζεται να εξάγουν κείμενο από εικόνες TIFF, ειδικά όταν η απόδοση και οι ρυθμίσεις γλώσσας έχουν σημασία. + +Σε αυτό το tutorial θα περάσουμε από όλα όσα χρειάζεται να γνωρίζετε: από την εγκατάσταση του πακέτου OCR, τη φόρτωση της εικόνας για OCR, τον ορισμό της γλώσσας OCR, μέχρι τελικά **να τρέξετε OCR στο έγγραφο** και να εξάγετε καθαρό κείμενο. Στο τέλος θα έχετε ένα έτοιμο‑για‑εκτέλεση script που μπορείτε να ενσωματώσετε σε οποιοδήποτε project. + +> **Pro tip:** Αν και το παράδειγμα χρησιμοποιεί ένα γενικό module `ocr`, οι ίδιες έννοιες ισχύουν για Tesseract, EasyOCR ή οποιοδήποτε σύγχρονο OCR engine που εκθέτει Python API. + +--- + +## Τι θα χρειαστείτε + +- Python 3.8+ (οποιαδήποτε πρόσφατη έκδοση λειτουργεί) +- Μια βιβλιοθήκη OCR που παρέχει κλάση `OcrEngine` (το δείγμα χρησιμοποιεί ένα φανταστικό πακέτο `ocr`; αντικαταστήστε το με το πραγματικό σας) +- Ένα πολυ‑σελίδων αρχείο TIFF που θέλετε να επεξεργαστείτε (θα το ονομάσουμε `big_document.tif`) +- Ένα μηχάνημα με τουλάχιστον 4 πυρήνες CPU αν σκοπεύετε να ορίσετε αριθμό νημάτων + +Δεν απαιτούνται εξωτερικές υπηρεσίες, κλειδιά cloud — μόνο τοπικός κώδικας που τρέχει σε δευτερόλεπτα. + +--- + +![how to perform ocr example](/images/ocr-example.png "how to perform OCR on a TIFF document") + +*Image alt text: πώς να εκτελέσετε OCR σε έγγραφο TIFF – προεπισκόπηση του εξαγόμενου κειμένου.* + +--- + +## Βήμα 1: Εγκατάσταση και Εισαγωγή της Βιβλιοθήκης OCR + +Πρώτα απ' όλα: αποκτήστε τη βιβλιοθήκη στο μηχάνημά σας. Οι περισσότερες βιβλιοθήκες OCR είναι στο PyPI, οπότε μια απλή `pip install` κάνει τη δουλειά. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Τώρα εισάγετε τις κλάσεις που θα χρειαστείτε. Αν χρησιμοποιείτε Tesseract, η γραμμή εισαγωγής θα είναι διαφορετική, αλλά το υπόλοιπο του κώδικα παραμένει το ίδιο. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Γιατί είναι σημαντικό:* Η έγκαιρη εισαγωγή των σωστών συμβόλων αποτρέπει συγκρούσεις ονομάτων αργότερα και κάνει το script πιο ευανάγνωστο. + +--- + +## Βήμα 2: Δημιουργία και Διαμόρφωση του OCR Engine (Ορισμός Γλώσσας OCR) + +Η διαμόρφωση του engine είναι το σημείο όπου **ορίζετε τη γλώσσα OCR** για ακριβή αναγνώριση. Η αγγλική είναι η προεπιλογή, αλλά μπορείτε να μεταβείτε σε γαλλικά, γερμανικά ή ακόμη και σε πολυγλωσσική λειτουργία με μια μόνο γραμμή. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Γιατί 4 νήματα;** Τα περισσότερα σύγχρονα laptops έχουν τουλάχιστον τέσσερις πυρήνες, και ο περιορισμός του αριθμού νημάτων αποτρέπει το OCR από το να καταναλώνει όλη τη μηχανή — ιδιαίτερα χρήσιμο όταν το script τρέχει σε κοινόχρηστο server. + +Αν χρειάζεστε άλλη γλώσσα, απλώς αντικαταστήστε το `ocr.Language.ENGLISH` με `ocr.Language.FRENCH`, `ocr.Language.SPANISH`, κ.λπ. + +--- + +## Βήμα 3: Φόρτωση Εικόνας για OCR (Load Image for OCR) + +Τώρα **φορτώνουμε την εικόνα για OCR**. Η μέθοδος `Image.load` διαβάζει το αρχείο TIFF στη μνήμη, χειριζόμενη αυτόματα πολυ‑σελίδες έγγραφα. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Edge case:* Αν το αρχείο είναι τεράστιο, μπορεί να εξαντλήσει τη RAM. Σε αυτή την περίπτωση, σκεφτείτε να φορτώνετε μία σελίδα τη φορά με `Image.load_page(page_number)` (αν η βιβλιοθήκη το υποστηρίζει). + +--- + +## Βήμα 4: Εκτέλεση OCR στο Έγγραφο + +Με το engine έτοιμο και την εικόνα φορτωμένη, ήρθε η ώρα να **τρέξετε OCR στο έγγραφο**. Η μέθοδος `process` κάνει το βαρέως βάρους έργο και επιστρέφει ένα αντικείμενο αποτελέσματος. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +Στο παρασκήνιο, το engine χωρίζει την εικόνα σε μπλοκ κειμένου, τρέχει το μοντέλο αναγνώρισης και ενώνει τα αποτελέσματα. Η κλήση είναι blocking, δηλαδή το script περιμένει μέχρι να επεξεργαστεί ολόκληρο το TIFF — ιδανικό για batch jobs. + +--- + +## Βήμα 5: Εξαγωγή Κειμένου από TIFF και Επαλήθευση Αποτελέσματος + +Τέλος, **εξάγουμε το κείμενο από το TIFF** προσπερνώντας το χαρακτηριστικό `text` του αποτελέσματος. Ας εκτυπώσουμε τους πρώτους 200 χαρακτήρες ως γρήγορο έλεγχο. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Αναμενόμενο αποτέλεσμα (παράδειγμα):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Αν χρειάζεστε ολόκληρο το κείμενο, απλώς χρησιμοποιήστε `ocr_result.text`. Για επεξεργασία downstream, ίσως θελήσετε να το γράψετε σε αρχείο `.txt`: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## Πλήρες Παράδειγμα Λειτουργίας + +Συνδυάζοντας όλα τα παραπάνω, εδώ είναι ένα έτοιμο‑για‑εκτέλεση script. Αντικαταστήστε το όνομα του placeholder πακέτου με αυτό που έχετε εγκαταστήσει. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Τρέξτε το script με: + +```bash +python ocr_tiff_example.py +``` + +Θα δείτε μια προεπισκόπηση στην κονσόλα και ένα αρχείο με όνομα `extracted_text.txt` που περιέχει τη πλήρη απομαγνητοφώνηση. + +--- + +## Συχνές Ερωτήσεις & Edge Cases + +- **Τι γίνεται αν το TIFF περιέχει πολλαπλές σελίδες;** + Οι περισσότερες μηχανές OCR αντιμετωπίζουν κάθε σελίδα ως ξεχωριστή εικόνα εσωτερικά. Το `ocr_result.text` θα περιέχει μια αλλαγή γραμμής μεταξύ των σελίδων. Αν χρειάζεστε χειρισμό ανά σελίδα, επαναλάβετε με `Image.load_page(page_number)`. + +- **Μπορώ να επεξεργαστώ PNG ή JPEG αντί για TIFF;** + Απόλυτα. Η μέθοδος `Image.load` συνήθως δέχεται οποιαδήποτε μορφή υποστηρίζεται από Pillow ή τη βασική βιβλιοθήκη. Απλώς αλλάξτε την επέκταση του αρχείου. + +- **Το κείμενό μου είναι ακατάληπτο — πρέπει να αλλάξω τη γλώσσα;** + Ναι. Το βήμα **ορισμού γλώσσας OCR** είναι κρίσιμο για μη‑αγγλικά έγγραφα. Βεβαιωθείτε ότι το πακέτο γλώσσας είναι εγκατεστημένο (π.χ., `tesseract‑lang‑fra` για γαλλικά). + +- **Τρέχει η μνήμη;** + Μειώστε το `set_memory_limit` ή επεξεργαστείτε τις σελίδες μία‑μία. Κάποιες μηχανές επιτρέπουν επίσης τη μείωση της ανάλυσης της εικόνας πριν από την αναγνώριση. + +--- + +## Συμπέρασμα + +Αυτά είναι — ένας σύντομος, πλήρως λειτουργικός οδηγός για **πώς να εκτελέσετε OCR** σε αρχείο TIFF χρησιμοποιώντας Python. Καλύψαμε τα πάντα, από την εγκατάσταση της βιβλιοθήκης, τη διαμόρφωση του engine (συμπεριλαμβανομένου του **ορισμού γλώσσας OCR**), **φόρτωση εικόνας για OCR**, **εκτέλεση OCR στο έγγραφο**, και τέλος **εξαγωγή κειμένου από TIFF**. + +Μη διστάσετε να πειραματιστείτε: αλλάξτε τον αριθμό νημάτων, εναλλάξτε γλώσσες, ή τροφοδοτήστε το αποτέλεσμα OCR σε pipeline φυσικής γλώσσας. Ο ουρανός είναι το όριο μόλις κυριαρχήσετε τα βασικά. + +Έχετε περισσότερες ερωτήσεις; Αφήστε ένα σχόλιο παρακάτω, και καλή προγραμματιστική! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/greek/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..c092c023 --- /dev/null +++ b/ocr/greek/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,181 @@ +--- +category: general +date: 2026-01-12 +description: πώς να ορίσετε τη γλώσσα στο Aspose OCR Python και να εξάγετε κείμενο + από εικόνα χρησιμοποιώντας προσαρμοσμένο λεξικό. Αναλυτικός οδηγός βήμα‑βήμα για + προγραμματιστές. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: el +og_description: πώς να ορίσετε τη γλώσσα στο Aspose OCR Python και να εξάγετε κείμενο + από εικόνα με προσαρμοσμένο λεξικό. Μάθετε τη πλήρη ροή εργασίας σε λίγα λεπτά. +og_title: πώς να ορίσετε τη γλώσσα στο Aspose OCR Python – Πλήρης Οδηγός +tags: +- OCR +- Python +- Aspose +- Image Processing +title: πώς να ορίσετε τη γλώσσα στο Aspose OCR Python – Πλήρης Οδηγός +url: /el/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# πώς να ορίσετε τη γλώσσα στο Aspose OCR Python – Πλήρης Οδηγός + +Έχετε αναρωτηθεί ποτέ **πώς να ορίσετε τη γλώσσα** όταν χρησιμοποιείτε το Aspose OCR σε Python; Δεν είστε μόνοι—πολλοί προγραμματιστές αντιμετωπίζουν αυτό το πρόβλημα όταν το προεπιλεγμένο μοντέλο Αγγλικών δεν αναγνωρίζει κωδικούς προϊόντων, σειριακούς αριθμούς ή πολυγλωσσικό κείμενο. Τα καλά νέα είναι ότι η λύση είναι τόσο απλή όσο και ισχυρή. Σε αυτό το tutorial θα περάσουμε από τη διαμόρφωση της γλώσσας, την προσθήκη προσαρμοσμένου λεξικού, την εξαγωγή κειμένου από μια εικόνα και, τέλος, την επεξεργασία της εικόνας για τα καλύτερα αποτελέσματα OCR. + +Θα καλύψουμε όλα όσα χρειάζεστε: από την εγκατάσταση της βιβλιοθήκης μέχρι την εκτέλεση ενός πλήρους παραδείγματος που εκτυπώνει το εξαγόμενο κείμενο. Στο τέλος θα μπορείτε να **εξάγετε κείμενο από εικόνα** με σιγουριά, ακόμη και όταν το περιεχόμενο περιλαμβάνει ασυνήθιστους κωδικούς ή μεικτές γλώσσες. + +## Προαπαιτούμενα + +Πριν βουτήξουμε, βεβαιωθείτε ότι έχετε: + +* Python 3.8+ εγκατεστημένο (ο κώδικας χρησιμοποιεί f‑strings, οπότε οι παλαιότερες εκδόσεις δεν λειτουργούν). +* Μία ενεργή άδεια Aspose OCR for Python ή ένα κλειδί δωρεάν δοκιμής. +* Το πακέτο `asposeocr` εγκατεστημένο μέσω `pip install asposeocr`. +* Μια δείγμα εικόνας (`product_label.png`) που περιέχει το κείμενο που θέλετε να διαβάσετε. + +Αν έχετε ήδη αυτά τα στοιχεία, υπέροχα—ας προχωρήσουμε. Αν όχι, πάρτε τη δωρεάν δοκιμή από την ιστοσελίδα της Aspose και εκτελέστε την εντολή εγκατάστασης· χρειάζεται μόνο ένα λεπτό. + +## Βήμα 1: Εισαγωγή του μονάδας Aspose OCR + +Το πρώτο πράγμα που πρέπει να κάνετε είναι να φέρετε τις κλάσεις OCR στο script σας. Αυτό είναι το θεμέλιο για **πώς να ορίσετε τη γλώσσα** αργότερα. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Συμβουλή:** Κρατήστε τις εισαγωγές σας στην αρχή του αρχείου. Κάνει το script πιο εύκολο στην ανάγνωση, ειδικά όταν το ξαναδείτε αργότερα. + +## Βήμα 2: Πώς να ορίσετε τη γλώσσα + +Από προεπιλογή, το Aspose OCR υποθέτει Αγγλικά. Αν η εικόνα σας περιέχει Γαλλικά, Γερμανικά ή οποιαδήποτε άλλη γλώσσα, θα πρέπει να πείτε στη μηχανή ποια γλώσσα να χρησιμοποιήσει. Εδώ ξεχωρίζει η κύρια λέξη-κλειδί. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Γιατί είναι σημαντικό; Οι μηχανές OCR βασίζονται σε μοντέλα χαρακτήρων ανά γλώσσα. Η παροχή της σωστής γλώσσας βελτιώνει δραματικά την ακρίβεια—ειδικά για χαρακτήρες με τόνους ή γλωσσικές συνδέσεις. + +> **Σημείωση:** Αν χρειάζεστε υποστήριξη πολλαπλών γλωσσών ταυτόχρονα, μπορείτε να περάσετε μια λίστα όπως `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## Βήμα 3: Πώς να προσθέσετε λεξικό (προσαρμοσμένες λέξεις) + +Μερικές φορές η μηχανή OCR διαβάζει λανθασμένα κωδικούς προϊόντων όπως “AB‑1234”. Μπορείτε να αυξήσετε την εμπιστοσύνη τροφοδοτώντας ένα προσαρμοσμένο λεξικό. Αυτό απαντά άμεσα στο **πώς να προσθέσετε λεξικό** στο Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +Η μηχανή θεωρεί αυτές τις λέξεις ως “γνωστές” και θα τις προτιμήσει έναντι παρόμοιων χαρακτήρων. Αυτό είναι ιδιαίτερα χρήσιμο για αριθμούς SKU, σειριακούς κωδικούς ή ονόματα εμπορικών σημάτων που δεν ανήκουν σε φυσική γλώσσα. + +## Βήμα 4: Πώς να επεξεργαστείτε την εικόνα + +Τώρα που η μηχανή είναι διαμορφωμένη, πρέπει να φορτώσετε την εικόνα που θέλετε να αναλύσετε. Αυτό καλύπτει το **πώς να επεξεργαστείτε την εικόνα** με καθαρό, επαναλαμβανόμενο τρόπο. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +Αν εργάζεστε με PDFs, μπορείτε πρώτα να μετατρέψετε κάθε σελίδα σε εικόνα—το Aspose OCR το υποστηρίζει έτοιμο. + +## Βήμα 5: Πώς να εξάγετε κείμενο από εικόνα + +Με όλα ρυθμισμένα, το τελικό βήμα είναι να εκτελέσετε το OCR και να ανακτήσετε το κείμενο. Αυτό είναι ο πυρήνας του **πώς να εξάγετε κείμενο** από μια εικόνα. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +Όταν εκτελέσετε το script, θα πρέπει να δείτε κάτι όπως: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Αν η έξοδος φαίνεται χαοτική, ελέγξτε ξανά ότι έχετε ορίσει τη σωστή γλώσσα και ότι το προσαρμοσμένο λεξικό σας περιέχει τις ακριβείς συμβολοσειρές που περιμένετε. + +## Πλήρες Παράδειγμα Εργασίας + +Συνδυάζοντας όλα τα παραπάνω, εδώ είναι το πλήρες script που μπορείτε να αντιγράψετε‑επικολλήσετε σε ένα αρχείο με όνομα `extract_label.py`. Βεβαιωθείτε ότι αντικαθιστάτε το `YOUR_DIRECTORY` με την πραγματική διαδρομή προς την εικόνα σας. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Αναμενόμενη Έξοδος + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Αν δείτε τους ακριβείς κωδικούς που προσθέσατε στο λεξικό, έχετε καταφέρει με επιτυχία να κατακτήσετε **πώς να ορίσετε τη γλώσσα**, **πώς να προσθέσετε λεξικό**, και **πώς να εξάγετε κείμενο από εικόνα** χρησιμοποιώντας το Aspose OCR. + +## Διαχείριση Συνηθισμένων Περιπτώσεων Άκρων + +| Κατάσταση | Τι να κάνετε | +|-----------|--------------| +| **Η εικόνα είναι θολή** | Προεπεξεργασία με `ocr.Image.apply_filter()` για να ενισχύσετε την ευκρίνεια πριν καλέσετε `process()`. | +| **Πολλές γλώσσες σε μία εικόνα** | Ορίστε `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **Μεγάλα PDFs** | Επανάληψη σε κάθε σελίδα, μετατροπή σε `ocr.Image`, και κλήση `process()` ανά σελίδα. | +| **Απρόσμενοι χαρακτήρες** | Προσθέστε τους στη λίστα προσαρμοσμένων λέξεων· το Aspose OCR τους θεωρεί ως διακριτικά υψηλής εμπιστοσύνης. | + +Αυτές οι συμβουλές διατηρούν την OCR αλυσίδα σας ανθεκτική, ακόμη και όταν η είσοδος δεν είναι τέλεια. + +## Οπτική Αναφορά + +![πώς να ορίσετε τη γλώσσα στο παράδειγμα Aspose OCR](image.png "Στιγμιότυπο οθόνης που δείχνει πώς να ορίσετε τη γλώσσα στο παράδειγμα Aspose OCR Python") + +*Alt text:* **πώς να ορίσετε τη γλώσσα** screenshot illustrating the language property assignment in a Python IDE. + +## Συμπέρασμα + +Τώρα γνωρίζετε **πώς να ορίσετε τη γλώσσα** στο Aspose OCR Python, πώς να **προσθέσετε εγγραφές λεξικού**, και τα ακριβή βήματα για **εξαγωγή κειμένου από εικόνα** και **επεξεργασία εικόνας** αρχείων για βέλτιστα αποτελέσματα. Το πλήρες παράδειγμα παραπάνω μπορεί να ενσωματωθεί σε οποιοδήποτε έργο, να προσαρμοστεί για διαφορετικές γλώσσες, και να επεκταθεί για επεξεργασία παρτίδας ή εισόδους PDF. + +Έτοιμοι για την επόμενη πρόκληση; Δοκιμάστε να αντικαταστήσετε το `ocr.Language.ENGLISH` με το `ocr.Language.FRENCH` και παρατηρήστε τη βελτίωση της ακρίβειας στις ετικέτες γαλλικής γλώσσας. Ή πειραματιστείτε με τη μέθοδο `set_user_defined_words` για να συμπεριλάβετε ολόκληρο κατάλογο προϊόντων—η μηχανή OCR σας θα θεωρεί κάθε καταχώρηση ως υψηλής εμπιστοσύνης αντιστοίχιση. + +Καλό κώδικα, και οι OCR αποτελέσματά σας να είναι πάντα κρυστάλλινα καθαρά! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/greek/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..a2d4fff5 --- /dev/null +++ b/ocr/greek/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-01-12 +description: Επεξεργαστείτε χειρόγραφες σημειώσεις σε Python χρησιμοποιώντας το Aspose + OCR – μάθετε πώς να εξάγετε κείμενο από εικόνες jpg γρήγορα. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: el +og_description: Επεξεργαστείτε χειρόγραφα σημειώματα σε Python με το Aspose OCR. Μάθετε + πώς να εξάγετε κείμενο από εικόνες jpg, να αναγνωρίζετε χειρόγραφα OCR και να φορτώνετε + εικόνες για OCR. +og_title: Επεξεργασία Χειρόγραφων Σημειώσεων με Python – Πλήρης Οδηγός OCR +tags: +- OCR +- Python +- Aspose +title: Επεξεργασία χειρόγραφων σημειώσεων με Python – Οδηγός OCR για χειρόγραφα. +url: /el/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Επεξεργασία Χειρόγραφων Σημειώσεων με Python – Οδηγός Χειρόγραφου OCR + +Αν χρειάζεστε να **επεξεργαστείτε χειρόγραφες σημειώσεις** σε Python, αυτός ο οδηγός σας δείχνει ακριβώς πώς. Είτε οι σημειώσεις είναι σε μια σαρωμένη απόδειξη, μια φωτογραφία από λευκό πίνακα στην τάξη, ή ένα γρήγορο selfie μιας λίστας εργασιών, θα μάθετε **πώς να εξάγετε κείμενο** από αυτές τις εικόνες χωρίς κόπο. + +Θα περάσουμε από κάθε βήμα — την εισαγωγή της βιβλιοθήκης Aspose OCR, τη φόρτωση ενός JPG, την εκτέλεση της μηχανής, και τη διαχείριση γραμμών χαμηλής εμπιστοσύνης. Στο τέλος θα έχετε ένα έτοιμο‑για‑εκτέλεση script που μπορεί να **αναγνωρίσει κείμενο από jpg** αρχεία και να σας δώσει καθαρές, επεξεργάσιμες συμβολοσειρές. + +## Τι Θα Κερδίσετε + +- Ένα πλήρες, εκτελέσιμο δείγμα κώδικα που λειτουργεί αμέσως. +- Κατανόηση του γιατί κάθε γραμμή είναι σημαντική, όχι μόνο τι κάνει. +- Συμβουλές για τη διαχείριση ασταθούς γραφής και αποτελεσμάτων χαμηλής εμπιστοσύνης. +- Οδηγίες για την επέκταση του script σε PDF, πολλαπλές εικόνες ή προσαρμοσμένα πακέτα γλώσσας. + +*Προαπαιτούμενα*: Εγκατεστημένο Python 3.8+, έγκυρη άδεια Aspose OCR (ή δωρεάν δοκιμή), και ένα αρχείο εικόνας με όνομα `handwritten_notes.jpg` στον φάκελο του έργου σας. + +![Παράδειγμα επεξεργασίας χειρόγραφων σημειώσεων](https://example.com/handwritten-notes.png "επεξεργασία χειρόγραφων σημειώσεων") + +*Κείμενο alt: επεξεργασία χειρόγραφων σημειώσεων – δείγμα εικόνας που δείχνει χειρόγραφο κείμενο έτοιμο για OCR.* + +## Επεξεργασία Χειρόγραφων Σημειώσεων: Ρύθμιση της Μηχανής OCR + +### Γιατί αυτό το βήμα είναι σημαντικό +Η μηχανή OCR είναι ο εγκέφαλος πίσω από τη διαδικασία αναγνώρισης. Η επιλογή της σωστής γλώσσας και η σωστή αρχικοποίηση του αντικειμένου εξασφαλίζουν ότι η μηχανή ξέρει ότι πρέπει να αναζητήσει αγγλικούς χαρακτήρες και ότι μπορεί να αντιμετωπίσει τις ιδιαιτερότητες της χειρόγραφης. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Συμβουλή:** Αν προβλέπετε σημειώσεις σε άλλη γλώσσα, αντικαταστήστε το `ocr.Language.ENGLISH` με το κατάλληλο enum (π.χ., `ocr.Language.FRENCH`). Η μηχανή θα φορτώσει αυτόματα το απαιτούμενο σύνολο χαρακτήρων. + +--- + +## Πώς να Εξάγετε Κείμενο από Εικόνες JPG + +### Φόρτωση της εικόνας – το πρώτο εμπόδιο +Πριν η μηχανή μπορέσει να κάνει οποιαδήποτε εργασία, χρειάζεται μια bitmap αναπαράσταση του JPG σας. Η Aspose προσφέρει μια βολική στατική μέθοδο `load` που διαβάζει το αρχείο σε ένα αντικείμενο `Image`. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Γιατί να μην χρησιμοποιήσετε OpenCV ή Pillow;* +Αυτές οι βιβλιοθήκες είναι εξαιρετικές για προεπεξεργασία, αλλά το `Image.load` της Aspose εγγυάται την ακριβή μορφή εικονοστοιχείων που αναμένει η μηχανή OCR, εξαλείφοντας μια κοινή πηγή ασυμφωνίας βάθους χρώματος. + +--- + +## Αναγνώριση Κειμένου από JPG με Handwritten OCR σε Python + +### Εκτέλεση της μηχανής OCR +Τώρα που η μηχανή και η εικόνα είναι έτοιμες, ξεκινάμε την αναγνώριση. Η μέθοδος `process` επιστρέφει ένα αντικείμενο `OcrResult` που περιέχει μια λίστα από αντικείμενα `Line`, το καθένα με το δικό του σκορ εμπιστοσύνης. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**Τι συμβαίνει παρασκήνια;** +Η Aspose OCR εκτελεί ένα μοντέλο deep‑learning εκπαιδευμένο σε εκατομμύρια δείγματα χειρόγραφης. Διαχωρίζει την εικόνα σε γραμμές, έπειτα σε χαρακτήρες, και τελικά συναρμολογεί τη πιο πιθανή συμβολοσειρά κειμένου για κάθε γραμμή. + +--- + +## Φόρτωση Εικόνας για OCR – Διαχείριση Αποτελεσμάτων Χαμηλής Εμπιστοσύνης + +### Γιατί πρέπει να σας ενδιαφέρει η εμπιστοσύνη +Η χειρόγραφη OCR δεν είναι ποτέ 100 % τέλεια. Ένα σκορ εμπιστοσύνης κάτω από 75 % συνήθως σημαίνει ότι η μηχανή αντιμετώπισε δυσκολίες με τη σειρά των γραμμών ή τον θόρυβο του φόντου. Φιλτράροντας αυτές τις γραμμές, μπορείτε να αποφασίσετε αν θα ζητήσετε επαλήθευση από τον χρήστη ή θα εφαρμόσετε πρόσθετη προεπεξεργασία εικόνας. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Τυπική έξοδος** (τα αποτελέσματά σας μπορεί να διαφέρουν): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Παρατηρήστε πώς το script διαχωρίζει καθαρά το αξιόπιστο κείμενο από τα ασταθή τμήματα. Μπορείτε αργότερα να στείλετε τις γραμμές χαμηλής εμπιστοσύνης σε δεύτερο πέρασμα με φίλτρα βελτίωσης εικόνας (π.χ., ενίσχυση αντίθεσης) ή να τις παρουσιάσετε σε ανθρώπινο ελεγκτή. + +--- + +## Πλήρες Script – Έτοιμο για Εκτέλεση + +Παρακάτω βρίσκεται ολόκληρο το πρόγραμμα, έτοιμο για αντιγραφή‑επικόλληση. Αποθηκεύστε το ως `handwritten_ocr.py` και τρέξτε `python handwritten_ocr.py`. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Αναμενόμενη συμπεριφορά:** +- Το script εκτυπώνει κάθε γραμμή με το ποσοστό εμπιστοσύνης της. +- Οι γραμμές πάνω από 75 % εμφανίζονται ως “Accepted”, ενώ οι υπόλοιπες σημειώνονται για επανεξέταση. +- Δεν απαιτούνται πρόσθετες εξαρτήσεις πέρα από το `asposeocr`. + +--- + +## Συχνές Ερωτήσεις & Ακραίες Περιπτώσεις + +### Τι γίνεται αν η εικόνα μου είναι PNG ή BMP; +Η Aspose OCR ανιχνεύει αυτόματα τη μορφή, έτσι μπορείτε απλώς να αλλάξετε την επέκταση του αρχείου στο `image_path`. Δεν χρειάζονται αλλαγές κώδικα. + +### Η γραφή μου είναι εξαιρετικά ακατάστατη—πώς μπορώ να βελτιώσω την ακρίβεια; +1. **Προεπεξεργασία της εικόνας** – αύξηση αντίθεσης, αφαίρεση σκιών φόντου (το OpenCV μπορεί να βοηθήσει). +2. **Αύξηση του ορίου εμπιστοσύνης** – ορίστε το στο 80 % αν θέλετε μόνο σχεδόν τέλειες γραμμές. +3. **Εκπαίδευση προσαρμοσμένου μοντέλου** – η Aspose προσφέρει τη δυνατότητα “custom language pack” για εξειδικευμένα στυλ χειρόγραφης. + +### Μπορώ να επεξεργαστώ πολλαπλές εικόνες σε μία εκτέλεση; +Απόλυτα. Τυλίξτε τα βήματα φόρτωσης και επεξεργασίας σε έναν βρόχο `for` πάνω σε λίστα διαδρομών αρχείων. Θυμηθείτε να επαναχρησιμοποιήσετε το ίδιο αντικείμενο `ocr_engine` για ταχύτητα. + +### Λειτουργεί αυτό σε macOS/Linux; +Ναι. Η Aspose OCR παρέχει wheels για όλες τις κύριες πλατφόρμες. Απλώς `pip install asposeocr` και είστε έτοιμοι. + +--- + +## Επόμενα Βήματα & Σχετικά Θέματα + +- **Πώς να εξάγετε κείμενο από PDF** – μόλις έχετε τη γραμμή OCR, η φόρτωση σελίδων PDF στο `ocr.Image.load` είναι μια αλλαγή μίας γραμμής. +- **Ενσωμάτωση με βάση δεδομένων** – αποθηκεύστε κάθε αποδεκτή γραμμή σε SQLite ή PostgreSQL για αναζητήσιμες σημειώσεις. +- **OCR σε πραγματικό χρόνο σε κινητά** – συνδυάστε αυτό το script με Flask ή FastAPI για να εκθέσετε ένα REST endpoint που μπορούν να καλέσουν οι κινητές εφαρμογές. + +Κάθε μία από αυτές τις επεκτάσεις βασίζεται στις βασικές έννοιες που καλύψαμε: **process handwritten notes**, **how to extract text**, **recognize text from jpg**, και **load image for OCR**. + +--- + +## Συμπέρασμα + +Τώρα έχετε μια σταθερή, ολοκληρωμένη λύση για **process handwritten notes** χρησιμοποιώντας Python και Aspose OCR. Ο οδηγός περιέγραψε τη ρύθμιση της μηχανής, τη φόρτωση ενός JPG, την εκτέλεση της αναγνώρισης και τη διαχείριση αποτελεσμάτων χαμηλής εμπιστοσύνης — όλα σε ένα μόνο script αντιγραφής‑επικόλλησης. + +Από εδώ, πειραματιστείτε με διαφορετικές τεχνικές προεπεξεργασίας εικόνας, αυξήστε το όριο εμπιστοσύνης, ή κλιμακώστε τη λύση για μαζική επεξεργασία εκατοντάδων σημειώσεων. Ο ουρανός είναι το όριο, και ο κώδικας που μόλις μάθατε είναι η πλατφόρμα εκκίνησής σας. + +*Καλό κώδικα, και εύχομαι οι χειρόγραφες σημειώσεις σας να γίνουν τελικά αναζητήσιμο κείμενο!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/greek/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..14f60e93 --- /dev/null +++ b/ocr/greek/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-12 +description: Python OCR tutorial που δείχνει πώς να εξάγετε κείμενο πίνακα από μια + εικόνα. Μάθετε πώς να διαβάζετε πίνακα από εικόνα και να εξάγετε επιλεγμένο κείμενο + με το Aspose OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: el +og_description: Μάθημα Python OCR που σας διδάσκει πώς να εξάγετε κείμενο πίνακα από + μια εικόνα, να διαβάσετε πίνακα από εικόνα και να εξάγετε επιλεγμένο κείμενο χρησιμοποιώντας + το Aspose OCR. +og_title: 'Python OCR Tutorial: Εξαγωγή κειμένου πίνακα από εικόνες' +tags: +- OCR +- Python +- AsposeOCR +title: 'Python OCR Tutorial: Εξαγωγή κειμένου πίνακα από εικόνες' +url: /el/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR Tutorial: Εξαγωγή Κειμένου Πίνακα από Εικόνες + +Ποτέ χρειάστηκε ένα **python ocr tutorial** που πραγματικά δείχνει πώς να εξάγετε έναν πίνακα από μια σαρωμένη φόρμα; Δεν είστε οι μόνοι. Οι περισσότερες οδηγίες σταματούν στην γενική εξαγωγή κειμένου, αφήνοντάς σας να μαντεύετε πώς να απομονώσετε το καθαρό πλέγμα δεδομένων που σας ενδιαφέρει. + +Σε αυτόν τον οδηγό θα περάσουμε από ένα πραγματικό σενάριο: ανάγνωση ενός πίνακα από μια εικόνα, εξαγωγή μόνο του κειμένου που χρειάζεστε, και τελικά εκτύπωση των αποτελεσμάτων. Καθ' όλη τη διάρκεια θα προσθέσουμε συμβουλές για **πώς να εξάγετε πίνακα** δεδομένα αξιόπιστα, ώστε να μην χρειάζεται να ξαναεφευρίσετε τον τροχό κάθε φορά. + +## Τι Θα Μάθετε + +- Πώς να ρυθμίσετε το Aspose OCR για Python. +- Πώς να ορίσετε μια ορθογώνια περιοχή που περιέχει έναν πίνακα. +- Τα ακριβή βήματα για **extract table text** και **read table from image**. +- Συμβουλές για διαχείριση πολλαπλών γλωσσών ή ακανόνιστων διατάξεων πινάκων. +- Ένα πλήρες, εκτελέσιμο σενάριο που μπορείτε να ενσωματώσετε στο πρότζεκτ σας σήμερα. + +**Προαπαιτούμενα** +- Python 3.8 ή νεότερη. +- Βασική εξοικείωση με τις έννοιες του OCR (χωρίς ανάγκη για βαθιά εξειδίκευση). +- Μια εικόνα PNG ή JPEG που περιέχει έναν καθαρό πίνακα (θα την ονομάσουμε `form_with_table.png`). + +Αν έχετε όλα αυτά, ας ξεκινήσουμε—χωρίς περιττές πληροφορίες, μόνο πρακτικός κώδικας. + +![python ocr tutorial example of table region](table_region_example.png){alt="παράδειγμα python ocr tutorial που δείχνει την περιοχή του πίνακα"} + +## Βήμα 1: Εγκατάσταση και Εισαγωγή του Aspose OCR + +Πρώτα απ' όλα: χρειάζεστε τη βιβλιοθήκη Aspose OCR. Το πακέτο είναι στο PyPI, οπότε μια εντολή `pip` αρκεί. + +```bash +pip install aspose-ocr +``` + +Τώρα εισάγετε το module και τυχόν βοηθητικά εργαλεία που θα χρειαστείτε. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro tip:* Κρατήστε τις εξαρτήσεις σας σε ένα αρχείο `requirements.txt`. Έτσι η αναπαραγωγή του περιβάλλοντος γίνεται παιχνιδάκι. + +## Βήμα 2: Αρχικοποίηση του OCR Engine (Python OCR Tutorial Core) + +Η δημιουργία του engine είναι η καρδιά κάθε **python ocr tutorial**. Εδώ ορίζουμε επίσης τη προεπιλεγμένη γλώσσα σε English—μπορείτε να την αλλάξετε αργότερα. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Γιατί να ορίσετε τη γλώσσα; Η ακρίβεια του OCR μπορεί να αυξηθεί δραματικά όταν η μηχανή ξέρει ποιοι χαρακτήρες να περιμένει. Αν δουλεύετε με πολυγλωσσικές φόρμες, μπορείτε είτε να ορίσετε μια λίστα γλωσσών είτε να παρακάμψετε ανά περιοχή (δείτε παρακάτω). + +## Βήμα 3: Φόρτωση της Εικόνας Σας + +Το Aspose OCR λειτουργεί με τις πιο κοινές μορφές εικόνας. Απλώς δείξτε το μονοπάτι του αρχείου και θα έχετε ένα αντικείμενο `Image` έτοιμο για επεξεργασία. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Edge case:* Μεγάλες εικόνες (πάνω από 5 MB) μπορούν να επιβραδύνουν την επεξεργασία. Σκεφτείτε να τις αλλάξετε σε μέγεθος ή να τις συμπιέσετε πριν το OCR αν η απόδοση γίνει πρόβλημα. + +## Βήμα 4: Ορισμός της Περιοχής Πίνακα (Read Table from Image) + +Τώρα έρχεται το διασκεδαστικό μέρος: να πείτε στη μηχανή *πού* βρίσκεται ο πίνακας. Παρέχετε ένα `OcrRegion` με ένα `Rectangle` (x, y, width, height). Οι συντεταγμένες είναι σε pixel, οπότε ίσως χρειαστεί λίγη δοκιμή. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Γιατί να χρησιμοποιήσετε περιοχή; Περιορίζοντας το OCR στην περιοχή του πίνακα **εξάγουμε επιλεγμένο κείμενο** πιο γρήγορα και αποφεύγουμε θόρυβο από ετικέτες ή γραφικά γύρω του. Επίσης βελτιώνει την ακρίβεια επειδή η μηχανή μπορεί να εστιάσει σε μια ομοιόμορφη διάταξη. + +## Βήμα 5: Εκτέλεση OCR στην Ορισμένη Περιοχή + +Με τη περιοχή ορισμένη, καλούμε το `process_region`. Η μέθοδος επιστρέφει ένα αντικείμενο `OcrResult` που περιέχει το ακατέργαστο κείμενο, βαθμούς εμπιστοσύνης, και ακόμη κουτιά περιορισμού αν τα χρειάζεστε αργότερα. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +Αν χρειάζεται να εξάγετε πολλαπλούς πίνακες, απλώς επαναλάβετε τα Βήματα 4‑5 με διαφορετικά rectangles. + +## Βήμα 6: Εξαγωγή του Κειμένου του Πίνακα + +Τέλος, εκτυπώστε—ή αποθηκεύστε—την κειμενική αναπαράσταση του πίνακα. Το Aspose OCR επιστρέφει απλό κείμενο με αλλαγές γραμμής που συνήθως ευθυγραμμίζονται με τις σειρές, κάνοντας την επεξεργασία εύκολη. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Αναμενόμενη έξοδος** (παράδειγμα): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +Τώρα μπορείτε να δώσετε αυτή τη συμβολοσειρά σε `csv` parser, pandas DataFrames, ή οποιοδήποτε pipeline ανάλυσης δεδομένων. + +## Πλήρες Παράδειγμα Λειτουργίας + +Συνδυάζοντας όλα τα παραπάνω, εδώ είναι το πλήρες σενάριο που μπορείτε να τρέξετε αμέσως. Αντικαταστήστε το `YOUR_DIRECTORY/form_with_table.png` με το πραγματικό μονοπάτι της εικόνας σας. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Τρέξτε το σενάριο με `python extract_table.py`. Αν όλα ευθυγραμμιστούν, θα δείτε τον πίνακα να εκτυπώνεται στην κονσόλα. + +## Συχνές Ερωτήσεις & Διαχείριση Edge‑Case + +**Τι γίνεται αν ο πίνακας δεν είναι τέλεια ορθογώνιος;** +Μποτε να χωρίσετε τον πίνακα σε πολλαπλές επικαλυπτόμενες περιοχές ή να χρησιμοποιήσετε ένα μεγαλύτερο rectangle που καλύπτει όλη την περιοχή και μετά να επεξεργαστείτε το κείμενο (π.χ., διαχωρισμός με αλλαγές γραμμής). + +**Μπορώ να εξάγω μόνο συγκεκριμένες στήλες;** +Αφού έχετε το πλήρες κείμενο του πίνακα, χρησιμοποιήστε το `csv` ή το `pandas` της Python για να αποκόψετε τις στήλες που σας ενδιαφέρουν. Το βήμα OCR επιστρέφει όλα όσα βρίσκονται μέσα στο rectangle. + +**Πώςλεύω με πίνακες μη‑Αγγλικών;** +Ορίστε `ocr_engine.language` (ή `region.language`) στην κατάλληλη enum, όπως `ocr.Language.FRENCH` ή συνδυάστε πολλές γλώσσες με `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**Υπάρχει τρόπος να λάβω κουτιά περιορισμού για κάθε κελί;** +Το Aspose OCR μπορεί να επιστρέψει `region_result.words` όπου κάθε λέξη περιλαμβάνει ένα bounding box. Θα χρειαστεί να χαρτογραφήσετε αυτά τα κουτιά σε ένα πλέγμα—χρήσιμο για προχωρημένη ανάλυση διάταξης. + +## Συμβουλές για Καλύτερη Ακρίβεια + +- **Καθαρίστε την εικόνα**: Δυαδικοποιήστε ή αυξήστε την αντίθεση πριν τη δώσετε στο OCR. Βιβλιοθήκες όπως η Pillow μπορούν να βοηθήσουν. +- **Αποφύγετε τα artifacts συμπίεσης**: Αποθηκεύετε τις σάρωση ως PNG όποτε είναι δυνατόν. +- **Προσοχή στο DPI**: 300 dpi είναι το ιδανικό σημείο· χαμηλότερες τιμές μπορεί να προκαλέσουν χαμένα χαρακτήρες. +- **Δοκιμάστε διαφορετικά μεγέθη rectangle**: Λίγο μεγαλύτερα rectangles συχνά συλλαμβάνουν χαρακτήρες που ανήκουν στον πίνακα αλλά βγαίνουν εκτός μικρότερου πλαισίου. + +## Επόμενα Βήματα + +Τώρα που έχετε κατακτήσει **πώς να εξάγετε πίνακα** δεδομένα με το Aspose OCR, μπορείτε να εξερευνήσετε: + +- Μετατροπή του εξαγόμενου κειμένου σε αρχείο CSV με το module `csv` της Python. +- Φόρτωση των δεδομένων σε **pandas** DataFrame για ανάλυση. +- Χρήση OCR για ανάγνωση χειρόγραφων φορμών (απαιτεί διαφορετικό engine ή πρόσθετη εκπαίδευση). +- Αυτοματοποίηση επεξεργασίας δεκάδων σαρωμένων φορμών με έναν απλό βρόχο `for`. + +Κάθε μία από αυτές τις επεκτάσεις βασίζεται στις βασικές έννοιες που καλύφθηκαν σε αυτό το **python ocr tutorial**, οπότε είστε έτοιμοι να κλιμακώσετε το έργο σας. + +--- + +*Καλή προγραμματιστική! Αν αντιμετωπίσετε προβλήματα, αφήστε ένα σχόλιο παρακάτω—θα χαρώ να σας βοηθήσω να βελτιώσετε την εξαγωγή.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/greek/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..7b6f0938 --- /dev/null +++ b/ocr/greek/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,284 @@ +--- +category: general +date: 2026-01-12 +description: Εκτελέστε OCR σε αρχεία PNG γρήγορα με Python. Μάθετε πώς να εξάγετε + κείμενο από εικόνα και τιμολόγιο και να φορτώνετε εικόνα για OCR χρησιμοποιώντας + το Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: el +og_description: Εκτελέστε OCR σε PNG άμεσα. Αυτός ο οδηγός δείχνει πώς να εξάγετε + κείμενο από εικόνα και τιμολόγιο, να φορτώσετε την εικόνα για OCR και να αποθηκεύσετε + τα αποτελέσματα ως JSON και CSV. +og_title: Εκτέλεση OCR σε PNG – Πλήρης οδηγός Python +tags: +- OCR +- Python +- Image Processing +title: Εκτελέστε OCR σε PNG – Πλήρης Οδηγός Python για την Εξαγωγή Κειμένου από Εικόνες +url: /el/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Εκτέλεση OCR σε PNG – Πλήρης Οδηγός Python για Εξαγωγή Κειμένου από Εικόνες + +Έχετε ποτέ χρειαστεί να **run OCR on PNG** αρχεία αλλά δεν ήσασταν σίγουροι ποια βιβλιοθήκη θα σας δώσει καθαρά, δομημένα αποτελέσματα; Δεν είστε μόνοι. Σε πολλά πραγματικά έργα—σκεφτείτε αυτοματοποίηση τιμολογίων ή σάρωση αποδείξεων—το πρώτο βήμα είναι να **extract text from image** αρχεία, και το PNG είναι μια κοινή μορφή επειδή διατηρεί την απώλεια ποιότητας. + +Σε αυτό το tutorial θα περάσουμε από ένα πρακτικό παράδειγμα χρησιμοποιώντας το πακέτο Aspose.OCR για Python. Στο τέλος του οδηγού θα ξέρετε πώς να **load image for OCR**, να εξάγετε κάθε γραμμή κειμένου, να μετατρέψετε τα δεδομένα σε ένα τακτοποιημένο αντικείμενο JSON και ακόμη να τα αποθηκεύσετε σε CSV για επεξεργασία. Χωρίς περιττές πληροφορίες, μόνο μια πρακτική, έτοιμη προς εκτέλεση λύση. + +## Τι Θα Μάθετε + +- Πώς να εγκαταστήσετε και να εισάγετε τη βιβλιοθήκη Aspose.OCR. +- Τα ακριβή βήματα για **run OCR on PNG** και τη διαχείριση του αντικειμένου αποτελέσματος. +- Τρόπους **extract text from invoice** αρχείων και μορφοποίηση της εξόδου ως JSON ή CSV. +- Συμβουλές για αντιμετώπιση εικόνων χαμηλής αντίθεσης, πολυγλωσσικών εγγράφων και βαθμολογιών εμπιστοσύνης. +- Ένα πλήρες, αντιγραφή‑και‑επικόλληση δείγμα κώδικα που μπορείτε να εκτελέσετε σήμερα. + +> **Prerequisite:** Python 3.8+ και βασική εξοικείωση με το pip. Αν δεν έχετε χρησιμοποιήσει ποτέ το Aspose, μην ανησυχείτε—αυτός ο οδηγός καλύπτει όλα όσα χρειάζεστε για να ξεκινήσετε. + +--- + +## Βήμα 1 – Εγκατάσταση Aspose.OCR και Προετοιμασία Περιβάλλοντος + +Πριν μπορέσουμε να **run OCR on PNG**, η βιβλιοθήκη πρέπει να είναι εγκατεστημένη στο σύστημά σας. + +```bash +pip install aspose-ocr +``` + +> **Pro tip:** Χρησιμοποιήστε ένα εικονικό περιβάλλον (`python -m venv venv`) για να απομονώσετε τις εξαρτήσεις. Αποτρέπει συγκρούσεις εκδόσεων όταν διαχειρίζεστε πολλαπλά έργα. + +Αφού εγκατασταθεί, εισάγετε τα modules που θα χρειαστούμε: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Εδώ φέρνουμε το `asposeocr` για το βαρέως βάρους έργο και τη ενσωματωμένη βιβλιοθήκη `json` για μετέπειτα σειριοποίηση. + +--- + +## Βήμα 2 – Δημιουργία του OCR Engine και Ορισμός Γλώσσας + +Η μηχανή OCR είναι το κύριο στοιχείο που διαβάζει τα pixel. Για τα περισσότερα αγγλικά τιμολόγια, θα θέλετε το πακέτο αγγλικής γλώσσας: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Why this matters:** Ο καθορισμός της γλώσσας περιορίζει το σύνολο χαρακτήρων, βελτιώνοντας την ακρίβεια και την ταχύτητα επεξεργασίας. Αν χρειαστεί ποτέ να διαχειριστείτε πολυγλωσσικά τιμολόγια, απλώς αντικαταστήστε το `ocr.Language.ENGLISH` με το κατάλληλο enum. + +--- + +## Βήμα 3 – Φόρτωση της Εικόνας για OCR + +Τώρα θα **load image for OCR**. Η μέθοδος `Image.load` δέχεται διαδρομή αρχείου και λειτουργεί με PNG, JPEG, BMP και άλλα. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Edge case:** Αν το PNG είναι ασυνήθιστα μεγάλο (πάνω από 5 MB), σκεφτείτε να το αλλάξετε σε μικρότερο μέγεθος πρώτα για να διατηρήσετε τη χρήση μνήμης σε λογικά επίπεδα. Το Pillow μπορεί να το κάνει αυτό σε μία γραμμή: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## Βήμα 4 – Εκτέλεση OCR σε PNG και Λήψη του Αποτελέσματος + +Με τη μηχανή έτοιμη και την εικόνα φορτωμένη, ήρθε η ώρα να **run OCR on PNG** και να ανακτήσετε το δομημένο αποτέλεσμα. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +Το αντικείμενο `ocr_result` περιέχει μια συλλογή αντικειμένων `OcrRegion`, το καθένα με το αναγνωρισμένο κείμενο και μια βαθμολογία εμπιστοσύνης (0‑100). Εδώ παίρνετε τα λεπτομερή δεδομένα που χρειάζεστε για **extract text from invoice** γραμμές. + +--- + +## Βήμα 5 – Μετατροπή του Αποτελέσματος σε JSON και Καλαίσθητη Εκτύπωση + +Τα περισσότερα downstream συστήματα αγαπούν το JSON, οπότε θα μετατρέψουμε την έξοδο OCR σε μια ωραία μορφοποιημένη συμβολοσειρά. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Δείγμα Εξόδου + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Παρατηρήστε πώς κάθε γραμμή περιλαμβάνει ένα μετρικό εμπιστοσύνης—τέλειο για φιλτράρισμα χαμηλής εμπιστοσύνης αν σκοπεύετε να **extract text from invoice** αυτόματα. + +--- + +## Βήμα 6 – Αποθήκευση των Δεδομένων OCR ως CSV (Μία Γραμμή ανά Κείμενο + Εμπιστοσύνη) + +Το CSV είναι ιδανικό για υπολογιστικά φύλλα ή γρήγορες εισαγωγές δεδομένων. Το Aspose προσφέρει μια εντολή μίας γραμμής για να αποθηκεύσετε τα πάντα σε αρχείο CSV. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +Το παραγόμενο CSV θα μοιάζει με αυτό: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Τώρα μπορείτε να το ανοίξετε στο Excel, Google Sheets ή να το φορτώσετε σε βάση δεδομένων. + +--- + +## Bonus – Διαχείριση Κειμένου Χαμηλής Εμπιστοσύνης και Πολυσελίδων PDF + +### Φιλτράρισμα κατά Εμπιστοσύνη + +Αν θέλετε μόνο γραμμές υψηλής βεβαιότητας, φιλτράρετε το JSON πριν το γράψετε: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Πολυσελίδες Έγγραφα + +Το Aspose.OCR δημιουργεί αυτόματα μια νέα καταχώρηση `page` για κάθε σελίδα σε PNG ή PDF πολλαπλών σελίδων. Επανάληψη μέσω `ocr_data["pages"]` για επεξεργασία όλων—χωρίς επιπλέον κώδικα. + +--- + +## Πλήρες Παράδειγμα Εργασίας + +Παρακάτω είναι το **complete script** που μπορείτε να αντιγράψετε, επικολλήσετε και να τρέξετε αμέσως. Αντικαταστήστε το `YOUR_DIRECTORY` με το φάκελο που περιέχει το PNG αρχείο σας. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Τρέξτε το script με `python run_ocr.py` και θα δείτε το JSON dump στην κονσόλα, ένα αρχείο CSV στο δίσκο, και μια φιλτραρισμένη λίστα εγγραφών υψηλής εμπιστοσύνης. + +--- + +## Συχνές Ερωτήσεις + +**Q: Μπορώ να το χρησιμοποιήσω για να εξάγω κείμενο από μια σαρωμένη απόδειξη αντί για τιμολόγιο;** +A: Απόλυτα. Η ίδια ροή εργασίας ισχύει—απλώς δείξτε το `image_path` στην απόδειξη PNG. Αν η απόδειξη χρησιμοποιεί διαφορετική γλώσσα, αλλάξτε το `engine.language` αναλόγως. + +**Q: Τι γίνεται αν το PNG περιέχει κείμενο περιστρεφόμενο;** +A: Το Aspose.OCR ανιχνεύει αυτόματα τον προσανατολισμό, αλλά για επίμονες περιπτώσεις μπορείτε να περιστρέψετε την εικόνα χειροκίνητα με το Pillow πριν τη δώσετε στη μηχανή. + +**Q: Χρειάζομαι πληρωμένη άδεια για το Aspose.OCR;** +A: Η βιβλιοθήκη προσφέρει δωρεάν λειτουργία αξιολόγησης με υδατογράφημα στην έξοδο. Για παραγωγική χρήση θα χρειαστείτε άδεια, την οποία μπορείτε να αποκτήσετε από την ιστοσελίδα του Aspose. + +--- + +## Συμπέρασμα + +Καλύψαμε όλα όσα χρειάζεστε για να **run OCR on PNG** αρχεία χρησιμοποιώντας Python: εγκατάσταση του SDK, φόρτωση εικόνας, εξαγωγή δομημένου κειμένου και αποθήκευση του αποτελέσματος ως JSON ή CSV. Είτε θέλετε να **extract text from image** για ένα απλό script είτε να **extract text from invoice** για μια αυτοματοποιημένη γραμμή λογιστικής, τα παραπάνω βήματα σας δίνουν μια σταθερή, έτοιμη για παραγωγή βάση. + +Επόμενα βήματα που μπορείτε να εξερευνήσετε: + +- Ενσωμάτωση της εξόδου CSV με βάση δεδομένων για μαζική αποθήκευση τιμολογίων. +- Προσθήκη post‑processing με κανονικές εκφράσεις για εξαγωγή ημερομηνιών, ποσών ή αριθμών φορολογικού μητρώου. +- Χρήση της λειτουργίας `ocr_engine.recognize_barcode` αν τα τιμολόγια σας περιλαμβάνουν QR codes. + +Δοκιμάστε το, προσαρμόστε τα όρια εμπιστοσύνης, και δείτε τη ροή επεξεργασίας εγγράφων σας να γίνεται παιχνιδάκι. Έχετε περισσότερες ερωτήσεις ή ένα ενδιαφέρον use‑case να μοιραστείτε; Αφήστε ένα σχόλιο παρακάτω—καλή OCR εμπειρία! + +![run OCR on PNG example](run-ocr-on-png.png "run OCR on PNG – visual example of OCR result") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/hindi/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..0de2d97b --- /dev/null +++ b/ocr/hindi/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,193 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR का उपयोग करके Python में छवि से टेक्स्ट निकालें। केवल कुछ + ही मिनटों में async कोड के साथ स्कैन की गई छवि को टेक्स्ट में बदलना सीखें। +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: hi +og_description: Aspose OCR के साथ Python में छवि से टेक्स्ट निकालें। यह ट्यूटोरियल + दिखाता है कि असिंक्रोनस फ़ंक्शन्स का उपयोग करके स्कैन की गई छवि को टेक्स्ट में कैसे + बदलें। +og_title: छवि से पाठ निकालें पाइथन – असिंक्रोनस OCR गाइड +tags: +- python +- ocr +- async +title: छवि से पाठ निकालें Python – असिंक्रोनस OCR गाइड +url: /hi/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# इमेज से टेक्स्ट निकालें Python – Async OCR गाइड + +क्या आपको कभी **extract text from image Python** स्क्रिप्ट्स की ज़रूरत पड़ी है लेकिन OCR भाग में अटक गए? आप अकेले नहीं हैं। कई डेवलपर्स को स्कैन किए हुए दस्तावेज़ मिलते हैं और उन्हें खोज योग्य टेक्स्ट में बदलना चाहते हैं, बिना सिर दर्द के। + +इस ट्यूटोरियल में हम एक पूर्ण, चलाने योग्य उदाहरण के माध्यम से दिखाएंगे कि **convert scanned image to text** कैसे किया जाता है Aspose OCR की asynchronous API का उपयोग करके। अंत तक आपके पास एक सिंगल फ़ंक्शन होगा जिसे आप किसी भी प्रोजेक्ट में डाल सकते हैं, और आप समझेंगे कि async प्रोसेसिंग कैसे आपके ऐप को रिस्पॉन्सिव रखती है, भले ही OCR को कुछ सेकंड लगें। + +## Prerequisites + +- Python 3.8+ स्थापित हो (async फीचर को कम से कम 3.7 चाहिए) +- `asposeocr` पैकेज (`pip install asposeocr`) – यह वह लाइब्रेरी है जिसका हम उपयोग करेंगे +- एक स्कैन किया हुआ इमेज फ़ाइल (TIFF, PNG, JPEG – जो भी Aspose OCR सपोर्ट करता है) +- `asyncio` की बुनियादी जानकारी (अगर नहीं है, तो चिंता न करें – हम हर कदम समझाएंगे) + +कोई अतिरिक्त सिस्टम डिपेंडेंसीज़ की ज़रूरत नहीं है; Aspose OCR सब कुछ बंडल कर देता है। + +![async OCR प्रवाह दर्शाता आरेख – इमेज से टेक्स्ट निकालें Python](https://example.com/async-ocr-diagram.png "async OCR प्रवाह दर्शाता आरेख – इमेज से टेक्स्ट निकालें Python") + +## Step 1 – Set Up the Asynchronous Helper Function + +समाधान का दिल एक `async` फ़ंक्शन है जो इमेज लोड करता है, OCR शुरू करता है, और फिर परिणाम की प्रतीक्षा करता है। फ़ंक्शन को asynchronous रखने से आप अन्य कोरूटीन (जैसे, और फ़ाइलें डाउनलोड करना) चला सकते हैं जबकि OCR इंजन बैकग्राउंड में काम कर रहा होता है। + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Why this matters:** By returning a `Future`, Aspose OCR does the heavy lifting on a separate thread pool. `await` releases the event loop, so your app stays snappy. If you ever need to process many images concurrently, you can simply schedule several `async_ocr` calls with `asyncio.gather`. + +## Step 2 – Run the Coroutine in the Event Loop + +अब हमारे पास हेल्पर है, हमें इसे चलाना है। `asyncio.run` एक नया इवेंट लूप बनाता है, कोरूटीन चलाता है, और सब कुछ साफ़‑सुथरा बंद कर देता है। + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Pro tip:** If you’re integrating this into a larger async application (e.g., FastAPI), you’d call `await async_ocr(...)` directly instead of `asyncio.run`. + +## Step 3 – Verify the Output + +जब आप स्क्रिप्ट चलाएंगे, आपको कुछ इस तरह दिखना चाहिए: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +यदि आउटपुट गड़बड़ दिखता है, तो दोबारा जाँचें कि: + +1. इमेज स्पष्ट है और अत्यधिक कंप्रेस्ड नहीं है। +2. आपने सही भाषा चुनी है (`ocr.Language.ENGLISH` अधिकांश लैटिन‑आधारित टेक्स्ट के लिए काम करता है)। +3. फ़ाइल पाथ सही है और फ़ाइल पढ़ी जा सकती है। + +## Step 4 – Handling Edge Cases + +### Multiple Languages + +यदि आपको **convert scanned image to text** किसी अन्य भाषा में चाहिए, तो बस भाषा प्रॉपर्टी बदल दें: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Large Files + +बहुत बड़े TIFF के लिए, OCR को फीड करने से पहले इमेज को रिसाइज़ या लो‑रेज़ोल्यूशन PNG में बदलने पर विचार करें। इससे मेमोरी प्रेशर कम होता है और प्रोसेसिंग तेज़ होती है। + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Error Handling + +OCR कॉल को `try/except` ब्लॉक में रैप करें ताकि नेटवर्क‑रिलेटेड या लाइसेंसिंग एरर पकड़े जा सकें। + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Step 5 – Scaling Up: Processing Many Images Concurrently + +क्योंकि फ़ंक्शन async है, आप एक साथ दर्जनों OCR जॉब्स फायर कर सकते हैं: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +यह पैटर्न CPU को व्यस्त रखता है जबकि OCR इंजन समानांतर में काम करता है, जिससे कुल प्रोसेसिंग टाइम काफी घट जाता है। + +## Conclusion + +अब आपके पास एक ठोस, **extract text from image Python** समाधान है जो Aspose OCR की asynchronous API का उपयोग करता है। पूरा उदाहरण दिखाता है कैसे: + +1. OCR इंजन को इनिशियलाइज़ करें और भाषा चुनें। +2. `process_async` के साथ OCR को असिंक्रोनस रूप से लॉन्च करें। +3. इवेंट लूप को ब्लॉक किए बिना परिणाम की प्रतीक्षा करें। +4. बड़े फ़ाइलों और मल्टी‑लैंग्वेज सपोर्ट जैसी सामान्य समस्याओं को संभालें। + +कोड को अपनी पाइपलाइन में अनुकूलित करने में संकोच न करें—चाहे आप डॉक्यूमेंट‑मैनेजमेंट सिस्टम, सर्च इंडेक्सर, या साधारण कमांड‑लाइन यूटिलिटी बना रहे हों। आगे के कदम हो सकते हैं: + +- एक्सट्रैक्टेड टेक्स्ट को डेटाबेस में स्टोर करना ताकि फुल‑टेक्स्ट सर्च हो सके। +- PDF जनरेशन जोड़ना (जैसे `PyPDF2` का उपयोग) ताकि सर्चेबल PDF बन सके। +- FastAPI जैसे वेब फ्रेमवर्क के साथ इंटीग्रेट करना ताकि RESTful OCR सर्विस मिल सके। + +हैप्पी कोडिंग, और इन स्कैन किए हुए इमेजेज़ को सर्चेबल, एडिटेबल टेक्स्ट में बदलने का आनंद लें! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/hindi/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..5f393491 --- /dev/null +++ b/ocr/hindi/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,215 @@ +--- +category: general +date: 2026-01-12 +description: Python में तेज़ी से बैच OCR इमेजेज कैसे करें और JPEG फ़ाइलों से टेक्स्ट + निकालें। एक पूर्ण चलाने योग्य उदाहरण के साथ चरण‑दर‑चरण बैच प्रोसेसिंग सीखें। +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: hi +og_description: कैसे बैच में OCR इमेजेज़ को प्रोसेस करें और JPEG फ़ाइलों से टेक्स्ट + निकालें। यह गाइड आपको एक पूर्ण, तुरंत चलाने योग्य Python समाधान के माध्यम से ले + जाता है। +og_title: कैसे बैच में OCR छवियों को प्रोसेस करें – त्वरित पायथन ट्यूटोरियल +tags: +- OCR +- Python +- image processing +title: बैच में OCR इमेज कैसे करें – JPEG फ़ाइलों से टेक्स्ट निकालने के लिए तेज़ गाइड +url: /hi/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# बैच OCR इमेजेज कैसे करें – JPEG फ़ाइलों से टेक्स्ट निकालने के लिए तेज़ गाइड + +क्या आपने कभी **बैच OCR इमेजेज** करने के बारे में सोचा है बिना प्रत्येक फ़ाइल के लिए अलग स्क्रिप्ट लिखे? आप अकेले नहीं हैं। कई प्रोजेक्ट्स—इनवॉइस स्कैनिंग, अभिलेख डिजिटलीकरण, या कंटेंट मॉडरेशन—में हमें एक ही बार में दर्जनों या सैकड़ों JPEG फ़ाइलों से टेक्स्ट निकालना पड़ता है। अच्छी खबर यह है कि आप इसे कुछ ही पंक्तियों के Python कोड से कर सकते हैं, और आपके पास एक पुन: उपयोग योग्य इंजन होगा जिसे आप किसी भी पाइपलाइन में डाल सकते हैं। + +इस ट्यूटोरियल में हम आपको बिल्कुल **बैच OCR इमेजेज** कैसे करें दिखाएंगे, फिर JPEG फ़ाइलों से टेक्स्ट निकालने, एज केस संभालने, और आउटपुट की पुष्टि करने की प्रक्रिया बताएंगे। अंत तक आपके पास एक स्व-समाहित स्क्रिप्ट होगी जिसे आप किसी भी इमेज फ़ोल्डर पर चला सकते हैं, और आप समझेंगे कि बैच प्रोसेसिंग प्रदर्शन और मेंटेनबिलिटी के लिए क्यों महत्वपूर्ण है। + +## आप क्या सीखेंगे + +- एक सरल OCR इंजन सेट अप करना और इसे अंग्रेज़ी के लिए कॉन्फ़िगर करना। +- `pathlib` के साथ किसी डायरेक्टरी से सभी JPEG फ़ाइलें एकत्र करना। +- OCR इंजन को एक बार कॉल करके पूरे बैच को प्रोसेस करना। +- प्रत्येक इमेज के लिए पहचाने गए टेक्स्ट का प्रीव्यू दिखाना। +- बड़े बैच, विभिन्न भाषाओं, और सामान्य pitfalls को संभालने के टिप्स। + +**Prerequisites**: Python 3.8+, `ocr` लाइब्रेरी (या कोई भी संगत रैपर), और JPEG इमेजों का एक फ़ोल्डर जिसे आप विश्लेषण करना चाहते हैं। कोई बाहरी सर्विस आवश्यक नहीं—सब कुछ लोकली चलता है। + +--- + +## Step 1: Initialise the OCR Engine – The Core of How to Batch OCR Images + +**बैच OCR इमेजेज** करने से पहले हमें एक ऐसा इंजन चाहिए जो टेक्स्ट पढ़ना जानता हो। अधिकांश लाइब्रेरीज़ में आप एक इंजन ऑब्जेक्ट बनाते हैं, वैकल्पिक रूप से भाषा सेट करते हैं, और फिर इसे हर फ़ाइल के लिए पुन: उपयोग करते हैं। + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Why this matters*: इंजन को एक बार इनिशियलाइज़ करने से भाषा मॉडल को बार‑बार लोड करने का ओवरहेड बचता है। यह आपको सेटिंग्स (जैसे DPI, कैरेक्टर व्हाइटलिस्ट) को एक ही जगह पर ट्यून करने की सुविधा भी देता है जो पूरे बैच पर लागू होगी। + +> **Pro tip**: यदि आप बहुभाषी दस्तावेज़ प्रोसेस करने की योजना बना रहे हैं, तो `ocr.Language.ENGLISH` को `ocr.Language.MULTI` में बदलें या बैच शुरू होने से पहले कई भाषा पैक लोड करें। + +--- + +## Step 2: Gather All JPEG Files – The “Extract Text from JPEG Files” Part + +अब जब इंजन तैयार है, हमें इसे बताना है कि कौन‑सी इमेजेज़ पर काम करना है। `pathlib` का उपयोग कोड को प्लेटफ़ॉर्म‑इंडिपेंडेंट और संक्षिप्त बनाता है। + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Why this matters*: फ़ाइल सूची को पहले इकट्ठा करके, हम पूरे कलेक्शन को OCR इंजन को एक कॉल में दे सकते हैं—यही वह चीज़ है जो “बैच OCR इमेजेज” का मूल सिद्धांत है। यदि आपके पास सब‑फ़ोल्डर हैं, तो आप `glob("**/*.jpg")` को रीकर्सिव सर्च के लिए बदल सकते हैं। + +> **Edge case**: यदि आपकी इमेजेज़ में मिश्रित एक्सटेंशन (`.jpeg`, `.JPG`) हैं, तो ग्लॉब पैटर्न को इस प्रकार विस्तारित करें: `image_dir.rglob("*.[jJ][pP][eE]?g")`। + +--- + +## Step 3: Process the Whole Batch in One Call – The Real Power of Batch OCR + +आधुनिक OCR लाइब्रेरीज़ अक्सर एक `process_batch` (या समान नाम) मेथड प्रदान करती हैं जो फ़ाइल पाथ्स के इटेरेबल को स्वीकार करती है। यही **बैच OCR इमेजेज** को प्रभावी ढंग से करने का दिल है। + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Why this matters*: एकल बैच कॉल Python‑to‑C ट्रांज़िशन की संख्या घटाता है, भाषा मॉडल को मेमोरी में लोड रखता है, और अक्सर आंतरिक पैरललाइज़ेशन को सक्षम करता है। परिणाम एक ऑब्जेक्ट्स की सूची होती है—प्रत्येक में पहचाना गया टेक्स्ट और कॉन्फिडेंस स्कोर होते हैं। + +> **Performance note**: बहुत बड़े बैच (हज़ारों इमेजेज़) के लिए, सूची को छोटे चंक्स (जैसे 200 फ़ाइलें) में विभाजित करने पर विचार करें ताकि मेमोरी ओवरहेड कम रहे। + +--- + +## Step 4: Show a Preview of the Extracted Text – Quick Validation + +बैच समाप्त होने के बाद, प्रत्येक परिणाम के पहले कुछ अक्षरों को देखना उपयोगी होता है। यह आपको पुष्टि करने में मदद करता है कि OCR वास्तव में आपके JPEG फ़ाइलों से टेक्स्ट निकाल रहा है। + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Why this matters*: एक छोटा प्रीव्यू आपको स्पष्ट फेल्यर्स (जैसे खाली आउटपुट, गड़बड़ अक्षर) को हर फ़ाइल खोलने की ज़रूरत बिना पहचानने देता है। यदि आप सिस्टमेटिक समस्याएँ देखते हैं, तो इंजन सेटिंग्स को समायोजित करके बैच को फिर से चला सकते हैं। + +> **Common pitfall**: नई लाइन कैरेक्टर को स्ट्रिप करना भूलने से प्रीव्यू गंदा दिख सकता है। `replace("\n", " ")` लाइन इसे साफ़ कर देती है। + +--- + +## Full Working Example – All Steps Combined + +नीचे पूरा स्क्रिप्ट दिया गया है जिसे आप कॉपी‑पेस्ट कर सकते हैं, डायरेक्टरी पाथ को समायोजित कर सकते हैं, और चला सकते हैं। यह **बैच OCR इमेजेज** वर्कफ़्लो को शुरू से अंत तक प्रदर्शित करता है। + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Expected output** (sample): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +यदि प्रीव्यू में अर्थपूर्ण टेक्स्ट दिखता है, तो आपने सफलतापूर्वक **JPEG फ़ाइलों से टेक्स्ट निकाला** है बैच एप्रोच का उपयोग करके। + +--- + +## Handling Large Batches and Advanced Scenarios + +### Chunking Large Workloads +हज़ारों इमेजेज़ से निपटते समय मेमोरी एक बाधा बन सकती है। सूची को छोटे चंक्स में विभाजित करें: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Switching Languages +यदि आपके दस्तावेज़ों में फ़्रेंच या स्पेनिश है, तो बैच से पहले भाषा बदलें: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Saving Results to Disk +प्रिंट करने के बजाय, आप प्रत्येक OCR परिणाम को `.txt` फ़ाइल में लिखना चाह सकते हैं: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Conclusion + +अब आप जानते हैं **बैच OCR इमेजेज** कैसे करें और एक कॉम्पैक्ट Python स्क्रिप्ट का उपयोग करके **JPEG फ़ाइलों से टेक्स्ट** विश्वसनीय रूप से निकाल सकते हैं। इंजन को एक बार इनिशियलाइज़ करके, सभी JPEG पाथ इकट्ठा करके, उन्हें एकल बैच में प्रोसेस करके, और आउटपुट का प्रीव्यू लेकर, आप गति और सरलता दोनों हासिल करते हैं। अब आप वर्कफ़्लो को विस्तारित कर सकते हैं—बहुभाषी समर्थन जोड़ें, परिणामों को डेटाबेस में स्टोर करें, या स्क्रिप्ट को बड़े डॉक्यूमेंट‑प्रोसेसिंग पाइपलाइन में इंटीग्रेट करें। + +अगले कदम के लिए तैयार हैं? `ocr` लाइब्रेरी को Tesseract से बदलें, विभिन्न इमेज प्री‑प्रोसेसिंग (थ्रेशहोल्डिंग, रिसाइज़िंग) के साथ प्रयोग करें, या निकाले गए टेक्स्ट को एक नेचुरल‑लैंग्वेज‑प्रोसेसिंग मॉडल में फीड करके ऑटोमैटिक कैटेगराइज़ेशन करें। संभावनाएँ असीमित हैं, और आपके पास निर्माण के लिए एक ठोस आधार है। + +हैप्पी कोडिंग, और आपके OCR बैच हमेशा त्रुटि‑मुक्त रहें! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/hindi/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..ba7324df --- /dev/null +++ b/ocr/hindi/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,145 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR का उपयोग करके छवियों में भाषा का पता कैसे लगाएँ – छवि से टेक्स्ट + निकालना सीखें, मिश्रित भाषा OCR को संभालें और Python में OCR का उपयोग करें। +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: hi +og_description: Aspose OCR का उपयोग करके छवियों में भाषा का पता कैसे लगाएँ – छवि से + टेक्स्ट निकालने और मिश्रित भाषा OCR को संभालने के लिए चरण‑दर‑चरण गाइड। +og_title: मिश्रित टेक्स्ट के लिए OCR के साथ भाषा का पता कैसे लगाएँ +tags: +- OCR +- Python +- Aspose +title: मिक्स्ड टेक्स्ट में OCR के द्वारा भाषा का पता कैसे लगाएँ +url: /hi/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# मिश्रित टेक्स्ट के साथ OCR द्वारा भाषा का पता कैसे लगाएँ + +छवियों में भाषा का पता लगाना, विशेषकर जब दस्तावेज़ बहुभाषी हों, एक सामान्य चुनौती है। क्या आपने कभी सोचा है **कैसे इमेज से टेक्स्ट निकालें** जब उसी पेज पर अंग्रेज़ी और फ़्रेंच दोनों हों? इस ट्यूटोरियल में हम एक पूर्ण, चलाने योग्य उदाहरण के माध्यम से दिखाएंगे कि OCR का उपयोग करके भाषा कैसे पहचानी जाए, टेक्स्ट कैसे निकाला जाए, और मिश्रित‑भाषा स्थितियों को बिना किसी परेशानी के कैसे संभालें। + +हम सब कुछ कवर करेंगे: Aspose OCR इंजन सेट‑अप करना, इसे किन भाषाओं को देखना है बताना, एक नमूना इनवॉइस इमेज लोड करना, OCR प्रक्रिया चलाना, और अंत में पहचानी गई भाषा के साथ निकाले गए टेक्स्ट को प्रिंट करना। अंत तक आप अपने प्रोजेक्ट में “मिश्रित भाषा OCR के लिए OCR कैसे उपयोग करें” का उत्तर दे पाएँगे, चाहे आप इनवॉइसिंग पाइपलाइन, रसीद स्कैनर, या दस्तावेज़‑आर्काइव टूल बना रहे हों। + +> **Prerequisites** – आपके पास Python 3.8+ इंस्टॉल होना चाहिए, pip की बुनियादी जानकारी होनी चाहिए, और एक Aspose OCR लाइसेंस (फ़्री ट्रायल इस डेमो के लिए काम करता है) होना चाहिए। अन्य कोई बाहरी लाइब्रेरी आवश्यक नहीं है। + +--- + +## Aspose OCR के साथ भाषा का पता कैसे लगाएँ + +पहला कदम OCR इंजन का एक इंस्टेंस बनाना और उसे बताना है कि वह किन भाषाओं को देखे। Aspose OCR एक bit‑mask का उपयोग करके भाषाओं को जोड़ता है, जिससे अंग्रेज़ी, फ़्रेंच, स्पेनिश या किसी भी संयोजन को सपोर्ट करना आसान हो जाता है। + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Why this matters:** इंजन को इनिशियलाइज़ करना बुनियाद है। बिना इस के आप कोई भी OCR मेथड कॉल नहीं कर सकते, और इंजन वह सभी कॉन्फ़िगरेशन रखता है जो बाद में **भाषा का पता लगाने** की क्षमता निर्धारित करता है। + +--- + +## OCR का उपयोग करके इमेज से टेक्स्ट निकालें + +अब हमें इंजन को बताना है कि कौन‑सी भाषाएँ संभव हैं। `ENGLISH | FRENCH` का bit‑mask सेट करके हम इंजन को प्रत्येक इमेज क्षेत्र के लिए सबसे उपयुक्त मेल स्वचालित रूप से चुनने की अनुमति देते हैं। + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Why this matters:** `auto_detect_language` को सक्षम करना **मिश्रित‑भाषा दस्तावेज़ में भाषा का पता कैसे लगाएँ** का मुख्य बिंदु है। इंजन टेक्स्ट को स्कैन करता है, प्रत्येक भाषा को स्कोर देता है, और सबसे अधिक कॉन्फिडेंस वाली भाषा लौटाता है। यदि आप इस चरण को छोड़ते हैं तो आपको खुद भाषा का अनुमान लगाना पड़ेगा, जो मिश्रित भाषा OCR के उद्देश्य को नकारता है। + +--- + +## मिश्रित भाषा OCR सेटिंग्स कॉन्फ़िगर करें + +इमेज को इंजन में फीड करने से पहले हमें उसे लोड करना होगा। Aspose OCR अपनी स्वयं की `Image` क्लास के साथ काम करता है, जो अंतर्निहित फ़ाइल फ़ॉर्मेट को एब्स्ट्रैक्ट करती है। + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Tip:** सर्वोत्तम परिणामों के लिए इमेज रेज़ोल्यूशन को लगभग 300 dpi रखें। कम रेज़ोल्यूशन से भाषा पहचान को सूक्ष्म अक्षर, विशेषकर फ़्रेंच में एक्सेंटेड अक्षर, मिस हो सकते हैं। + +--- + +## OCR प्रक्रिया चलाएँ और परिणाम प्राप्त करें + +इंजन कॉन्फ़िगर हो गया और इमेज लोड हो गई, अब हम अंततः OCR प्रक्रिया चला सकते हैं। `process` मेथड एक `OcrResult` ऑब्जेक्ट लौटाता है जिसमें पहचाना गया भाषा कोड और पूरा निकाला गया टेक्स्ट दोनों होते हैं। + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Expected output** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +यदि इमेज में फ़्रेंच सेक्शन हैं, तो आपको `FRENCH` को पहचानी गई भाषा के रूप में और संबंधित फ़्रेंच टेक्स्ट प्रिंट होते हुए दिखेगा। + +--- + +## इमेज उदाहरण (SEO के लिए Alt Text) + +![how to detect language in mixed language OCR image](mixed_lang_invoice.png) + +*ऊपर का स्क्रीनशॉट एक नमूना इनवॉइस दिखाता है जिसमें अंग्रेज़ी और फ़्रेंच दोनों टेक्स्ट हैं, यह दर्शाता है कि OCR इंजन **भाषा का पता कैसे लगाएँ** और एक ही पास में कंटेंट निकाल सकता है।* + +--- + +## सामान्य समस्याएँ और प्रो टिप्स + +| Issue | Why it Happens | How to Fix / Mitigate | +|-------|----------------|------------------------| +| **Blurry or low‑resolution scans** | इंजन अक्षरों को पहचान नहीं पाता, जिससे गलत भाषा पहचान होती है। | ≥300 dpi पर स्कैन करें, OCR से पहले इमेज शार्पनिंग लागू करें। | +| **Missing language in the bit‑mask** | यदि आप किसी भाषा को शामिल करना भूल जाते हैं, तो इंजन पहले मिलान को डिफ़ॉल्ट करता है, अक्सर गलत परिणाम देता है। | हमेशा उन सभी भाषाओं को सूचीबद्ध करें जिनकी आप अपेक्षा करते हैं; आप कई भाषाओं को `|` ऑपरेटर से जोड़ सकते हैं। | +| **Mixed scripts (e.g., Latin + Cyrillic)** | Aspose OCR को अलग‑अलग भाषा पैक्स की आवश्यकता हो सकती है। | अतिरिक्त भाषा पैक्स इंस्टॉल करें और उन्हें मास्क में जोड़ें। | +| **Large files causing memory spikes** | बड़ी इमेज को मेमोरी में लोड करने से स्क्रिप्ट क्रैश हो सकती है। | `Image.resize` का उपयोग करके DPI बनाए रखते हुए डाउनस्केल करें, या इमेज को टाइल्स में प्रोसेस करें। | + +**Pro tip:** रॉ टेक्स्ट मिलने के बाद, व्हाइटस्पेस और लाइन ब्रेक को सामान्य करने के लिए एक त्वरित पोस्ट‑प्रोसेसिंग स्टेप चलाएँ। इससे डाउनस्ट्रीम पार्सिंग (जैसे इनवॉइस नंबर निकालना) बहुत आसान हो जाता है। + +--- + +## Wrap‑Up: आपने क्या सीखा + +आप अब **मिश्रित‑भाषा इमेज में भाषा का पता कैसे लगाएँ** Aspose OCR का उपयोग करके जानते हैं, और आपने एक पूर्ण, एंड‑टू‑एंड उदाहरण देखा है जो **इमेज से टेक्स्ट कैसे निकालें** भी दिखाता है। भाषा bit‑mask कॉन्फ़िगर करके, ऑटो‑डिटेक्शन सक्षम करके, और रिज़ल्ट ऑब्जेक्ट को हैंडल करके आप इनवॉइस, रसीद या किसी भी दस्तावेज़ को भरोसेमंद रूप से प्रोसेस कर सकते हैं जो अंग्रेज़ी और फ़्रेंच (या अन्य भाषाओं) को मिलाता है। + +### Next Steps + +- PDFs से **टेक्स्ट निकालने** के लिए प्रत्येक पेज को पहले इमेज में बदलकर आज़माएँ। +- अन्य सेकेंडरी कीवर्ड्स के साथ प्रयोग करें: पूरी **how to use OCR** API सतह को एक्सप्लोर करें, जैसे तेज़ प्रोसेसिंग के लिए OCR ज़ोन्स सेट करना। +- अधिक जटिल **mixed language OCR** केसों में डुबकी लगाएँ, जैसे ऐसे दस्तावेज़ जहाँ तीन या अधिक भाषाएँ बारी‑बारी से बदलती हों। + +कोड को अपनी जरूरतों के अनुसार ट्यून करें, अपने स्वयं के इमेज पर टेस्ट करें, और इंजन को भारी काम करने दें। यदि कोई समस्या आती है, तो नीचे कमेंट करें—हैप्पी कोडिंग! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/hindi/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..3949a8f5 --- /dev/null +++ b/ocr/hindi/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: Python में PDF को OCR करना सीखें और PDF को जल्दी से सर्चेबल बनाएं। स्कैन + किए गए PDF को परिवर्तित करें, टेक्स्ट PDF निकालें, और Aspose OCR का उपयोग करके Python + में स्कैन किए गए PDF को OCR करें। +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: hi +og_description: Python में PDF को OCR कैसे करें? यह चरण‑दर‑चरण ट्यूटोरियल आपको दिखाता + है कि स्कैन किए गए PDF फ़ाइलों को खोज योग्य PDFs में कैसे बदलें और Aspose OCR के + साथ टेक्स्ट निकालें। +og_title: PDF को OCR कैसे करें और इसे खोज योग्य बनाएं – पायथन गाइड +tags: +- OCR +- Python +- PDF processing +title: PDF को OCR कैसे करें और इसे खोज योग्य बनाएं – Python गाइड +url: /hi/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# कैसे PDF को OCR करें और इसे सर्चेबल बनाएं – Python गाइड + +क्या आपने कभी **PDF को OCR करने** के बारे में सोचा है बिना महंगे कमर्शियल सॉफ़्टवेयर के? आप अकेले नहीं हैं। कई डेवलपर्स को तब रुकावट आती है जब उन्हें स्कैन किया हुआ कॉन्ट्रैक्ट, इनवॉइस, या कोई भी इमेज‑बेस्ड PDF को सर्चेबल डॉक्यूमेंट में बदलना होता है। अच्छी खबर? कुछ ही लाइनों के Python कोड और Aspose OCR के साथ आप स्कैन किया हुआ PDF, टेक्स्ट एक्सट्रैक्ट PDF, और अंत में PDF को मिनटों में सर्चेबल बना सकते हैं। + +इस ट्यूटोरियल में हम सब कुछ कवर करेंगे: लाइब्रेरी को इंस्टॉल करना, भाषा को कॉन्फ़िगर करना, स्कैन किया हुआ PDF प्रोसेस करना, और परिणाम को सर्चेबल PDF के रूप में सेव करना जिसमें मूल इमेज और एक हिडन टेक्स्ट लेयर दोनों हों। अंत तक आपके पास एक रीयूज़ेबल स्क्रिप्ट होगी जिसे आप किसी भी प्रोजेक्ट में डाल सकते हैं—कोई मैनुअल कॉपी‑पेस्टिंग नहीं। + +--- + +## आपको क्या चाहिए + +- **Python 3.8+** (कोड 3.9, 3.10 और नए वर्ज़न पर भी काम करता है) +- एक सक्रिय **Aspose OCR for Python** लाइसेंस (एक फ्री ट्रायल प्रयोग के लिए पर्याप्त है) +- एक स्कैन किया हुआ PDF फ़ाइल (जैसे `scanned_contract.pdf`) जिसे आप सर्चेबल बनाना चाहते हैं +- कमांड लाइन और वर्चुअल एनवायरनमेंट की बेसिक जानकारी (वैकल्पिक लेकिन अनुशंसित) + +> **प्रो टिप:** अगर आपके पास अभी लाइसेंस नहीं है, तो Aspose वेबसाइट पर 30‑दिन का ट्रायल साइन अप करें; ट्रायल वर्ज़न डेवलपमेंट के लिए पूरी तरह फंक्शनल है। + +--- + +## Aspose OCR के साथ PDF को OCR कैसे करें (Primary Keyword in H2) + +पहला कदम सही पैकेज प्राप्त करना है। Aspose OCR एक क्लीन, हाई‑लेवल API प्रदान करता है जो लो‑लेवल इमेज प्रोसेसिंग डिटेल्स को एब्स्ट्रैक्ट कर देता है। + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +पैकेज इंस्टॉल हो जाने के बाद, आप स्क्रिप्ट लिखना शुरू कर सकते हैं। + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **भाषा सेट क्यों करें?** +> OCR की एक्यूरेसी बहुत हद तक भाषा मॉडल पर निर्भर करती है। इंजन को स्पष्ट रूप से इंग्लिश टेक्स्ट की उम्मीद बताकर आप फॉल्स पॉज़िटिव्स कम कर सकते हैं और प्रोसेसिंग स्पीड बढ़ा सकते हैं। + +--- + +## स्टेप 2: स्कैन किया हुआ PDF को सर्चेबल PDF में बदलें + +अब जब इंजन तैयार है, इसे अपने स्कैन किए हुए डॉक्यूमेंट की ओर पॉइंट करें। `process_pdf` मेथड एक `PdfResult` ऑब्जेक्ट रिटर्न करता है जिसमें मूल इमेज डेटा और पहचाना गया टेक्स्ट दोनों होते हैं। + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +अगर आपको **स्कैन किए हुए PDF** फ़ाइलों को बैच में **कन्वर्ट** करना है, तो बस किसी डायरेक्टरी पर लूप लगाएँ और प्रत्येक फ़ाइल के लिए `process_pdf` कॉल करें। इंजन आउट‑ऑफ़‑द‑बॉक्स मल्टी‑पेज PDFs को हैंडल करता है। + +--- + +## स्टेप 3: परिणाम को सर्चेबल PDF (Make PDF Searchable) के रूप में सेव करें + +पज़ल का अंतिम टुकड़ा सर्चेबल वर्ज़न को पर्सिस्ट करना है। Aspose OCR इसे एक लाइन में कर देता है: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +जब आप `contract_searchable.pdf` को किसी भी PDF व्यूअर में खोलेंगे, तो आपको मूल स्कैन की हुई इमेज दिखेगी, लेकिन अब आप **किसी भी शब्द** को सर्च कर सकते हैं जो OCR इंजन ने पहचाना है। हिडन टेक्स्ट लेयर आँखों से अदृश्य है लेकिन पूरी तरह इंडेक्सेबल है। + +--- + +### पूरा स्क्रिप्ट – रन करने के लिए तैयार + +नीचे पूरा, रन करने योग्य उदाहरण दिया गया है। इसे `make_searchable.py` नाम की फ़ाइल में कॉपी‑पेस्ट करें और पाथ्स को अपने एनवायरनमेंट के अनुसार एडजस्ट करें। + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**अपेक्षित आउटपुट:** +स्क्रिप्ट चलाने पर एक कन्फर्मेशन लाइन प्रिंट होगी और `contract_searchable.pdf` बन जाएगा। फ़ाइल खोलें, `Ctrl + F` दबाएँ, और मूल स्कैन इमेज में मौजूद कोई भी शब्द टाइप करें—आपको तुरंत मैच दिखेंगे। + +--- + +## सामान्य प्रश्न एवं एज केस + +### 1. अगर PDF में कई भाषाएँ हों तो क्या करें? + +आप इंजन को भाषा की लिस्ट पास कर सकते हैं: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR एक ही पेज पर दोनों भाषाओं में टेक्स्ट पहचानने की कोशिश करेगा। + +### 2. लो‑रिज़ॉल्यूशन स्कैन को कैसे हैंडल करें? + +अगर स्रोत इमेज 150 dpi से कम है, तो OCR की एक्यूरेसी घट सकती है। `pdfimages` जैसे टूल से PDF के पेज एक्सट्रैक्ट करें, Pillow से उन्हें अपस्केल करें, और फिर हाई‑रिज़ॉल्यूशन इमेज को `process_pdf` में फीड करें। + +### 3. क्या मैं सर्चेबल PDF बनाए बिना सिर्फ प्लेन टेक्स्ट एक्सट्रैक्ट कर सकता हूँ? + +बिल्कुल। `PdfResult` ऑब्जेक्ट एक `text` प्रॉपर्टी एक्सपोज़ करता है: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +यह **extract text pdf** यूज़‑केस को पूरा करता है जब आपको केवल रॉ कैरेक्टर्स चाहिए हों। + +### 4. क्या फ़ोल्डर में मौजूद PDFs को बैच‑प्रोसेस करने का तरीका है? + +हां—`ocr_to_searchable` फ़ंक्शन को एक साधारण लूप में रैप करें: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +अब आप एक ही कमांड से **स्कैन किए हुए pdf** फ़ाइलों को बड़े पैमाने पर **कन्वर्ट** कर सकते हैं। + +--- + +## परफ़ॉर्मेंस टिप्स + +- **इंजन को री‑यूज़ करें**: हर फ़ाइल के लिए नया `OcrEngine` बनाना ओवरहेड बढ़ाता है। इसे एक बार इंस्टैंशिएट करें और कई कॉल्स में री‑यूज़ करें। +- **पैरेलल प्रोसेसिंग**: बड़े बैच के लिए Python के `concurrent.futures.ThreadPoolExecutor` का उपयोग करें—Aspose OCR रीड‑ओनली ऑपरेशन्स के लिए थ्रेड‑सेफ़ है। +- **मेमोरी मैनेजमेंट**: अगर आप सैकड़ों पेज वाले बहुत बड़े PDFs प्रोसेस कर रहे हैं, तो प्रत्येक फ़ाइल के बाद `gc.collect()` कॉल करके मेमोरी फ्री करें। + +--- + +## निष्कर्ष + +हमने **Python में PDF को OCR करने** की पूरी प्रक्रिया कवर की, स्कैन को **searchable PDFs** में बदला, और यहाँ तक कि **extract text PDF** सीधे करने का तरीका दिखाया। Aspose OCR के साथ आपको एक भरोसेमंद इंजन मिलता है जो मल्टी‑पेज डॉक्यूमेंट, मल्टी‑लैंग्वेज सपोर्ट, और हाई‑एक्यूरेसी रिकग्निशन को सिर्फ कुछ लाइनों के कोड से संभालता है। + +इसे अपने कॉन्ट्रैक्ट्स, इनवॉइस, या आर्काइव्ड रिसर्च पेपर्स पर आज़माएँ। बेसिक को समझने के बाद, एडवांस्ड फीचर्स जैसे कस्टम डिक्शनरीज़, इमेज प्री‑प्रोसेसिंग, या आउटपुट को Elasticsearch जैसे फुल‑टेक्स्ट सर्च इंडेक्स में इंटीग्रेट करने के साथ एक्सपेरिमेंट करें। + +क्या आपके पास **ocr scanned pdf python** से जुड़ा कोई और सवाल है या ट्रिकी स्कैन को ट्रबलशूट करने में मदद चाहिए? नीचे कमेंट करें, और हैप्पी कोडिंग! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="ocr pdf का उदाहरण"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/hindi/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..6ca5ad51 --- /dev/null +++ b/ocr/hindi/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,226 @@ +--- +category: general +date: 2026-01-12 +description: OCR को तेज़ और सटीक रूप से कैसे करें। दस्तावेज़ पर OCR चलाना, TIFF से + टेक्स्ट निकालना, OCR के लिए इमेज लोड करना और Python में OCR भाषा सेट करना सीखें। +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: hi +og_description: Python में OCR कैसे करें। यह ट्यूटोरियल दिखाता है कि दस्तावेज़ पर + OCR कैसे चलाएँ, TIFF से टेक्स्ट निकालें, OCR के लिए इमेज लोड करें और OCR भाषा सेट + करें। +og_title: TIFF दस्तावेज़ पर OCR कैसे करें – पूर्ण गाइड +tags: +- OCR +- Python +- Image Processing +title: TIFF दस्तावेज़ पर OCR कैसे करें – चरण‑दर‑चरण गाइड +url: /hi/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# TIFF दस्तावेज़ पर OCR कैसे करें – पूर्ण गाइड + +क्या आप कभी सोचे हैं **OCR कैसे करें** एक स्कैन किए गए TIFF फ़ाइल पर, बिना सही लाइब्रेरी खोजने में घंटों बिताए? आप अकेले नहीं हैं। कई डेवलपर्स को तब समस्या आती है जब उन्हें TIFF इमेज से टेक्स्ट निकालना होता है, विशेष रूप से जब प्रदर्शन और भाषा सेटिंग्स महत्वपूर्ण होते हैं। + +इस ट्यूटोरियल में हम वह सब कवर करेंगे जो आपको जानना आवश्यक है: OCR पैकेज को इंस्टॉल करने से लेकर, OCR के लिए इमेज लोड करने, OCR भाषा सेट करने, और अंत में **दस्तावेज़ पर OCR चलाने** तक। अंत तक आपके पास एक तैयार‑से‑चलाने वाला स्क्रिप्ट होगा जिसे आप किसी भी प्रोजेक्ट में डाल सकते हैं। + +> **प्रो टिप:** जबकि उदाहरण में एक सामान्य `ocr` मॉड्यूल का उपयोग किया गया है, वही अवधारणाएँ Tesseract, EasyOCR, या किसी भी आधुनिक OCR इंजन पर लागू होती हैं जो Python API प्रदान करता है। + +--- + +## आपको क्या चाहिए + +- Python 3.8+ (कोई भी नवीनतम संस्करण काम करेगा) +- एक OCR लाइब्रेरी जो `OcrEngine` क्लास प्रदान करती है (उदाहरण में एक काल्पनिक `ocr` पैकेज का उपयोग किया गया है; इसे अपने वास्तविक पैकेज से बदलें) +- एक मल्टी‑पेज TIFF फ़ाइल जिसे आप प्रोसेस करना चाहते हैं (हम इसे `big_document.tif` कहेंगे) +- यदि आप थ्रेड काउंट सेट करने की योजना बना रहे हैं तो कम से कम 4 CPU कोर वाला मशीन + +कोई बाहरी सेवाएँ नहीं, कोई क्लाउड की नहीं—सिर्फ स्थानीय कोड जो सेकंडों में चल जाता है। + +![OCR कैसे करें उदाहरण](/images/ocr-example.png "TIFF दस्तावेज़ पर OCR कैसे करें – निकाले गए टेक्स्ट का पूर्वावलोकन") + +*छवि वैकल्पिक पाठ: TIFF दस्तावेज़ पर OCR कैसे करें – निकाले गए टेक्स्ट का पूर्वावलोकन.* + +--- + +## चरण 1: OCR लाइब्रेरी स्थापित करें और इम्पोर्ट करें + +सबसे पहले: लाइब्रेरी को अपने मशीन पर प्राप्त करें। अधिकांश OCR पैकेज PyPI पर उपलब्ध हैं, इसलिए एक साधारण `pip install` ही काम कर देता है। + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +अब उन क्लासेज़ को इम्पोर्ट करें जिनकी आपको आवश्यकता होगी। यदि आप Tesseract का उपयोग कर रहे हैं, तो इम्पोर्ट लाइन अलग दिखेगी, लेकिन बाकी कोड समान रहेगा। + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*क्यों यह महत्वपूर्ण है:* सही सिम्बॉल्स को पहले इम्पोर्ट करने से बाद में नेमस्पेस टकराव से बचा जा सकता है और स्क्रिप्ट पढ़ने में आसान बनती है। + +--- + +## चरण 2: OCR इंजन बनाएं और कॉन्फ़िगर करें (OCR भाषा सेट करें) + +इंजन को कॉन्फ़िगर करना वह जगह है जहाँ आप **OCR भाषा सेट** करते हैं ताकि पहचान सटीक हो। डिफ़ॉल्ट अंग्रेज़ी है, लेकिन आप एक ही लाइन में फ्रेंच, जर्मन, या यहाँ तक कि मल्टी‑लिंगुअल मोड में स्विच कर सकते हैं। + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **क्यों 4 थ्रेड्स?** अधिकांश आधुनिक लैपटॉप में कम से कम चार कोर होते हैं, और थ्रेड काउंट को सीमित करने से OCR प्रक्रिया पूरी मशीन को कब्ज़ा नहीं करती—विशेष रूप से तब उपयोगी जब स्क्रिप्ट साझा सर्वर पर चलती है। + +यदि आपको कोई अन्य भाषा चाहिए, तो बस `ocr.Language.ENGLISH` को `ocr.Language.FRENCH`, `ocr.Language.SPANISH` आदि से बदल दें। + +--- + +## चरण 3: OCR के लिए इमेज लोड करें (Load Image for OCR) + +अब हम **OCR के लिए इमेज लोड** करते हैं। `Image.load` मेथड TIFF फ़ाइल को मेमोरी में पढ़ता है और मल्टी‑पेज दस्तावेज़ों को स्वचालित रूप से संभालता है। + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*एज केस:* यदि फ़ाइल बहुत बड़ी है, तो RAM खत्म हो सकती है। ऐसे में, `Image.load_page(page_number)` (यदि लाइब्रेरी समर्थन करती है) के साथ एक बार में एक पेज लोड करने पर विचार करें। + +--- + +## चरण 4: दस्तावेज़ पर OCR चलाएँ + +इंजन तैयार है और इमेज लोड हो गई है, अब **दस्तावेज़ पर OCR चलाने** का समय है। `process` मेथड भारी काम करता है और एक रिज़ल्ट ऑब्जेक्ट लौटाता है। + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +पर्दे के पीछे, इंजन इमेज को टेक्स्ट ब्लॉक्स में विभाजित करता है, पहचान मॉडल चलाता है, और परिणामों को जोड़ता है। यह कॉल ब्लॉकिंग है, यानी स्क्रिप्ट पूरी TIFF प्रोसेस होने तक रुकती है—बैच जॉब्स के लिए एकदम सही। + +--- + +## चरण 5: TIFF से टेक्स्ट निकालें और आउटपुट सत्यापित करें + +अंत में, हम **TIFF से टेक्स्ट निकालते** हैं `result` के `text` एट्रिब्यूट को एक्सेस करके। चलिए पहले 200 कैरेक्टर प्रिंट करते हैं एक त्वरित चेक के लिए। + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**अपेक्षित आउटपुट (उदाहरण):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +यदि आपको पूरा टेक्स्ट चाहिए, तो बस `ocr_result.text` का उपयोग करें। डाउनस्ट्रीम प्रोसेसिंग के लिए आप इसे `.txt` फ़ाइल में लिखना चाह सकते हैं: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## पूर्ण कार्यशील उदाहरण + +सब कुछ एक साथ मिलाकर, यहाँ एक तैयार‑से‑चलाने वाला स्क्रिप्ट है। प्लेसहोल्डर पैकेज नाम को उस वास्तविक पैकेज से बदलें जिसे आपने इंस्टॉल किया है। + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +स्क्रिप्ट को इस तरह चलाएँ: + +```bash +python ocr_tiff_example.py +``` + +आपको कंसोल में एक प्रीव्यू दिखेगा और `extracted_text.txt` नाम की फ़ाइल में पूरी ट्रांसक्रिप्शन होगी। + +--- + +## सामान्य प्रश्न और किनारे के मामले + +- **यदि TIFF में कई पेज हों तो क्या होगा?** + अधिकांश OCR इंजन प्रत्येक पेज को आंतरिक रूप से एक अलग इमेज मानते हैं। `ocr_result.text` में पेजों के बीच एक नई लाइन होगी। यदि आपको पेज‑वाइस हैंडलिंग चाहिए, तो `Image.load_page(page_number)` के साथ इटररेट करें। + +- **क्या मैं TIFF की बजाय PNG या JPEG प्रोसेस कर सकता हूँ?** + बिल्कुल। `Image.load` मेथड आमतौर पर Pillow या अंतर्निहित लाइब्रेरी द्वारा समर्थित किसी भी फॉर्मेट को स्वीकार करता है। बस फ़ाइल एक्सटेंशन बदल दें। + +- **मेरा टेक्स्ट गड़बड़ है—क्या मुझे भाषा बदलनी चाहिए?** + हाँ। **OCR भाषा सेट** चरण गैर‑अंग्रेज़ी दस्तावेज़ों के लिए अत्यंत महत्वपूर्ण है। सुनिश्चित करें कि भाषा पैक इंस्टॉल है (जैसे फ्रेंच के लिए `tesseract‑lang‑fra`)। + +- **मेमोरी खत्म हो रही है?** + `set_memory_limit` को घटाएँ या पेज‑बाय‑पेज प्रोसेस करें। कुछ इंजन आपको पहचान से पहले इमेज को डाउनस्केल करने की भी अनुमति देते हैं। + +--- + +## निष्कर्ष + +यही है—Python का उपयोग करके TIFF फ़ाइल पर **OCR कैसे करें** पर एक संक्षिप्त, पूर्ण‑कार्यशील गाइड। हमने लाइब्रेरी इंस्टॉल करने, इंजन कॉन्फ़िगर करने (जिसमें **OCR भाषा सेट** शामिल है), **OCR के लिए इमेज लोड**, **दस्तावेज़ पर OCR चलाएँ**, और अंत में **TIFF से टेक्स्ट निकालें** सभी को कवर किया। + +बिना झिझक प्रयोग करें: थ्रेड काउंट बदलें, भाषाएँ स्विच करें, या OCR आउटपुट को एक नेचुरल‑लैंग्वेज पाइपलाइन में फीड करें। बुनियादी चीज़ें समझने के बाद संभावनाएँ अनंत हैं। + +और सवाल हैं? नीचे टिप्पणी छोड़ें, और कोडिंग का आनंद लें! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/hindi/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..11096826 --- /dev/null +++ b/ocr/hindi/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,180 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR Python में भाषा कैसे सेट करें और कस्टम शब्दकोश का उपयोग करके + छवि से टेक्स्ट निकालें। डेवलपर्स के लिए चरण‑दर‑चरण ट्यूटोरियल। +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: hi +og_description: Aspose OCR Python में भाषा कैसे सेट करें और कस्टम शब्दकोश के साथ छवि + से टेक्स्ट निकालें। कुछ ही मिनटों में पूरी प्रक्रिया सीखें। +og_title: Aspose OCR Python में भाषा कैसे सेट करें – पूर्ण गाइड +tags: +- OCR +- Python +- Aspose +- Image Processing +title: Aspose OCR Python में भाषा कैसे सेट करें – पूर्ण गाइड +url: /hi/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Python में भाषा कैसे सेट करें – पूर्ण गाइड + +क्या आपने कभी **भाषा कैसे सेट करें** के बारे में सोचा है जब आप Python में Aspose OCR का उपयोग करते हैं? आप अकेले नहीं हैं—कई डेवलपर्स इस समस्या का सामना करते हैं जब डिफ़ॉल्ट अंग्रेज़ी मॉडल प्रोडक्ट कोड, सीरियल नंबर या बहुभाषी टेक्स्ट को पहचान नहीं पाता। अच्छी खबर यह है कि समाधान सरल और शक्तिशाली दोनों है। इस ट्यूटोरियल में हम भाषा को कॉन्फ़िगर करने, कस्टम डिक्शनरी जोड़ने, इमेज से टेक्स्ट निकालने, और अंत में सर्वोत्तम OCR परिणामों के लिए इमेज प्रोसेस करने की प्रक्रिया को चरण‑बद्ध तरीके से देखेंगे। + +हम सब कुछ कवर करेंगे: लाइब्रेरी इंस्टॉल करने से लेकर एक पूरा उदाहरण चलाने तक जो निकाले गए टेक्स्ट को प्रिंट करता है। अंत तक आप **इमेज से टेक्स्ट निकालना** आत्मविश्वास के साथ कर पाएँगे, चाहे कंटेंट में अजीब कोड या मिश्रित भाषाएँ हों। + +## आवश्यकताएँ + +शुरू करने से पहले सुनिश्चित करें कि आपके पास है: + +* Python 3.8+ इंस्टॉल हो (कोड f‑strings का उपयोग करता है, इसलिए पुराने संस्करण काम नहीं करेंगे)। +* एक सक्रिय Aspose OCR for Python लाइसेंस या फ्री ट्रायल की। +* `asposeocr` पैकेज `pip install asposeocr` के ज़रिए इंस्टॉल किया हुआ हो। +* एक सैंपल इमेज (`product_label.png`) जिसमें वह टेक्स्ट हो जिसे आप पढ़ना चाहते हैं। + +अगर आपके पास ये सब है, तो बढ़िया—आगे बढ़ते हैं। अगर नहीं, तो Aspose की वेबसाइट से फ्री ट्रायल लें और इंस्टॉल कमांड चलाएँ; इसमें एक मिनट से कम समय लगेगा। + +## चरण 1: Aspose OCR मॉड्यूल इम्पोर्ट करें + +सबसे पहले आपको OCR क्लासेज़ को अपने स्क्रिप्ट में लाना होगा। यही **भाषा कैसे सेट करें** के बाद के कदमों की नींव है। + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Pro tip:** इम्पोर्ट्स को फ़ाइल के शीर्ष पर रखें। इससे स्क्रिप्ट को स्कैन करना आसान हो जाता है, खासकर जब आप बाद में वापस आते हैं। + +## चरण 2: भाषा कैसे सेट करें + +डिफ़ॉल्ट रूप से, Aspose OCR अंग्रेज़ी मानता है। यदि आपकी इमेज में फ़्रेंच, जर्मन या कोई अन्य भाषा है, तो आपको इंजन को बताना होगा कि कौन सी भाषा उपयोग करनी है। यही वह जगह है जहाँ मुख्य कीवर्ड काम आता है। + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +यह क्यों महत्वपूर्ण है? OCR इंजन भाषा‑विशिष्ट कैरेक्टर मॉडल पर निर्भर करते हैं। सही भाषा प्रदान करने से सटीकता में बहुत सुधार आता है—विशेषकर एक्सेंटेड कैरेक्टर्स या भाषा‑विशिष्ट लिगेचर के लिए। + +> **Note:** यदि आपको एक साथ कई भाषाओं का समर्थन करना है, तो आप `ocr.Language.ENGLISH | ocr.Language.SPANISH` जैसी लिस्ट पास कर सकते हैं। + +## चरण 3: डिक्शनरी (उपयोगकर्ता‑परिभाषित शब्द) कैसे जोड़ें + +कभी‑कभी OCR इंजन “AB‑1234” जैसे प्रोडक्ट कोड को गलत पढ़ लेता है। आप कस्टम डिक्शनरी फीड करके कॉन्फिडेंस बढ़ा सकते हैं। यह सीधे **डिक्शनरी कैसे जोड़ें** का उत्तर देता है। + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +इंजन इन शब्दों को “ज्ञात” मानता है और समान दिखने वाले कैरेक्टर्स की तुलना में इन्हें प्राथमिकता देता है। यह SKU नंबर, सीरियल कोड, या ब्रांड नामों के लिए बहुत उपयोगी है जो सामान्य भाषा का हिस्सा नहीं होते। + +## चरण 4: इमेज कैसे प्रोसेस करें + +अब जब इंजन कॉन्फ़िगर हो गया है, आपको उस इमेज को लोड करना होगा जिसे आप विश्लेषण करना चाहते हैं। यह **इमेज कैसे प्रोसेस करें** को साफ़ और दोहराने योग्य तरीके से संबोधित करता है। + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +यदि आप PDFs के साथ काम कर रहे हैं, तो आप प्रत्येक पेज को पहले इमेज में बदल सकते हैं—Aspose OCR यह सुविधा बॉक्स से बाहर प्रदान करता है। + +## चरण 5: इमेज से टेक्स्ट कैसे निकालें + +सब कुछ सेट हो जाने के बाद, अंतिम कदम OCR चलाना और टेक्स्ट प्राप्त करना है। यही **इमेज से टेक्स्ट कैसे निकालें** का मुख्य भाग है। + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +जब आप स्क्रिप्ट चलाएँगे, तो आपको कुछ इस तरह दिखना चाहिए: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +यदि आउटपुट गड़बड़ दिखे, तो दोबारा जांचें कि आपने सही भाषा सेट की है और आपकी कस्टम डिक्शनरी में वही स्ट्रिंग्स हैं जो आप अपेक्षित कर रहे हैं। + +## पूर्ण कार्यशील उदाहरण + +सब कुछ एक साथ मिलाकर, यहाँ पूरा स्क्रिप्ट है जिसे आप `extract_label.py` नाम की फ़ाइल में कॉपी‑पेस्ट कर सकते हैं। `YOUR_DIRECTORY` को अपनी इमेज के वास्तविक पाथ से बदलें। + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### अपेक्षित आउटपुट + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +यदि आप डिक्शनरी में जोड़े गए कोड्स को ठीक‑ठीक देखते हैं, तो आपने सफलतापूर्वक **भाषा कैसे सेट करें**, **डिक्शनरी कैसे जोड़ें**, और **इमेज से टेक्स्ट कैसे निकालें** को Aspose OCR के साथ महारत हासिल कर ली है। + +## सामान्य किनारी मामलों का समाधान + +| स्थिति | क्या करें | +|-----------|------------| +| **इमेज धुंधली है** | `ocr.Image.apply_filter()` से शार्पन करके `process()` से पहले प्री‑प्रोसेस करें। | +| **एक इमेज में कई भाषाएँ** | `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH` सेट करें। | +| **बड़ी PDFs** | प्रत्येक पेज पर लूप चलाएँ, उसे `ocr.Image` में बदलें, और हर पेज के लिए `process()` कॉल करें। | +| **अप्रत्याशित कैरेक्टर्स** | उन्हें उपयोगकर्ता‑परिभाषित शब्दों की लिस्ट में जोड़ें; Aspose OCR उन्हें हाई‑कॉन्फिडेंस टोकन मानता है। | + +इन टिप्स से आपका OCR पाइपलाइन मजबूत बना रहेगा, भले ही इनपुट परिपूर्ण न हो। + +## दृश्य संदर्भ + +![how to set language in Aspose OCR example](image.png "Screenshot showing how to set language in Aspose OCR Python example") + +*Alt text:* **भाषा कैसे सेट करें** स्क्रीनशॉट जो Python IDE में भाषा प्रॉपर्टी असाइनमेंट को दर्शाता है। + +## निष्कर्ष + +अब आप जानते हैं कि Aspose OCR Python में **भाषा कैसे सेट करें**, **डिक्शनरी कैसे जोड़ें**, और **इमेज से टेक्स्ट कैसे निकालें** तथा **इमेज कैसे प्रोसेस करें** के लिए कौन‑से कदम उठाने हैं ताकि सर्वोत्तम परिणाम मिलें। ऊपर दिया गया पूर्ण उदाहरण किसी भी प्रोजेक्ट में डाला जा सकता है, विभिन्न भाषाओं के लिए समायोजित किया जा सकता है, और बैच प्रोसेसिंग या PDF इनपुट को संभालने के लिए विस्तारित किया जा सकता है। + +अगली चुनौती के लिए तैयार हैं? `ocr.Language.ENGLISH` को `ocr.Language.FRENCH` से बदलें और फ़्रेंच‑भाषी लेबल्स पर सटीकता में सुधार देखें। या `set_user_defined_words` मेथड के साथ पूरे प्रोडक्ट कैटलॉग को शामिल करने का प्रयोग करें—आपका OCR इंजन हर एंट्री को हाई‑कॉन्फिडेंस मैच मान लेगा। + +हैप्पी कोडिंग, और आपके OCR परिणाम हमेशा क्रिस्टल‑क्लियर रहें! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/hindi/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..a0fc05b7 --- /dev/null +++ b/ocr/hindi/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR का उपयोग करके Python में हस्तलिखित नोट्स को प्रोसेस करें – + जानें कि कैसे JPG छवियों से जल्दी टेक्स्ट निकाला जा सकता है। +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: hi +og_description: Aspose OCR के साथ Python में हस्तलिखित नोट्स को प्रोसेस करें। जानें + कि JPG छवियों से टेक्स्ट कैसे निकालें, हस्तलिखित OCR को कैसे पहचानें, और OCR के + लिए छवियों को कैसे लोड करें। +og_title: Python के साथ हस्तलिखित नोट्स को प्रोसेस करें – पूर्ण OCR ट्यूटोरियल +tags: +- OCR +- Python +- Aspose +title: Python के साथ हस्तलिखित नोट्स को प्रोसेस करें – हस्तलिखित OCR गाइड +url: /hi/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python के साथ हस्तलिखित नोट्स प्रोसेस करें – Handwritten OCR गाइड + +यदि आपको Python में **हस्तलिखित नोट्स प्रोसेस** करने की आवश्यकता है, तो यह गाइड आपको बिल्कुल बताता है कि कैसे करना है। चाहे नोट्स स्कैन किए हुए रसीद पर हों, कक्षा की व्हाइटबोर्ड फोटो पर, या टू‑डू लिस्ट की तेज़ सेल्फी पर, आप इन छवियों से **टेक्स्ट निकालना** सीखेंगे बिना किसी कठिनाई के। +हम हर कदम पर चलेंगे—Aspose OCR लाइब्रेरी को इम्पोर्ट करना, JPG लोड करना, इंजन चलाना, और लो‑कन्फिडेंस लाइनों से निपटना। अंत तक आपके पास एक तैयार‑चलाने‑योग्य स्क्रिप्ट होगी जो **jpg फ़ाइलों से टेक्स्ट पहचान** सकती है और आपको साफ़, उपयोगी स्ट्रिंग्स देगी। + +## आप क्या प्राप्त करेंगे + +- एक पूर्ण, चलाने योग्य कोड सैंपल जो तुरंत काम करता है। +- समझ कि प्रत्येक लाइन क्यों महत्वपूर्ण है, न कि केवल वह क्या करती है। +- हिलते‑डुलते हस्तलेख और लो‑कन्फिडेंस परिणामों को संभालने के टिप्स। +- PDF, कई छवियों, या कस्टम भाषा पैक्स के लिए स्क्रिप्ट को विस्तारित करने का मार्गदर्शन। + +*Prerequisites*: Python 3.8+ स्थापित है, एक वैध Aspose OCR लाइसेंस (या फ्री ट्रायल), और आपके प्रोजेक्ट फ़ोल्डर में `handwritten_notes.jpg` नाम की इमेज फ़ाइल। + +--- + +![हस्तलिखित नोट्स प्रोसेस उदाहरण](https://example.com/handwritten-notes.png "हस्तलिखित नोट्स प्रोसेस") + +*Alt text: हस्तलिखित नोट्स प्रोसेस – OCR के लिए तैयार हस्तलिखित टेक्स्ट दिखाने वाली सैंपल इमेज.* + +## हस्तलिखित नोट्स प्रोसेस करें: OCR इंजन सेटअप + +### इस कदम का महत्व +OCR इंजन पहचान प्रक्रिया का दिमाग है। सही भाषा चुनना और ऑब्जेक्ट को सही ढंग से इनिशियलाइज़ करना यह सुनिश्चित करता है कि इंजन को पता हो कि उसे अंग्रेज़ी अक्षरों की तलाश करनी चाहिए और वह हस्तलेख की विशिष्टताओं को संभाल सके। + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Pro tip:** यदि आप किसी अन्य भाषा में नोट्स की उम्मीद करते हैं, तो `ocr.Language.ENGLISH` को उपयुक्त enum (जैसे `ocr.Language.FRENCH`) से बदलें। इंजन स्वचालित रूप से आवश्यक कैरेक्टर सेट लोड कर लेगा। + +--- + +## JPG इमेजेज से टेक्स्ट निकालना कैसे + +### इमेज लोड करना – पहला बाधा +इंजन कोई काम करने से पहले उसे आपके JPG की बिटमैप प्रतिनिधित्व चाहिए। Aspose एक सुविधाजनक स्टैटिक `load` मेथड प्रदान करता है जो फ़ाइल को `Image` ऑब्जेक्ट में पढ़ता है। + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*OpenCV या Pillow का उपयोग क्यों नहीं करें?* +ये लाइब्रेरीज़ प्री‑प्रोसेसिंग के लिए बेहतरीन हैं, लेकिन Aspose का `Image.load` वह सटीक पिक्सेल फ़ॉर्मेट सुनिश्चित करता है जो OCR इंजन अपेक्षा करता है, जिससे रंग गहराई के असंगतियों का सामान्य स्रोत समाप्त हो जाता है। + +--- + +## Handwritten OCR Python के साथ JPG से टेक्स्ट पहचानें + +### OCR इंजन चलाना +अब जब इंजन और इमेज तैयार हैं, हम पहचान प्रक्रिया शुरू करते हैं। `process` मेथड एक `OcrResult` ऑब्जेक्ट लौटाता है जिसमें `Line` ऑब्जेक्ट्स की सूची होती है, प्रत्येक का अपना कन्फिडेंस स्कोर होता है। + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**इंजन के अंदर क्या हो रहा है?** +Aspose OCR एक डीप‑लर्निंग मॉडल चलाता है जो लाखों हस्तलिखित नमूनों पर प्रशिक्षित है। यह इमेज को लाइनों में विभाजित करता है, फिर अक्षरों में, और अंत में प्रत्येक लाइन के लिए सबसे संभावित टेक्स्ट स्ट्रिंग को संयोजित करता है। + +--- + +## OCR के लिए इमेज लोड करें – लो‑कन्फिडेंस परिणामों को संभालना + +### कन्फिडेंस की परवाह क्यों करनी चाहिए +हस्तलिखित OCR कभी भी 100 % परिपूर्ण नहीं होता। 75 % से कम कन्फिडेंस स्कोर आमतौर पर दर्शाता है कि इंजन स्ट्रोक क्रम या बैकग्राउंड शोर से जूझ रहा था। उन लाइनों को फ़िल्टर करके आप तय कर सकते हैं कि उपयोगकर्ता से सत्यापन माँगें या अतिरिक्त इमेज प्री‑प्रोसेसिंग लागू करें। + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Typical output** (आपके परिणाम भिन्न हो सकते हैं): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +ध्यान दें कि स्क्रिप्ट विश्वसनीय टेक्स्ट को हिलते‑डुलते भागों से साफ़ तौर पर अलग करती है। आप बाद में लो‑कन्फिडेंस लाइनों को इमेज‑एन्हांसमेंट फ़िल्टर (जैसे, कॉन्ट्रास्ट बूस्ट) के साथ दूसरे पास में दे सकते हैं या उन्हें मानव समीक्षक को प्रस्तुत कर सकते हैं। + +--- + +## पूर्ण स्क्रिप्ट – चलाने के लिए तैयार + +नीचे पूरा प्रोग्राम है, कॉपी‑पेस्ट के लिए तैयार। इसे `handwritten_ocr.py` के रूप में सेव करें और `python handwritten_ocr.py` चलाएँ। + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Expected behavior:** +- स्क्रिप्ट प्रत्येक लाइन को उसके कन्फिडेंस प्रतिशत के साथ प्रिंट करती है। +- 75 % से ऊपर की लाइनों को “Accepted” दिखाया जाता है, जबकि बाकी को रिव्यू के लिए फ़्लैग किया जाता है। +- `asposeocr` के अलावा कोई अतिरिक्त डिपेंडेंसी आवश्यक नहीं है। + +--- + +## सामान्य प्रश्न और किनारे के मामले + +### अगर मेरी इमेज PNG या BMP है तो क्या? +Aspose OCR स्वचालित रूप से फ़ॉर्मेट पहचान लेता है, इसलिए आप बस `image_path` में फ़ाइल एक्सटेंशन बदल सकते हैं। कोड में कोई बदलाव आवश्यक नहीं। + +### मेरा हस्तलेख बहुत गंदा है—सटीकता कैसे बढ़ाएँ? +1. **Preprocess the image** – कॉन्ट्रास्ट बढ़ाएँ, बैकग्राउंड शैडोज़ हटाएँ (OpenCV मदद कर सकता है)। +2. **Increase the confidence threshold** – यदि आप केवल लगभग‑परिपूर्ण लाइनों चाहते हैं तो इसे 80 % पर सेट करें। +3. **Train a custom model** – Aspose “custom language pack” फीचर प्रदान करता है विशेष हस्तलेख शैलियों के लिए। + +### क्या मैं एक रन में कई इमेज प्रोसेस कर सकता हूँ? +बिल्कुल। लोडिंग और प्रोसेसिंग स्टेप्स को फ़ाइल पाथ्स की सूची पर `for` लूप में रखें। गति के लिए वही `ocr_engine` इंस्टेंस पुनः उपयोग करना याद रखें। + +### क्या यह macOS/Linux पर काम करता है? +हां। Aspose OCR सभी प्रमुख प्लेटफ़ॉर्म के लिए व्हील्स प्रदान करता है। बस `pip install asposeocr` चलाएँ और आप तैयार हैं। + +--- + +## अगले कदम और संबंधित विषय + +- **How to extract text from PDFs** – एक बार जब आपके पास OCR पाइपलाइन हो, तो PDF पेजेज को `ocr.Image.load` में फ़ीड करना एक‑लाइन बदलाव है। +- **Integrating with a database** – प्रत्येक स्वीकृत लाइन को SQLite या PostgreSQL में स्टोर करें ताकि नोट्स खोज योग्य हों। +- **Real‑time OCR on mobile** – इस स्क्रिप्ट को Flask या FastAPI के साथ जोड़ें ताकि एक REST एंडपॉइंट एक्सपोज़ हो जो मोबाइल ऐप्स कॉल कर सकें। + +इनमें से प्रत्येक विस्तार उन मूल अवधारणाओं पर आधारित है जो हमने कवर कीं: **हस्तलिखित नोट्स प्रोसेस**, **टेक्स्ट निकालना**, **jpg से टेक्स्ट पहचान**, और **OCR के लिए इमेज लोड**। + +--- + +## निष्कर्ष + +अब आपके पास Python और Aspose OCR का उपयोग करके **हस्तलिखित नोट्स प्रोसेस** करने का एक ठोस, एंड‑टू‑एंड समाधान है। गाइड ने इंजन सेटअप, JPG लोड करना, पहचान चलाना, और लो‑कन्फिडेंस परिणामों को संभालना—सभी एक ही कॉपी‑पेस्ट स्क्रिप्ट में दिखाया। +अब आप विभिन्न इमेज प्री‑प्रोसेसिंग तकनीकों के साथ प्रयोग कर सकते हैं, कन्फिडेंस थ्रेशोल्ड बढ़ा सकते हैं, या समाधान को सैकड़ों नोट्स को बैच‑प्रोसेस करने के लिए स्केल कर सकते हैं। संभावनाएँ असीमित हैं, और आपने जो कोड सीखा है वह आपका लॉन्चपैड है। + +*कोडिंग का आनंद लें, और आपकी हस्तलिखित नोट्स अंततः सर्चेबल टेक्स्ट बन जाएँ!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/hindi/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..b208959f --- /dev/null +++ b/ocr/hindi/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,237 @@ +--- +category: general +date: 2026-01-12 +description: Python OCR ट्यूटोरियल जो दिखाता है कि कैसे एक छवि से तालिका का टेक्स्ट + निकाला जाए। छवि से तालिका पढ़ना सीखें और Aspose OCR के साथ चयनित टेक्स्ट निकालें। +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: hi +og_description: Python OCR ट्यूटोरियल जो आपको सिखाता है कि कैसे एक छवि से तालिका का + टेक्स्ट निकालें, छवि से तालिका पढ़ें और Aspose OCR का उपयोग करके चयनित टेक्स्ट निकालें। +og_title: 'पायथन OCR ट्यूटोरियल: छवियों से तालिका पाठ निकालें' +tags: +- OCR +- Python +- AsposeOCR +title: 'Python OCR ट्यूटोरियल: छवियों से तालिका का पाठ निकालें' +url: /hi/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR ट्यूटोरियल: छवियों से तालिका टेक्स्ट निकालें + +क्या आपको कभी ऐसा **python ocr tutorial** चाहिए था जो वास्तव में दिखाए कि स्कैन किए गए फॉर्म से तालिका कैसे निकाली जाए? आप अकेले नहीं हैं। अधिकांश ट्यूटोरियल सामान्य टेक्स्ट एक्सट्रैक्शन पर ही रुक जाते हैं, जिससे आपको वह साफ़ ग्रिड डेटा अलग करने का अंदाज़ा लगाना पड़ता है जिसकी आपको ज़रूरत है। + +इस गाइड में हम एक वास्तविक‑दुनिया परिदृश्य को देखेंगे: छवि से तालिका पढ़ना, केवल आवश्यक चयनित टेक्स्ट निकालना, और अंत में परिणाम प्रिंट करना। साथ ही हम **how to extract table** डेटा को विश्वसनीय रूप से निकालने के टिप्स भी देंगे, ताकि आपको हर बार व्हील को फिर से बनाने की ज़रूरत न पड़े। + +## आप क्या सीखेंगे + +- Aspose OCR को Python के लिए कैसे सेट‑अप करें। +- तालिका वाले आयताकार क्षेत्र को कैसे परिभाषित करें। +- **extract table text** और **read table from image** के सटीक कदम। +- कई भाषाओं या अनियमित तालिका लेआउट को संभालने के टिप्स। +- एक पूर्ण, चलाने योग्य स्क्रिप्ट जिसे आप आज ही अपने प्रोजेक्ट में डाल सकते हैं। + +**Prerequisites** +- Python 3.8 या नया। +- OCR अवधारणाओं की बुनियादी समझ (गहरी विशेषज्ञता आवश्यक नहीं)। +- एक PNG या JPEG छवि जिसमें स्पष्ट तालिका हो (हम इसे `form_with_table.png` कहेंगे)। + +यदि आपके पास ये हैं, तो चलिए शुरू करते हैं—कोई फालतू बात नहीं, सिर्फ़ कार्यात्मक कोड। + +![python ocr ट्यूटोरियल तालिका क्षेत्र का उदाहरण](table_region_example.png){alt="python ocr ट्यूटोरियल तालिका क्षेत्र दिखाते हुए उदाहरण"} + +## Step 1: Install and Import Aspose OCR + +पहले बात: आपको Aspose OCR लाइब्रेरी चाहिए। पैकेज PyPI पर है, इसलिए एक ही `pip` कमांड से हो जाता है। + +```bash +pip install aspose-ocr +``` + +अब मॉड्यूल और आवश्यक हेल्पर्स को इम्पोर्ट करें। + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro tip:* अपनी डिपेंडेंसीज़ को `requirements.txt` फ़ाइल में रखें। इससे पर्यावरण को दोहराना बहुत आसान हो जाता है। + +## Step 2: Initialise the OCR Engine (Python OCR Tutorial Core) + +इंजन बनाना किसी भी **python ocr tutorial** का दिल है। यहाँ हम डिफ़ॉल्ट भाषा को English सेट करते हैं—बाद में इसे बदलने में स्वतंत्र महसूस करें। + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +भाषा सेट क्यों करें? जब इंजन को पता हो कि कौन से अक्षर अपेक्षित हैं, तो OCR की सटीकता में बहुत बड़ा उछाल आता है। यदि आप बहुभाषी फॉर्म्स के साथ काम कर रहे हैं, तो आप भाषा की सूची सेट कर सकते हैं या प्रत्येक क्षेत्र के लिए ओवरराइड कर सकते हैं (बाद में देखें)। + +## Step 3: Load Your Image + +Aspose OCR अधिकांश सामान्य इमेज फ़ॉर्मेट्स को सपोर्ट करता है। बस फ़ाइल पाथ पर पॉइंट करें, और आपके पास प्रोसेसिंग के लिए एक `Image` ऑब्जेक्ट तैयार होगा। + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Edge case:* बड़ी छवियां (5 MB से अधिक) प्रोसेसिंग को धीमा कर सकती हैं। यदि प्रदर्शन समस्या बनती है तो रिसाइज़ या कम्प्रेस करने पर विचार करें। + +## Step 4: Define the Table Region (Read Table from Image) + +अब मज़ेदार हिस्सा: इंजन को बताना कि तालिका कहाँ है। आप `OcrRegion` को `Rectangle` (x, y, width, height) के साथ प्रदान करते हैं। कॉर्डिनेट्स पिक्सेल‑आधारित होते हैं, इसलिए आपको थोड़ा प्रयोग करना पड़ सकता है। + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +क्षेत्र क्यों उपयोग करें? OCR को केवल तालिका क्षेत्र तक सीमित करके हम **extract selected text** तेज़ी से प्राप्त करते हैं और आसपास के लेबल या ग्राफ़िक्स से शोर को हटाते हैं। यह सटीकता भी बढ़ाता है क्योंकि इंजन एक समान लेआउट पर फोकस कर सकता है। + +## Step 5: Run OCR on the Defined Region + +क्षेत्र सेट करने के बाद, हम `process_region` को कॉल करते हैं। यह मेथड एक `OcrResult` ऑब्जेक्ट लौटाता है जिसमें कच्चा टेक्स्ट, कॉन्फिडेंस स्कोर, और यदि आवश्यक हो तो बाउंडिंग बॉक्स भी होते हैं। + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +यदि आपको कई तालिकाएँ निकालनी हैं, तो बस विभिन्न आयतों के साथ Steps 4‑5 दोहराएँ। + +## Step 6: Output the Extracted Table Text + +अंत में, तालिका के टेक्स्टुअल प्रतिनिधित्व को प्रिंट या स्टोर करें। Aspose OCR साधारण टेक्स्ट के साथ लाइन ब्रेक देता है जो आमतौर पर पंक्तियों के साथ मेल खाता है, जिससे पोस्ट‑प्रोसेसिंग सीधा हो जाता है। + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Expected output** (उदाहरण): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +अब आप इस स्ट्रिंग को `csv` पार्सर्स, pandas DataFrames, या किसी भी डाउनस्ट्रीम एनालिटिक्स पाइपलाइन में फीड कर सकते हैं। + +## Full Working Example + +सब कुछ एक साथ मिलाकर, यहाँ पूरा स्क्रिप्ट है जिसे आप तुरंत चला सकते हैं। `YOUR_DIRECTORY/form_with_table.png` को अपनी छवि के वास्तविक पाथ से बदलें। + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +स्क्रिप्ट को `python extract_table.py` के साथ चलाएँ। यदि सब कुछ सही है, तो आपको कंसोल में तालिका प्रिंट होती दिखेगी। + +## Common Questions & Edge‑Case Handling + +**अगर तालिका पूरी तरह आयताकार नहीं है तो क्या करें?** +आप तालिका को कई ओवरलैपिंग क्षेत्रों में बाँट सकते हैं या एक बड़ा आयत उपयोग करके पूरे क्षेत्र को कवर कर सकते हैं और फिर टेक्स्ट को पोस्ट‑प्रोसेस कर सकते हैं (जैसे लाइन ब्रेक पर विभाजित करना)। + +**क्या मैं केवल विशिष्ट कॉलम निकाल सकता हूँ?** +पूरा तालिका टेक्स्ट मिलने के बाद, Python के `csv` या `pandas` का उपयोग करके आप उन कॉलम को स्लाइस कर सकते हैं जिनकी आपको ज़रूरत है। OCR चरण स्वयं आयत के भीतर सब कुछ लौटाता है। + +**गैर‑English तालिकाओं के साथ कैसे काम करें?** +`ocr_engine.language` (या `region.language`) को उपयुक्त enum पर सेट करें, जैसे `ocr.Language.FRENCH` या कई भाषाओं को `ocr.Language.ENGLISH | ocr.Language.SPANISH` के साथ संयोजित करें। + +**क्या प्रत्येक सेल के लिए बाउंडिंग बॉक्स प्राप्त करना संभव है?** +Aspose OCR `region_result.words` लौटाता है जहाँ प्रत्येक शब्द में बाउंडिंग बॉक्स शामिल होता है। आपको उन बॉक्सों को ग्रिड में मैप करना होगा—उन्नत लेआउट विश्लेषण के लिए उपयोगी। + +## Tips for Better Accuracy + +- **Clean the image**: OCR को फ़ीड करने से पहले बाइनराइज़ या कंट्रास्ट बढ़ाएँ। Pillow जैसी लाइब्रेरी मदद कर सकती हैं। +- **Avoid compression artifacts**: संभव हो तो स्कैन को PNG के रूप में सेव करें। +- **Mind DPI**: 300 dpi एक आदर्श मान है; कम DPI से कैरेक्टर मिस हो सकते हैं। +- **Test different rectangle sizes**: थोड़ा बड़ा आयत अक्सर उन स्ट्रे आय कैरेक्टर्स को भी पकड़ लेता है जो तालिका का हिस्सा होते हैं। + +## Next Steps + +अब जब आप Aspose OCR के साथ **how to extract table** डेटा में निपुण हो गए हैं, तो आप आगे कर सकते हैं: + +- निकाले गए टेक्स्ट को Python के `csv` मॉड्यूल से CSV फ़ाइल में बदलना। +- डेटा को **pandas** DataFrame में फीड करके विश्लेषण करना। +- हाथ से लिखे फॉर्म पढ़ने के लिए OCR का उपयोग (इसके लिए अलग इंजन या अतिरिक्त ट्रेनिंग की ज़रूरत होगी)। +- सरल `for` लूप का उपयोग करके दर्जनों स्कैन किए गए फॉर्म की बैच प्रोसेसिंग को ऑटोमेट करना। + +इनमें से प्रत्येक विस्तार इस **python ocr tutorial** में कवर किए गए मूल अवधारणाओं पर आधारित है, इसलिए आप स्केल अप करने के लिए अच्छी तरह तैयार हैं। + +--- + +*हैप्पी कोडिंग! यदि आपको कोई दिक्कत आती है, तो नीचे कमेंट छोड़ें—मैं आपको एक्सट्रैक्शन को फाइन‑ट्यून करने में मदद करने के लिए तैयार हूँ।* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/hindi/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..aa72309e --- /dev/null +++ b/ocr/hindi/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,263 @@ +--- +category: general +date: 2026-01-12 +description: Python के साथ PNG फ़ाइलों पर OCR जल्दी चलाएँ। जानें कि कैसे छवि और इनवॉइस + से टेक्स्ट निकालें, और Aspose.OCR का उपयोग करके OCR के लिए छवि लोड करें। +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: hi +og_description: PNG पर तुरंत OCR चलाएँ। यह गाइड दिखाता है कि कैसे छवि और इनवॉइस से + टेक्स्ट निकाला जाए, OCR के लिए छवि लोड करें, और परिणामों को JSON और CSV के रूप में + सहेजा जाए। +og_title: PNG पर OCR चलाएँ – पूर्ण पायथन ट्यूटोरियल +tags: +- OCR +- Python +- Image Processing +title: PNG पर OCR चलाएँ – छवियों से टेक्स्ट निकालने के लिए पूर्ण पायथन गाइड +url: /hi/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNG पर OCR चलाएँ – इमेज से टेक्स्ट निकालने के लिए पूर्ण Python गाइड + +क्या आपको कभी **run OCR on PNG** फ़ाइलों को चलाने की ज़रूरत पड़ी है लेकिन यह नहीं पता था कि कौन‑सी लाइब्रेरी आपको साफ़, संरचित परिणाम देगी? आप अकेले नहीं हैं। कई वास्तविक‑दुनिया प्रोजेक्ट्स में—जैसे इनवॉइस ऑटोमेशन या रसीद स्कैनिंग—पहला कदम **extract text from image** फ़ाइलों से टेक्स्ट निकालना होता है, और PNG एक सामान्य फ़ॉर्मेट है क्योंकि यह लॉसलेस क्वालिटी को बनाए रखता है। + +इस ट्यूटोरियल में हम Aspose.OCR Python पैकेज का उपयोग करके एक व्यावहारिक उदाहरण से गुजरेंगे। गाइड के अंत तक आप जानेंगे कि कैसे **load image for OCR** किया जाता है, प्रत्येक टेक्स्ट लाइन को निकाला जाता है, उस डेटा को एक साफ़ JSON ऑब्जेक्ट में बदला जाता है, और यहाँ तक कि इसे CSV में डंप किया जा सकता है आगे की प्रोसेसिंग के लिए। कोई फालतू बातें नहीं, सिर्फ एक व्यावहारिक, तुरंत चलाने योग्य समाधान। + +## आप क्या सीखेंगे + +- Aspose.OCR लाइब्रेरी को कैसे इंस्टॉल और इम्पोर्ट करें। +- **run OCR on PNG** करने के सटीक चरण और परिणाम ऑब्जेक्ट को कैसे हैंडल करें। +- **extract text from invoice** फ़ाइलों को निकालने और आउटपुट को JSON या CSV के रूप में फॉर्मेट करने के तरीके। +- लो‑कॉन्ट्रास्ट इमेज, मल्टी‑लैंग्वेज डॉक्यूमेंट्स, और कॉन्फिडेंस स्कोर से निपटने के टिप्स। +- एक पूर्ण, कॉपी‑एंड‑पेस्ट कोड सैंपल जिसे आप आज ही एक्सीक्यूट कर सकते हैं। + +> **Prerequisite:** Python 3.8+ और pip की बुनियादी जानकारी। यदि आपने पहले कभी Aspose का उपयोग नहीं किया है, तो चिंता न करें—यह गाइड आपको शुरू करने के लिए आवश्यक सब कुछ कवर करता है। + +## चरण 1 – Aspose.OCR इंस्टॉल करें और अपना वातावरण तैयार करें + +**run OCR on PNG** करने से पहले, लाइब्रेरी आपके सिस्टम पर मौजूद होनी चाहिए। + +```bash +pip install aspose-ocr +``` + +> **Pro tip:** वर्चुअल एनवायरनमेंट (`python -m venv venv`) का उपयोग करें ताकि डिपेंडेंसीज़ अलग रहें। यह कई प्रोजेक्ट्स को संभालते समय वर्ज़न टकराव को रोकता है। + +इंस्टॉल होने के बाद, उन मॉड्यूल्स को इम्पोर्ट करें जिनकी हमें आवश्यकता होगी: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +यहाँ हम `asposeocr` को भारी काम के लिए और बिल्ट‑इन `json` लाइब्रेरी को बाद में सीरियलाइज़ेशन के लिए लाते हैं। + +## चरण 2 – OCR इंजन बनाएं और भाषा सेट करें + +OCR इंजन वह मुख्य घटक है जो वास्तव में पिक्सेल पढ़ता है। अधिकांश अंग्रेज़ी इनवॉइस के लिए, आपको English भाषा पैक चाहिए होगा: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Why this matters:** भाषा निर्दिष्ट करने से कैरेक्टर सेट सीमित हो जाता है, जिससे सटीकता बढ़ती है और प्रोसेसिंग तेज़ होती है। यदि आपको कभी मल्टी‑लैंग्वेज इनवॉइस संभालने की ज़रूरत पड़े, तो बस `ocr.Language.ENGLISH` को उपयुक्त enum से बदल दें। + +## चरण 3 – OCR के लिए इमेज लोड करें + +अब हम **load image for OCR** करेंगे। `Image.load` मेथड फ़ाइल पाथ को स्वीकार करता है, और यह PNG, JPEG, BMP, आदि के साथ काम करता है। + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Edge case:** यदि PNG असामान्य रूप से बड़ा है (5 MB से अधिक), तो मेमोरी उपयोग को उचित रखने के लिए पहले उसका आकार बदलने पर विचार करें। Pillow इसे एक लाइन में कर सकता है: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +## चरण 4 – PNG पर OCR चलाएँ और परिणाम कैप्चर करें + +इंजन तैयार और इमेज लोड हो जाने के बाद, अब **run OCR on PNG** करने और संरचित परिणाम प्राप्त करने का समय है। + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +`ocr_result` ऑब्जेक्ट में `OcrRegion` आइटम्स का संग्रह होता है, प्रत्येक में पहचाना गया टेक्स्ट और कॉन्फिडेंस स्कोर (0‑100) होता है। यही वह जगह है जहाँ आपको **extract text from invoice** लाइनों के लिए आवश्यक विस्तृत डेटा मिलता है। + +## चरण 5 – परिणाम को JSON में बदलें और प्रिटी‑प्रिंट करें + +अधिकांश डाउनस्ट्रीम सिस्टम JSON को पसंद करते हैं, इसलिए हम OCR आउटपुट को एक सुंदर फॉर्मेटेड स्ट्रिंग में बदलेंगे। + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### नमूना आउटपुट + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +ध्यान दें कि प्रत्येक लाइन में कॉन्फिडेंस मेट्रिक शामिल है—यदि आप **extract text from invoice** को स्वचालित रूप से करना चाहते हैं तो लो‑कॉन्फिडेंस एंट्रीज़ को फ़िल्टर करने के लिए यह परफेक्ट है। + +## चरण 6 – OCR डेटा को CSV के रूप में सेव करें (प्रति टेक्स्ट + कॉन्फिडेंस एक लाइन) + +CSV स्प्रेडशीट या तेज़ डेटा इम्पोर्ट के लिए आदर्श है। Aspose एक-लाइनर प्रदान करता है जिससे सब कुछ CSV फ़ाइल में डंप किया जा सकता है। + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +जनरेटेड CSV इस तरह दिखेगा: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +अब आप इसे Excel, Google Sheets में खोल सकते हैं, या डेटाबेस में फीड कर सकते हैं। + +## बोनस – लो‑कॉन्फिडेंस टेक्स्ट और मल्टी‑पेज PDFs को हैंडल करना + +### कॉन्फिडेंस द्वारा फ़िल्टरिंग + +यदि आप केवल हाई‑सर्टेन्टी लाइन्स चाहते हैं, तो लिखने से पहले JSON को फ़िल्टर करें: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### मल्टी‑पेज डॉक्यूमेंट्स + +Aspose.OCR स्वचालित रूप से मल्टी‑पेज PNG या PDF की प्रत्येक पेज के लिए एक नया `page` एंट्री बनाता है। सभी को प्रोसेस करने के लिए `ocr_data["pages"]` के माध्यम से लूप करें—कोई अतिरिक्त कोड नहीं चाहिए। + +## पूर्ण कार्यशील उदाहरण + +नीचे **complete script** है जिसे आप कॉपी, पेस्ट और तुरंत चला सकते हैं। `YOUR_DIRECTORY` को उस फ़ोल्डर से बदलें जिसमें आपका PNG फ़ाइल है। + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +`python run_ocr.py` के साथ स्क्रिप्ट चलाएँ और आप कंसोल में JSON डंप, डिस्क पर CSV फ़ाइल, और हाई‑कॉन्फिडेंस एंट्रीज़ की फ़िल्टर की हुई लिस्ट देखेंगे। + +## अक्सर पूछे जाने वाले प्रश्न + +**Q: क्या मैं इसे स्कैन किए हुए रसीद से टेक्स्ट निकालने के लिए उपयोग कर सकता हूँ इनवॉइस की बजाय?** +A: बिल्कुल। वही वर्कफ़्लो लागू होता है—सिर्फ `image_path` को अपनी रसीद PNG की ओर इंगित करें। यदि रसीद में अलग भाषा है, तो `engine.language` को उसी अनुसार बदलें। + +**Q: यदि मेरे PNG में घुमा हुआ टेक्स्ट है तो क्या होगा?** +A: Aspose.OCR स्वचालित रूप से ओरिएंटेशन का पता लगाता है, लेकिन जिद्दी मामलों में आप Pillow के साथ इमेज को मैन्युअली घुमा सकते हैं इससे पहले कि उसे इंजन को दें। + +**Q: क्या मुझे Aspose.OCR के लिए पेड लाइसेंस चाहिए?** +A: लाइब्रेरी एक मुफ्त इवैल्यूएशन मोड प्रदान करती है जिसमें आउटपुट पर वॉटरमार्क होता है। प्रोडक्शन उपयोग के लिए आपको लाइसेंस की आवश्यकता होगी, जिसे आप Aspose वेबसाइट से प्राप्त कर सकते हैं। + +## निष्कर्ष + +हमने Python का उपयोग करके **run OCR on PNG** फ़ाइलों के लिए आवश्यक सभी चीज़ें कवर कर ली हैं: SDK इंस्टॉल करना, इमेज लोड करना, संरचित टेक्स्ट निकालना, और परिणाम को JSON या CSV के रूप में सेव करना। चाहे आप एक साधारण स्क्रिप्ट के लिए **extract text from image** करना चाहते हों या ऑटोमेटेड अकाउंटिंग पाइपलाइन के लिए **extract text from invoice**, ऊपर दिए गए चरण आपको एक ठोस, प्रोडक्शन‑रेडी आधार प्रदान करते हैं। + +अगले चरण में, आप खोज सकते हैं: + +- बड़े पैमाने पर इनवॉइस स्टोरेज के लिए CSV आउटपुट को डेटाबेस के साथ इंटीग्रेट करना। +- डेट्स, अमाउंट्स, या टैक्स IDs निकालने के लिए रेगुलर एक्सप्रेशन के साथ पोस्ट‑प्रोसेसिंग जोड़ना। +- यदि आपके इनवॉइस में QR कोड हैं तो `ocr_engine.recognize_barcode` फीचर का उपयोग करना। + +इसे आज़माएँ, कॉन्फिडेंस थ्रेशोल्ड को समायोजित करें, और देखें कि आपका डॉक्यूमेंट‑प्रोसेसिंग वर्कफ़्लो कितना आसान हो जाता है। यदि आपके पास और प्रश्न या कोई शानदार उपयोग‑केस है तो नीचे कमेंट करें—हैप्पी OCRing! + +![run OCR on PNG उदाहरण](run-ocr-on-png.png "run OCR on PNG – OCR परिणाम का विज़ुअल उदाहरण") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/hongkong/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..bc1cb9c3 --- /dev/null +++ b/ocr/hongkong/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,192 @@ +--- +category: general +date: 2026-01-12 +description: 使用 Aspose OCR 於 Python 從圖像提取文字。學習如何在短短幾分鐘內使用非同步程式碼將掃描圖像轉換為文字。 +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: zh-hant +og_description: 使用 Aspose OCR 在 Python 中提取圖像文字。本教程展示如何使用非同步函式將掃描圖像轉換為文字。 +og_title: 從圖片提取文字 Python – 非同步 OCR 指南 +tags: +- python +- ocr +- async +title: 從圖像提取文字 Python – 非同步 OCR 指南 +url: /zh-hant/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 從圖像提取文字(Python) – 非同步 OCR 指南 + +是否曾在 **extract text from image Python** 腳本中卡住 OCR 部分?你並不孤單。許多開發者在面對掃描文件、想將其轉換為可搜尋文字時,常會感到無從下手。 + +在本教學中,我們將逐步示範一個完整、可直接執行的範例,說明如何使用 Aspose OCR 的非同步 API **convert scanned image to text**。完成後,你將得到一個可直接嵌入任何專案的單一函式,並了解即使 OCR 需要數秒鐘,非同步處理也能讓應用保持回應。 + +## 前置條件 + +在開始之前,請確保你已具備: + +- 已安裝 Python 3.8+(非同步功能至少需要 3.7) +- `asposeocr` 套件(`pip install asposeocr`)– 本教學所使用的函式庫 +- 一張掃描圖像檔(TIFF、PNG、JPEG – 任意 Aspose OCR 支援的格式) +- 基本的 `asyncio` 概念(若不熟悉也沒關係,我們會逐步說明) + +不需要額外的系統相依性;Aspose OCR 已將所有必要組件打包。 + +![Diagram showing async OCR flow – extract text from image python](https://example.com/async-ocr-diagram.png "async OCR flow – extract text from image python") + +## 步驟 1 – 建立非同步輔助函式 + +解決方案的核心是一個 `async` 函式,負責載入圖像、啟動 OCR,然後等待結果。將函式設為非同步,可讓你在 OCR 引擎背景執行時,同時執行其他協程(例如下載更多檔案)。 + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**為什麼這很重要:** 透過回傳 `Future`,Aspose OCR 會在獨立的執行緒池中完成繁重工作。`await` 會釋放事件迴圈,使你的應用保持流暢。若需要同時處理多張圖像,只要使用 `asyncio.gather` 排程多個 `async_ocr` 呼叫即可。 + +## 步驟 2 – 在事件迴圈中執行協程 + +有了輔助函式後,我們需要執行它。`asyncio.run` 會建立全新的事件迴圈,執行協程,並在結束時乾淨地關閉。 + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**小技巧:** 若將此程式碼整合到較大的非同步應用(例如 FastAPI),可以直接使用 `await async_ocr(...)`,而不必再呼叫 `asyncio.run`。 + +## 步驟 3 – 驗證輸出 + +執行腳本後,應該會看到類似以下的結果: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +若輸出雜亂,請檢查以下項目: + +1. 圖像是否清晰且未過度壓縮。 +2. 是否選擇了正確的語言(`ocr.Language.ENGLISH` 適用於大多數拉丁文字)。 +3. 檔案路徑是否正確且檔案可讀取。 + +## 步驟 4 – 處理例外情況 + +### 多語言 + +若需 **convert scanned image to text** 成其他語言,只要更改語言屬性: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### 大檔案 + +對於非常大的 TIFF,建議先調整尺寸或轉換為較低解析度的 PNG 再送入 OCR。這樣可減少記憶體負擔並加快處理速度。 + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### 錯誤處理 + +將 OCR 呼叫包在 `try/except` 區塊中,以捕捉網路或授權相關的錯誤。 + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## 步驟 5 – 大規模處理:同時處理多張圖像 + +因為函式是非同步的,你可以一次發起多筆 OCR 工作: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +此模式在 OCR 引擎平行運作時,讓 CPU 持續忙碌,顯著縮短總處理時間。 + +## 結論 + +現在你已擁有一套完整的 **extract text from image Python** 解決方案,利用 Aspose OCR 的非同步 API。完整範例示範了如何: + +1. 初始化 OCR 引擎並選擇語言。 +2. 使用 `process_async` 非同步啟動 OCR。 +3. 以 `await` 取得結果而不阻塞事件迴圈。 +4. 處理常見問題,如大檔案與多語言支援。 + +歡迎將此程式碼套用到自己的工作流程——無論是文件管理系統、搜尋索引器,或是簡易的命令列工具。未來可進一步: + +- 將提取的文字存入資料庫,以支援全文搜尋。 +- 加入 PDF 產生(例如使用 `PyPDF2`)以建立可搜尋的 PDF。 +- 結合 FastAPI 等 Web 框架,打造 RESTful OCR 服務。 + +祝開發順利,享受將掃描圖像轉換為可搜尋、可編輯文字的樂趣! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/hongkong/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..e6e79a90 --- /dev/null +++ b/ocr/hongkong/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,212 @@ +--- +category: general +date: 2026-01-12 +description: 如何快速批量 OCR 圖像並從 JPEG 檔案中提取文字(Python)。學習逐步批次處理,提供完整可執行範例。 +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: zh-hant +og_description: 如何批次 OCR 圖像並從 JPEG 檔案中提取文字。本指南將帶您一步步完成一個完整、可直接執行的 Python 解決方案。 +og_title: 如何批量 OCR 圖像 – 快速 Python 教學 +tags: +- OCR +- Python +- image processing +title: 如何批次 OCR 圖像 – 從 JPEG 檔案提取文字的快速指南 +url: /zh-hant/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何批次 OCR 圖片 – 快速指南:從 JPEG 檔案擷取文字 + +有沒有想過 **如何批次 OCR 圖片**,卻不需要為每個檔案寫一個獨立腳本?你並不孤單。無論是發票掃描、檔案數位化,或是內容審核,我們常常需要一次性從數十甚至數百張 JPEG 檔案中抽取文字。好消息是,只要幾行 Python 程式碼,就能完成,而且還能得到一個可重複使用的引擎,隨時嵌入任何工作流程。 + +在本教學中,我們將完整示範 **如何批次 OCR 圖片**,接著說明如何從 JPEG 檔案擷取文字、處理例外情況,並驗證輸出結果。完成後,你將擁有一個自包含的腳本,能對任意資料夾的圖片執行批次處理,並了解批次處理對效能與可維護性的重要性。 + +## 你將學會 + +- 建立簡易 OCR 引擎並設定為英文。 +- 使用 `pathlib` 收集目錄下所有 JPEG 檔案。 +- 只呼叫一次 OCR 引擎,即可處理整批圖片。 +- 為每張圖片顯示辨識文字的預覽。 +- 處理大型批次、不同語言與常見陷阱的技巧。 + +**先備條件**:Python 3.8+、`ocr` 套件(或任何相容的封裝),以及一個放置 JPEG 圖片的資料夾。無需外部服務——全部在本機執行。 + +--- + +## 步驟 1:初始化 OCR 引擎 – 批次 OCR 圖片的核心 + +在能 **批次 OCR 圖片** 之前,我們需要一個會讀取文字的引擎。大多數函式庫都是先建立引擎物件,選擇語言,然後在每個檔案上重複使用。 + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*為什麼這很重要*:只初始化一次引擎,可避免重複載入語言模型的開銷。也讓你只需在單一位置調整設定(例如 DPI、字元白名單),即可套用到整個批次。 + +> **專業小技巧**:若要處理多語言文件,將 `ocr.Language.ENGLISH` 改為 `ocr.Language.MULTI`,或在批次開始前載入多個語言包。 + +--- + +## 步驟 2:收集所有 JPEG 檔案 – 「從 JPEG 檔案擷取文字」的部分 + +引擎準備好後,我們需要告訴它要處理哪些圖片。使用 `pathlib` 可讓程式跨平台且簡潔。 + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*為什麼這很重要*:先收集檔案清單,才能一次將整個集合傳給 OCR 引擎——這正是 **如何批次 OCR 圖片** 的核心。如果有子資料夾,只要把 `glob("**/*.jpg")` 改成遞迴搜尋即可。 + +> **例外情況**:若圖片副檔名混雜(`.jpeg`, `.JPG`),可擴充 glob 模式:`image_dir.rglob("*.[jJ][pP][eE]?g")`。 + +--- + +## 步驟 3:一次呼叫處理整批 – 批次 OCR 的真正威力 + +大多數現代 OCR 函式庫都提供 `process_batch`(或類似)方法,接受可迭代的檔案路徑。這就是高效 **批次 OCR 圖片** 的核心。 + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*為什麼這很重要*:一次批次呼叫可減少 Python 與 C 之間的切換次數,保持語言模型常駐記憶體,且常能啟用內部平行化。最終會得到一個物件列表——每個物件包含辨識文字與信心分數。 + +> **效能說明**:若批次非常龐大(上千張圖片),建議將清單切成較小的區塊(例如 200 檔)以避免記憶體過度使用。 + +--- + +## 步驟 4:顯示擷取文字的預覽 – 快速驗證 + +批次完成後,先看每個結果的前幾個字元很有幫助。這能讓你確認 OCR 是否真的從 JPEG 檔案中抽出文字。 + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*為什麼這很重要*:簡短的預覽讓你在不開每個檔案的情況下,快速發現明顯失敗(例如空白輸出、亂碼)。若發現系統性問題,可調整引擎設定後重新執行批次。 + +> **常見陷阱**:忘記去除換行字元會讓預覽變得雜亂。`replace("\n", " ")` 這行程式碼會把換行換成空格。 + +--- + +## 完整範例 – 結合所有步驟 + +以下是可直接複製貼上的完整腳本,只要調整資料夾路徑後執行,即可示範 **如何批次 OCR 圖片** 的全流程。 + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**預期輸出**(範例): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +如果預覽顯示有意義的文字,代表你已成功使用批次方式 **從 JPEG 檔案擷取文字**。 + +--- + +## 處理大型批次與進階情境 + +### 將大量工作分塊 +面對上千張圖片時,記憶體可能成為瓶頸。可將清單切成較小的區塊: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### 切換語言 +若文件包含法文或西班牙文,請在批次前變更語言設定: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### 將結果寫入磁碟 +如果不想只印出結果,可以把每筆 OCR 結果寫成 `.txt` 檔案: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## 結論 + +現在你已掌握 **如何批次 OCR 圖片**,並能可靠地 **從 JPEG 檔案擷取文字**,只需一個簡潔的 Python 腳本。透過一次初始化引擎、收集所有 JPEG 路徑、一次批次處理、以及預覽輸出,你即可同時兼顧速度與簡易性。接下來,你可以擴充工作流程——加入多語言支援、將結果儲存至資料庫,或將腳本整合到更大的文件處理管線。 + +準備好進一步挑戰了嗎?試著把 `ocr` 套件換成 Tesseract,實驗不同的影像前處理(二值化、縮放),或把擷取的文字送入自然語言處理模型進行自動分類。可能性無限,而你已擁有堅實的基礎。 + +祝程式開發順利,願你的 OCR 批次永遠無錯誤! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/hongkong/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..4ff29559 --- /dev/null +++ b/ocr/hongkong/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,144 @@ +--- +category: general +date: 2026-01-12 +description: 如何使用 Aspose OCR 偵測圖像中的語言——學習從圖像提取文字、處理混合語言 OCR 以及在 Python 中使用 OCR。 +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: zh-hant +og_description: 如何使用 Aspose OCR 在圖像中偵測語言 – 步驟說明,從圖像提取文字並處理混合語言 OCR. +og_title: 如何使用 OCR 檢測混合文字的語言 +tags: +- OCR +- Python +- Aspose +title: 如何使用 OCR 偵測混合文字的語言 +url: /zh-hant/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何使用 OCR 檢測混合文字的語言 + +在處理多語言文件時,使用 Aspose OCR 在圖像中檢測語言是一項常見挑戰。 +有沒有想過 **如何從圖像中提取文字**,而且該圖像同時包含英文和法文?在本教學中,我們將逐步示範一個完整且可執行的範例,向您展示如何使用 OCR 識別語言、提取文字,並在混合語言情境下輕鬆處理。 + +我們會涵蓋您需要了解的所有內容:設定 Aspose OCR 引擎、告訴它要偵測哪些語言、載入範例發票圖像、執行 OCR 程序,最後列印偵測到的語言與提取的文字。完成後,您將能在自己的專案中回答「如何在混合語言 OCR 中使用 OCR」的問題,無論是建構發票處理流程、收據掃描器,或是文件歸檔工具。 + +> **先決條件** – 您應已安裝 Python 3.8 以上版本,具備基本的 pip 使用經驗,並擁有 Aspose OCR 授權(免費試用即可執行此示範)。不需要其他外部函式庫。 + +--- + +## 使用 Aspose OCR 檢測語言 + +第一步是建立 OCR 引擎實例,並告訴它要偵測哪些語言。Aspose OCR 使用位元遮罩 (bit‑mask) 來組合語言,讓您輕鬆支援英文、法文、西班牙文或任何需要的組合。 + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**為什麼這很重要:** 初始化引擎是基礎。若未初始化,您無法呼叫任何 OCR 方法,且引擎會保存所有設定,決定之後它能多好地 **偵測語言**。 + +--- + +## 使用 OCR 從圖像提取文字 + +現在我們需要告訴引擎可能的語言。透過設定 `ENGLISH | FRENCH` 的位元遮罩,我們讓引擎能自動為圖像的每個區域挑選最佳匹配語言。 + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**為什麼這很重要:** 啟用 `auto_detect_language` 是在混合語言文件中 **如何偵測語言** 的關鍵。引擎會掃描文字,為每種語言打分,並回傳信心最高的語言。若跳過此步驟,您必須自行猜測語言,這會違背混合語言 OCR 的初衷。 + +--- + +## 設定混合語言 OCR 參數 + +在將圖像送入引擎之前,我們必須先載入圖像。Aspose OCR 使用其自有的 `Image` 類別,將底層檔案格式抽象化。 + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **提示:** 圖像解析度保持在約 300 dpi 可獲得最佳效果。較低的解析度可能導致語言偵測遺漏細微字元,尤其是帶重音的法文字母。 + +--- + +## 執行 OCR 程序並取得結果 + +在引擎設定完成且圖像已載入後,我們終於可以執行 OCR 程序。`process` 方法會回傳一個 `OcrResult` 物件,內含偵測到的語言代碼與完整的提取文字。 + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**預期輸出** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +如果圖像包含法文區段,您會看到偵測語言為 `FRENCH`,並列印出相應的法文文字。 + +--- + +## 圖像範例(SEO 替代文字) + +![混合語言 OCR 圖像的語言偵測示例](mixed_lang_invoice.png) + +*上圖顯示一張包含英文與法文文字的範例發票,說明 OCR 引擎如何 **偵測語言** 並一次性提取內容。* + +--- + +## 常見問題與專業技巧 + +| 問題 | 發生原因 | 解決方式 / 緩解方法 | +|------|----------|----------------------| +| **模糊或低解析度掃描** | 引擎無法辨識字元,導致語言偵測錯誤。 | 掃描解析度 ≥300 dpi,於 OCR 前先進行圖像銳化。 | +| **位元遮罩中缺少語言** | 若忘記加入某語言,引擎會預設使用第一個匹配語言,常導致結果不準確。 | 務必列出所有預期的語言;可使用 `|` 運算子組合多種語言。 | +| **混合字形(例如拉丁文 + 西里爾文)** | Aspose OCR 可能需要額外的語言套件。 | 安裝相應的語言套件並將其加入遮罩。 | +| **大型檔案導致記憶體激增** | 將巨大的圖像載入記憶體可能使腳本當機。 | 使用 `Image.resize` 在保留 DPI 的同時縮小圖像,或將圖像分塊處理。 | + +**專業技巧:** 取得原始文字後,執行快速的後處理步驟以正規化空白與換行。這可讓後續的解析(例如提取發票號碼)變得更簡單。 + +--- + +## 小結:您學到了什麼 + +現在您已了解如何使用 Aspose OCR 在混合語言圖像中 **偵測語言**,並且看過一個完整的端對端範例,亦示範了 **如何從圖像提取文字**。透過設定語言位元遮罩、啟用自動偵測,並處理結果物件,您即可可靠地處理包含英文與法文(或其他語言)混合的發票、收據或任何文件。 + +### 往後步驟 + +- 嘗試先將 PDF 的每頁轉為圖像,再加入 **如何從 PDF 提取文字** 的功能。 +- 嘗試其他相關關鍵字:探索完整的 **如何使用 OCR** API,例如設定 OCR 區域以加速處理。 +- 深入更複雜的 **混合語言 OCR** 案例,例如在三種或以上語言之間切換的文件。 + +歡迎自行調整程式碼,在自己的圖像上測試,讓引擎負責繁重的工作。若遇到任何問題,請在下方留言——祝開發愉快! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/hongkong/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..bc49a741 --- /dev/null +++ b/ocr/hongkong/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-01-12 +description: 學習如何在 Python 中對 PDF 進行 OCR,快速將 PDF 轉為可搜尋。使用 Aspose OCR 轉換掃描 PDF、提取文字 + PDF,並對掃描 PDF 進行 OCR。 +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: zh-hant +og_description: 如何在 Python 中進行 PDF OCR?本分步教學將示範如何將掃描版 PDF 轉換為可搜尋的 PDF,並使用 Aspose OCR + 提取文字。 +og_title: 如何 OCR PDF 並使其可搜尋 – Python 指南 +tags: +- OCR +- Python +- PDF processing +title: 如何對 PDF 進行 OCR 並使其可搜尋 – Python 指南 +url: /zh-hant/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何使用 Python OCR PDF 並使其可搜尋 + +有沒有想過 **如何 OCR PDF** 而不必花大錢購買商業軟體?你並不孤單。許多開發者在需要將掃描的合約、發票或任何影像型 PDF 轉換成可搜尋的文件時,都會卡關。好消息是,只要幾行 Python 程式碼加上 Aspose OCR,就能在數分鐘內將掃描 PDF 轉換、提取文字 PDF,最終產生可搜尋的 PDF。 + +在本教學中,我們會一步步說明所有必備內容:從安裝函式庫、設定語言、處理掃描 PDF,到將結果儲存為同時包含原始影像與隱藏文字層的可搜尋 PDF。完成後,你將擁有一個可直接套用於任何專案的可重用腳本——不需要手動複製貼上。 + +--- + +## 需要的條件 + +- **Python 3.8+**(程式碼在 3.9、3.10 以及更新版本皆可執行) +- 有效的 **Aspose OCR for Python** 授權(免費試用版足以進行測試) +- 一個掃描的 PDF 檔案(例如 `scanned_contract.pdf`),你想要讓它可搜尋 +- 基本的命令列與虛擬環境使用經驗(非必須,但建議) + +> **專業提示:** 若尚未取得授權,可前往 Aspose 官網申請 30 天試用;試用版在開發階段功能完整。 + +--- + +## 如何使用 Aspose OCR OCR PDF(H2 主要關鍵字) + +第一步是取得正確的套件。Aspose OCR 提供簡潔的高階 API,將底層影像處理細節抽象化。 + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +套件安裝完成後,即可開始撰寫腳本。 + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **為什麼要設定語言?** +> OCR 的準確度高度依賴語言模型。明確告訴引擎預期的文字為英文,可減少誤判並加快處理速度。 + +--- + +## 步驟 2:將掃描 PDF 轉換為可搜尋 PDF + +引擎就緒後,指向你的掃描文件。`process_pdf` 方法會回傳一個 `PdfResult` 物件,內含原始影像資料與辨識出的文字。 + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +如果需要 **批次轉換掃描 PDF**,只要對資料夾進行迴圈,對每個檔案呼叫 `process_pdf` 即可。引擎會自動處理多頁 PDF。 + +--- + +## 步驟 3:將結果儲存為可搜尋 PDF(Make PDF Searchable) + +最後一步是將可搜尋版本寫入磁碟。Aspose OCR 只需一行程式碼: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +當你在任何 PDF 閱讀器中開啟 `contract_searchable.pdf` 時,會看到原始掃描影像,但現在可以 **搜尋任何 OCR 引擎辨識出的字詞**。隱藏的文字層對肉眼不可見,卻能被完整索引。 + +--- + +### 完整腳本 – 可直接執行 + +以下是完整、可執行的範例。將它複製貼上至名為 `make_searchable.py` 的檔案,並依照你的環境調整路徑。 + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**預期輸出:** +執行腳本後會印出確認訊息,並產生 `contract_searchable.pdf`。開啟檔案,按 `Ctrl + F`,輸入原始掃描影像中出現的任意字詞,即可立即看到匹配結果。 + +--- + +## 常見問題與特殊情況 + +### 1. 若 PDF 包含多種語言該怎麼辦? + +可以將語言列表傳給引擎: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR 會嘗試同時辨識同一頁面的多種語言。 + +### 2. 如何處理低解析度的掃描? + +若來源影像低於 150 dpi,OCR 準確度可能下降。可先使用 `pdfimages` 抽取頁面,利用 Pillow 放大影像,然後再將高解析度的影像送入 `process_pdf`。 + +### 3. 是否能只提取純文字而不產生可搜尋 PDF? + +當然可以。`PdfResult` 物件提供 `text` 屬性: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +這正符合 **extract text pdf** 的需求,僅取得原始字元。 + +### 4. 有沒有辦法批次處理整個資料夾? + +有——只要將 `ocr_to_searchable` 函式包在簡單的迴圈中: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +如此即可一次指令 **批次轉換掃描 pdf**。 + +--- + +## 效能小技巧 + +- **重複使用引擎**:每個檔案都重新建立 `OcrEngine` 會增加額外開銷。建議只建立一次,於多次呼叫間重複使用。 +- **平行處理**:對於大量批次,可考慮 Python 的 `concurrent.futures.ThreadPoolExecutor`——Aspose OCR 在唯讀操作下是執行緒安全的。 +- **記憶體管理**:若處理數百頁的大型 PDF,於每個檔案處理完畢後呼叫 `gc.collect()` 以釋放記憶體。 + +--- + +## 結論 + +我們已說明 **如何在 Python 中 OCR PDF**,將掃描檔轉換為 **可搜尋 PDF**,並示範如何直接 **extract text PDF**。使用 Aspose OCR,你即可獲得支援多頁文件、多語言與高準確度辨識的可靠引擎,且只需幾行程式碼。 + +不妨先在自己的合約、發票或存檔的研究論文上試試看。掌握基礎後,可進一步探索進階功能——如自訂字典、影像前處理,或將輸出整合至 Elasticsearch 等全文檢索索引。 + +對 **ocr scanned pdf python** 有更多疑問或需要協助排除掃描問題?歡迎在下方留言,祝開發順利! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="how to ocr pdf example"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/hongkong/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..1a6fb728 --- /dev/null +++ b/ocr/hongkong/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,209 @@ +--- +category: general +date: 2026-01-12 +description: 如何快速且準確地執行 OCR。學習在文件上執行 OCR、從 TIFF 提取文字、載入影像進行 OCR,以及在 Python 中設定 OCR + 語言。 +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: zh-hant +og_description: 如何在 Python 中執行 OCR。本教學會示範如何對文件執行 OCR、從 TIFF 擷取文字、載入影像進行 OCR 以及設定 OCR + 語言。 +og_title: 如何對 TIFF 文件執行 OCR – 完整指南 +tags: +- OCR +- Python +- Image Processing +title: 如何對 TIFF 文件執行 OCR – 步驟指南 +url: /zh-hant/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 TIFF 文件上執行 OCR – 完整指南 + +有沒有想過 **如何在掃描的 TIFF 檔案上執行 OCR**,卻不想花上數小時去尋找合適的函式庫?你並不孤單。許多開發者在需要從 tiff 圖片中擷取文字時會卡住,特別是當效能與語言設定很重要時。 + +在本教學中,我們將逐步說明你需要了解的所有內容:從安裝 OCR 套件、載入 OCR 圖片、設定 OCR 語言,到最後 **run OCR on document** 並取得乾淨的文字。完成後,你將擁有一個可直接執行的腳本,隨時可放入任何專案。 + +> **Pro tip:** 雖然範例使用的是通用的 `ocr` 模組,但相同概念同樣適用於 Tesseract、EasyOCR,或任何提供 Python API 的現代 OCR 引擎。 + +--- + +## 需要的條件 + +- Python 3.8+(任何較新的版本皆可) +- 提供 `OcrEngine` 類別的 OCR 函式庫(範例使用虛構的 `ocr` 套件;請換成你實際使用的套件) +- 你想處理的多頁 TIFF 檔案(此處稱為 `big_document.tif`) +- 若要設定執行緒數量,需具備至少 4 核心的機器 + +不需要外部服務,也不需要雲端金鑰——只要本機程式即可在數秒內完成。 + +![執行 OCR 範例](/images/ocr-example.png "在 TIFF 文件上執行 OCR") + +*圖片說明:在 TIFF 文件上執行 OCR – 擷取文字的預覽。* + +## 步驟 1:安裝並匯入 OCR 函式庫 + +首先,先把函式庫安裝到你的機器上。大多數 OCR 套件都在 PyPI 上,可直接使用 `pip install` 完成安裝。 + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +接著匯入你需要的類別。若使用 Tesseract,匯入語句會有所不同,但其餘程式碼保持不變。 + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*為什麼這很重要:* 事先匯入正確的符號可避免之後的命名空間衝突,並讓腳本更易閱讀。 + +## 步驟 2:建立並設定 OCR 引擎(設定 OCR 語言) + +設定引擎的地方就是 **set OCR language**,以取得精確的辨識。預設為英文,但只要一行程式碼即可切換至法文、德文,甚至多語言模式。 + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **為什麼要使用 4 個執行緒?** 大多數現代筆記型電腦至少有四核心,限制執行緒數量可防止 OCR 程序佔用整台機器——在共用伺服器上執行腳本時特別有用。 + +如果需要其他語言,只要將 `ocr.Language.ENGLISH` 替換為 `ocr.Language.FRENCH`、`ocr.Language.SPANISH` 等即可。 + +## 步驟 3:載入 OCR 圖片(Load Image for OCR) + +現在我們 **load image for OCR**。`Image.load` 方法會將 TIFF 檔案讀入記憶體,並自動處理多頁文件。 + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*邊緣情況:* 若檔案過大,可能會耗盡記憶體。此時可考慮使用 `Image.load_page(page_number)` 逐頁載入(前提是函式庫支援)。 + +## 步驟 4:對文件執行 OCR + +引擎已就緒且圖片已載入,現在可以 **run OCR on document**。`process` 方法負責繁重的運算,並回傳結果物件。 + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +在背後,引擎會將圖片切分為文字區塊,執行辨識模型,並將結果拼接。此呼叫為阻塞式,表示腳本會等到整個 TIFF 處理完畢——非常適合批次作業。 + +## 步驟 5:從 TIFF 擷取文字並驗證輸出 + +最後,我們透過存取結果的 `text` 屬性 **extract text from tiff**。先印出前 200 個字元作為快速檢查。 + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**預期輸出(範例):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +若需要完整文字,只要使用 `ocr_result.text`。若要進一步處理,可能會想將其寫入 `.txt` 檔案: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +## 完整範例 + +將上述步驟整合起來,以下是一個可直接執行的腳本。請將佔位套件名稱換成你實際安裝的套件。 + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +使用以下指令執行腳本: + +```bash +python ocr_tiff_example.py +``` + +你應該會在終端機看到預覽,且會產生名為 `extracted_text.txt` 的檔案,內含完整的文字稿。 + +## 常見問題與邊緣情況 + +- **如果 TIFF 包含多頁怎麼辦?** + 大多數 OCR 引擎會在內部將每頁視為獨立影像。`ocr_result.text` 會在頁面之間插入換行符號。若需逐頁處理,可使用 `Image.load_page(page_number)` 迭代。 + +- **我可以處理 PNG 或 JPEG 而非 TIFF 嗎?** + 當然可以。`Image.load` 方法通常接受 Pillow 或底層函式庫支援的任何格式,只要更改檔案副檔名即可。 + +- **文字亂碼—需要更換語言嗎?** + 需要。`set OCR language` 步驟對非英文文件至關重要。請確認已安裝相應的語言套件(例如法文的 `tesseract‑lang‑fra`)。 + +- **記憶體不足?** + 降低 `set_memory_limit` 或逐頁處理。有些引擎還允許在辨識前將影像縮小。 + +## 結論 + +以上就是使用 Python 在 TIFF 檔案上 **how to perform OCR** 的簡明完整指南。我們涵蓋了從安裝函式庫、設定引擎(包括 **set OCR language**)、**load image for OCR**、**run OCR on document**,最後 **extract text from tiff** 的全部步驟。 + +歡迎自行實驗:調整執行緒數量、切換語言,或將 OCR 輸出導入自然語言處理管線。掌握基礎後,想做什麼都沒有限制。 + +還有其他問題嗎?在下方留言,我們祝你編程愉快! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/hongkong/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..6cf315fc --- /dev/null +++ b/ocr/hongkong/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,174 @@ +--- +category: general +date: 2026-01-12 +description: 如何在 Aspose OCR Python 中設定語言並使用自訂字典從圖像提取文字。開發人員逐步教學。 +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: zh-hant +og_description: 如何在 Aspose OCR Python 中設定語言,並使用自訂字典從圖片中提取文字。只需數分鐘即可學會完整工作流程。 +og_title: 如何在 Aspose OCR Python 中設定語言 – 完整指南 +tags: +- OCR +- Python +- Aspose +- Image Processing +title: 如何在 Aspose OCR Python 中設定語言 – 完整指南 +url: /zh-hant/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 Aspose OCR Python 中設定語言 – 完整指南 + +有沒有想過在 Python 中使用 Aspose OCR 時 **如何設定語言**?你並不孤單——許多開發者在預設的英語模型無法辨識產品代碼、序號或多語言文字時會卡關。好消息是解決方案既簡單又強大。在本教學中,我們將逐步說明如何設定語言、加入自訂字典、從影像中擷取文字,最後處理影像以獲得最佳 OCR 效果。 + +我們會涵蓋所有必備知識:從安裝函式庫到執行完整範例並印出擷取的文字。完成後,你將能自信地 **從影像擷取文字**,即使內容包含不尋常的代碼或混合語言。 + +## 前置條件 + +* 已安裝 Python 3.8+(程式碼使用 f‑strings,較舊版本無法執行)。 +* 具備有效的 Aspose OCR for Python 授權或免費試用金鑰。 +* 透過 `pip install asposeocr` 安裝 `asposeocr` 套件。 +* 準備一張包含欲讀取文字的範例影像(`product_label.png`)。 + +如果你已具備上述條件,太好了——讓我們繼續。如果還沒有,請前往 Aspose 官方網站取得免費試用,並執行安裝指令,整個過程只需一分鐘。 + +## 步驟 1:匯入 Aspose OCR 模組 + +首先,你需要將 OCR 類別匯入腳本中。這是之後 **如何設定語言** 的基礎。 + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Pro tip:** 將匯入語句放在檔案最上方。這樣可以讓程式碼更易於瀏覽,尤其是日後回顧時。 + +## 步驟 2:如何設定語言 + +預設情況下,Aspose OCR 會假設使用英語。如果影像中包含法語、德語或其他語言,你必須告訴引擎使用哪種語言。這時主要關鍵字就派上用場了。 + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +為什麼這麼重要?OCR 引擎依賴語言特定的字元模型。提供正確的語言可大幅提升辨識精度,尤其是帶有重音符號或語言專屬連字的情況。 + +> **Note:** 若需同時支援多種語言,可傳入類似 `ocr.Language.ENGLISH | ocr.Language.SPANISH` 的組合。 + +## 步驟 3:如何加入字典(使用者自訂詞彙) + +有時 OCR 會誤讀像 “AB‑1234” 這樣的產品代碼。你可以透過自訂字典提升信心,直接回應 **如何加入字典** 的需求。 + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +引擎會將這些詞視為「已知」詞彙,並優先匹配,而非相似的字元。這對 SKU 編號、序列碼或不屬於自然語言的品牌名稱特別有用。 + +## 步驟 4:如何處理影像 + +現在引擎已配置完成,你需要載入欲分析的影像。這說明了 **如何處理影像** 的乾淨且可重複的做法。 + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +如果要處理 PDF,可先將每頁轉為影像——Aspose OCR 內建支援此功能。 + +## 步驟 5:如何從影像擷取文字 + +所有設定就緒後,最後一步是執行 OCR 並取得文字。這正是 **如何從影像擷取文字** 的核心。 + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +執行腳本時,你應該會看到類似以下的輸出: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +如果輸出呈現亂碼,請再次確認已設定正確的語言,且自訂字典中包含了預期的字串。 + +## 完整可執行範例 + +將上述步驟整合起來,以下是完整腳本,你可以直接複製貼上為 `extract_label.py`。別忘了將 `YOUR_DIRECTORY` 替換成實際的影像路徑。 + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### 預期輸出 + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +若看到字典中加入的代碼正確顯示,代表你已成功掌握 **如何設定語言**、**如何加入字典**,以及 **如何從影像擷取文字** 的技巧。 + +## 處理常見邊緣情況 + +| Situation | What to Do | +|-----------|------------| +| **影像模糊** | 使用 `ocr.Image.apply_filter()` 進行前處理,以在呼叫 `process()` 前銳化影像。 | +| **單一影像中有多種語言** | 設定 `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`。 | +| **大型 PDF** | 逐頁迴圈,將每頁轉換為 `ocr.Image`,並對每頁呼叫 `process()`。 | +| **非預期字元** | 將它們加入使用者自訂詞彙清單;Aspose OCR 會將其視為高信心的標記。 | + +## 視覺參考 + +![如何在 Aspose OCR 中設定語言示例](image.png "螢幕截圖顯示在 Aspose OCR Python 示例中設定語言的屬性") + +*Alt text:* **如何設定語言** 螢幕截圖說明在 Python IDE 中設定 language 屬性的方式。 + +## 結論 + +現在你已了解如何在 Aspose OCR Python 中 **設定語言**、如何 **加入字典**,以及 **從影像擷取文字** 與 **處理影像** 的完整步驟,以取得最佳結果。上述完整範例可直接套用於任何專案,依需求調整語言或擴充為批次處理或 PDF 輸入。 + +準備好接受下一個挑戰了嗎?試著將 `ocr.Language.ENGLISH` 換成 `ocr.Language.FRENCH`,觀察法語標籤的辨識提升。或是使用 `set_user_defined_words` 方法加入整個產品目錄——你的 OCR 引擎會將每個條目視為高信心匹配。 + +祝程式開發順利,願你的 OCR 結果永遠清晰如水晶! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/hongkong/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..b81f8078 --- /dev/null +++ b/ocr/hongkong/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,206 @@ +--- +category: general +date: 2026-01-12 +description: 使用 Aspose OCR 在 Python 中處理手寫筆記——快速學習如何從 jpg 圖像提取文字。 +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: zh-hant +og_description: 使用 Aspose OCR 在 Python 中處理手寫筆記。了解如何從 JPG 圖像提取文字、辨識手寫 OCR,以及載入圖像進行 + OCR。 +og_title: 使用 Python 處理手寫筆記 – 完整 OCR 教學 +tags: +- OCR +- Python +- Aspose +title: 使用 Python 處理手寫筆記 – 手寫 OCR 指南 +url: /zh-hant/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 使用 Python 處理手寫筆記 – 手寫 OCR 指南 + +如果你需要在 Python 中 **處理手寫筆記**,本指南會一步步教你如何操作。無論筆記是掃描收據、教室白板的相片,或是快速自拍的待辦清單,你都能學會 **如何從這些圖像中擷取文字**,輕鬆無壓。 + +我們會逐步說明每個步驟——匯入 Aspose OCR 函式庫、載入 JPG、執行引擎,以及處理低信心的行。完成後,你將擁有一個可直接執行的腳本,能 **從 jpg 檔案辨識文字**,並提供乾淨、可直接使用的字串。 + +## 你將收穫什麼 + +- 一個完整、可直接執行的程式範例,開箱即用。 +- 了解每一行程式碼背後的原因,而不僅是它的功能。 +- 處理抖動手寫與低信心結果的技巧。 +- 如何將腳本擴充至 PDF、多張圖像或自訂語言套件的指引。 + +*先決條件*:已安裝 Python 3.8+、有效的 Aspose OCR 授權(或免費試用),以及專案資料夾中名為 `handwritten_notes.jpg` 的圖像檔案。 + +![手寫筆記範例](https://example.com/handwritten-notes.png "手寫筆記") + +*替代文字:手寫筆記 – 顯示已準備好進行 OCR 的手寫文字範例圖像。* + +## 處理手寫筆記:設定 OCR 引擎 + +### 為何此步驟重要 +OCR 引擎是辨識過程的核心。正確選擇語言並正確初始化物件,可確保引擎知道要搜尋英文字符,且能處理手寫的特殊情況。 + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**專業提示**:如果預期筆記會使用其他語言,請將 `ocr.Language.ENGLISH` 替換為相應的列舉(例如 `ocr.Language.FRENCH`)。引擎會自動載入所需的字元集。 + +--- + +## 如何從 JPG 圖像擷取文字 + +### 載入圖像 – 首個障礙 +在引擎執行任何工作之前,需要先取得 JPG 的位圖表示。Aspose 提供便利的靜態 `load` 方法,可將檔案讀取為 `Image` 物件。 + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*為何不使用 OpenCV 或 Pillow?* +這些函式庫在前處理方面確實優秀,但 Aspose 的 `Image.load` 能保證 OCR 引擎所需的精確像素格式,避免常見的色深不匹配問題。 + +--- + +## 使用 Handwritten OCR Python 從 JPG 辨識文字 + +### 執行 OCR 引擎 +現在引擎與圖像皆已就緒,我們即可啟動辨識。`process` 方法會回傳一個 `OcrResult` 物件,內含多個 `Line` 物件,每行都有其信心分數。 + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**底層發生了什麼?** +Aspose OCR 採用在數百萬手寫樣本上訓練的深度學習模型。它會先將圖像切分為行,再切分為字元,最後組合出每行最有可能的文字字串。 + +--- + +## 載入圖像以進行 OCR – 處理低信心結果 + +### 為何要關注信心分數 +手寫 OCR 永遠不會 100 % 完美。信心分數低於 75 % 通常表示引擎在筆畫順序或背景噪聲上遇到困難。透過過濾這些行,你可以決定是否請使用者驗證,或是套用額外的圖像前處理。 + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**典型輸出**(結果會因圖像而異): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +請注意腳本如何將可靠文字與不穩定的部分清晰分離。之後你可以將低信心的行送入第二輪使用圖像增強濾鏡(例如對比度提升)的處理,或交給人工審核。 + +--- + +## 完整腳本 – 隨時可執行 + +以下是完整程式碼,可直接複製貼上。將其儲存為 `handwritten_ocr.py`,然後執行 `python handwritten_ocr.py`。 + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**預期行為**: +- 腳本會列印每行文字及其信心百分比。 +- 信心高於 75 % 的行會顯示為「Accepted」,其餘則標記為需審核。 +- 除了 `asposeocr` 之外,無需其他額外相依套件。 + +--- + +## 常見問題與邊緣情況 + +### 如果我的圖像是 PNG 或 BMP 呢? +Aspose OCR 會自動偵測格式,只需在 `image_path` 中更改檔案副檔名即可,無需修改程式碼。 + +### 我的手寫極度雜亂——如何提升準確度? +1. **前處理圖像** – 提高對比度、去除背景陰影(可使用 OpenCV)。 +2. **提升信心門檻** – 若只接受近乎完美的行,可將門檻設為 80 %。 +3. **訓練自訂模型** – Aspose 提供「自訂語言套件」功能,可針對特定手寫風格進行訓練。 + +### 我可以一次處理多張圖像嗎? +當然可以。將載入與處理步驟放入遍歷檔案路徑清單的 `for` 迴圈中。為了效能,請重複使用同一個 `ocr_engine` 實例。 + +### 這在 macOS/Linux 上可用嗎? +可以。Aspose OCR 為所有主要平台提供 wheel 套件。只要執行 `pip install asposeocr` 即可使用。 + +--- + +## 往後步驟與相關主題 + +- **如何從 PDF 擷取文字** – 有了 OCR 流程後,只需將 PDF 頁面傳入 `ocr.Image.load`,只要一行程式碼即可。 +- **與資料庫整合** – 將每行已接受的文字儲存至 SQLite 或 PostgreSQL,以便搜尋筆記。 +- **行動裝置即時 OCR** – 可將此腳本與 Flask 或 FastAPI 結合,提供行動應用呼叫的 REST 端點。 + +上述每個延伸功能皆基於我們先前討論的核心概念:**處理手寫筆記**、**如何擷取文字**、**從 jpg 辨識文字**、以及**載入圖像以進行 OCR**。 + +--- + +## 結論 + +現在你已擁有一套完整、端到端的 **處理手寫筆記** 解決方案,使用 Python 與 Aspose OCR。指南已說明如何設定引擎、載入 JPG、執行辨識,以及處理低信心結果——全部都在一個可直接複製貼上的腳本中。 + +接下來,你可以嘗試不同的圖像前處理技巧、提升信心門檻,或將解決方案擴展至批次處理數百張筆記。沒有任何限制,剛學會的程式碼就是你的起飛平台。 + +*祝程式開發順利,願你的手寫筆記最終變成可搜尋的文字!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/hongkong/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..03c6b66e --- /dev/null +++ b/ocr/hongkong/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,235 @@ +--- +category: general +date: 2026-01-12 +description: Python OCR 教學示範如何從圖像中提取表格文字。學習如何從圖像讀取表格,並使用 Aspose OCR 提取選定文字。 +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: zh-hant +og_description: Python OCR 教學,教你如何從圖片中提取表格文字、讀取圖片中的表格,並使用 Aspose OCR 提取選取的文字。 +og_title: Python OCR 教學:從圖片中提取表格文字 +tags: +- OCR +- Python +- AsposeOCR +title: Python OCR 教學:從圖像中提取表格文字 +url: /zh-hant/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR 教學:從圖像中提取表格文字 + +有沒有需要一個實際示範如何從掃描表單中提取表格的 **python ocr tutorial**?你並不是唯一有此需求的人。大多數教學只停留在一般文字提取,讓你不知道如何將關注的整齊資料格子分離出來。 + +在本指南中,我們將走過一個真實情境:從圖像中讀取表格、只提取你需要的選定文字,最後列印結果。過程中我們也會分享 **how to extract table** 資料的可靠技巧,讓你不必每次都重新發明輪子。 + +## What You’ll Learn + +- 如何為 Python 設定 Aspose OCR。 +- 如何定義包含表格的矩形區域。 +- **extract table text** 與 **read table from image** 的完整步驟。 +- 處理多語言或不規則表格佈局的技巧。 +- 一個完整、可直接執行的腳本,今天就能放入你的專案。 + +**Prerequisites** +- Python 3.8 或更新版本。 +- 基本的 OCR 概念認識(不需要深入專業知識)。 +- 一張包含清晰表格的 PNG 或 JPEG 圖片(我們稱之為 `form_with_table.png`)。 + +如果你已具備上述條件,讓我們直接進入正題——不囉嗦,只給可執行的程式碼。 + +![python ocr tutorial example of table region](table_region_example.png){alt="python ocr 教學示例顯示表格區域"} + +## Step 1: Install and Import Aspose OCR + +First things first: you need the Aspose OCR library. The package is on PyPI, so a single `pip` command does the trick. + +```bash +pip install aspose-ocr +``` + +Now import the module and any helpers you’ll need. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro tip:* Keep your dependencies in a `requirements.txt` file. It makes reproducing the environment a breeze. + +## Step 2: Initialise the OCR Engine (Python OCR Tutorial Core) + +Creating the engine is the heart of any **python ocr tutorial**. Here we also set the default language to English—feel free to swap it out later. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Why set the language? OCR accuracy can jump dramatically when the engine knows what characters to expect. If you’re dealing with multilingual forms, you can either set a list of languages or override per region (see later). + +## Step 3: Load Your Image + +Aspose OCR works with most common image formats. Just point it at the file path, and you’ll have an `Image` object ready for processing. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Edge case:* Large images (over 5 MB) can slow down processing. Consider resizing or compressing them before OCR if performance becomes an issue. + +## Step 4: Define the Table Region (Read Table from Image) + +Now comes the fun part: telling the engine *where* the table lives. You provide an `OcrRegion` with a `Rectangle` (x, y, width, height). The coordinates are pixel‑based, so you may need to experiment a bit. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Why use a region? By limiting OCR to the table area we **extract selected text** faster and avoid noise from surrounding labels or graphics. It also improves accuracy because the engine can focus on a uniform layout. + +## Step 5: Run OCR on the Defined Region + +With the region set, we invoke `process_region`. The method returns an `OcrResult` object that holds the raw text, confidence scores, and even bounding boxes if you need them later. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +If you need to extract multiple tables, simply repeat Steps 4‑5 with different rectangles. + +## Step 6: Output the Extracted Table Text + +Finally, print—or store—the table’s textual representation. Aspose OCR returns plain text with line breaks that usually align with rows, making post‑processing straightforward. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Expected output** (example): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +You can now feed this string into `csv` parsers, pandas DataFrames, or any downstream analytics pipeline. + +## Full Working Example + +Putting it all together, here’s the complete script you can run immediately. Replace `YOUR_DIRECTORY/form_with_table.png` with the actual path to your image. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Run the script with `python extract_table.py`. If everything lines up, you’ll see the table printed to your console. + +## Common Questions & Edge‑Case Handling + +**What if the table isn’t perfectly rectangular?** +You can split the table into multiple overlapping regions or use a larger rectangle that covers the whole area and then post‑process the text (e.g., split on line breaks). + +**Can I extract only specific columns?** +After you have the full table text, use Python’s `csv` or `pandas` to slice out the columns you care about. The OCR step itself returns everything inside the rectangle. + +**How do I work with non‑English tables?** +Set `ocr_engine.language` (or `region.language`) to the appropriate enum, such as `ocr.Language.FRENCH` or combine multiple languages using `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**Is there a way to get bounding boxes for each cell?** +Aspose OCR can return `region_result.words` where each word includes a bounding box. You’d need to map those boxes back to a grid—useful for advanced layout analysis. + +## Tips for Better Accuracy + +- **Clean the image**: Binarize or increase contrast before feeding it to OCR. Libraries like Pillow can help. +- **Avoid compression artifacts**: Save scans as PNG when possible. +- **Mind DPI**: 300 dpi is a sweet spot; lower values can cause missed characters. +- **Test different rectangle sizes**: Slightly larger rectangles often capture stray characters that belong to the table. + +## Next Steps + +Now that you’ve mastered **how to table** data with Aspose OCR, you might explore: + +- Converting the extracted text into a CSV file with Python’s `csv` module. +- Feeding the data into a **pandas** DataFrame for analysis. +- Using OCR to read handwritten forms (requires a different engine or additional training). +- Automating batch processing of dozens of scanned forms using a simple `for` loop. + +Each of these extensions builds on the core concepts covered in this **python ocr tutorial**, so you’re well‑positioned to scale up. + +--- + +*Happy coding! If you hit any snags, drop a comment below—I'll be glad to help you fine‑tune the extraction.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/hongkong/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..ed3cd118 --- /dev/null +++ b/ocr/hongkong/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,260 @@ +--- +category: general +date: 2026-01-12 +description: 使用 Python 快速對 PNG 檔案執行 OCR。了解如何從圖像和發票中提取文字,並使用 Aspose.OCR 載入圖像進行 OCR。 +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: zh-hant +og_description: 即時對 PNG 進行 OCR。本指南示範如何從圖片與發票中提取文字、載入圖片進行 OCR,並將結果儲存為 JSON 與 CSV。 +og_title: 在 PNG 上執行 OCR – 完整 Python 教學 +tags: +- OCR +- Python +- Image Processing +title: 在 PNG 上執行 OCR – 完整的 Python 圖像文字提取指南 +url: /zh-hant/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 在 PNG 上執行 OCR – 完整的 Python 指南,從圖像中提取文字 + +曾經需要 **在 PNG 上執行 OCR**,卻不確定哪個函式庫能提供乾淨、結構化的結果嗎?你並不孤單。在許多實務專案中——例如發票自動化或收據掃描——第一步就是 **從圖像中提取文字**,而 PNG 是常見的格式,因為它保留了無損品質。 + +在本教學中,我們將以 Aspose.OCR Python 套件示範一個實作範例。完成本指南後,你將會知道如何 **載入圖像以進行 OCR**、提取每一行文字、將資料轉換為整齊的 JSON 物件,甚至匯出為 CSV 供後續處理。沒有冗長說明,只有實用、可直接執行的解決方案。 + +## 你將學會 + +- 如何安裝與匯入 Aspose.OCR 函式庫。 +- 執行 **在 PNG 上執行 OCR** 並處理結果物件的完整步驟。 +- 從 **發票** 檔案中 **提取文字** 並將輸出格式化為 JSON 或 CSV 的方法。 +- 處理低對比度圖像、多語言文件與信心分數的技巧。 +- 一個完整、可直接複製貼上的程式碼範例,讓你今天就能執行。 + +> **前置條件:** Python 3.8 以上,且具備基本的 pip 使用經驗。如果你從未使用過 Aspose,也不必擔心——本指南涵蓋了入門所需的一切。 + +## 步驟 1 – 安裝 Aspose.OCR 並準備環境 + +在我們能 **在 PNG 上執行 OCR** 之前,必須先在系統上安裝此函式庫。 + +```bash +pip install aspose-ocr +``` + +> **小技巧:** 使用虛擬環境(`python -m venv venv`)來隔離相依套件。若同時處理多個專案,可避免版本衝突。 + +安裝完成後,匯入我們需要的模組: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +此處引入 `asposeocr` 以負責主要的 OCR 工作,並使用內建的 `json` 函式庫以便之後的序列化。 + +## 步驟 2 – 建立 OCR 引擎並設定語言 + +OCR 引擎是實際讀取像素的核心元件。對於大多數英文發票,你會需要英文語言套件: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **為什麼這很重要:** 指定語言會縮小字元集合,從而提升準確度並加快處理速度。如果需要處理多語言發票,只要將 `ocr.Language.ENGLISH` 替換為相應的列舉即可。 + +## 步驟 3 – 載入圖像以進行 OCR + +現在我們要 **載入圖像以進行 OCR**。`Image.load` 方法接受檔案路徑,且支援 PNG、JPEG、BMP 等格式。 + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **特殊情況:** 如果 PNG 檔案異常大(超過 5 MB),建議先調整大小以降低記憶體使用。Pillow 可在一行程式碼內完成: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +## 步驟 4 – 在 PNG 上執行 OCR 並取得結果 + +引擎已就緒且圖像已載入,現在可以 **在 PNG 上執行 OCR** 並取得結構化結果。 + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +`ocr_result` 物件包含一系列 `OcrRegion` 項目,每個項目都有辨識出的文字與信心分數(0‑100)。這就是取得 **從發票中提取文字** 所需的細節資料的地方。 + +## 步驟 5 – 將結果轉換為 JSON 並美化輸出 + +大多數下游系統都偏好 JSON,因此我們將 OCR 輸出轉換為格式化的字串。 + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### 範例輸出 + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +請注意每一行都包含信心指標——若你打算自動 **從發票中提取文字**,可用於過濾低信心的條目。 + +## 步驟 6 – 將 OCR 資料儲存為 CSV(每行文字 + 信心) + +CSV 非常適合用於試算表或快速資料匯入。Aspose 提供一行程式碼即可將所有資料匯出為 CSV 檔案。 + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +產生的 CSV 會是這樣的: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +現在你可以在 Excel、Google Sheets 開啟,或將其匯入資料庫。 + +## 加分項 – 處理低信心文字與多頁 PDF + +### 依信心過濾 + +如果只想保留高信心的行,請在寫出之前先過濾 JSON: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### 多頁文件 + +Aspose.OCR 會自動為多頁 PNG 或 PDF 的每一頁建立新的 `page` 條目。遍歷 `ocr_data["pages"]` 即可處理全部頁面——不需要額外程式碼。 + +## 完整範例程式 + +以下是你可以直接複製、貼上並執行的 **完整腳本**。將 `YOUR_DIRECTORY` 替換為存放 PNG 檔案的資料夾路徑。 + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +使用 `python run_ocr.py` 執行腳本,你將在主控台看到 JSON 輸出、磁碟上的 CSV 檔案,以及高信心條目的過濾清單。 + +## 常見問題 + +**Q: 我可以用這個來從掃描的收據而非發票中提取文字嗎?** +A: 當然可以。工作流程相同,只要把 `image_path` 指向你的收據 PNG。如果收據使用其他語言,請相應調整 `engine.language`。 + +**Q: 如果我的 PNG 包含旋轉的文字該怎麼辦?** +A: Aspose.OCR 會自動偵測方向,但對於較頑固的情況,你可以在送入引擎前使用 Pillow 手動旋轉圖像。 + +**Q: 使用 Aspose.OCR 是否需要付費授權?** +A: 此函式庫提供帶有浮水印的免費評估模式。若要在正式環境使用,需購買授權,可從 Aspose 官方網站取得。 + +## 結論 + +我們已完整說明如何使用 Python **在 PNG 上執行 OCR**:安裝 SDK、載入圖像、提取結構化文字,並將結果儲存為 JSON 或 CSV。無論你是想為簡單腳本 **從圖像中提取文字**,或為自動化會計流程 **從發票中提取文字**,上述步驟都提供了穩固、可投入生產的基礎。 + +接下來,你可以探索: + +- 將 CSV 輸出整合至資料庫,以批次儲存發票。 +- 使用正規表達式進行後處理,抽取日期、金額或稅號。 +- 若發票含有 QR Code,可使用 `ocr_engine.recognize_barcode` 功能。 + +試試看,調整信心門檻,讓你的文件處理流程變得輕鬆自如。還有其他問題或想分享有趣的使用案例嗎?在下方留言吧——祝 OCR 順利! + +![在 PNG 上執行 OCR 範例](run-ocr-on-png.png "在 PNG 上執行 OCR – OCR 結果的視覺範例") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/hungarian/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..64e6d11a --- /dev/null +++ b/ocr/hungarian/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,193 @@ +--- +category: general +date: 2026-01-12 +description: Szöveg kinyerése képből Pythonban az Aspose OCR segítségével. Tanulja + meg, hogyan konvertálhat beolvasott képet szöveggé aszinkron kóddal néhány perc + alatt. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: hu +og_description: Szöveg kinyerése képből Pythonban az Aspose OCR-rel. Ez az útmutató + bemutatja, hogyan lehet szkennelt képet szöveggé konvertálni aszinkron függvényekkel. +og_title: Szöveg kinyerése képből Pythonban – Aszinkron OCR útmutató +tags: +- python +- ocr +- async +title: Képből szöveg kinyerése Pythonban – Aszinkron OCR útmutató +url: /hu/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Képről szöveg kinyerése Python – Aszinkron OCR útmutató + +Valaha is szükséged volt **extract text from image Python** szkriptekre, de elakadtál az OCR részén? Nem vagy egyedül. Sok fejlesztő akad el, amikor egy beolvasott dokumentumot szeretne kereshető szöveggé alakítani anélkül, hogy a haját húzná. + +Ebben az útmutatóban végigvezetünk egy teljes, futtatható példán, amely megmutatja, hogyan **convert scanned image to text** a Aspose OCR aszinkron API-jával. A végére egyetlen függvényt kapsz, amelyet bármelyik projektbe beilleszthetsz, és megérted, miért tud az aszinkron feldolgozás az alkalmazásodat reagálóképessé tenni még akkor is, ha az OCR néhány másodpercet vesz igénybe. + +## Előfeltételek + +- Python 3.8+ telepítve (az aszinkron funkciókhoz legalább 3.7 szükséges) +- `asposeocr` csomag (`pip install asposeocr`) – ez a könyvtár, amit használni fogunk +- Egy beolvasott képfájl (TIFF, PNG, JPEG – bármilyen formátum, amit az Aspose OCR támogat) +- `asyncio` alapvető ismerete (ha nincs, ne aggódj – minden lépést elmagyarázunk) + +Nem szükséges további rendszerfüggőség; az Aspose OCR mindent tartalmaz, amire szükséged van. + +![Diagram az aszinkron OCR folyamatról – extract text from image python](https://example.com/async-ocr-diagram.png "async OCR flow – extract text from image python") + +## 1. lépés – Aszinkron segédfüggvény beállítása + +A megoldás szíve egy `async` függvény, amely betölti a képet, elindítja az OCR-t, majd megvárja az eredményt. Az aszinkron függvény megtartása azt jelenti, hogy más korutinokat (pl. további fájlok letöltését) is futtathatsz, míg az OCR motor a háttérben dolgozik. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Miért fontos ez:** A `Future` visszaadásával az Aspose OCR a nehéz munkát egy külön szálkészleten végzi. Az `await` felszabadítja az eseményciklust, így az alkalmazásod gyors marad. Ha valaha sok képet kell egyszerre feldolgozni, egyszerűen ütemezhetsz több `async_ocr` hívást az `asyncio.gather` segítségével. + +## 2. lépés – Korutin futtatása az eseményciklusban + +Most, hogy megvan a segédfüggvény, végre kell hajtanunk. Az `asyncio.run` létrehoz egy új eseményciklust, futtatja a korutint, és tisztán leállít mindent. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Pro tipp:** Ha ezt egy nagyobb aszinkron alkalmazásba (pl. FastAPI) integrálod, akkor közvetlenül `await async_ocr(...)`-t hívnál az `asyncio.run` helyett. + +## 3. lépés – Kimenet ellenőrzése + +A szkript futtatásakor valami ilyesmit kell látnod: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Ha a kimenet összezavartnak tűnik, ellenőrizd a következőket: + +1. A kép tiszta és nem túl erősen tömörített. +2. A megfelelő nyelvet választottad (`ocr.Language.ENGLISH` a legtöbb latin alapú szöveghez működik). +3. A fájl útvonala helyes, és a fájl olvasható. + +## 4. lépés – Szélsőséges esetek kezelése + +### Több nyelv + +Ha **convert scanned image to text**-et kell egy angolon kívüli nyelven, egyszerűen változtasd meg a nyelv tulajdonságát: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Nagy fájlok + +Nagyon nagy TIFF-ek esetén fontold meg a méretezést vagy konvertálást alacsonyabb felbontású PNG-re, mielőtt az OCR-nek adnád. Ez csökkenti a memória terhelését és felgyorsítja a feldolgozást. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Hibakezelés + +Tedd az OCR hívást egy `try/except` blokkba, hogy elkapd a hálózati vagy licencelési hibákat. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## 5. lépés – Skálázás: Sok kép egyidejű feldolgozása + +Mivel a függvény aszinkron, egyszerre tucatnyi OCR feladatot indíthatsz el: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Ez a minta a CPU-t foglalkoztatja, miközben az OCR motor párhuzamosan dolgozik, drámaian csökkentve a teljes feldolgozási időt. + +## Összegzés + +Most már egy stabil, **extract text from image Python** megoldásod van, amely az Aspose OCR aszinkron API-ját használja. A teljes példa megmutatja, hogyan: + +1. Inicializáld az OCR motort és válaszd ki a nyelvet. +2. Indítsd el az OCR-t aszinkron módon a `process_async` segítségével. +3. Várd meg az eredményt az eseményciklus blokkolása nélkül. +4. Kezeld a gyakori buktatókat, mint a nagy fájlok és a többnyelvű támogatás. + +Nyugodtan adaptáld a kódot a saját folyamataidhoz – legyen szó dokumentumkezelő rendszerről, kereső indexelőről vagy egyszerű parancssori segédeszközről. A következő lépések lehetnek: + +- A kinyert szöveg tárolása adatbázisban a teljes szöveges kereséshez. +- PDF generálás hozzáadása (pl. a `PyPDF2` használatával) kereshető PDF-ek létrehozásához. +- Integráció egy webes keretrendszerrel, például FastAPI-val, egy RESTful OCR szolgáltatás létrehozásához. + +Boldog kódolást, és élvezd, ahogy a beolvasott képeket kereshető, szerkeszthető szöveggé alakítod! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/hungarian/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..67eb4e13 --- /dev/null +++ b/ocr/hungarian/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,215 @@ +--- +category: general +date: 2026-01-12 +description: Hogyan végezzünk gyors kötegelt OCR-t képeken, és nyerjünk ki szöveget + JPEG fájlokból Pythonban. Tanulja meg lépésről‑lépésre a kötegelt feldolgozást egy + teljesen futtatható példával. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: hu +og_description: Hogyan végezzünk kötegelt OCR-t képeken, és nyerjünk ki szöveget JPEG + fájlokból. Ez az útmutató végigvezet egy teljes, azonnal futtatható Python megoldáson. +og_title: Hogyan végezzünk kötegelt OCR-t képeken – Gyors Python bemutató +tags: +- OCR +- Python +- image processing +title: Képek tömeges OCR-olása – Gyors útmutató a JPEG-fájlok szövegének kinyeréséhez +url: /hu/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan végezzünk kötegelt OCR-t képeken – Gyors útmutató a JPEG fájlokból szöveg kinyeréséhez + +Gondolkodtál már azon, **hogyan végezzünk kötegelt OCR-t képeken** anélkül, hogy minden fájlhoz külön szkriptet írnál? Nem vagy egyedül. Sok projektben – számlák beolvasása, archívum digitalizálása vagy tartalommoderálás – egyszerre tucatnyi vagy akár több száz JPEG fájlból kell szöveget kinyerni. A jó hír, hogy mindezt néhány Python sorral megteheted, és kapsz egy újrahasználható motort, amelyet bármely folyamatba beilleszthetsz. + +Ebben az útmutatóban pontosan megmutatjuk, **hogyan végezzünk kötegelt OCR-t képeken**, majd végigvezetünk a JPEG fájlokból történő szövegkivonáson, a szélsőséges esetek kezelésén és a kimenet ellenőrzésén. A végére egy önálló szkriptet kapsz, amelyet bármely képmappán futtathatsz, és megérted, miért fontos a kötegelt feldolgozás a teljesítmény és a karbantarthatóság szempontjából. + +## Amit megtanulsz + +- Egy egyszerű OCR motor beállítása és angol nyelvre konfigurálása. +- Az összes JPEG fájl összegyűjtése egy könyvtárból a `pathlib` segítségével. +- Az OCR motor egyszeri meghívása a teljes köteg feldolgozásához. +- A felismert szöveg előnézetének megjelenítése minden egyes képhez. +- Tippek nagy kötegek, különböző nyelvek és gyakori buktatók kezeléséhez. + +**Előfeltételek**: Python 3.8+, az `ocr` könyvtár (vagy bármely kompatibilis wrapper), valamint egy JPEG képeket tartalmazó mappa, amelyet elemezni szeretnél. Külső szolgáltatások nem szükségesek – minden helyben fut. + +--- + +## 1. lépés: Az OCR motor inicializálása – A „Hogyan végezzünk kötegelt OCR-t képeken” magja + +Mielőtt **kötegelt OCR-t képeken** tudnánk végezni, szükségünk van egy motorra, amely tudja olvasni a szöveget. A legtöbb könyvtárban létrehozunk egy motorobjektumot, opcionálisan beállítjuk a nyelvet, majd minden fájlhoz újra felhasználjuk. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Miért fontos*: A motor egyszeri inicializálása elkerüli a nyelvi modellek többszöri betöltésének terheit. Emellett egyetlen helyen módosíthatod a beállításokat (pl. DPI, karakterfehérlista), amelyek a teljes kötegben érvényesek lesznek. + +> **Pro tipp**: Ha többnyelvű dokumentumokat szeretnél feldolgozni, cseréld a `ocr.Language.ENGLISH` értéket `ocr.Language.MULTI`‑ra, vagy tölts be több nyelvi csomagot a köteg indítása előtt. + +--- + +## 2. lépés: Az összes JPEG fájl összegyűjtése – A „Szöveg kinyerése JPEG fájlokból” rész + +Most, hogy a motor készen áll, meg kell mondanunk, mely képeken dolgozzon. A `pathlib` használata platform‑függetlenné és tömöré teszi a kódot. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Miért fontos*: A fájllista előzetes összegyűjtésével egyetlen hívással átadhatjuk a teljes gyűjteményt az OCR motorának – pont ez a **hogyan végezzünk kötegelt OCR-t képeken** lényege. Ha almappákat is tartalmaz a struktúra, a `glob("**/*.jpg")` kifejezést módosíthatod rekurzív keresésre. + +> **Szélsőséges eset**: Ha a képek vegyes kiterjesztésekkel (`.jpeg`, `.JPG`) rendelkeznek, bővítsd a glob mintát: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## 3. lépés: A teljes köteg feldolgozása egy hívással – A kötegelt OCR valódi ereje + +A legtöbb modern OCR könyvtár biztosít egy `process_batch` (vagy hasonló nevű) metódust, amely egy iterálható fájlútvonal-listát fogad. Ez a **hogyan végezzünk kötegelt OCR-t képeken** hatékony megvalósításának szíve. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Miért fontos*: Egyetlen köteg hívás csökkenti a Python‑‑C átmenetek számát, a nyelvi modellt memóriában tartja, és gyakran lehetővé teszi a belső párhuzamosítást. Az eredmény egy objektumlista – mindegyik tartalmazza a felismert szöveget és a megbízhatósági pontszámokat. + +> **Teljesítményjegyzet**: Nagyon nagy kötegek (ezrek képek) esetén érdemes a listát kisebb darabokra (pl. 200 fájl) bontani, hogy elkerüld a túlzott memóriahasználatot. + +--- + +## 4. lépés: A kinyert szöveg előnézetének megjelenítése – Gyors ellenőrzés + +Miután a köteg befejeződött, hasznos megnézni az egyes eredmények első néhány karakterét. Ez segít megerősíteni, hogy az OCR valóban szöveget nyert ki a JPEG fájlokból. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Miért fontos*: Egy rövid előnézet lehetővé teszi, hogy azonnal észrevegyél nyilvánvaló hibákat (pl. üres kimenet, torz karakterek) anélkül, hogy minden fájlt megnyitnál. Ha rendszeres problémákat látsz, módosíthatod a motor beállításait és újra futtathatod a köteget. + +> **Gyakori buktató**: Elfelejteni a sortörés karakterek eltávolítását rendezetlen előnézetet eredményezhet. A `replace("\n", " ")` sor ezt megtisztítja. + +--- + +## Teljes működő példa – Az összes lépés egyben + +Az alábbiakban a teljes szkriptet találod, amelyet egyszerűen másolj‑be, állítsd be a könyvtár útvonalát, és futtasd. Bemutatja a **hogyan végezzünk kötegelt OCR-t képeken** teljes munkafolyamatát az elejétől a végéig. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Várt kimenet** (példa): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Ha az előnézet értelmes szöveget mutat, sikeresen **kinyerted a szöveget a JPEG fájlokból** egy kötegelt megközelítéssel. + +--- + +## Nagy kötegek és haladó forgatókönyvek kezelése + +### Nagy munkaterhek darabolása +Ezrek képek esetén a memória szűk keresztmetszet lehet. Oszd a listát kisebb darabokra: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Nyelvek váltása +Ha a dokumentumaid francia vagy spanyol nyelvűek, a köteg előtt változtasd meg a nyelvet: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Eredmények mentése lemezre +A kiírás helyett érdemes lehet minden OCR eredményt egy `.txt` fájlba írni: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Összegzés + +Most már tudod, **hogyan végezzünk kötegelt OCR-t képeken** és megbízhatóan **kinyerheted a szöveget a JPEG fájlokból** egy kompakt Python szkript segítségével. A motor egyszeri inicializálásával, az összes JPEG útvonal összegyűjtésével, egyetlen kötegben történő feldolgozásával és a kimenet előnézetével egyszerre érhetsz el sebességet és egyszerűséget. Innen tovább bővítheted a munkafolyamatot – hozzáadhatsz többnyelvű támogatást, tárolhatod az eredményeket adatbázisban, vagy integrálhatod a szkriptet egy nagyobb dokumentum‑feldolgozó csővezetékbe. + +Készen állsz a következő lépésre? Próbáld ki a `ocr` könyvtár helyett a Tesseract‑ot, kísérletezz különböző képelőfeldolgozási technikákkal (küszöbölés, átméretezés), vagy add a kinyert szöveget egy természetes nyelvfeldolgozó modellnek automatikus kategorizálás céljából. A lehetőségek végtelenek, és most már egy szilárd alapod van a továbblépéshez. + +Boldog kódolást, és legyenek a OCR kötegeid mindig hibamentesek! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/hungarian/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..62e3343a --- /dev/null +++ b/ocr/hungarian/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,147 @@ +--- +category: general +date: 2026-01-12 +description: Hogyan lehet nyelvet felismerni képeken az Aspose OCR használatával – + tanulja meg, hogyan vonjon ki szöveget a képből, kezelje a vegyes nyelvű OCR-t, + és használja az OCR-t Pythonban. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: hu +og_description: Hogyan lehet nyelvet felismerni képeken az Aspose OCR segítségével + – lépésről lépésre útmutató a szöveg kinyeréséhez a képből és a vegyes nyelvű OCR + kezeléséhez. +og_title: Hogyan lehet nyelvet felismerni OCR-rel vegyes szöveg esetén +tags: +- OCR +- Python +- Aspose +title: Hogyan lehet nyelvet felismerni OCR-rel vegyes szöveg esetén +url: /hu/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan lehet nyelvet felismerni OCR-rel vegyes szöveg esetén + +A nyelv felismerése képeken az Aspose OCR segítségével gyakori kihívás a többnyelvű dokumentumok kezelésekor. Kíváncsi vagy **hogyan lehet szöveget kinyerni egy képről**, amely ugyanazon az oldalon angol és francia szöveget is tartalmaz? Ebben az útmutatóban egy teljes, futtatható példán keresztül mutatjuk be, hogyan használhatod az OCR-t a nyelv azonosítására, a szöveg kinyerésére, és a vegyes nyelvű helyzetek kezelésére gond nélkül. + +Mindent lefedünk, amire szükséged lehet: az Aspose OCR motor beállítása, a figyelembe veendő nyelvek megadása, egy mintaszámla kép betöltése, az OCR folyamat futtatása, és végül a felismert nyelv kiírása a kinyert szöveggel együtt. A végére képes leszel megválaszolni a kérdést, hogy **hogyan lehet OCR-t használni vegyes nyelvű OCR-hez** a saját projektjeidben, legyen szó számlázási folyamatról, nyugtáskannerről vagy dokumentumarchiváló eszközről. + +> **Előfeltételek** – Python 3.8+ telepítve kell legyen, alapvető ismeretekkel a pip‑ről, valamint egy Aspose OCR licenc (az ingyenes próba megfelelő a bemutatóhoz). Más külső könyvtárra nincs szükség. + +--- + +## Hogyan lehet nyelvet felismerni az Aspose OCR-rel + +Az első lépés egy OCR motor példány létrehozása, és annak megmondása, hogy mely nyelveket keresse. Az Aspose OCR egy bit‑maszkot használ a nyelvek kombinálásához, ami egyszerűvé teszi az angol, francia, spanyol vagy bármely kívánt kombináció támogatását. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Miért fontos:** A motor inicializálása az alap. Enélkül nem hívhatsz meg OCR metódusokat, és a motor tartalmazza az összes konfigurációt, amely meghatározza, hogy később **hogyan lehet nyelvet felismerni**. + +--- + +## Szöveg kinyerése képről OCR-rel + +Most meg kell mondanunk a motornak, hogy mely nyelvek lehetségesek. A `ENGLISH | FRENCH` bit‑maszk beállításával engedélyezzük, hogy a motor automatikusan a legjobb egyezést válassza ki a kép minden régiójára. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Miért fontos:** Az `auto_detect_language` engedélyezése a **hogyan lehet nyelvet felismerni** vegyes nyelvű dokumentumban kulcsa. A motor beolvassa a szöveget, minden nyelvet pontoz, és a legmagasabb bizalommal rendelkező nyelvet adja vissza. Ha kihagyod ezt a lépést, saját magadnak kell kitalálnod a nyelvet, ami aláássa a vegyes nyelvű OCR célját. + +--- + +## Vegyes nyelvű OCR beállítások konfigurálása + +Mielőtt képet adunk a motorhoz, be kell töltenünk azt. Az Aspose OCR a saját `Image` osztályával dolgozik, amely elrejti a háttérben lévő fájlformátumot. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Tipp:** A legjobb eredmény érdekében tartsd a kép felbontását körülbelül 300 dpi‑n. Alacsonyabb felbontás esetén a nyelvfelismerés kihagyhat finom karaktereket, különösen a francia ékezetes betűket. + +--- + +## OCR folyamat futtatása és az eredmények lekérése + +Miután a motor be van állítva és a kép betöltődött, végre futtathatjuk az OCR folyamatot. A `process` metódus egy `OcrResult` objektumot ad vissza, amely tartalmazza a felismert nyelvkódot és a teljes kinyert szöveget. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Várt kimenet** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Ha a kép francia részeket tartalmaz, a felismert nyelv `FRENCH` lesz, és a megfelelő francia szöveg kerül kiírásra. + +--- + +## Kép példa (Alt szöveg SEO‑hoz) + +![how to detect language in mixed language OCR image](mixed_lang_invoice.png) + +*Az előző képernyőkép egy mintaszámlát mutat, amely angol és francia szöveget egyaránt tartalmaz, bemutatva, hogyan tudja az OCR motor **nyelvet felismerni** és egy lépésben kinyerni a tartalmat.* + +--- + +## Gyakori hibák és profi tippek + +| Probléma | Miért fordul elő | Hogyan javítsuk / mérsékeljük | +|----------|------------------|------------------------------| +| **Elmosódott vagy alacsony felbontású beolvasás** | A motor nem tudja megkülönböztetni a karaktereket, ami hibás nyelvfelismeréshez vezet. | Olvass be ≥300 dpi‑n, alkalmazz képélesítést OCR előtt. | +| **Hiányzó nyelv a bit‑maszkban** | Ha elfelejtesz egy nyelvet megadni, a motor az első egyezést használja, gyakran pontatlan eredményt adva. | Mindig sorold fel az összes várt nyelvet; több nyelvet a `|` operátorral kombinálhatsz. | +| **Vegyes írásrendszerek (pl. latin + cirill)** | Az Aspose OCR külön nyelvi csomagokat igényelhet. | Telepíts további nyelvi csomagokat, és add hozzá őket a maszkhoz. | +| **Nagy fájlok memóriacsúcsot okoznak** | Egy hatalmas kép betöltése memóriát túlterhelhet, és a szkript összeomlik. | Használd az `Image.resize`‑et a méretezéshez DPI megtartásával, vagy dolgozz a képen csempékben. | + +**Pro tipp:** A nyers szöveg megszerzése után futtass egy gyors utófeldolgozási lépést a szóközök és sortörések normalizálására. Ez megkönnyíti a további feldolgozást (pl. számlaszámok kinyerése). + +--- + +## Összegzés: Mit tanultál + +Most már tudod, **hogyan lehet nyelvet felismerni** vegyes nyelvű képen az Aspose OCR-rel, és láttál egy teljes, vég‑től‑végig példát, amely bemutatja, **hogyan lehet szöveget kinyerni képről**. A nyelvi bit‑maszk konfigurálásával, az automatikus felismerés engedélyezésével és az eredményobjektum kezelésével megbízhatóan feldolgozhatsz számlákat, nyugtákat vagy bármilyen dokumentumot, amely angolt és franciát (vagy más nyelveket) kever. + +### Következő lépések + +- Próbáld ki, hogyan lehet **szöveget kinyerni PDF‑ekből** úgy, hogy először minden oldalt képpé konvertálsz. +- Kísérletezz a többi másodlagos kulcsszóval: fedezd fel a teljes **hogyan lehet OCR-t használni** API felületet, például OCR zónák beállítását a gyorsabb feldolgozáshoz. +- Merülj el összetettebb **vegyes nyelvű OCR** esetekben, például olyan dokumentumokban, amelyek három vagy több nyelvet váltogatnak. + +Nyugodtan módosítsd a kódot, teszteld saját képeiden, és hagyd, hogy a motor végezze a nehéz munkát. Ha elakadsz, írj egy megjegyzést lent – jó kódolást! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/hungarian/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..2aad2846 --- /dev/null +++ b/ocr/hungarian/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: Tanulja meg, hogyan OCR-ozzon PDF-et Pythonban, és gyorsan kereshetővé + tegye a PDF-et. Konvertálja a beolvasott PDF-et, nyerje ki a szöveget a PDF-ből, + és OCR-ozza a beolvasott PDF-et Pythonban az Aspose OCR segítségével. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: hu +og_description: Hogyan OCR-elj PDF-et Pythonban? Ez a lépésről‑lépésre útmutató megmutatja, + hogyan konvertálhatod a beolvasott PDF-fájlokat kereshető PDF-ekké, és hogyan nyerheted + ki a szöveget az Aspose OCR segítségével. +og_title: Hogyan OCR-elj PDF-et és tedd kereshetővé – Python útmutató +tags: +- OCR +- Python +- PDF processing +title: Hogyan OCR-eljünk PDF-et és tegyük kereshetővé – Python útmutató +url: /hu/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan OCR-elj PDF-et és tegyük kereshetővé – Python útmutató + +Valaha is elgondolkodtál **hogyan OCR-elj PDF** fájlokat anélkül, hogy hatalmas összeget költenél kereskedelmi szoftverekre? Nem vagy egyedül. Sok fejlesztő akad el, amikor egy beolvasott szerződést, számlát vagy bármilyen képalapú PDF-et kereshető dokumentummá kell alakítania. A jó hír? Néhány Python sor és az Aspose OCR segítségével átalakíthatod a beolvasott PDF-et, kinyerheted a szöveget, és végül percek alatt kereshetővé teheted a PDF-et. + +Ebben az útmutatóban mindent végigvesszünk: a könyvtár telepítésétől, a nyelv beállításán, a beolvasott PDF feldolgozásán, egészen a kereshető PDF mentéséig, amely tartalmazza az eredeti képet és egy rejtett szövegréteget. A végére egy újrahasználható szkriptet kapsz, amelyet bármely projektbe beilleszthetsz – manuális másolás‑beillesztés nélkül. + +--- + +## Amire szükséged lesz + +- **Python 3.8+** (a kód működik 3.9, 3.10 és újabb verziókon) +- Aktív **Aspose OCR for Python** licenc (egy ingyenes próba is elegendő a kísérletezéshez) +- Egy beolvasott PDF fájl (pl. `scanned_contract.pdf`), amelyet kereshetővé szeretnél tenni +- Alapvető ismeretek a parancssorról és a virtuális környezetekről (opcionális, de ajánlott) + +> **Pro tipp:** Ha még nincs licenced, regisztrálj egy 30‑napos próbaidőszakra az Aspose weboldalán; a próba verzió teljes funkcionalitással rendelkezik fejlesztési célokra. + +--- + +## Hogyan OCR-elj PDF-et az Aspose OCR-rel (Primary Keyword in H2) + +Az első lépés a megfelelő csomag beszerzése. Az Aspose OCR egy tiszta, magas szintű API-t biztosít, amely elrejti az alacsony szintű képfeldolgozási részleteket. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +Miután a csomag telepítve van, elkezdheted írni a szkriptet. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Miért kell beállítani a nyelvet?** +> Az OCR pontossága erősen függ a nyelvi modelltől. Ha kifejezetten megmondod a motornak, hogy angol szöveget vár, csökkented a hamis pozitív találatokat és felgyorsítod a feldolgozást. + +--- + +## 2. lépés: Beolvasott PDF konvertálása kereshető PDF‑é + +Most, hogy a motor készen áll, irányítsd a beolvasott dokumentumra. A `process_pdf` metódus egy `PdfResult` objektumot ad vissza, amely tartalmazza mind az eredeti képadatokat, mind a felismert szöveget. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Ha **beolvasott PDF** fájlokat szeretnél tömegesen konvertálni, egyszerűen iterálj egy könyvtáron, és hívd meg a `process_pdf`‑t minden fájlra. A motor natívan kezeli a többoldalas PDF‑eket. + +--- + +## 3. lépés: Az eredmény mentése kereshető PDF‑ként (Make PDF Searchable) + +A puzzle utolsó darabja a kereshető verzió mentése. Az Aspose OCR ezt egyetlen sorban megoldja: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +Amikor megnyitod a `contract_searchable.pdf`‑et bármely PDF‑olvasóban, látni fogod az eredeti beolvasott képet, de most már **kereshetsz bármely szót**, amelyet az OCR motor felismert. A rejtett szövegréteg szemtől láthatatlan, de teljesen indexelhető. + +--- + +### Teljes szkript – Kész a futtatásra + +Az alábbiakban a teljes, futtatható példát találod. Másold be egy `make_searchable.py` nevű fájlba, és igazítsd a útvonalakat a saját környezetedhez. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Várható kimenet:** +A szkript futtatása egy megerősítő sort ír ki, és létrehozza a `contract_searchable.pdf`‑et. Nyisd meg a fájlt, nyomd meg a `Ctrl + F`‑et, és gépeld be bármelyik szót, amely az eredeti beolvasott képen szerepel – azonnal találatokat kell látnod. + +--- + +## Gyakori kérdések és speciális esetek + +### 1. Mi van, ha a PDF több nyelvet tartalmaz? + +A motorhoz egy nyelvlistát adhatsz meg: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Az Aspose OCR megpróbálja felismertetni a szöveget mindkét nyelven ugyanazon az oldalon. + +### 2. Hogyan kezeljem az alacsony felbontású beolvasásokat? + +Ha a forrásképek 150 dpi alattiak, az OCR pontossága romolhat. Előfeldolgozhatod a PDF‑et egy olyan eszközzel, mint a `pdfimages`, hogy kinyerd az oldalakat, felméretezheted őket a Pillow‑lal, majd a nagyobb felbontású képeket visszajuttathatod a `process_pdf`‑nek. + +### 3. Kinyerhetem a tiszta szöveget anélkül, hogy kereshető PDF‑t hoznék létre? + +Természetesen. A `PdfResult` objektum egy `text` tulajdonságot biztosít: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Ez kielégíti az **extract text pdf** használati esetet, amikor csak a nyers karakterekre van szükséged. + +### 4. Van mód egy mappában lévő PDF‑ek kötegelt feldolgozására? + +Igen – csomagold be az `ocr_to_searchable` függvényt egy egyszerű ciklusba: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Ezzel **convert scanned pdf** fájlokat tömegesen tudsz feldolgozni egyetlen parancs segítségével. + +--- + +## Teljesítmény tippek + +- **Motor újrahasználata**: Új `OcrEngine` példány létrehozása minden fájlhoz plusz terhet jelent. Hozz létre egyet egyszer, és használd többször. +- **Párhuzamos feldolgozás**: Nagy kötegek esetén fontold meg a Python `concurrent.futures.ThreadPoolExecutor`‑t – az Aspose OCR szálbiztos csak olvasási műveleteknél. +- **Memória kezelése**: Ha nagyon nagy PDF‑eket (száz oldal) dolgozol fel, hívd meg a `gc.collect()`‑t minden fájl után a memória felszabadításához. + +--- + +## Összegzés + +Áttekintettük, **hogyan OCR-elj PDF** fájlokat Pythonban, hogyan alakíthatod ezeket a beolvasásokat **kereshető PDF‑vé**, és még megmutattuk, hogyan **extract text PDF** közvetlenül. Az Aspose OCR egy megbízható motor, amely kezeli a többoldalas dokumentumokat, a többnyelvű szöveget és a magas pontosságú felismerést – mindez csak néhány kódsorral. + +Próbáld ki saját szerződéseiden, számláidon vagy archivált kutatási anyagaidon. Miután elsajátítottad az alapokat, kísérletezz a haladó funkciókkal – például egyedi szótárakkal, képelőfeldolgozással vagy a kimenet integrálásával egy teljes szöveges kereső indexbe, mint az Elasticsearch. + +További kérdéseid vannak **ocr scanned pdf python** témában, vagy segítségre van szükséged egy nehéz beolvasás megoldásához? Hagyj egy megjegyzést alul, és boldog kódolást! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="how to ocr pdf example"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/hungarian/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..7da6fc94 --- /dev/null +++ b/ocr/hungarian/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,211 @@ +--- +category: general +date: 2026-01-12 +description: Hogyan végezzünk OCR-t gyorsan és pontosan. Tanulja meg, hogyan futtasson + OCR-t dokumentumon, hogyan nyerjen ki szöveget TIFF-ből, hogyan töltsön be képet + OCR-hez, és hogyan állítsa be az OCR nyelvet Pythonban. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: hu +og_description: Hogyan végezzünk OCR-t Pythonban. Ez az útmutató megmutatja, hogyan + futtassunk OCR-t dokumentumon, hogyan nyerjünk ki szöveget TIFF-ből, hogyan töltsünk + be képet OCR-hez, és hogyan állítsuk be az OCR nyelvét. +og_title: Hogyan végezzünk OCR-t egy TIFF dokumentumon – Teljes útmutató +tags: +- OCR +- Python +- Image Processing +title: Hogyan végezzünk OCR-t egy TIFF dokumentumon – Lépésről lépésre útmutató +url: /hu/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan végezzünk OCR-t egy TIFF dokumentumon – Teljes útmutató + +Valaha is elgondolkodtál már **hogyan végezzünk OCR-t** egy beolvasott TIFF fájlon anélkül, hogy órákat töltenél a megfelelő könyvtár keresésével? Nem vagy egyedül. Sok fejlesztő akad el, amikor szöveget kell kinyerni tiff képekből, különösen, ha a teljesítmény és a nyelvi beállítások fontosak. + +Ebben az oktatóanyagról végigvezetünk minden szükséges lépésen: az OCR csomag telepítésétől, a kép betöltéséig OCR-hez, az OCR nyelv beállításáig, egészen a **run OCR on document** végrehajtásáig és a tiszta szöveg kinyeréséig. A végére egy kész‑futtatható szkriptet kapsz, amelyet bármely projektbe beilleszthetsz. + +> **Pro tip:** Míg a példa egy általános `ocr` modult használ, ugyanazok a koncepciók alkalmazhatók a Tesseract, EasyOCR vagy bármely modern OCR motorra, amely Python API-t biztosít. + +--- + +## Amire szükséged lesz + +- Python 3.8+ (bármely friss verzió működik) +- Egy OCR könyvtár, amely biztosítja az `OcrEngine` osztályt (a példa egy fiktív `ocr` csomagot használ; cseréld le a sajátodra) +- Egy többoldalas TIFF fájl, amelyet feldolgozni szeretnél (ezt `big_document.tif`‑nek hívjuk) +- Egy gép, amely legalább 4 CPU maggal rendelkezik, ha szál számot szeretnél beállítani + +Nincs külső szolgáltatás, nincs felhő kulcs – csak helyi kód, amely másodpercek alatt fut. + +![hogyan végezzünk OCR-t példa](/images/ocr-example.png "hogyan végezzünk OCR-t egy TIFF dokumentumon") + +*Kép alt szöveg: hogyan végezzünk OCR-t egy TIFF dokumentumon – a kinyert szöveg előnézete.* + +## 1. lépés: Az OCR könyvtár telepítése és importálása + +Először is: szerezd be a könyvtárat a gépedre. A legtöbb OCR csomag a PyPI-n érhető, így egy egyszerű `pip install` megoldja a feladatot. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Most importáld a szükséges osztályokat. Ha Tesseract‑ot használsz, az import sor más lesz, de a kód többi része változatlan marad. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Miért fontos ez:* A megfelelő szimbólumok korai importálása megakadályozza a névtérütközéseket később, és olvashatóbbá teszi a szkriptet. + +## 2. lépés: Az OCR motor létrehozása és konfigurálása (OCR nyelv beállítása) + +A motor konfigurálása során **set OCR language** a pontos felismeréshez. Az angol az alapértelmezett, de egyetlen sorral átválthatsz francia, német vagy akár többnyelvű módra. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Miért 4 szál?** A legtöbb modern laptop legalább négy maggal rendelkezik, és a szálak számának korlátozása megakadályozza, hogy az OCR folyamat az egész gépet leterhelje – különösen hasznos, ha a szkript megosztott szerveren fut. + +Ha más nyelvre van szükséged, egyszerűen cseréld le a `ocr.Language.ENGLISH`‑t `ocr.Language.FRENCH`, `ocr.Language.SPANISH` stb. értékre. + +## 3. lépés: Kép betöltése OCR-hez (Load Image for OCR) + +Most **load image for OCR**. A `Image.load` metódus beolvassa a TIFF fájlt a memóriába, automatikusan kezelve a többoldalas dokumentumokat. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Külön eset:* Ha a fájl hatalmas, elfogyhat a RAM. Ebben az esetben fontold meg, hogy egy oldalt töltesz be egyszerre a `Image.load_page(page_number)`‑vel (ha a könyvtár támogatja). + +## 4. lépés: OCR futtatása a dokumentumon + +A motor készen áll és a kép betöltve, itt az ideje a **run OCR on document** végrehajtásának. A `process` metódus elvégzi a nehéz munkát és egy eredményobjektumot ad vissza. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +A háttérben a motor a képet szövegrészekre bontja, futtatja a felismerő modellt, és összefűzi az eredményeket. A hívás blokkoló, vagyis a szkript addig vár, amíg a teljes TIFF feldolgozásra kerül – tökéletes kötegelt feladatokhoz. + +## 5. lépés: Szöveg kinyerése a TIFF‑ből és a kimenet ellenőrzése + +Végül **extract text from tiff** a `text` attribútum elérésével a eredményből. Nyomtassuk ki az első 200 karaktert gyors ellenőrzésként. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Várható kimenet (példa):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Ha a teljes szövegre van szükséged, egyszerűen használd az `ocr_result.text`‑et. A további feldolgozáshoz érdemes lehet `.txt` fájlba írni: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +## Teljes működő példa + +Összegezve, itt egy kész‑futtatható szkript. Cseréld le a helyőrző csomagnevet arra, amelyet valójában telepítettél. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Futtasd a szkriptet a következővel: + +```bash +python ocr_tiff_example.py +``` + +A konzolon egy előnézetet kell látnod, valamint egy `extracted_text.txt` nevű fájlt, amely a teljes átiratot tartalmazza. + +## Gyakori kérdések és külön esetek + +- **Mi van, ha a TIFF több oldalt tartalmaz?** + A legtöbb OCR motor belsőleg minden oldalt külön képként kezel. Az `ocr_result.text` új sort tartalmaz az oldalak között. Ha oldalankénti kezelést igényelsz, iterálj a `Image.load_page(page_number)`‑vel. + +- **Feldolgozhatok PNG‑t vagy JPEG‑t TIFF helyett?** + Természetesen. A `Image.load` metódus általában bármely, a Pillow vagy az alaprendszer által támogatott formátumot elfogad. Csak változtasd meg a fájl kiterjesztését. + +- **A szövegem összezavarodott – változtassak nyelvet?** + Igen. A `set OCR language` lépés kulcsfontosságú a nem angol dokumentumoknál. Győződj meg róla, hogy a nyelvi csomag telepítve van (pl. `tesseract‑lang‑fra` a franciához). + +- **Elfogy a memória?** + Csökkentsd a `set_memory_limit` értéket vagy dolgozd fel az oldalakat egyesével. Néhány motor lehetővé teszi a kép felbontásának csökkentését a felismerés előtt. + +## Összegzés + +Ezzel elkészült egy tömör, teljesen működő útmutató a **how to perform OCR** egy TIFF fájlra Python használatával. Kitértük a könyvtár telepítését, a motor konfigurálását (beleértve a **set OCR language**‑t), a **load image for OCR**‑t, a **run OCR on document**‑t, és végül a **extract text from tiff**‑et. + +Nyugodtan kísérletezz: állítsd be a szálak számát, válts nyelvet, vagy irányítsd az OCR kimenetet egy természetes nyelvi feldolgozási csővezetékbe. A lehetőségek határtalanok, ha már elsajátítottad az alapokat. + +Van még kérdésed? Írj egy megjegyzést alább, és jó kódolást! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/hungarian/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..ed61c8b8 --- /dev/null +++ b/ocr/hungarian/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,181 @@ +--- +category: general +date: 2026-01-12 +description: Hogyan állítsuk be a nyelvet az Aspose OCR Pythonban, és szöveget nyerjünk + ki képből egy egyéni szótár használatával. Lépésről lépésre útmutató fejlesztőknek. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: hu +og_description: Hogyan állítsuk be a nyelvet az Aspose OCR Pythonban, és szöveget + nyerjünk ki egy képből egy egyedi szótárral. Ismerje meg a teljes munkafolyamatot + percek alatt. +og_title: Hogyan állítsuk be a nyelvet az Aspose OCR Pythonban – Teljes útmutató +tags: +- OCR +- Python +- Aspose +- Image Processing +title: Hogyan állítsuk be a nyelvet az Aspose OCR Pythonban – Teljes útmutató +url: /hu/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# hogyan állítsuk be a nyelvet az Aspose OCR Pythonban – Teljes útmutató + +Valaha is elgondolkodtál **hogyan állítsuk be a nyelvet**, amikor az Aspose OCR‑t használod Pythonban? Nem vagy egyedül – sok fejlesztő találkozik ezzel a problémával, amikor az alapértelmezett angol modell nem ismeri fel a termékkódokat, sorozatszámokat vagy többnyelvű szövegeket. A jó hír, hogy a megoldás egyszerű és hatékony is egyben. Ebben az útmutatóban végigvezetünk a nyelv konfigurálásán, egy egyedi szótár hozzáadásán, a kép szövegének kinyerésén, és végül a kép feldolgozásán a legjobb OCR‑eredmények elérése érdekében. + +Mindent lefedünk, amit tudnod kell: a könyvtár telepítésétől a teljes példáig, amely kiírja a kinyert szöveget. A végére magabiztosan **kivonhatod a szöveget képfájlokból**, még akkor is, ha a tartalom szokatlan kódokat vagy vegyes nyelveket tartalmaz. + +## Előfeltételek + +Mielőtt belevágnánk, győződj meg róla, hogy rendelkezel a következőkkel: + +* Python 3.8+ telepítve (a kód f‑stringeket használ, ezért a régebbi verziók nem működnek). +* Aktív Aspose OCR for Python licenc vagy egy ingyenes próbaverzió kulcs. +* Az `asposeocr` csomag telepítve a `pip install asposeocr` paranccsal. +* Egy mintakép (`product_label.png`), amely tartalmazza a beolvasni kívánt szöveget. + +Ha már megvannak ezek, nagyszerű – lépjünk tovább. Ha nem, szerezd be az ingyenes próbaverziót az Aspose weboldaláról, és futtasd a telepítési parancsot; mindössze egy percet vesz igénybe. + +## 1. lépés: Az Aspose OCR modul importálása + +Az első dolog, amit tenned kell, hogy behozd az OCR osztályokat a szkriptedbe. Ez lesz a **hogyan állítsuk be a nyelvet** alapja a későbbiekben. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Pro tipp:** Tartsd az importokat a fájl tetején. Így a szkript könnyebben átlátható, különösen, ha később visszatérsz hozzá. + +## 2. lépés: Hogyan állítsuk be a nyelvet + +Alapértelmezés szerint az Aspose OCR az angolt feltételezi. Ha a képed francia, német vagy bármely más nyelvet tartalmaz, meg kell mondanod a motornak, melyik nyelvet használja. Itt jön a kulcsszó szerepe. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Miért fontos ez? Az OCR motorok nyelvspecifikus karaktermodelleken alapulnak. A megfelelő nyelv megadása drámai módon javítja a pontosságot – különösen az ékezetes karakterek vagy nyelvspecifikus ligatúrák esetén. + +> **Megjegyzés:** Ha egyszerre több nyelvet szeretnél támogatni, átadhatsz egy listát, például `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## 3. lépés: Hogyan adjunk hozzá szótárat (felhasználó‑definiált szavak) + +Néha az OCR motor félreolvassa a termékkódokat, mint például “AB‑1234”. A bizalom növelhető egy egyedi szótár betáplálásával. Ez közvetlenül megválaszolja a **hogyan adjunk hozzá szótárat** kérdést az Aspose OCR‑ben. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +A motor ezeket a szavakat “ismertként” kezeli, és előnyben részesíti őket a hasonlóan kinéző karakterekkel szemben. Különösen hasznos SKU számok, sorozatkódok vagy márkanevek esetén, amelyek nem részei egy természetes nyelvnek. + +## 4. lépés: Hogyan dolgozzuk fel a képet + +Miután a motor be van állítva, be kell töltened a feldolgozni kívánt képet. Ez a **hogyan dolgozzuk fel a képet** kérdésre ad választ egy tiszta, újrahasználható módon. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +Ha PDF‑ekkel dolgozol, először minden oldalt konvertálhatsz képpé – az Aspose OCR ezt natívan támogatja. + +## 5. lépés: Hogyan vonjuk ki a szöveget a képből + +Minden beállítva, az utolsó lépés az OCR futtatása és a szöveg visszanyerése. Ez a **hogyan vonjuk ki a szöveget** egy képből, a lényeg. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +A szkript futtatásakor valami ilyesmit kell látnod: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Ha a kimenet összezavarodott, ellenőrizd, hogy a megfelelő nyelvet állítottad‑e be, és hogy a felhasználó‑definiált szótár tartalmazza‑e a pontosan várt karakterláncokat. + +## Teljesen működő példa + +Összegezve, itt a teljes szkript, amelyet bemásolhatsz egy `extract_label.py` nevű fájlba. Ne felejtsd el a `YOUR_DIRECTORY` helyére a kép tényleges elérési útját beírni. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Várt kimenet + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Ha a szótárba felvett pontos kódokat látod, sikeresen elsajátítottad a **hogyan állítsuk be a nyelvet**, a **hogyan adjunk hozzá szótárat**, és a **hogyan vonjuk ki a szöveget a képből** használatát az Aspose OCR‑rel. + +## Gyakori edge case‑ek kezelése + +| Helyzet | Mit tegyünk | +|-----------|------------| +| **A kép elmosódott** | Előfeldolgozás `ocr.Image.apply_filter()`‑rel a élesítéshez, mielőtt a `process()`‑t hívod. | +| **Több nyelv egy képen** | Állítsd be `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **Nagy PDF‑ek** | Iterálj minden oldalon, konvertáld `ocr.Image`‑re, és hívd meg a `process()`‑t oldalanként. | +| **Váratlan karakterek** | Add hozzá őket a felhasználó‑definiált szavak listájához; az Aspose OCR magas biztonságú tokenként kezeli őket. | + +Ezek a tippek robusztus OCR‑csővezetéket biztosítanak, még akkor is, ha a bemenet nem tökéletes. + +## Vizuális referencia + +![how to set language in Aspose OCR example](image.png "Screenshot showing how to set language in Aspose OCR Python example") + +*Alt szöveg:* **hogyan állítsuk be a nyelvet** képernyőképe, amely a nyelv tulajdonság beállítását mutatja egy Python IDE‑ben. + +## Összegzés + +Most már tudod, **hogyan állítsuk be a nyelvet** az Aspose OCR Pythonban, hogyan **adjunk hozzá szótárat**, és a pontos lépéseket a **szöveg kinyeréséhez a képből** és a **kép feldolgozásához** az optimális eredmények érdekében. A fenti teljes példa bármely projektbe beilleszthető, különböző nyelvekre testreszabható, és bővíthető kötegelt feldolgozásra vagy PDF‑bemenetre. + +Készen állsz a következő kihívásra? Próbáld ki a `ocr.Language.ENGLISH` helyett a `ocr.Language.FRENCH` használatát, és figyeld meg a pontosság növekedését a francia nyelvű címkék esetén. Vagy kísérletezz a `set_user_defined_words` metódussal, hogy egy teljes termékkatalógust vegyen fel – az OCR motor minden bejegyzést magas biztonságú egyezésként kezel majd. + +Boldog kódolást, és legyen az OCR eredményed mindig kristálytiszta! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/hungarian/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..56daae52 --- /dev/null +++ b/ocr/hungarian/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-01-12 +description: Kézzel írt jegyzetek feldolgozása Pythonban az Aspose OCR használatával + – tanulja meg, hogyan lehet gyorsan szöveget kinyerni jpg képekből. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: hu +og_description: Feldolgozza a kézzel írt jegyzeteket Pythonban az Aspose OCR-rel. + Tanulja meg, hogyan lehet szöveget kinyerni jpg képekből, felismerni a kézzel írt + OCR-t, és betölteni a képeket OCR-hez. +og_title: Kézzel írt jegyzetek feldolgozása Python segítségével – Teljes OCR útmutató +tags: +- OCR +- Python +- Aspose +title: Kézzel írott jegyzetek feldolgozása Python segítségével – Kézírásos OCR útmutató +url: /hu/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Kézzel írt jegyzetek feldolgozása Pythonban – Kézírási OCR útmutató + +Ha **kézzel írt jegyzeteket** szeretnél **feldolgozni** Pythonban, ez az útmutató pontosan megmutatja, hogyan teheted. Legyen szó egy beolvasott nyugtáról, egy osztálytermi táblaképről vagy egy gyors selfie‑ról egy teendőlistáról, megtanulod, **hogyan nyerj ki szöveget** ezekből a képekből anélkül, hogy izzadnál. + +Lépésről lépésre végigvezetünk – az Aspose OCR könyvtár importálásától, a JPG betöltésén, a motor futtatásán, egészen az alacsony biztonsági szintű sorok kezeléséig. A végére egy kész, futtatható szkriptet kapsz, amely **fel tudja ismerni a szöveget jpg** fájlokból, és tiszta, felhasználható karakterláncokat ad. + +## Mit fogsz megtanulni + +- Egy teljes, azonnal futtatható kódmintát, amely „out‑of‑the‑box” működik. +- Megértést arról, hogy miért fontos minden egyes sor, nem csak arról, hogy mit csinál. +- Tippeket a remegő kézírás és az alacsony biztonsági eredmények kezelésére. +- Útmutatást a szkript PDF‑ekhez, több képhez vagy egyedi nyelvi csomagokhoz való bővítéséhez. + +*Előfeltételek*: Python 3.8+ telepítve, érvényes Aspose OCR licenc (vagy ingyenes próba), valamint egy `handwritten_notes.jpg` nevű képfájl a projekt mappádban. + +--- + +![Process handwritten notes example](https://example.com/handwritten-notes.png "process handwritten notes") + +*Alt text: kézzel írt jegyzetek – minta kép, amely kézírásos szöveget mutat OCR‑ra kész állapotban.* + +## Kézzel írt jegyzetek feldolgozása: Az OCR motor beállítása + +### Miért fontos ez a lépés +Az OCR motor a felismerési folyamat agya. A megfelelő nyelv kiválasztása és az objektum helyes inicializálása biztosítja, hogy a motor tudja, angol karaktereket kell keresnie, és képes legyen kezelni a kézírás sajátosságait. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Pro tipp:** Ha más nyelven vársz jegyzeteket, cseréld le a `ocr.Language.ENGLISH`‑t a megfelelő enumra (pl. `ocr.Language.FRENCH`). A motor automatikusan betölti a szükséges karakterkészletet. + +--- + +## Hogyan nyerjünk ki szöveget JPG képekből + +### A kép betöltése – az első akadály +Mielőtt a motor bármit is csinálna, szüksége van a JPG bitmap ábrázolására. Az Aspose egy kényelmes statikus `load` metódust kínál, amely beolvassa a fájlt egy `Image` objektumba. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Miért ne használjunk OpenCV‑t vagy Pillow‑t?* +Ezek a könyvtárak nagyszerűek az előfeldolgozáshoz, de az Aspose `Image.load` garantálja a pontos pixelformátumot, amelyet az OCR motor elvár, ezáltal kiküszöbölve a színmélység-eltérésből adódó gyakori hibákat. + +--- + +## Szövegfelismerés JPG‑ből kézírási OCR Python‑nal + +### Az OCR motor futtatása +Most, hogy a motor és a kép készen áll, elindítjuk a felismerést. A `process` metódus egy `OcrResult` objektumot ad vissza, amely `Line` objektumok listáját tartalmazza, minden sorhoz saját biztonsági pontszámmal. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**Mi történik a háttérben?** +Az Aspose OCR egy mélytanuló modellt használ, amelyet milliók kézírásos mintáján képeztek. A képet sorokra, majd karakterekre bontja, végül összeállítja a legvalószínűbb szövegsorozatot minden egyes sorhoz. + +--- + +## Kép betöltése OCR‑hez – Alacsony biztonsági eredmények kezelése + +### Miért fontos a biztonság +A kézírási OCR soha nem 100 % tökéletes. Egy 75 % alatti biztonsági pontszám általában azt jelzi, hogy a motor nehezen tudta követni a vonalvezetést vagy a háttérzaj zavarta. Ezeknek a soroknak a szűrésével eldöntheted, hogy kérsz-e felhasználói ellenőrzést, vagy további képelőfeldolgozást alkalmazol. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Tipikus kimenet** (az eredmények változhatnak): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Vedd észre, hogy a szkript tisztán elválasztja a megbízható szöveget a bizonytalan részekről. Később az alacsony biztonságú sorokat egy második átfutásra adhatod képnövelő szűrőkkel (pl. kontraszt növelés), vagy emberi felülvizsgálatra bocsáthatod. + +--- + +## Teljes szkript – Kész a futtatásra + +Az alábbiakban megtalálod a teljes programot, amelyet egyszerűen másolj be. Mentsd `handwritten_ocr.py` néven, majd futtasd `python handwritten_ocr.py` paranccsal. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Várható viselkedés:** +- A szkript minden sort kiír a biztonsági százalékával. +- A 75 % feletti sorok “Accepted” (elfogadott) státuszt kapnak, a többit felülvizsgálatra jelöli. +- Nincs szükség további függőségekre az `asposeocr`‑on kívül. + +--- + +## Gyakori kérdések és széljegyek + +### Mi van, ha a kép PNG vagy BMP? +Az Aspose OCR automatikusan felismeri a formátumot, így csak a `image_path` kiterjesztését kell módosítanod. Kódmódosításra nincs szükség. + +### A kézírásom rendkívül rendezetlen – hogyan javíthatom a pontosságot? +1. **Előfeldolgozás** – növeld a kontrasztot, távolítsd el a háttérárnyékokat (OpenCV‑vel segíthetsz). +2. **Biztonsági küszöb emelése** – állítsd 80 %-ra, ha csak szinte tökéletes sorokat akarsz elfogadni. +3. **Egyedi modell tréning** – az Aspose “custom language pack” funkciója lehetővé teszi speciális kézírási stílusok tanítását. + +### Feldolgozhatok több képet egy futtatásban? +Természetesen. A betöltési és feldolgozási lépéseket egy `for` ciklusba helyezheted, amely egy fájlútvonalak listáját iterálja. A sebesség érdekében használd ugyanazt az `ocr_engine` példányt. + +### Működik ez macOS‑en/Linux‑on? +Igen. Az Aspose OCR minden főbb platformra kínál wheel‑eket. Csak `pip install asposeocr`, és már használhatod. + +--- + +## Következő lépések és kapcsolódó témák + +- **Szöveg kinyerése PDF‑ekből** – miután megvan az OCR pipeline, a PDF oldalakat egyszerűen betöltheted `ocr.Image.load`‑dal egyetlen soros módosítással. +- **Integráció adatbázissal** – tárold az elfogadott sorokat SQLite‑ban vagy PostgreSQL‑ben, hogy kereshető jegyzeteket kapj. +- **Valós‑idő OCR mobilon** – kombináld ezt a szkriptet Flask‑kel vagy FastAPI‑val, és hozz létre egy REST végpontot, amelyet mobilalkalmazások hívhatnak. + +Ezek a kiegészítések mind a már bemutatott alapelveken épülnek: **process handwritten notes**, **how to extract text**, **recognize text from jpg**, és **load image for OCR**. + +--- + +## Összegzés + +Most már egy szilárd, vég‑től‑végig megoldással rendelkezel a **process handwritten notes** feladatra Python és Aspose OCR használatával. Az útmutató lépésről‑lépésre bemutatta a motor beállítását, egy JPG betöltését, a felismerés futtatását és az alacsony biztonságú eredmények kezelését – mindezt egyetlen, másol‑beillesztésre kész szkriptben. + +Most már kísérletezhetsz különböző képelőfeldolgozási technikákkal, emelheted a biztonsági küszöböt, vagy skálázhatod a megoldást több száz jegyzet egyszerre feldolgozására. A lehetőségek határtalanok, a most tanult kód pedig a kiindulópontod. + +*Boldog kódolást, és legyenek a kézírásos jegyzeteid végre kereshető szöveggé!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/hungarian/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..da621880 --- /dev/null +++ b/ocr/hungarian/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-12 +description: Python OCR oktatóanyag, amely bemutatja, hogyan lehet táblázatszöveget + kinyerni egy képből. Tanulja meg, hogyan olvassa be a táblázatot a képről, és hogyan + nyerjen ki kiválasztott szöveget az Aspose OCR‑rel. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: hu +og_description: Python OCR oktatóanyag, amely megtanítja, hogyan lehet táblázatszöveget + kinyerni egy képből, táblázatot olvasni a képből, és kiválasztott szöveget kinyerni + az Aspose OCR segítségével. +og_title: 'Python OCR oktató: Táblázat szövegének kinyerése képekből' +tags: +- OCR +- Python +- AsposeOCR +title: 'Python OCR útmutató: Táblázatszöveg kinyerése képekből' +url: /hu/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR Bemutató: Táblázatszöveg Kinyerése Képekből + +Valaha is szükséged volt egy **python ocr tutorial**-ra, amely valóban megmutatja, hogyan lehet egy táblázatot kihúzni egy beolvasott űrlapról? Nem vagy egyedül. A legtöbb bemutató csak az általános szövegkinyerésnél áll meg, és arra hagy, hogy kitaláld, hogyan izoláld azt a rendezett adatrácsot, amelyre szükséged van. + +Ebben az útmutatóban egy valós példán keresztül vezetünk végig: egy táblázat olvasása egy képről, csak a szükséges szöveg kinyerése, majd a végeredmény kiírása. Útközben tippeket adunk a **how to extract table** adatok megbízható kinyeréséhez, így nem kell minden alkalommal újra feltalálni a kereket. + +## Mit Tanulhatsz + +- Hogyan állítsd be az Aspose OCR-t Pythonhoz. +- Hogyan definiálj egy téglalap alakú régiót, amely táblázatot tartalmaz. +- A pontos lépések a **extract table text** és **read table from image**. +- Tippek többnyelvű vagy szabálytalan táblázat elrendezések kezeléséhez. +- Egy teljes, futtatható szkript, amelyet azonnal beilleszthetsz a projektedbe. + +**Előfeltételek** +- Python 3.8 vagy újabb. +- Alapvető ismeretek az OCR koncepciókról (mély szakértelem nem szükséges). +- Egy PNG vagy JPEG kép, amely egyértelmű táblázatot tartalmaz (ezt `form_with_table.png`-nek hívjuk). + +Ha megvannak ezek, merüljünk el—nincs felesleges részlet, csak gyakorlati kód. + +![python ocr tutorial example of table region](table_region_example.png){alt="python ocr tutorial példa a táblázat régió megjelenítésére"} + +## 1. lépés: Aspose OCR telepítése és importálása + +Először is: szükséged van az Aspose OCR könyvtárra. A csomag a PyPI-n elérhető, így egyetlen `pip` parancs elég. + +```bash +pip install aspose-ocr +``` + +Most importáld a modult és a szükséges segédfüggvényeket. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro tipp:* Tartsd a függőségeket egy `requirements.txt` fájlban. Ez könnyűvé teszi a környezet reprodukálását. + +## 2. lépés: OCR motor inicializálása (Python OCR Bemutató Core) + +A motor létrehozása bármely **python ocr tutorial** szíve. Itt beállítjuk az alapértelmezett nyelvet angolra—később nyugodtan cserélheted. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Miért állítod be a nyelvet? Az OCR pontossága drámaian javulhat, ha a motor tudja, milyen karakterekre számíthat. Ha többnyelvű űrlapokkal dolgozol, beállíthatsz egy nyelvlistát, vagy régiónként felülírhatod (lásd később). + +## 3. lépés: Kép betöltése + +Az Aspose OCR a legtöbb általános képformátummal működik. Csak add meg a fájl elérési útját, és kapsz egy `Image` objektumot, amely készen áll a feldolgozásra. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Különleges eset:* Nagy képek (5 MB felett) lelassíthatják a feldolgozást. Fontold meg a méretezést vagy tömörítést OCR előtt, ha a teljesítmény problémát jelent. + +## 4. lépés: A táblázat régió meghatározása (Read Table from Image) + +Most jön a szórakoztató rész: megmondani a motornak, *hol* található a táblázat. Egy `OcrRegion`-t adsz meg egy `Rectangle`-lel (x, y, szélesség, magasság). A koordináták pixel‑alapúak, így egy kicsit kísérletezni kell. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Miért használj régiót? Az OCR korlátozásával a táblázat területére **extract selected text** gyorsabban történik, és elkerülhető a környező címkék vagy grafikák zajja. Emellett javítja a pontosságot, mivel a motor egy egységes elrendezésre tud fókuszálni. + +## 5. lépés: OCR futtatása a meghatározott régióban + +A régió beállítása után meghívjuk a `process_region`-t. A metódus egy `OcrResult` objektumot ad vissza, amely a nyers szöveget, a megbízhatósági pontszámokat és akár a keretmezőket is tartalmazza, ha később szükséged van rájuk. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +Ha több táblázatot kell kinyerni, egyszerűen ismételd meg a 4‑5. lépéseket különböző téglalapokkal. + +## 6. lépés: Kinyert táblázatszöveg kiírása + +Végül írd ki—vagy tárold— a táblázat szöveges ábrázolását. Az Aspose OCR egyszerű szöveget ad vissza sortörésekkel, amelyek általában a sorokhoz igazodnak, így az utófeldolgozás egyszerű. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Várható kimenet** (példa): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +Most ezt a karakterláncot átadhatod `csv` elemzőknek, pandas DataFrame-eknek vagy bármely további analitikai folyamatnak. + +## Teljes Működő Példa + +Mindent összevonva, itt a teljes szkript, amelyet azonnal futtathatsz. Cseréld le a `YOUR_DIRECTORY/form_with_table.png`-t a kép tényleges elérési útjára. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Futtasd a szkriptet a `python extract_table.py` paranccsal. Ha minden rendben van, a táblázat megjelenik a konzolon. + +## Gyakori Kérdések és Különleges Esetek Kezelése + +**Mi van, ha a táblázat nem tökéletesen téglalap alakú?** +Feloszthatod a táblázatot több átfedő régióra, vagy használhatsz egy nagyobb téglalapot, amely az egész területet lefedi, majd utófeldolgozod a szöveget (pl. sorokra bontás). + +**Kinyerhetek csak bizonyos oszlopokat?** +A teljes táblázatszöveg után használhatod a Python `csv` vagy `pandas` modulját, hogy kivágd a kívánt oszlopokat. Az OCR lépés maga minden adatot visszaad a téglalapon belül. + +**Hogyan dolgozhatok nem angol táblázatokkal?** +Állítsd be az `ocr_engine.language`-t (vagy a `region.language`-t) a megfelelő enumra, például `ocr.Language.FRENCH`, vagy kombinálj több nyelvet az `ocr.Language.ENGLISH | ocr.Language.SPANISH` használatával. + +**Van mód arra, hogy minden cellához kapjak határoló keretet?** +Az Aspose OCR vissza tud adni `region_result.words`-t, ahol minden szó tartalmaz egy határoló keretet. Ezeket a kereteket vissza kell térképezni egy rácshoz—hasznos fejlett elrendezés-elemzéshez. + +## Tippek a Pontosság Javításához + +- **Tisztítsd meg a képet**: Binarizáld vagy növeld a kontrasztot, mielőtt OCR-nek adnád. Olyan könyvtárak, mint a Pillow segíthetnek. +- **Kerüld a tömörítési hibákat**: Amikor csak lehetséges, mentsd a beolvasásokat PNG formátumban. +- **Figyelj a DPI-re**: 300 dpi az ideális; alacsonyabb értékek elmaradt karaktereket eredményezhetnek. +- **Tesztelj különböző téglalap méreteket**: Kissé nagyobb téglalapok gyakran elkapják a táblázathoz tartozó elszórt karaktereket. + +## Következő Lépések + +Miután elsajátítottad a **how to extract table** adatokat az Aspose OCR-rel, érdemes lehet felfedezni: + +- A kinyert szöveg CSV fájlba konvertálása a Python `csv` moduljával. +- Az adatok betáplálása egy **pandas** DataFrame-be elemzéshez. +- OCR használata kézírásos űrlapok olvasásához (másik motor vagy további tréning szükséges). +- Több tucat beolvasott űrlap kötegelt feldolgozásának automatizálása egy egyszerű `for` ciklussal. + +Ezek a kiterjesztések mind az ebben a **python ocr tutorial**-ban lefedett alapvető koncepciókra épülnek, így jól fel vagy készülve a skálázásra. + +--- + +*Boldog kódolást! Ha bármilyen problémába ütközöl, írj egy megjegyzést alább—szívesen segítek a kinyerés finomhangolásában.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/hungarian/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..769e4753 --- /dev/null +++ b/ocr/hungarian/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,264 @@ +--- +category: general +date: 2026-01-12 +description: Futtass OCR-t PNG fájlokon gyorsan Python segítségével. Tanuld meg, hogyan + nyerhetsz ki szöveget képből és számlából, valamint hogyan tölthetsz be képet OCR-hez + az Aspose.OCR használatával. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: hu +og_description: Futtass OCR-t PNG-n azonnal. Ez az útmutató megmutatja, hogyan lehet + szöveget kinyerni képből és számlából, betölteni a képet OCR-hez, és az eredményeket + JSON és CSV formátumban menteni. +og_title: OCR futtatása PNG-n – Teljes Python oktató +tags: +- OCR +- Python +- Image Processing +title: OCR futtatása PNG-n – Teljes Python útmutató a képek szövegének kinyeréséhez +url: /hu/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# OCR futtatása PNG-n – Teljes Python útmutató a képek szövegének kinyeréséhez + +Valaha szükséged volt **OCR futtatására PNG** fájlokon, de nem tudtad, melyik könyvtár adna tiszta, strukturált eredményeket? Nem vagy egyedül. Sok valós projektben—gondolj számlázási automatizálásra vagy nyugták beolvasására—a első lépés a **szöveg kinyerése a képből** fájlokból, és a PNG egy gyakori formátum, mert veszteségmentes minőséget őriz. + +Ebben az útmutatóban egy gyakorlati példán keresztül mutatjuk be az Aspose.OCR Python csomagot. A végére tudni fogod, hogyan **tölts be képet OCR-hez**, hogyan nyerd ki a szöveg minden sorát, hogyan alakítsd az adatot egy rendezett JSON objektummá, és még CSV-be is exportáld a további feldolgozáshoz. Felesleges szócséplés nélkül, csak egy gyakorlati, azonnal futtatható megoldás. + +## Amit megtanulsz + +- Hogyan telepítsd és importáld az Aspose.OCR könyvtárat. +- A pontos lépések a **OCR futtatásához PNG-n** és az eredményobjektum kezeléséhez. +- Módszerek a **szöveg kinyerésére számlákból** és a kimenet formázása JSON vagy CSV formátumban. +- Tippek alacsony kontrasztú képek, többnyelvű dokumentumok és a megbízhatósági pontszámok kezeléséhez. +- Egy teljes, másolás‑beillesztéses kódminta, amelyet már ma futtathatsz. + +> **Előfeltétel:** Python 3.8+ és alapvető ismeretek a pip‑ről. Ha még soha nem használtad az Aspose‑t, ne aggódj—ez az útmutató mindent lefed, amire a kezdéshez szükséged van. + +## 1. lépés – Aspose.OCR telepítése és a környezet előkészítése + +Mielőtt **OCR‑t futtathatnánk PNG-n**, a könyvtárnak telepítve kell lennie a rendszereden. + +```bash +pip install aspose-ocr +``` + +> **Pro tipp:** Használj virtuális környezetet (`python -m venv venv`), hogy a függőségek izoláltak legyenek. Megakadályozza a verzióütközéseket, ha több projektet kezelsz egyszerre. + +A telepítés után importáld a szükséges modulokat: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Itt importáljuk a `asposeocr`‑t a nehéz feladatokhoz, valamint a beépített `json` könyvtárat a későbbi sorosításhoz. + +## 2. lépés – OCR motor létrehozása és a nyelv beállítása + +Az OCR motor a fő komponens, amely ténylegesen olvassa a pixeleket. A legtöbb angol nyelvű számla esetén az angol nyelvi csomagra lesz szükséged: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Miért fontos:** A nyelv megadása szűkíti a karakterkészletet, ami növeli a pontosságot és felgyorsítja a feldolgozást. Ha többnyelvű számlákat kell kezelned, egyszerűen cseréld le a `ocr.Language.ENGLISH`‑t a megfelelő enumra. + +## 3. lépés – Kép betöltése OCR-hez + +Most **betöltjük a képet OCR-hez**. A `Image.load` metódus fájlútvonalat fogad, és működik PNG, JPEG, BMP és más formátumokkal is. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Különleges eset:** Ha a PNG szokatlanul nagy (5 MB felett), fontold meg először a méretezését, hogy a memóriahasználat ésszerű maradjon. A Pillow ezt egyetlen sorban meg tudja tenni: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +## 4. lépés – OCR futtatása PNG-n és az eredmény rögzítése + +Miután a motor készen áll és a kép betöltődött, itt az ideje **OCR futtatásának PNG-n**, és a strukturált eredmény lekérésének. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +Az `ocr_result` objektum `OcrRegion` elemek gyűjteményét tartalmazza, mindegyik a felismert szöveget és egy megbízhatósági pontszámot (0‑100) tartalmazza. Itt kapod meg a részletes adatokat, amelyek a **szöveg kinyeréséhez számlák sorából** szükségesek. + +## 5. lépés – Az eredmény konvertálása JSON-re és szép kiírása + +A legtöbb downstream rendszer szereti a JSON-t, ezért az OCR kimenetet egy szépen formázott karakterlánccá alakítjuk. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Minta kimenet + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Vedd észre, hogy minden sor tartalmaz egy megbízhatósági mutatót – tökéletes az alacsony bizalomú bejegyzések kiszűrésére, ha automatikusan **szöveget szeretnél kinyerni számlákból**. + +## 6. lépés – OCR adatok mentése CSV-be (egy sor szöveg + megbízhatóság per sor) + +A CSV ideális táblázatokhoz vagy gyors adatimportokhoz. Az Aspose egy egy soros megoldást kínál, hogy mindent egy CSV fájlba írjon. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +A generált CSV így fog kinézni: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Most már megnyithatod Excelben, Google Sheets‑ben, vagy betáplálhatod egy adatbázisba. + +## Bónusz – Alacsony megbízhatóságú szöveg és többoldalas PDF-ek kezelése + +### Szűrés megbízhatóság alapján + +Ha csak magas biztonságú sorokat szeretnél, szűrd le a JSON‑t, mielőtt kiírnád: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Többoldalas dokumentumok + +Az Aspose.OCR automatikusan létrehoz egy új `page` bejegyzést minden egyes oldalhoz egy többoldalas PNG vagy PDF esetén. Iterálj a `ocr_data["pages"]`‑en, hogy mindet feldolgozd – extra kód nélkül. + +## Teljes működő példa + +Az alábbi **teljes szkript**, amelyet másolhatsz, beilleszthetsz és azonnal futtathatsz. Cseréld le a `YOUR_DIRECTORY`‑t arra a mappára, amely a PNG fájlodat tartalmazza. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Futtasd a szkriptet a `python run_ocr.py` paranccsal, és a konzolon láthatod a JSON kiírást, a lemezre mentett CSV fájlt, valamint a magas megbízhatóságú bejegyzések szűrt listáját. + +## Gyakran ismételt kérdések + +**K: Használhatom ezt beolvasott nyugta szövegének kinyerésére a számla helyett?** +V: Teljesen. Ugyanaz a munkafolyamat érvényes – csak állítsd be az `image_path`‑t a nyugta PNG-jére. Ha a nyugta más nyelvet használ, cseréld le a `engine.language`‑t ennek megfelelően. + +**K: Mi van, ha a PNG elfordított szöveget tartalmaz?** +V: Az Aspose.OCR automatikusan felismeri a tájolást, de makacs esetekben manuálisan elfordíthatod a képet a Pillow‑lal, mielőtt a motorba adod. + +**K: Szükségem van fizetős licencre az Aspose.OCR-hez?** +V: A könyvtár ingyenes értékelő módot kínál, amely a kimeneten vízjelet helyez el. Gyártási környezetben licencre lesz szükséged, amelyet az Aspose weboldaláról szerezhetsz be. + +## Összegzés + +Minden szükséges lépést áttekintettünk, hogy **OCR‑t futtass PNG fájlokon** Python használatával: az SDK telepítése, a kép betöltése, a strukturált szöveg kinyerése, és az eredmény mentése JSON vagy CSV formátumban. Akár egyszerű szkripthez **szöveget szeretnél kinyerni a képből**, akár automatizált könyvelési folyamatban **szöveget kell kinyerni számlákból**, a fenti lépések egy stabil, gyártásra kész alapot biztosítanak. + +A következőket érdemes még felfedezni: + +- A CSV kimenet integrálása adatbázissal a tömeges számlatároláshoz. +- Utófeldolgozás hozzáadása reguláris kifejezésekkel, hogy dátumokat, összegeket vagy adóazonosítókat nyerj ki. +- A `ocr_engine.recognize_barcode` funkció használata, ha a számláid QR kódot tartalmaznak. + +Próbáld ki, állítsd be a megbízhatósági küszöböket, és nézd, ahogy a dokumentumfeldolgozási munkafolyamatod könnyedé válik. Van még kérdésed vagy egy izgalmas felhasználási eseted? Írj egy megjegyzést alább – jó OCR‑zést! + +![OCR futtatása PNG példája](run-ocr-on-png.png "OCR futtatása PNG – vizuális példa az OCR eredményére") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/indonesian/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..b7c1f000 --- /dev/null +++ b/ocr/indonesian/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-01-12 +description: Ekstrak teks dari gambar Python menggunakan Aspose OCR. Pelajari cara + mengubah gambar yang dipindai menjadi teks dengan kode async dalam hitungan menit. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: id +og_description: Ekstrak teks dari gambar Python dengan Aspose OCR. Tutorial ini menunjukkan + cara mengonversi gambar yang dipindai menjadi teks menggunakan fungsi async. +og_title: Ekstrak Teks dari Gambar dengan Python – Panduan OCR Asinkron +tags: +- python +- ocr +- async +title: Ekstrak Teks dari Gambar Python – Panduan OCR Asinkron +url: /id/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Ekstrak Teks dari Gambar Python – Panduan OCR Asinkron + +Pernah perlu **ekstrak teks dari gambar Python** dalam skrip tetapi terhambat pada bagian OCR? Anda tidak sendirian. Banyak pengembang mengalami kebuntuan ketika memiliki dokumen yang dipindai dan ingin mengubahnya menjadi teks yang dapat dicari tanpa harus menggaruk kepala. + +Dalam tutorial ini kami akan membimbing Anda melalui contoh lengkap yang dapat dijalankan, yang menunjukkan cara **mengonversi gambar yang dipindai menjadi teks** menggunakan API asinkron Aspose OCR. Pada akhir tutorial Anda akan memiliki satu fungsi yang dapat disisipkan ke proyek apa pun, dan Anda akan memahami mengapa pemrosesan async dapat menjaga aplikasi tetap responsif meskipun OCR memakan waktu beberapa detik. + +## Prasyarat + +Sebelum kita mulai, pastikan Anda memiliki: + +- Python 3.8+ terinstal (fitur async memerlukan setidaknya 3.7) +- paket `asposeocr` (`pip install asposeocr`) – ini adalah pustaka yang akan kita gunakan +- File gambar yang dipindai (TIFF, PNG, JPEG – apa saja yang didukung Aspose OCR) +- Familiaritas dasar dengan `asyncio` (jika belum, jangan khawatir – kami akan menjelaskan setiap langkah) + +Tidak ada ketergantungan sistem tambahan yang diperlukan; Aspose OCR sudah menyertakan semua yang Anda perlukan. + +![Diagram yang menunjukkan alur OCR async – ekstrak teks dari gambar python](https://example.com/async-ocr-diagram.png "async OCR flow – extract text from image python") + +## Langkah 1 – Siapkan Fungsi Pembantu Asinkron + +Inti solusi adalah fungsi `async` yang memuat gambar, memulai OCR, dan kemudian menunggu hasilnya. Menjaga fungsi tetap asinkron berarti Anda dapat menjalankan coroutine lain (misalnya, mengunduh lebih banyak file) sementara mesin OCR bekerja di latar belakang. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Mengapa ini penting:** Dengan mengembalikan sebuah `Future`, Aspose OCR melakukan pekerjaan berat pada pool thread terpisah. `await` melepaskan event loop, sehingga aplikasi Anda tetap cepat. Jika Anda perlu memproses banyak gambar secara bersamaan, Anda cukup menjadwalkan beberapa pemanggilan `async_ocr` dengan `asyncio.gather`. + +## Langkah 2 – Jalankan Coroutine di Event Loop + +Setelah kita memiliki pembantu, kita perlu mengeksekusinya. `asyncio.run` membuat event loop baru, menjalankan coroutine, dan menutup semuanya dengan bersih. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Tip pro:** Jika Anda mengintegrasikan ini ke dalam aplikasi async yang lebih besar (misalnya, FastAPI), Anda cukup memanggil `await async_ocr(...)` langsung alih-alih `asyncio.run`. + +## Langkah 3 – Verifikasi Output + +Saat Anda menjalankan skrip, Anda seharusnya melihat sesuatu seperti: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Jika output terlihat berantakan, periksa kembali bahwa: + +1. Gambar jelas dan tidak terlalu terkompresi. +2. Anda telah memilih bahasa yang tepat (`ocr.Language.ENGLISH` bekerja untuk kebanyakan teks berbasis Latin). +3. Jalur file benar dan file dapat dibaca. + +## Langkah 4 – Menangani Kasus Edge + +### Banyak Bahasa + +Jika Anda perlu **mengonversi gambar yang dipindai menjadi teks** dalam bahasa selain Inggris, cukup ubah properti bahasa: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### File Besar + +Untuk TIFF yang sangat besar, pertimbangkan untuk mengubah ukuran atau mengonversi ke PNG dengan resolusi lebih rendah sebelum mengirimkannya ke OCR. Ini mengurangi tekanan memori dan mempercepat pemrosesan. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Penanganan Kesalahan + +Bungkus pemanggilan OCR dalam blok `try/except` untuk menangkap kesalahan terkait jaringan atau lisensi. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Langkah 5 – Skalakan: Memproses Banyak Gambar Secara Bersamaan + +Karena fungsi ini async, Anda dapat meluncurkan puluhan pekerjaan OCR sekaligus: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Pola ini menjaga CPU tetap sibuk sementara mesin OCR bekerja secara paralel, secara dramatis mengurangi total waktu pemrosesan. + +## Kesimpulan + +Anda kini memiliki solusi **ekstrak teks dari gambar Python** yang kuat dengan memanfaatkan API asinkron Aspose OCR. Contoh lengkap ini menunjukkan cara: + +1. Menginisialisasi mesin OCR dan memilih bahasa. +2. Meluncurkan OCR secara asinkron dengan `process_async`. +3. Menunggu hasil tanpa memblokir event loop. +4. Menangani jebakan umum seperti file besar dan dukungan multi‑bahasa. + +Silakan sesuaikan kode dengan alur kerja Anda—apakah Anda membangun sistem manajemen dokumen, pengindeks pencarian, atau utilitas baris perintah sederhana. Langkah selanjutnya dapat meliputi: + +- Menyimpan teks yang diekstrak ke basis data untuk pencarian full‑text. +- Menambahkan pembuatan PDF (misalnya, menggunakan `PyPDF2`) untuk membuat PDF yang dapat dicari. +- Mengintegrasikan dengan kerangka kerja web seperti FastAPI untuk layanan OCR berbasis REST. + +Selamat coding, dan nikmati mengubah gambar yang dipindai menjadi teks yang dapat dicari dan diedit! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/indonesian/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..e765857a --- /dev/null +++ b/ocr/indonesian/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,216 @@ +--- +category: general +date: 2026-01-12 +description: Cara melakukan OCR gambar secara batch dengan cepat dan mengekstrak teks + dari file JPEG menggunakan Python. Pelajari pemrosesan batch langkah demi langkah + dengan contoh lengkap yang dapat dijalankan. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: id +og_description: Cara melakukan OCR gambar secara batch dan mengekstrak teks dari file + JPEG. Panduan ini membawa Anda melalui solusi Python lengkap yang siap dijalankan. +og_title: Cara Memproses OCR Gambar Secara Batch – Tutorial Python Cepat +tags: +- OCR +- Python +- image processing +title: Cara Memproses OCR Gambar Secara Batch – Panduan Cepat untuk Mengekstrak Teks + dari File JPEG +url: /id/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara Batch OCR Gambar – Panduan Cepat untuk Mengekstrak Teks dari File JPEG + +Pernah bertanya-tanya **bagaimana cara batch OCR gambar** tanpa menulis skrip terpisah untuk setiap file? Anda tidak sendirian. Dalam banyak proyek—pemindaian faktur, digitalisasi arsip, atau moderasi konten—kita perlu mengambil teks dari puluhan atau ratusan file JPEG sekaligus. Kabar baiknya, Anda dapat melakukannya dengan hanya beberapa baris Python, dan Anda akan memiliki mesin yang dapat dipakai ulang yang dapat dimasukkan ke dalam pipeline apa pun. + +Dalam tutorial ini kami akan menunjukkan **bagaimana cara batch OCR gambar**, kemudian membahas cara mengekstrak teks dari file JPEG, menangani kasus tepi, dan memverifikasi output. Pada akhir tutorial Anda akan memiliki skrip mandiri yang dapat dijalankan pada folder gambar apa pun, dan Anda akan memahami mengapa pemrosesan batch penting untuk kinerja dan pemeliharaan. + +## Apa yang Akan Anda Pelajari + +- Menyiapkan mesin OCR sederhana dan mengkonfigurasinya untuk bahasa Inggris. +- Mengumpulkan semua file JPEG dari sebuah direktori dengan `pathlib`. +- Memanggil mesin OCR sekali untuk memproses seluruh batch. +- Menampilkan pratinjau teks yang dikenali untuk setiap gambar. +- Tips menangani batch besar, bahasa berbeda, dan jebakan umum. + +**Prasyarat**: Python 3.8+, pustaka `ocr` (atau pembungkus kompatibel lainnya), dan folder berisi gambar JPEG yang ingin Anda analisis. Tidak diperlukan layanan eksternal—semua berjalan secara lokal. + +--- + +## Langkah 1: Inisialisasi Mesin OCR – Inti dari Cara Batch OCR Gambar + +Sebelum kita dapat **batch OCR gambar**, kita memerlukan mesin yang tahu cara membaca teks. Pada kebanyakan pustaka Anda membuat objek mesin, secara opsional mengatur bahasa, dan kemudian menggunakannya kembali untuk setiap file. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Mengapa ini penting*: Menginisialisasi mesin sekali menghindari beban memuat model bahasa berulang-ulang. Ini juga memberi Anda satu tempat untuk menyesuaikan pengaturan (misalnya DPI, whitelist karakter) yang akan berlaku untuk seluruh batch. + +> **Pro tip**: Jika Anda berencana memproses dokumen multibahasa, ubah `ocr.Language.ENGLISH` menjadi `ocr.Language.MULTI` atau muat beberapa paket bahasa sebelum batch dimulai. + +--- + +## Langkah 2: Kumpulkan Semua File JPEG – Bagian “Ekstrak Teks dari File JPEG” + +Setelah mesin siap, kita perlu memberi tahu mesin gambar mana yang akan diproses. Menggunakan `pathlib` membuat kode menjadi platform‑independen dan ringkas. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Mengapa ini penting*: Dengan mengumpulkan daftar file terlebih dahulu, kita dapat memberi seluruh koleksi ke mesin OCR dalam satu panggilan—tepat seperti apa yang dimaksud dengan **cara batch OCR gambar**. Jika Anda memiliki sub‑folder, Anda dapat mengubah `glob("**/*.jpg")` menjadi pencarian rekursif. + +> **Kasus tepi**: Jika gambar Anda memiliki ekstensi campuran (`.jpeg`, `.JPG`), perpanjang pola glob: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Langkah 3: Proses Seluruh Batch dalam Satu Panggilan – Kekuatan Sebenarnya dari Batch OCR + +Sebagian besar pustaka OCR modern menyediakan metode `process_batch` (atau nama serupa) yang menerima iterable berisi jalur file. Inilah inti dari **cara batch OCR gambar** secara efisien. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Mengapa ini penting*: Satu panggilan batch mengurangi jumlah transisi Python‑to‑C, menjaga model bahasa tetap terload di memori, dan sering memungkinkan paralelisasi internal. Hasilnya adalah daftar objek—masing‑masing berisi teks yang dikenali dan skor kepercayaan. + +> **Catatan kinerja**: Untuk batch sangat besar (ribuan gambar), pertimbangkan membagi daftar menjadi potongan‑potongan lebih kecil (misalnya 200 file) untuk menghindari konsumsi memori berlebih. + +--- + +## Langkah 4: Tampilkan Pratinjau Teks yang Diekstrak – Validasi Cepat + +Setelah batch selesai, berguna untuk melihat beberapa karakter pertama dari setiap hasil. Ini membantu Anda memastikan OCR memang mengekstrak teks dari file JPEG Anda. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Mengapa ini penting*: Pratinjau singkat memungkinkan Anda menemukan kegagalan jelas (misalnya output kosong, karakter kacau) tanpa membuka setiap file. Jika Anda melihat masalah sistematis, Anda dapat menyesuaikan pengaturan mesin dan menjalankan ulang batch. + +> **Jebakan umum**: Lupa menghapus karakter newline dapat membuat pratinjau terlihat berantakan. Baris `replace("\n", " ")` membersihkannya. + +--- + +## Contoh Lengkap yang Berfungsi – Semua Langkah Digabungkan + +Berikut adalah skrip lengkap yang dapat Anda salin‑tempel, sesuaikan jalur direktori, dan jalankan. Skrip ini mendemonstrasikan seluruh alur kerja **cara batch OCR gambar** dari awal hingga akhir. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Output yang diharapkan** (contoh): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Jika pratinjau menampilkan teks yang bermakna, Anda telah berhasil **mengekstrak teks dari file JPEG** menggunakan pendekatan batch. + +--- + +## Menangani Batch Besar dan Skenario Lanjutan + +### Membagi Beban Kerja Besar +Saat menangani ribuan gambar, memori dapat menjadi bottleneck. Bagi daftar menjadi potongan‑potongan lebih kecil: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Mengganti Bahasa +Jika dokumen Anda berbahasa Prancis atau Spanyol, ubah bahasa sebelum batch: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Menyimpan Hasil ke Disk +Alih‑alih mencetak, Anda mungkin ingin menulis setiap hasil OCR ke file `.txt`: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Kesimpulan + +Anda kini tahu **bagaimana cara batch OCR gambar** dan secara andal **mengekstrak teks dari file JPEG** menggunakan skrip Python yang ringkas. Dengan menginisialisasi mesin sekali, mengumpulkan semua jalur JPEG, memprosesnya dalam satu batch, dan meninjau output, Anda memperoleh kecepatan dan kesederhanaan. Dari sini Anda dapat memperluas alur kerja—menambah dukungan multibahasa, menyimpan hasil ke basis data, atau mengintegrasikan skrip ke dalam pipeline pemrosesan dokumen yang lebih besar. + +Siap untuk langkah berikutnya? Coba ganti pustaka `ocr` dengan Tesseract, bereksperimen dengan pra‑pemrosesan gambar (thresholding, resizing), atau alirkan teks yang diekstrak ke model pemrosesan bahasa alami untuk kategorisasi otomatis. Langit adalah batasnya, dan Anda kini memiliki fondasi yang kuat untuk dibangun. + +Selamat coding, semoga batch OCR Anda selalu bebas error! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/indonesian/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..db734612 --- /dev/null +++ b/ocr/indonesian/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,147 @@ +--- +category: general +date: 2026-01-12 +description: Cara mendeteksi bahasa dalam gambar menggunakan Aspose OCR – pelajari + cara mengekstrak teks dari gambar, menangani OCR bahasa campuran, dan menggunakan + OCR dalam Python. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: id +og_description: Cara mendeteksi bahasa dalam gambar menggunakan Aspose OCR – panduan + langkah demi langkah untuk mengekstrak teks dari gambar dan menangani OCR bahasa + campuran. +og_title: Cara Mendeteksi Bahasa dengan OCR untuk Teks Campuran +tags: +- OCR +- Python +- Aspose +title: Cara Mendeteksi Bahasa dengan OCR untuk Teks Campuran +url: /id/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara Mendeteksi Bahasa dengan OCR untuk Teks Campuran + +Cara mendeteksi bahasa dalam gambar menggunakan Aspose OCR adalah tantangan umum ketika menangani dokumen multibahasa. Pernahkah Anda bertanya‑tanya **bagaimana mengekstrak teks dari gambar** yang berisi bahasa Inggris dan Prancis pada halaman yang sama? Dalam tutorial ini kami akan membimbing Anda melalui contoh lengkap yang dapat dijalankan, yang menunjukkan secara tepat cara menggunakan OCR untuk mengidentifikasi bahasa, mengambil teks, dan menangani skenario bahasa campuran tanpa kesulitan. + +Kami akan membahas semua yang perlu Anda ketahui: menyiapkan mesin Aspose OCR, memberi tahu mesin bahasa apa yang harus dipertimbangkan, memuat contoh gambar faktur, menjalankan proses OCR, dan akhirnya mencetak bahasa yang terdeteksi bersama teks yang diekstrak. Pada akhir tutorial Anda akan dapat menjawab pertanyaan “bagaimana menggunakan OCR untuk OCR bahasa campuran” dalam proyek Anda, baik Anda sedang membangun pipeline faktur, pemindai struk, atau alat pengarsipan dokumen. + +> **Prasyarat** – Anda harus memiliki Python 3.8+ terpasang, pemahaman dasar tentang pip, dan lisensi Aspose OCR (versi percobaan gratis cukup untuk demo ini). Tidak diperlukan pustaka eksternal lainnya. + +--- + +## Cara Mendeteksi Bahasa dengan Aspose OCR + +Langkah pertama adalah membuat instance mesin OCR dan memberi tahu bahasa apa yang harus dicari. Aspose OCR menggunakan bit‑mask untuk menggabungkan bahasa, sehingga mudah mendukung bahasa Inggris, Prancis, Spanyol, atau kombinasi apa pun yang Anda perlukan. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Mengapa ini penting:** Menginisialisasi mesin adalah fondasi. Tanpa itu Anda tidak dapat memanggil metode OCR apa pun, dan mesin menyimpan semua konfigurasi yang menentukan seberapa baik ia dapat **mendeteksi bahasa** nanti. + +--- + +## Ekstrak Teks dari Gambar Menggunakan OCR + +Sekarang kita perlu memberi tahu mesin bahasa apa yang mungkin. Dengan mengatur bit‑mask `ENGLISH | FRENCH` kita mengaktifkan mesin untuk secara otomatis memilih kecocokan terbaik untuk setiap wilayah gambar. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Mengapa ini penting:** Mengaktifkan `auto_detect_language` adalah inti dari **cara mendeteksi bahasa** dalam dokumen bahasa campuran. Mesin memindai teks, memberi skor setiap bahasa, dan mengembalikan yang memiliki kepercayaan tertinggi. Jika Anda melewatkan langkah ini, Anda harus menebak bahasa sendiri, yang menghilangkan tujuan OCR bahasa campuran. + +--- + +## Konfigurasi Pengaturan OCR Bahasa Campuran + +Sebelum kita memberi gambar ke mesin, kita harus memuatnya. Aspose OCR bekerja dengan kelas `Image` miliknya, yang mengabstraksi format file yang mendasarinya. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Tip:** Pertahankan resolusi gambar sekitar 300 dpi untuk hasil terbaik. Resolusi yang lebih rendah dapat menyebabkan deteksi bahasa melewatkan karakter halus, terutama huruf beraksen dalam bahasa Prancis. + +--- + +## Jalankan Proses OCR dan Dapatkan Hasil + +Dengan mesin yang sudah dikonfigurasi dan gambar yang sudah dimuat, kita akhirnya dapat menjalankan proses OCR. Metode `process` mengembalikan objek `OcrResult` yang berisi kode bahasa yang terdeteksi serta teks lengkap yang diekstrak. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Output yang diharapkan** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Jika gambar berisi bagian berbahasa Prancis, Anda akan melihat `FRENCH` sebagai bahasa yang terdeteksi dan teks Prancis yang bersangkutan akan dicetak. + +--- + +## Contoh Gambar (Teks Alt untuk SEO) + +![cara mendeteksi bahasa dalam OCR bahasa campuran gambar](mixed_lang_invoice.png) + +*Cuplikan layar di atas menunjukkan contoh faktur yang berisi teks bahasa Inggris dan Prancis, menggambarkan bagaimana mesin OCR dapat **mendeteksi bahasa** dan mengekstrak kontennya dalam satu langkah.* + +--- + +## Kesalahan Umum dan Pro Tip + +| Masalah | Mengapa Terjadi | Cara Memperbaiki / Mengurangi | +|---------|-----------------|------------------------------| +| **Pemindaian buram atau beresolusi rendah** | Mesin tidak dapat membedakan karakter, sehingga deteksi bahasa menjadi salah. | Pindai dengan ≥300 dpi, terapkan penajaman gambar sebelum OCR. | +| **Bahasa tidak termasuk dalam bit‑mask** | Jika Anda lupa menambahkan bahasa, mesin akan default ke kecocokan pertama, sering menghasilkan hasil tidak akurat. | Selalu cantumkan setiap bahasa yang Anda harapkan; Anda dapat menggabungkan banyak bahasa menggunakan operator `|`. | +| **Skrip campuran (mis., Latin + Cyrillic)** | Aspose OCR mungkin memerlukan paket bahasa terpisah. | Instal paket bahasa tambahan dan tambahkan ke mask. | +| **File besar menyebabkan lonjakan memori** | Memuat gambar berukuran sangat besar ke memori dapat menyebabkan skrip crash. | Gunakan `Image.resize` untuk menurunkan skala sambil mempertahankan DPI, atau proses gambar dalam ubin. | + +**Pro tip:** Setelah Anda mendapatkan teks mentah, jalankan langkah pasca‑pemrosesan singkat untuk menormalkan spasi putih dan pemisah baris. Ini membuat parsing selanjutnya (mis., mengekstrak nomor faktur) jauh lebih sederhana. + +--- + +## Kesimpulan: Apa yang Telah Anda Pelajari + +Anda kini tahu **cara mendeteksi bahasa** dalam gambar bahasa campuran menggunakan Aspose OCR, dan Anda telah melihat contoh lengkap end‑to‑end yang juga menunjukkan **cara mengekstrak teks dari gambar**. Dengan mengonfigurasi bit‑mask bahasa, mengaktifkan deteksi otomatis, dan menangani objek hasil, Anda dapat memproses faktur, struk, atau dokumen apa pun yang mencampur bahasa Inggris dan Prancis (atau bahasa lain) secara andal. + +### Langkah Selanjutnya + +- Coba tambahkan **cara mengekstrak teks** dari PDF dengan mengonversi setiap halaman menjadi gambar terlebih dahulu. +- Eksperimen dengan kata kunci sekunder lainnya: jelajahi seluruh permukaan API **cara menggunakan OCR**, seperti mengatur zona OCR untuk pemrosesan lebih cepat. +- Selami kasus **OCR bahasa campuran** yang lebih kompleks, seperti dokumen yang beralih antara tiga bahasa atau lebih. + +Silakan ubah kode, uji pada gambar Anda sendiri, dan biarkan mesin melakukan pekerjaan berat. Jika Anda mengalami kendala, tinggalkan komentar di bawah—selamat coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/indonesian/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..85870b50 --- /dev/null +++ b/ocr/indonesian/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: Pelajari cara melakukan OCR pada PDF dengan Python dan membuat PDF dapat + dicari dengan cepat. Konversi PDF yang dipindai, ekstrak teks PDF, dan lakukan OCR + pada PDF yang dipindai menggunakan Python dengan Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: id +og_description: Bagaimana cara OCR PDF di Python? Tutorial langkah demi langkah ini + menunjukkan cara mengonversi file PDF yang dipindai menjadi PDF yang dapat dicari + dan mengekstrak teks dengan Aspose OCR. +og_title: Cara OCR PDF dan Membuatnya Dapat Dicari – Panduan Python +tags: +- OCR +- Python +- PDF processing +title: Cara OCR PDF dan Membuatnya Dapat Dicari – Panduan Python +url: /id/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara OCR PDF dan Membuatnya Dapat Dicari – Panduan Python + +Pernah bertanya-tanya **bagaimana cara OCR PDF** tanpa menghabiskan banyak uang untuk perangkat lunak komersial? Anda tidak sendirian. Banyak pengembang mengalami kebuntuan ketika mereka perlu mengubah kontrak yang dipindai, faktur, atau PDF berbasis gambar apa pun menjadi dokumen yang dapat dicari. Kabar baik? Dengan beberapa baris Python dan Aspose OCR Anda dapat mengonversi PDF yang dipindai, mengekstrak teks PDF, dan akhirnya membuat PDF dapat dicari dalam hitungan menit. + +Di tutorial ini kami akan membahas semua yang Anda perlukan: mulai dari menginstal pustaka, mengonfigurasi bahasa, memproses PDF yang dipindai, hingga menyimpan hasilnya sebagai PDF yang dapat dicari yang berisi gambar asli serta lapisan teks tersembunyi. Pada akhir tutorial Anda akan memiliki skrip yang dapat digunakan kembali dan dapat dimasukkan ke proyek apa pun—tanpa perlu menyalin‑tempel secara manual. + +--- + +## Apa yang Anda Butuhkan + +- **Python 3.8+** (kode berfungsi pada 3.9, 3.10, dan yang lebih baru) +- Lisensi **Aspose OCR for Python** yang aktif (versi percobaan gratis dapat digunakan untuk percobaan) +- File PDF yang dipindai (misalnya `scanned_contract.pdf`) yang ingin Anda buat dapat dicari +- Familiaritas dasar dengan baris perintah dan lingkungan virtual (opsional tetapi disarankan) + +> **Pro tip:** Jika Anda belum memiliki lisensi, daftar untuk percobaan 30‑hari di situs web Aspose; versi percobaan berfungsi penuh untuk keperluan pengembangan. + +--- + +## Cara OCR PDF dengan Aspose OCR (Kata Kunci Utama di H2) + +Langkah pertama adalah mendapatkan paket yang tepat. Aspose OCR menyediakan API tingkat tinggi yang bersih yang menyembunyikan detail pemrosesan gambar tingkat rendah. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +Setelah paket terinstal, Anda dapat mulai menulis skrip. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Mengapa mengatur bahasa?** +> Akurasi OCR sangat bergantung pada model bahasa. Dengan secara eksplisit memberi tahu mesin untuk mengharapkan teks bahasa Inggris, Anda mengurangi hasil positif palsu dan mempercepat pemrosesan. + +--- + +## Langkah 2: Mengonversi PDF yang Dipindai menjadi PDF yang Dapat Dicari + +Sekarang mesin sudah siap, arahkan ke dokumen yang dipindai. Metode `process_pdf` mengembalikan objek `PdfResult` yang berisi data gambar asli serta teks yang dikenali. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Jika Anda perlu **mengonversi PDF yang dipindai** secara massal, cukup lakukan loop pada direktori dan panggil `process_pdf` untuk setiap file. Mesin menangani PDF multi‑halaman secara otomatis. + +--- + +## Langkah 3: Menyimpan Hasil sebagai PDF yang Dapat Dicari (Membuat PDF Dapat Dicari) + +Bagian akhir dari proses ini adalah menyimpan versi yang dapat dicari. Aspose OCR membuatnya menjadi satu baris kode: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +Saat Anda membuka `contract_searchable.pdf` di penampil PDF apa pun, Anda akan melihat gambar yang dipindai asli, tetapi kini Anda dapat **mencari kata apa pun** yang dikenali oleh mesin OCR. Lapisan teks tersembunyi tidak terlihat oleh mata namun dapat diindeks sepenuhnya. + +--- + +### Skrip Lengkap – Siap Dijalan + +Berikut adalah contoh lengkap yang dapat dijalankan. Salin‑tempel ke dalam file bernama `make_searchable.py` dan sesuaikan jalur agar cocok dengan lingkungan Anda. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Output yang Diharapkan:** +Menjalankan skrip mencetak baris konfirmasi dan membuat `contract_searchable.pdf`. Buka file, tekan `Ctrl + F`, dan ketik kata apa pun yang muncul di gambar yang dipindai asli—Anda akan melihat kecocokan secara instan. + +--- + +## Pertanyaan Umum & Kasus Tepi + +### 1. Bagaimana jika PDF berisi banyak bahasa? + +Anda dapat mengirimkan daftar bahasa ke mesin: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR akan mencoba mengenali teks dalam kedua bahasa pada halaman yang sama. + +### 2. Bagaimana cara menangani pemindaian beresolusi rendah? + +Jika gambar sumber berada di bawah 150 dpi, akurasi OCR dapat menurun. Pra‑proses PDF dengan alat seperti `pdfimages` untuk mengekstrak halaman, tingkatkan resolusinya dengan Pillow, dan masukkan kembali gambar beresolusi lebih tinggi ke `process_pdf`. + +### 3. Bisakah saya mengekstrak teks polos tanpa membuat PDF yang dapat dicari? + +Tentu saja. Objek `PdfResult` menyediakan properti `text`: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Ini memenuhi kebutuhan **extract text pdf** ketika Anda hanya memerlukan karakter mentah. + +### 4. Apakah ada cara untuk memproses batch folder PDF? + +Ya—bungkus fungsi `ocr_to_searchable` dalam loop sederhana: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Sekarang Anda dapat **mengonversi pdf yang dipindai** secara massal dengan satu perintah. + +--- + +## Tips Kinerja + +- **Gunakan kembali mesin**: Membuat `OcrEngine` baru untuk setiap file menambah overhead. Instansiasi sekali dan gunakan kembali pada beberapa pemanggilan. +- **Pemrosesan paralel**: Untuk batch besar, pertimbangkan `concurrent.futures.ThreadPoolExecutor` di Python—Aspose OCR aman untuk thread pada operasi baca‑saja. +- **Manajemen memori**: Jika Anda memproses PDF sangat besar (ratusan halaman), panggil `gc.collect()` setelah setiap file untuk membebaskan memori. + +--- + +## Kesimpulan + +Kami telah membahas **bagaimana cara OCR PDF** dalam Python, mengubah pemindaian tersebut menjadi **PDF yang dapat dicari**, dan bahkan menunjukkan cara **extract text PDF** secara langsung. Dengan Aspose OCR Anda mendapatkan mesin yang handal yang menangani dokumen multi‑halaman, banyak bahasa, dan pengenalan akurasi tinggi—semua dengan hanya beberapa baris kode. + +Cobalah pada kontrak, faktur, atau makalah riset arsip Anda sendiri. Setelah Anda menguasai dasar-dasarnya, bereksperimenlah dengan fitur lanjutan—seperti kamus khusus, pra‑pemrosesan gambar, atau mengintegrasikan output ke dalam indeks pencarian teks lengkap seperti Elasticsearch. + +Punya pertanyaan lebih lanjut tentang **ocr scanned pdf python** atau membutuhkan bantuan memecahkan masalah pemindaian yang rumit? Tinggalkan komentar di bawah, dan selamat coding! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="how to ocr pdf example"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/indonesian/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..1a19df5b --- /dev/null +++ b/ocr/indonesian/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-12 +description: Cara melakukan OCR dengan cepat dan akurat. Pelajari cara menjalankan + OCR pada dokumen, mengekstrak teks dari TIFF, memuat gambar untuk OCR, dan mengatur + bahasa OCR di Python. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: id +og_description: Cara melakukan OCR di Python. Tutorial ini menunjukkan cara menjalankan + OCR pada dokumen, mengekstrak teks dari tiff, memuat gambar untuk OCR, dan mengatur + bahasa OCR. +og_title: Cara Melakukan OCR pada Dokumen TIFF – Panduan Lengkap +tags: +- OCR +- Python +- Image Processing +title: Cara Melakukan OCR pada Dokumen TIFF – Panduan Langkah demi Langkah +url: /id/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara Melakukan OCR pada Dokumen TIFF – Panduan Lengkap + +Pernah bertanya-tanya **bagaimana melakukan OCR** pada file TIFF yang dipindai tanpa menghabiskan berjam‑jam mencari pustaka yang tepat? Anda tidak sendirian. Banyak pengembang menemui kendala ketika harus mengekstrak teks dari gambar TIFF, terutama ketika kinerja dan pengaturan bahasa penting. + +Dalam tutorial ini kami akan membahas semua yang perlu Anda ketahui: mulai dari menginstal paket OCR, memuat gambar untuk OCR, mengatur bahasa OCR, hingga akhirnya **menjalankan OCR pada dokumen** dan mendapatkan teks bersih. Pada akhir tutorial Anda akan memiliki skrip siap‑jalankan yang dapat Anda sisipkan ke proyek mana pun. + +> **Tip pro:** Meskipun contoh ini menggunakan modul `ocr` generik, konsep yang sama berlaku untuk Tesseract, EasyOCR, atau mesin OCR modern apa pun yang menyediakan API Python. + +--- + +## Apa yang Anda Butuhkan + +- Python 3.8+ (versi terbaru apa pun) +- Pustaka OCR yang menyediakan kelas `OcrEngine` (contoh menggunakan paket fiktif `ocr`; ganti dengan paket yang Anda pakai) +- File TIFF multi‑halaman yang ingin diproses (kami sebut `big_document.tif`) +- Mesin dengan setidaknya 4 core CPU jika Anda berencana mengatur jumlah thread + +Tanpa layanan eksternal, tanpa kunci cloud—hanya kode lokal yang berjalan dalam hitungan detik. + +--- + +![contoh cara melakukan ocr](/images/ocr-example.png "cara melakukan OCR pada dokumen TIFF") + +*Teks alt gambar: cara melakukan OCR pada dokumen TIFF – pratinjau teks yang diekstrak.* + +--- + +## Langkah 1: Instal dan Impor Pustaka OCR + +Hal pertama yang harus dilakukan: dapatkan pustaka ke mesin Anda. Kebanyakan paket OCR tersedia di PyPI, jadi cukup `pip install` saja. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Sekarang impor kelas‑kelas yang Anda perlukan. Jika Anda menggunakan Tesseract, baris impor akan berbeda, tetapi sisa kode tetap sama. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Mengapa ini penting:* Mengimpor simbol yang tepat di awal mencegah bentrok namespace di kemudian hari dan membuat skrip lebih mudah dibaca. + +--- + +## Langkah 2: Buat dan Konfigurasikan Mesin OCR (Set OCR Language) + +Mengonfigurasi mesin adalah tempat Anda **mengatur bahasa OCR** untuk pengenalan yang akurat. Bahasa Inggris adalah default, tetapi Anda dapat beralih ke Prancis, Jerman, atau bahkan mode multibahasa dengan satu baris kode. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Mengapa 4 thread?** Kebanyakan laptop modern memiliki setidaknya empat core, dan membatasi jumlah thread mencegah proses OCR memonopoli seluruh mesin—terutama berguna saat skrip dijalankan di server bersama. + +Jika Anda memerlukan bahasa lain, cukup ganti `ocr.Language.ENGLISH` dengan `ocr.Language.FRENCH`, `ocr.Language.SPANISH`, dll. + +--- + +## Langkah 3: Muat Gambar untuk OCR (Load Image for OCR) + +Sekarang kita **memuat gambar untuk OCR**. Metode `Image.load` membaca file TIFF ke memori, menangani dokumen multi‑halaman secara otomatis. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Kasus tepi:* Jika file sangat besar, Anda mungkin kehabisan RAM. Dalam situasi tersebut, pertimbangkan memuat satu halaman pada satu waktu dengan `Image.load_page(page_number)` (jika pustaka mendukungnya). + +--- + +## Langkah 4: Jalankan OCR pada Dokumen + +Dengan mesin siap dan gambar sudah dimuat, saatnya **menjalankan OCR pada dokumen**. Metode `process` melakukan pekerjaan berat dan mengembalikan objek hasil. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +Di balik layar mesin membagi gambar menjadi blok‑blok teks, menjalankan model pengenalan, dan menyatukan hasilnya. Pemanggilan ini bersifat blocking, artinya skrip menunggu hingga seluruh TIFF selesai diproses—ideal untuk pekerjaan batch. + +--- + +## Langkah 5: Ekstrak Teks dari TIFF dan Verifikasi Output + +Akhirnya, kita **mengekstrak teks dari TIFF** dengan mengakses atribut `text` dari hasil. Mari cetak 200 karakter pertama sebagai pemeriksaan cepat. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Output yang diharapkan (contoh):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Jika Anda memerlukan teks lengkap, cukup gunakan `ocr_result.text`. Untuk pemrosesan lanjutan, Anda mungkin ingin menuliskannya ke file `.txt`: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## Contoh Skrip Lengkap yang Siap Jalankan + +Menggabungkan semuanya, berikut skrip siap‑jalankan. Ganti nama paket placeholder dengan paket yang sebenarnya Anda instal. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Jalankan skrip dengan: + +```bash +python ocr_tiff_example.py +``` + +Anda akan melihat pratinjau tercetak di konsol dan sebuah file bernama `extracted_text.txt` yang berisi transkripsi lengkap. + +--- + +## Pertanyaan Umum & Kasus Tepi + +- **Bagaimana jika TIFF berisi banyak halaman?** + Kebanyakan mesin OCR memperlakukan setiap halaman sebagai gambar terpisah secara internal. `ocr_result.text` akan berisi baris baru di antara halaman. Jika Anda memerlukan penanganan per‑halaman, iterasikan dengan `Image.load_page(page_number)`. + +- **Bisakah saya memproses PNG atau JPEG alih‑alih TIFF?** + Tentu saja. Metode `Image.load` biasanya menerima format apa pun yang didukung oleh Pillow atau pustaka di bawahnya. Cukup ubah ekstensi file. + +- **Teks saya berantakan—apakah saya harus mengubah bahasa?** + Ya. Langkah **set OCR language** sangat penting untuk dokumen non‑Inggris. Pastikan paket bahasa sudah terpasang (misalnya `tesseract‑lang‑fra` untuk bahasa Prancis). + +- **Kehabisan memori?** + Kurangi `set_memory_limit` atau proses halaman satu‑per‑satu. Beberapa mesin juga memungkinkan Anda menurunkan skala gambar sebelum pengenalan. + +--- + +## Kesimpulan + +Itulah panduan singkat dan lengkap tentang **cara melakukan OCR** pada file TIFF menggunakan Python. Kami telah membahas semua mulai dari instalasi pustaka, konfigurasi mesin (termasuk **set OCR language**), **load image for OCR**, **run OCR on document**, hingga **extract text from tiff**. + +Silakan bereksperimen: ubah jumlah thread, ganti bahasa, atau alirkan output OCR ke pipeline pemrosesan bahasa alami. Langit adalah batasnya setelah Anda menguasai dasar‑dasarnya. + +Masih ada pertanyaan? Tinggalkan komentar di bawah, dan selamat coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/indonesian/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..351e4036 --- /dev/null +++ b/ocr/indonesian/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,180 @@ +--- +category: general +date: 2026-01-12 +description: cara mengatur bahasa di Aspose OCR Python dan mengekstrak teks dari gambar + menggunakan kamus khusus. tutorial langkah demi langkah untuk pengembang. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: id +og_description: cara mengatur bahasa di Aspose OCR Python dan mengekstrak teks dari + gambar dengan kamus khusus. pelajari alur kerja lengkap dalam hitungan menit. +og_title: cara mengatur bahasa di Aspose OCR Python – Panduan Lengkap +tags: +- OCR +- Python +- Aspose +- Image Processing +title: cara mengatur bahasa di Aspose OCR Python – Panduan Lengkap +url: /id/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# cara mengatur bahasa di Aspose OCR Python – Panduan Lengkap + +Pernah bertanya-tanya **cara mengatur bahasa** saat menggunakan Aspose OCR di Python? Anda tidak sendirian—banyak pengembang mengalami masalah ini ketika model bahasa Inggris default tidak mengenali kode produk, nomor seri, atau teks multibahasa. Kabar baiknya, solusinya sederhana namun kuat. Dalam tutorial ini kami akan membahas cara mengonfigurasi bahasa, menambahkan kamus khusus, mengekstrak teks dari gambar, dan akhirnya memproses gambar untuk hasil OCR terbaik. + +Kami akan mencakup semua yang perlu Anda ketahui: mulai dari menginstal pustaka hingga menjalankan contoh lengkap yang mencetak teks yang diekstrak. Pada akhir tutorial Anda akan dapat **mengekstrak teks dari file gambar** dengan percaya diri, bahkan ketika kontennya mencakup kode tidak biasa atau bahasa campuran. + +## Prasyarat + +Sebelum kita mulai, pastikan Anda memiliki: + +* Python 3.8+ terinstal (kode menggunakan f‑strings, jadi versi lebih lama tidak akan berfungsi). +* Lisensi Aspose OCR untuk Python yang aktif atau kunci percobaan gratis. +* Paket `asposeocr` terinstal melalui `pip install asposeocr`. +* Gambar contoh (`product_label.png`) yang berisi teks yang ingin Anda baca. + +Jika semua sudah ada, bagus—mari lanjutkan. Jika belum, dapatkan percobaan gratis dari situs web Aspose dan jalankan perintah instalasi; hanya memerlukan satu menit. + +## Langkah 1: Impor modul Aspose OCR + +Hal pertama yang harus Anda lakukan adalah membawa kelas OCR ke dalam skrip Anda. Ini adalah fondasi untuk **cara mengatur bahasa** selanjutnya. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Pro tip:** Simpan semua impor di bagian atas file. Ini membuat skrip lebih mudah dipindai, terutama ketika Anda kembali ke kode nanti. + +## Langkah 2: Cara mengatur bahasa + +Secara default, Aspose OCR mengasumsikan bahasa Inggris. Jika gambar Anda berisi bahasa Prancis, Jerman, atau bahasa lain, Anda perlu memberi tahu mesin bahasa mana yang akan digunakan. Di sinilah kata kunci utama berperan. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Mengapa ini penting? Mesin OCR mengandalkan model karakter spesifik bahasa. Menyediakan bahasa yang tepat meningkatkan akurasi secara dramatis—terutama untuk karakter beraksen atau ligatur khusus bahasa. + +> **Catatan:** Jika Anda perlu mendukung beberapa bahasa secara bersamaan, Anda dapat memberikan daftar seperti `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## Langkah 3: Cara menambahkan kamus (kata‑kata yang didefinisikan pengguna) + +Kadang‑kadang mesin OCR salah membaca kode produk seperti “AB‑1234”. Anda dapat meningkatkan kepercayaan dengan memberi kamus khusus. Ini secara langsung menjawab **cara menambahkan kamus** di Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +Mesin memperlakukan kata‑kata ini sebagai “dikenal” dan akan memberi prioritas pada mereka dibandingkan karakter yang mirip. Ini sangat berguna untuk nomor SKU, kode seri, atau merek yang tidak termasuk dalam bahasa alami. + +## Langkah 4: Cara memproses gambar + +Setelah mesin dikonfigurasi, Anda perlu memuat gambar yang ingin dianalisis. Ini menjawab **cara memproses gambar** dengan cara yang bersih dan dapat diulang. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +Jika Anda bekerja dengan PDF, Anda dapat mengonversi setiap halaman menjadi gambar terlebih dahulu—Aspose OCR mendukung hal itu secara langsung. + +## Langkah 5: Cara mengekstrak teks dari gambar + +Dengan semua pengaturan selesai, langkah terakhir adalah menjalankan OCR dan mengambil teksnya. Inilah inti dari **cara mengekstrak teks** dari sebuah gambar. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +Saat Anda menjalankan skrip, Anda akan melihat sesuatu seperti: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Jika output terlihat berantakan, periksa kembali bahwa Anda telah mengatur bahasa yang benar dan kamus khusus Anda berisi string yang tepat. + +## Contoh Kerja Lengkap + +Menggabungkan semuanya, berikut skrip lengkap yang dapat Anda salin‑tempel ke dalam file bernama `extract_label.py`. Pastikan mengganti `YOUR_DIRECTORY` dengan jalur sebenarnya ke gambar Anda. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Output yang Diharapkan + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Jika Anda melihat kode yang tepat yang Anda tambahkan ke kamus, berarti Anda telah berhasil menguasai **cara mengatur bahasa**, **cara menambahkan kamus**, dan **cara mengekstrak teks dari gambar** menggunakan Aspose OCR. + +## Menangani Kasus Edge Umum + +| Situasi | Apa yang Harus Dilakukan | +|-----------|------------| +| **Gambar blur** | Lakukan pra‑pemrosesan dengan `ocr.Image.apply_filter()` untuk menajamkan sebelum memanggil `process()`. | +| **Beberapa bahasa dalam satu gambar** | Atur `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **PDF besar** | Loop melalui setiap halaman, konversi ke `ocr.Image`, dan panggil `process()` per halaman. | +| **Karakter tak terduga** | Tambahkan ke daftar kata‑kata yang didefinisikan pengguna; Aspose OCR memperlakukannya sebagai token berkepercayaan tinggi. | + +Tips ini menjaga pipeline OCR Anda tetap kuat, bahkan ketika input tidak sempurna. + +## Referensi Visual + +![cara mengatur bahasa dalam contoh Aspose OCR](image.png "Tangkapan layar yang menunjukkan cara mengatur bahasa dalam contoh Aspose OCR Python") + +*Alt text:* **cara mengatur bahasa** tangkapan layar yang menggambarkan penetapan properti bahasa di IDE Python. + +## Kesimpulan + +Anda kini tahu **cara mengatur bahasa** di Aspose OCR Python, cara **menambahkan kamus** entri, dan langkah‑langkah tepat untuk **mengekstrak teks dari gambar** serta **memproses gambar** untuk hasil optimal. Contoh lengkap di atas dapat dimasukkan ke proyek apa pun, disesuaikan untuk bahasa berbeda, dan diperluas untuk pemrosesan batch atau input PDF. + +Siap untuk tantangan berikutnya? Coba ganti `ocr.Language.ENGLISH` dengan `ocr.Language.FRENCH` dan amati peningkatan akurasi pada label berbahasa Prancis. Atau bereksperimen dengan metode `set_user_defined_words` untuk memasukkan seluruh katalog produk—mesin OCR Anda akan memperlakukan setiap entri sebagai kecocokan berkepercayaan tinggi. + +Selamat coding, semoga hasil OCR Anda selalu jernih! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/indonesian/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..f48b5d20 --- /dev/null +++ b/ocr/indonesian/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-01-12 +description: Proses catatan tulisan tangan di Python menggunakan Aspose OCR – pelajari + cara mengekstrak teks dari gambar jpg dengan cepat. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: id +og_description: Proses catatan tulisan tangan di Python dengan Aspose OCR. Pelajari + cara mengekstrak teks dari gambar jpg, mengenali OCR tulisan tangan, dan memuat + gambar untuk OCR. +og_title: Proses Catatan Tertulis Tangan dengan Python – Tutorial OCR Lengkap +tags: +- OCR +- Python +- Aspose +title: Proses Catatan Tertulis Tangan dengan Python – Panduan OCR Tertulis Tangan +url: /id/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Proses Catatan Tulis Tangan dengan Python – Panduan OCR Tulis Tangan + +Jika Anda perlu **memproses catatan tulisan tangan** dengan Python, panduan ini menunjukkan secara tepat caranya. Baik catatan tersebut berada pada struk yang dipindai, foto papan tulis kelas, atau selfie cepat dari daftar tugas, Anda akan belajar **cara mengekstrak teks** dari gambar-gambar tersebut tanpa kesulitan. + +Kami akan membahas setiap langkah—mengimpor pustaka Aspose OCR, memuat JPG, menjalankan mesin, dan menangani baris dengan kepercayaan rendah. Pada akhir panduan Anda akan memiliki skrip siap‑jalankan yang dapat **mengenali teks dari jpg** file dan memberikan string bersih yang dapat ditindaklanjuti. + +## Apa yang Akan Anda Dapatkan + +- Contoh kode lengkap yang dapat dijalankan dan berfungsi langsung. +- Pemahaman mengapa setiap baris penting, bukan hanya apa yang dilakukannya. +- Tips untuk menangani tulisan tangan yang goyah dan hasil dengan kepercayaan rendah. +- Panduan memperluas skrip untuk PDF, banyak gambar, atau paket bahasa khusus. + +*Prasyarat*: Python 3.8+ terpasang, lisensi Aspose OCR yang valid (atau percobaan gratis), dan file gambar bernama `handwritten_notes.jpg` di folder proyek Anda. + +--- + +![Contoh proses catatan tulisan tangan](https://example.com/handwritten-notes.png "proses catatan tulisan tangan") + +*Teks alternatif: proses catatan tulisan tangan – contoh gambar menampilkan teks tulisan tangan siap untuk OCR.* + +## Proses Catatan Tulis Tangan: Menyiapkan Mesin OCR + +### Mengapa langkah ini penting +Mesin OCR adalah otak di balik proses pengenalan. Memilih bahasa yang tepat dan menginisialisasi objek dengan benar memastikan mesin mengetahui bahwa ia harus mencari karakter Bahasa Inggris dan dapat menangani keunikan tulisan tangan. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Tip pro:** Jika Anda memperkirakan catatan dalam bahasa lain, ganti `ocr.Language.ENGLISH` dengan enum yang sesuai (mis., `ocr.Language.FRENCH`). Mesin akan secara otomatis memuat set karakter yang diperlukan. + +--- + +## Cara Mengekstrak Teks dari Gambar JPG + +### Memuat gambar – hambatan pertama +Sebelum mesin dapat melakukan apa pun, ia memerlukan representasi bitmap dari JPG Anda. Aspose menyediakan metode statis `load` yang nyaman yang membaca file ke dalam objek `Image`. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Mengapa tidak menggunakan OpenCV atau Pillow?* +Perpustakaan tersebut bagus untuk pra‑pemrosesan, tetapi `Image.load` milik Aspose menjamin format piksel yang tepat yang diharapkan mesin OCR, menghilangkan sumber umum kedalaman warna yang tidak cocok. + +--- + +## Mengenali Teks dari JPG dengan Handwritten OCR Python + +### Menjalankan mesin OCR +Sekarang mesin dan gambar siap, kami memulai proses pengenalan. Metode `process` mengembalikan objek `OcrResult` yang berisi daftar objek `Line`, masing‑masing dengan skor kepercayaan mereka. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**Apa yang terjadi di balik layar?** +Aspose OCR menjalankan model deep‑learning yang dilatih pada jutaan contoh tulisan tangan. Ia memsegmentasi gambar menjadi baris, kemudian karakter, dan akhirnya menyusun string teks yang paling mungkin untuk setiap baris. + +--- + +## Memuat Gambar untuk OCR – Menangani Hasil dengan Kepercayaan Rendah + +### Mengapa Anda harus peduli dengan kepercayaan +OCR tulisan tangan tidak pernah 100 % sempurna. Skor kepercayaan di bawah 75 % biasanya berarti mesin kesulitan dengan urutan goresan atau noise latar belakang. Dengan memfilter baris‑baris tersebut, Anda dapat memutuskan apakah akan meminta pengguna memverifikasi atau menerapkan pra‑pemrosesan gambar tambahan. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Output tipikal** (hasil Anda akan bervariasi): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Perhatikan bagaimana skrip dengan bersih memisahkan teks yang dapat diandalkan dari bagian yang goyah. Anda dapat kemudian memasukkan baris dengan kepercayaan rendah ke proses kedua dengan filter peningkatan gambar (mis., peningkatan kontras) atau menampilkannya kepada peninjau manusia. + +--- + +## Skrip Lengkap – Siap Dijalan + +Berikut seluruh program, siap untuk disalin‑tempel. Simpan sebagai `handwritten_ocr.py` dan jalankan `python handwritten_ocr.py`. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Expected behavior:** +- Skrip mencetak setiap baris dengan persentase kepercayaannya. +- Baris di atas 75 % muncul sebagai “Accepted”, sementara sisanya ditandai untuk ditinjau. +- Tidak ada dependensi tambahan yang diperlukan selain `asposeocr`. + +--- + +## Pertanyaan Umum & Kasus Tepi + +### Bagaimana jika gambar saya PNG atau BMP? +Aspose OCR secara otomatis mendeteksi formatnya, jadi Anda cukup mengubah ekstensi file di `image_path`. Tidak perlu mengubah kode. + +### Tulisan tangan saya sangat berantakan—bagaimana saya dapat meningkatkan akurasi? +1. **Pra‑proses gambar** – tingkatkan kontras, hapus bayangan latar belakang (OpenCV dapat membantu). +2. **Tingkatkan ambang kepercayaan** – setel ke 80 % jika Anda hanya menginginkan baris yang hampir sempurna. +3. **Latih model khusus** – Aspose menawarkan fitur “custom language pack” untuk gaya tulisan tangan khusus. + +### Bisakah saya memproses banyak gambar dalam satu kali jalankan? +Tentu saja. Bungkus langkah pemuatan dan pemrosesan dalam loop `for` atas daftar jalur file. Ingat untuk menggunakan kembali instance `ocr_engine` yang sama demi kecepatan. + +### Apakah ini bekerja di macOS/Linux? +Ya. Aspose OCR menyediakan wheels untuk semua platform utama. Cukup `pip install asposeocr` dan Anda siap. + +--- + +## Langkah Selanjutnya & Topik Terkait + +- **Cara mengekstrak teks dari PDF** – setelah Anda memiliki pipeline OCR, memasukkan halaman PDF ke `ocr.Image.load` hanya memerlukan satu baris perubahan. +- **Integrasi dengan basis data** – simpan setiap baris yang diterima di SQLite atau PostgreSQL untuk catatan yang dapat dicari. +- **OCR waktu nyata di seluler** – padukan skrip ini dengan Flask atau FastAPI untuk mengekspos endpoint REST yang dapat dipanggil aplikasi seluler. + +Setiap ekstensi ini dibangun di atas konsep inti yang kami bahas: **process handwritten notes**, **how to extract text**, **recognize text from jpg**, dan **load image for OCR**. + +## Kesimpulan + +Anda kini memiliki solusi menyeluruh untuk **process handwritten notes** menggunakan Python dan Aspose OCR. Panduan ini meliputi penyiapan mesin, memuat JPG, menjalankan pengenalan, dan menangani hasil dengan kepercayaan rendah—semua dalam satu skrip yang dapat disalin‑tempel. + +Dari sini, coba berbagai teknik pra‑pemrosesan gambar, tingkatkan ambang kepercayaan, atau skalakan solusi untuk memproses ratusan catatan secara batch. Langit adalah batasnya, dan kode yang baru Anda pelajari adalah landasan peluncuran Anda. + +*Selamat coding, semoga catatan tulisan tangan Anda akhirnya menjadi teks yang dapat dicari!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/indonesian/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..46f44d17 --- /dev/null +++ b/ocr/indonesian/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-12 +description: Tutorial OCR Python yang menunjukkan cara mengekstrak teks tabel dari + gambar. Pelajari cara membaca tabel dari gambar dan mengekstrak teks yang dipilih + dengan Aspose OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: id +og_description: Tutorial OCR Python yang mengajarkan cara mengekstrak teks tabel dari + gambar, membaca tabel dari gambar, dan mengekstrak teks terpilih menggunakan Aspose + OCR. +og_title: 'Tutorial OCR Python: Ekstrak Teks Tabel dari Gambar' +tags: +- OCR +- Python +- AsposeOCR +title: 'Tutorial OCR Python: Ekstrak Teks Tabel dari Gambar' +url: /id/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tutorial OCR Python: Ekstrak Teks Tabel dari Gambar + +Pernah membutuhkan **python ocr tutorial** yang benar‑benar menunjukkan cara mengambil tabel dari formulir yang dipindai? Anda tidak sendirian. Kebanyakan tutorial berhenti pada ekstraksi teks umum, meninggalkan Anda menebak cara mengisolasi grid data rapi yang Anda butuhkan. + +Dalam panduan ini kami akan membahas skenario dunia nyata: membaca tabel dari gambar, mengekstrak hanya teks terpilih yang Anda perlukan, dan akhirnya mencetak hasilnya. Sepanjang jalan kami akan menyelipkan tips tentang **cara mengekstrak tabel** secara andal, sehingga Anda tidak perlu menciptakan kembali roda setiap kali. + +## Apa yang Akan Anda Pelajari + +- Cara menyiapkan Aspose OCR untuk Python. +- Cara mendefinisikan wilayah persegi panjang yang berisi tabel. +- Langkah‑langkah tepat untuk **mengekstrak teks tabel** dan **membaca tabel dari gambar**. +- Tips menangani banyak bahasa atau tata letak tabel yang tidak teratur. +- Skrip lengkap yang dapat dijalankan dan langsung Anda gunakan dalam proyek hari ini. + +**Prasyarat** +- Python 3.8 atau lebih baru. +- Familiaritas dasar dengan konsep OCR (tidak memerlukan keahlian mendalam). +- Gambar PNG atau JPEG yang berisi tabel jelas (kami sebut `form_with_table.png`). + +Jika Anda sudah memiliki semua itu, mari mulai—tanpa basa‑basi, hanya kode yang dapat langsung dipakai. + +![python ocr tutorial example of table region](table_region_example.png){alt="contoh tutorial ocr python yang menunjukkan wilayah tabel"} + +## Langkah 1: Instal dan Impor Aspose OCR + +Langkah pertama: Anda memerlukan pustaka Aspose OCR. Paketnya ada di PyPI, jadi satu perintah `pip` sudah cukup. + +```bash +pip install aspose-ocr +``` + +Sekarang impor modul dan helper apa pun yang Anda perlukan. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro tip:* Simpan dependensi Anda dalam file `requirements.txt`. Ini memudahkan reproduksi lingkungan. + +## Langkah 2: Inisialisasi Mesin OCR (Inti Tutorial OCR Python) + +Membuat mesin adalah inti dari setiap **python ocr tutorial**. Di sini kami juga menetapkan bahasa default ke Inggris—silakan ganti nanti bila perlu. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Mengapa mengatur bahasa? Akurasi OCR dapat meningkat drastis ketika mesin tahu karakter apa yang diharapkan. Jika Anda menangani formulir multibahasa, Anda dapat menetapkan daftar bahasa atau menimpa per wilayah (lihat nanti). + +## Langkah 3: Muat Gambar Anda + +Aspose OCR bekerja dengan sebagian besar format gambar umum. Cukup arahkan ke jalur file, dan Anda akan mendapatkan objek `Image` yang siap diproses. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Kasus khusus:* Gambar besar (lebih dari 5 MB) dapat memperlambat proses. Pertimbangkan untuk mengubah ukuran atau mengompresnya sebelum OCR jika kinerja menjadi masalah. + +## Langkah 4: Definisikan Wilayah Tabel (Baca Tabel dari Gambar) + +Sekarang bagian yang menyenangkan: memberi tahu mesin *di mana* tabel berada. Anda menyediakan `OcrRegion` dengan `Rectangle` (x, y, lebar, tinggi). Koordinatnya berbasis piksel, jadi Anda mungkin perlu bereksperimen sedikit. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Mengapa memakai wilayah? Dengan membatasi OCR pada area tabel, kami **mengekstrak teks terpilih** lebih cepat dan menghindari noise dari label atau grafik di sekitarnya. Ini juga meningkatkan akurasi karena mesin dapat fokus pada tata letak yang seragam. + +## Langkah 5: Jalankan OCR pada Wilayah yang Didefinisikan + +Setelah wilayah ditetapkan, panggil `process_region`. Metode ini mengembalikan objek `OcrResult` yang berisi teks mentah, skor kepercayaan, dan bahkan kotak pembatas jika Anda membutuhkannya nanti. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +Jika Anda perlu mengekstrak beberapa tabel, cukup ulangi Langkah 4‑5 dengan persegi panjang yang berbeda. + +## Langkah 6: Keluarkan Teks Tabel yang Diekstrak + +Akhirnya, cetak—atau simpan—representasi teks tabel. Aspose OCR mengembalikan teks polos dengan jeda baris yang biasanya selaras dengan baris tabel, sehingga pasca‑pemrosesan menjadi mudah. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Output yang diharapkan** (contoh): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +Anda kini dapat mengalirkan string ini ke parser `csv`, DataFrame pandas, atau pipeline analitik lainnya. + +## Contoh Lengkap yang Berfungsi + +Menggabungkan semuanya, berikut skrip lengkap yang dapat Anda jalankan segera. Ganti `YOUR_DIRECTORY/form_with_table.png` dengan jalur sebenarnya ke gambar Anda. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Jalankan skrip dengan `python extract_table.py`. Jika semuanya cocok, Anda akan melihat tabel tercetak di konsol. + +## Pertanyaan Umum & Penanganan Kasus Khusus + +**Bagaimana jika tabel tidak berbentuk persegi panjang sempurna?** +Anda dapat membagi tabel menjadi beberapa wilayah yang tumpang tindih atau menggunakan persegi panjang yang lebih besar mencakup seluruh area, lalu melakukan pasca‑pemrosesan teks (misalnya, memisahkan berdasarkan jeda baris). + +**Bisakah saya mengekstrak hanya kolom tertentu?** +Setelah Anda memiliki teks tabel lengkap, gunakan `csv` atau `pandas` di Python untuk memotong kolom yang Anda butuhkan. Langkah OCR sendiri mengembalikan semua yang berada dalam persegi panjang. + +**Bagaimana cara menangani tabel non‑Inggris?** +Setel `ocr_engine.language` (atau `region.language`) ke enum yang sesuai, seperti `ocr.Language.FRENCH` atau gabungkan beberapa bahasa menggunakan `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**Apakah ada cara mendapatkan kotak pembatas untuk setiap sel?** +Aspose OCR dapat mengembalikan `region_result.words` di mana setiap kata menyertakan kotak pembatas. Anda perlu memetakan kotak‑kotak tersebut kembali ke grid—berguna untuk analisis tata letak lanjutan. + +## Tips untuk Akurasi Lebih Baik + +- **Bersihkan gambar**: Binarisasi atau tingkatkan kontras sebelum memberi ke OCR. Pustaka seperti Pillow dapat membantu. +- **Hindari artefak kompresi**: Simpan hasil pemindaian sebagai PNG bila memungkinkan. +- **Perhatikan DPI**: 300 dpi adalah titik optimal; nilai lebih rendah dapat menyebabkan karakter terlewat. +- **Uji ukuran persegi panjang yang berbeda**: Persegi panjang sedikit lebih besar sering menangkap karakter stray yang sebenarnya bagian dari tabel. + +## Langkah Selanjutnya + +Setelah Anda menguasai **cara mengekstrak tabel** dengan Aspose OCR, Anda dapat menjelajahi: + +- Mengonversi teks yang diekstrak menjadi file CSV dengan modul `csv` Python. +- Memasukkan data ke dalam **pandas** DataFrame untuk analisis. +- Menggunakan OCR untuk membaca formulir tulisan tangan (memerlukan mesin berbeda atau pelatihan tambahan). +- Mengotomatiskan pemrosesan batch puluhan formulir yang dipindai menggunakan loop `for` sederhana. + +Setiap ekstensi ini dibangun di atas konsep inti yang dibahas dalam **python ocr tutorial** ini, sehingga Anda siap untuk menskalakan solusi. + +--- + +*Selamat coding! Jika Anda menemui kendala, tinggalkan komentar di bawah—saya akan dengan senang hati membantu menyempurnakan proses ekstraksi Anda.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/indonesian/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..a5ab1d51 --- /dev/null +++ b/ocr/indonesian/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,285 @@ +--- +category: general +date: 2026-01-12 +description: Jalankan OCR pada file PNG dengan cepat menggunakan Python. Pelajari + cara mengekstrak teks dari gambar dan faktur, serta memuat gambar untuk OCR menggunakan + Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: id +og_description: Jalankan OCR pada PNG secara instan. Panduan ini menunjukkan cara + mengekstrak teks dari gambar dan faktur, memuat gambar untuk OCR, dan menyimpan + hasil sebagai JSON dan CSV. +og_title: Jalankan OCR pada PNG – Tutorial Python Lengkap +tags: +- OCR +- Python +- Image Processing +title: Jalankan OCR pada PNG – Panduan Python Lengkap untuk Mengekstrak Teks dari + Gambar +url: /id/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jalankan OCR pada PNG – Panduan Python Lengkap untuk Mengekstrak Teks dari Gambar + +Pernah membutuhkan untuk **run OCR on PNG** tetapi tidak yakin pustaka mana yang akan memberikan hasil bersih dan terstruktur? Anda tidak sendirian. Dalam banyak proyek dunia‑nyata—misalnya otomatisasi faktur atau pemindaian struk—langkah pertama adalah **extract text from image** dari file gambar, dan PNG adalah format umum karena mempertahankan kualitas lossless. + +Dalam tutorial ini kami akan membimbing Anda melalui contoh praktis menggunakan paket Aspose.OCR Python. Pada akhir panduan Anda akan tahu cara **load image for OCR**, mengambil setiap baris teks, mengubah data tersebut menjadi objek JSON yang rapi, dan bahkan mengekspornya ke CSV untuk pemrosesan lanjutan. Tanpa basa‑basi, hanya solusi praktis yang siap dijalankan. + +## Apa yang Akan Anda Pelajari + +- Cara menginstal dan mengimpor pustaka Aspose.OCR. +- Langkah‑langkah tepat untuk **run OCR on PNG** dan menangani objek hasil. +- Cara **extract text from invoice** dan memformat output sebagai JSON atau CSV. +- Tips menangani gambar dengan kontras rendah, dokumen multibahasa, dan skor kepercayaan. +- Contoh kode lengkap yang dapat Anda salin‑tempel dan jalankan hari ini. + +> **Prerequisite:** Python 3.8+ dan pemahaman dasar tentang pip. Jika Anda belum pernah menggunakan Aspose sebelumnya, jangan khawatir—panduan ini mencakup semua yang Anda perlukan untuk memulai. + +--- + +## Langkah 1 – Instal Aspose.OCR dan Siapkan Lingkungan Anda + +Sebelum kita dapat **run OCR on PNG**, pustaka harus sudah terpasang di sistem Anda. + +```bash +pip install aspose-ocr +``` + +> **Pro tip:** Gunakan lingkungan virtual (`python -m venv venv`) untuk menjaga dependensi terisolasi. Ini mencegah bentrok versi jika Anda mengelola banyak proyek. + +Setelah terinstal, impor modul‑modul yang diperlukan: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Di sini kami mengimpor `asposeocr` untuk melakukan pekerjaan berat dan pustaka bawaan `json` untuk serialisasi selanjutnya. + +--- + +## Langkah 2 – Buat Mesin OCR dan Atur Bahasa + +Mesin OCR adalah komponen inti yang benar‑benar membaca piksel. Untuk kebanyakan faktur berbahasa Inggris, Anda akan membutuhkan paket bahasa Inggris: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Why this matters:** Menentukan bahasa mempersempit set karakter, yang meningkatkan akurasi dan mempercepat pemrosesan. Jika Anda perlu menangani faktur multibahasa, cukup ganti `ocr.Language.ENGLISH` dengan enum yang sesuai. + +--- + +## Langkah 3 – Muat Gambar untuk OCR + +Sekarang kami akan **load image for OCR**. Metode `Image.load` menerima jalur file, dan bekerja dengan PNG, JPEG, BMP, dan lainnya. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Edge case:** Jika PNG berukuran sangat besar (lebih dari 5 MB), pertimbangkan untuk mengubah ukurannya terlebih dahulu agar penggunaan memori tetap wajar. Pillow dapat melakukannya dalam satu baris: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## Langkah 4 – Jalankan OCR pada PNG dan Tangkap Hasilnya + +Dengan mesin siap dan gambar sudah dimuat, saatnya **run OCR on PNG** dan mengambil hasil terstruktur. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +Objek `ocr_result` berisi koleksi item `OcrRegion`, masing‑masing dengan teks yang dikenali dan skor kepercayaan (0‑100). Di sinilah Anda mendapatkan data granular yang diperlukan untuk **extract text from invoice**. + +--- + +## Langkah 5 – Konversi Hasil ke JSON dan Cetak dengan Indentasi + +Sebagian besar sistem downstream menyukai JSON, jadi kami akan mengubah output OCR menjadi string yang diformat rapi. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Contoh Output + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Perhatikan bagaimana setiap baris menyertakan metrik kepercayaan—sempurna untuk menyaring entri dengan kepercayaan rendah jika Anda berencana **extract text from invoice** secara otomatis. + +--- + +## Langkah 6 – Simpan Data OCR sebagai CSV (Satu Baris per Teks + Kepercayaan) + +CSV ideal untuk spreadsheet atau impor data cepat. Aspose menyediakan satu baris kode untuk mengekspor semuanya ke file CSV. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +CSV yang dihasilkan akan terlihat seperti ini: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Sekarang Anda dapat membukanya di Excel, Google Sheets, atau memasukkannya ke dalam basis data. + +--- + +## Bonus – Menangani Teks dengan Kepercayaan Rendah dan PDF Multi‑Halaman + +### Penyaringan berdasarkan Kepercayaan + +Jika Anda hanya menginginkan baris dengan kepastian tinggi, saring JSON sebelum menuliskannya: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Dokumen Multi‑Halaman + +Aspose.OCR secara otomatis membuat entri `page` baru untuk setiap halaman dalam PNG atau PDF multi‑halaman. Loop melalui `ocr_data["pages"]` untuk memproses semuanya—tanpa kode tambahan diperlukan. + +--- + +## Contoh Skrip Lengkap yang Berfungsi + +Berikut adalah **complete script** yang dapat Anda salin, tempel, dan jalankan segera. Ganti `YOUR_DIRECTORY` dengan folder yang berisi file PNG Anda. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Jalankan skrip dengan `python run_ocr.py` dan Anda akan melihat dump JSON di konsol, file CSV di disk, serta daftar entri dengan kepercayaan tinggi yang telah disaring. + +--- + +## Pertanyaan yang Sering Diajukan + +**Q: Bisakah saya menggunakan ini untuk mengekstrak teks dari struk yang dipindai alih‑alih faktur?** +A: Tentu saja. Alur kerja yang sama berlaku—cukup arahkan `image_path` ke PNG struk Anda. Jika struk menggunakan bahasa lain, ubah `engine.language` sesuai kebutuhan. + +**Q: Bagaimana jika PNG saya berisi teks yang diputar?** +A: Aspose.OCR secara otomatis mendeteksi orientasi, tetapi untuk kasus yang sulit Anda dapat memutar gambar secara manual dengan Pillow sebelum memberikannya ke mesin. + +**Q: Apakah saya memerlukan lisensi berbayar untuk Aspose.OCR?** +A: Pustaka ini menyediakan mode evaluasi gratis dengan watermark pada output. Untuk penggunaan produksi Anda memerlukan lisensi, yang dapat diperoleh dari situs web Aspose. + +--- + +## Kesimpulan + +Kami telah membahas semua yang Anda perlukan untuk **run OCR on PNG** menggunakan Python: menginstal SDK, memuat gambar, mengekstrak teks terstruktur, dan menyimpan hasil sebagai JSON atau CSV. Baik Anda ingin **extract text from image** untuk skrip sederhana atau **extract text from invoice** untuk pipeline akuntansi otomatis, langkah‑langkah di atas memberikan fondasi yang kuat dan siap produksi. + +Selanjutnya, Anda dapat menjelajahi: + +- Mengintegrasikan output CSV dengan basis data untuk penyimpanan faktur massal. +- Menambahkan pasca‑pemrosesan dengan ekspresi reguler untuk mengekstrak tanggal, jumlah, atau ID pajak. +- Menggunakan fitur `ocr_engine.recognize_barcode` jika faktur Anda menyertakan kode QR. + +Cobalah, sesuaikan ambang kepercayaan, dan saksikan alur kerja pemrosesan dokumen Anda menjadi lebih mudah. Ada pertanyaan lain atau kasus penggunaan menarik untuk dibagikan? Tinggalkan komentar di bawah—selamat mencoba OCR! + +![contoh run OCR pada PNG](run-ocr-on-png.png "run OCR on PNG – contoh visual hasil OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/italian/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..1147d104 --- /dev/null +++ b/ocr/italian/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-01-12 +description: Estrai testo da un'immagine in Python usando Aspose OCR. Scopri come + convertire un'immagine scannerizzata in testo con codice asincrono in pochi minuti. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: it +og_description: Estrai testo da immagine con Python e Aspose OCR. Questo tutorial + mostra come convertire un'immagine scannerizzata in testo usando funzioni asincrone. +og_title: Estrai testo da immagine con Python – Guida OCR asincrona +tags: +- python +- ocr +- async +title: Estrai testo da immagine con Python – Guida OCR asincrona +url: /it/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Estrarre testo da immagine Python – Guida OCR asincrono + +Hai mai dovuto **estrarre testo da immagine Python** negli script ma ti sei bloccato nella parte OCR? Non sei l'unico. Molti sviluppatori si trovano di fronte a un documento scansionato e vogliono trasformarlo in testo ricercabile senza impazzire. + +In questo tutorial percorreremo un esempio completo e funzionante che mostra come **convertire un'immagine scansionata in testo** usando l'API asincrona di Aspose OCR. Alla fine avrai una singola funzione da inserire in qualsiasi progetto e comprenderai perché l'elaborazione asincrona può mantenere la tua app reattiva anche quando l'OCR richiede qualche secondo. + +## Prerequisiti + +Prima di immergerci, assicurati di avere: + +- Python 3.8+ installato (le funzionalità async richiedono almeno 3.7) +- Pacchetto `asposeocr` (`pip install asposeocr`) – è la libreria che utilizzeremo +- Un file immagine scansionato (TIFF, PNG, JPEG – qualsiasi formato supportato da Aspose OCR) +- Familiarità di base con `asyncio` (se non ce l'hai, non preoccuparti – spiegheremo ogni passaggio) + +Non sono richieste dipendenze di sistema aggiuntive; Aspose OCR include tutto il necessario. + +![Diagramma che mostra il flusso OCR asincrono – estrarre testo da immagine python](https://example.com/async-ocr-diagram.png "flusso OCR asincrono – estrarre testo da immagine python") + +## Passo 1 – Configurare la funzione di supporto asincrona + +Il cuore della soluzione è una funzione `async` che carica un'immagine, avvia l'OCR e poi attende il risultato. Mantenere la funzione asincrona significa che puoi eseguire altre coroutine (ad esempio, scaricare altri file) mentre il motore OCR lavora in background. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Perché è importante:** Restituendo un `Future`, Aspose OCR esegue il lavoro pesante su un pool di thread separato. `await` rilascia il ciclo eventi, così la tua app rimane reattiva. Se devi elaborare molte immagini contemporaneamente, puoi semplicemente programmare diverse chiamate a `async_ocr` con `asyncio.gather`. + +## Passo 2 – Eseguire la coroutine nel ciclo eventi + +Ora che abbiamo la funzione di supporto, dobbiamo eseguirla. `asyncio.run` crea un nuovo ciclo eventi, esegue la coroutine e chiude tutto in modo pulito. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Consiglio professionale:** Se integri questo codice in un'applicazione async più grande (ad esempio FastAPI), chiameresti `await async_ocr(...)` direttamente invece di `asyncio.run`. + +## Passo 3 – Verificare l'output + +Quando esegui lo script, dovresti vedere qualcosa di simile: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Se l'output appare confuso, ricontrolla che: + +1. L'immagine sia chiara e non eccessivamente compressa. +2. Hai selezionato la lingua corretta (`ocr.Language.ENGLISH` funziona per la maggior parte dei testi basati su alfabeto latino). +3. Il percorso del file sia corretto e il file sia leggibile. + +## Passo 4 – Gestire i casi limite + +### Più lingue + +Se devi **convertire un'immagine scansionata in testo** in una lingua diversa dall'inglese, basta cambiare la proprietà della lingua: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### File di grandi dimensioni + +Per TIFF molto grandi, considera il ridimensionamento o la conversione in un PNG a risoluzione inferiore prima di passarli all'OCR. Questo riduce la pressione sulla memoria e accelera l'elaborazione. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Gestione degli errori + +Avvolgi la chiamata OCR in un blocco `try/except` per catturare errori di rete o di licenza. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Passo 5 – Scalare: elaborare molte immagini contemporaneamente + +Poiché la funzione è async, puoi avviare decine di job OCR in una volta sola: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Questo modello mantiene la CPU occupata mentre il motore OCR lavora in parallelo, riducendo drasticamente il tempo totale di elaborazione. + +## Conclusione + +Ora disponi di una solida soluzione per **estrarre testo da immagine Python** che sfrutta l'API asincrona di Aspose OCR. L'esempio completo mostra come: + +1. Inizializzare il motore OCR e selezionare una lingua. +2. Avviare l'OCR in modo asincrono con `process_async`. +3. Attendere il risultato senza bloccare il ciclo eventi. +4. Gestire le problematiche comuni come file di grandi dimensioni e supporto multilingua. + +Sentiti libero di adattare il codice ai tuoi flussi di lavoro—che tu stia costruendo un sistema di gestione documenti, un indicizzatore di ricerca o un semplice utility da riga di comando. I prossimi passi potrebbero includere: + +- Salvare il testo estratto in un database per la ricerca full‑text. +- Aggiungere la generazione di PDF (ad esempio, usando `PyPDF2`) per creare PDF ricercabili. +- Integrare con un framework web come FastAPI per un servizio OCR RESTful. + +Buona programmazione e divertiti a trasformare quelle immagini scansionate in testo ricercabile e modificabile! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/italian/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..a7b46d18 --- /dev/null +++ b/ocr/italian/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-01-12 +description: Come eseguire OCR di immagini in batch rapidamente ed estrarre testo + da file JPEG in Python. Impara il processamento batch passo‑passo con un esempio + completo e funzionante. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: it +og_description: Come eseguire l'OCR di immagini in batch ed estrarre il testo da file + JPEG. Questa guida ti accompagna passo passo in una soluzione Python completa e + pronta all'uso. +og_title: Come eseguire OCR di immagini in batch – Rapido tutorial Python +tags: +- OCR +- Python +- image processing +title: Come fare OCR di immagini in batch – Guida rapida per estrarre testo da file + JPEG +url: /it/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come eseguire OCR batch su immagini – Guida rapida per estrarre testo da file JPEG + +Ti sei mai chiesto **come eseguire OCR batch su immagini** senza dover scrivere uno script separato per ogni file? Non sei l'unico. In molti progetti—scansione di fatture, digitalizzazione di archivi o moderazione di contenuti—abbiamo bisogno di estrarre testo da decine o centinaia di file JPEG in un'unica operazione. La buona notizia è che puoi farlo con poche righe di Python, ottenendo un motore riutilizzabile da inserire in qualsiasi pipeline. + +In questo tutorial ti mostreremo esattamente **come eseguire OCR batch su immagini**, poi passeremo all'estrazione del testo da file JPEG, alla gestione dei casi limite e alla verifica dell'output. Alla fine avrai uno script autonomo che potrai eseguire su qualsiasi cartella di immagini, e comprenderai perché l'elaborazione batch è importante per le prestazioni e la manutenibilità. + +## Cosa imparerai + +- Configurare un semplice motore OCR e impostarlo per l'inglese. +- Raccogliere tutti i file JPEG da una directory con `pathlib`. +- Chiamare il motore OCR una sola volta per elaborare l'intero batch. +- Visualizzare un'anteprima del testo riconosciuto per ogni immagine. +- Suggerimenti per gestire batch di grandi dimensioni, lingue diverse e problemi comuni. + +**Prerequisiti**: Python 3.8+, la libreria `ocr` (o qualsiasi wrapper compatibile) e una cartella di immagini JPEG da analizzare. Non sono richiesti servizi esterni—tutto gira in locale. + +--- + +## Passo 1: Inizializzare il motore OCR – Il nucleo di Come eseguire OCR batch su immagini + +Prima di poter **eseguire OCR batch su immagini**, abbiamo bisogno di un motore che sappia leggere il testo. Nella maggior parte delle librerie si crea un oggetto motore, si imposta opzionalmente la lingua, e lo si riutilizza per ogni file. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Perché è importante*: Inizializzare il motore una sola volta evita il sovraccarico di caricare ripetutamente i modelli linguistici. Inoltre ti offre un unico punto dove modificare le impostazioni (ad es., DPI, whitelist di caratteri) che verranno applicate a tutto il batch. + +> **Consiglio professionale**: Se prevedi di elaborare documenti multilingue, sostituisci `ocr.Language.ENGLISH` con `ocr.Language.MULTI` o carica più pacchetti linguistici prima dell'inizio del batch. + +--- + +## Passo 2: Raccogliere tutti i file JPEG – La parte “Estrai testo da file JPEG” + +Ora che il motore è pronto, dobbiamo dirgli su quali immagini lavorare. Usare `pathlib` rende il codice indipendente dalla piattaforma e conciso. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Perché è importante*: Raccogliendo prima l'elenco dei file, possiamo passare l'intera collezione al motore OCR in una sola chiamata—esattamente ciò che significa **come eseguire OCR batch su immagini**. Se hai sottocartelle, puoi cambiare `glob("**/*.jpg")` in una ricerca ricorsiva. + +> **Caso limite**: Se le tue immagini hanno estensioni miste (`.jpeg`, `.JPG`), estendi il pattern glob: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Passo 3: Elaborare l'intero batch in una sola chiamata – Il vero potere dell'OCR batch + +La maggior parte delle librerie OCR moderne espone un metodo `process_batch` (o con nome simile) che accetta un iterabile di percorsi file. Questo è il cuore di **come eseguire OCR batch su immagini** in modo efficiente. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Perché è importante*: Una singola chiamata batch riduce il numero di transizioni Python‑to‑C, mantiene il modello linguistico caricato in memoria e spesso abilita il parallelismo interno. Il risultato è una lista di oggetti—ognuno contenente il testo riconosciuto e i punteggi di confidenza. + +> **Nota sulle prestazioni**: Per batch molto grandi (migliaia di immagini), considera di suddividere l'elenco in blocchi più piccoli (ad es., 200 file) per evitare un consumo eccessivo di memoria. + +--- + +## Passo 4: Mostrare un'anteprima del testo estratto – Validazione rapida + +Al termine del batch, è utile dare un'occhiata ai primi caratteri di ogni risultato. Questo ti aiuta a confermare che l'OCR stia effettivamente estraendo testo dai tuoi file JPEG. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Perché è importante*: Un'anteprima breve ti permette di individuare fallimenti evidenti (ad es., output vuoto, caratteri illeggibili) senza aprire ogni file. Se noti problemi sistematici, puoi regolare le impostazioni del motore e rieseguire il batch. + +> **Trappola comune**: Dimenticare di rimuovere i caratteri di nuova riga può rendere l'anteprima disordinata. La riga `replace("\n", " ")` la pulisce. + +--- + +## Esempio completo funzionante – Tutti i passaggi combinati + +Di seguito trovi lo script completo che puoi copiare‑incollare, modificare il percorso della directory e avviare. Dimostra l'intero workflow di **come eseguire OCR batch su immagini** dall'inizio alla fine. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Output previsto** (esempio): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Se l'anteprima mostra testo significativo, hai estratto con successo **testo da file JPEG** usando un approccio batch. + +--- + +## Gestione di batch grandi e scenari avanzati + +### Suddivisione di carichi di lavoro voluminosi +Quando si hanno migliaia di immagini, la memoria può diventare un collo di bottiglia. Dividi l'elenco in blocchi più piccoli: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Cambio lingua +Se i tuoi documenti contengono francese o spagnolo, cambia la lingua prima del batch: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Salvataggio dei risultati su disco +Invece di stampare, potresti voler scrivere ogni risultato OCR in un file `.txt`: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Conclusione + +Ora sai **come eseguire OCR batch su immagini** e affidabilmente **estrarre testo da file JPEG** usando uno script Python compatto. Inizializzando il motore una sola volta, raccogliendo tutti i percorsi JPEG, elaborandoli in un unico batch e visualizzando l'output, ottieni sia velocità che semplicità. Da qui puoi ampliare il workflow—aggiungere supporto multilingue, memorizzare i risultati in un database, o integrare lo script in una pipeline di elaborazione documenti più ampia. + +Pronto per il passo successivo? Prova a sostituire la libreria `ocr` con Tesseract, sperimenta diversi pre‑processamenti dell'immagine (soglia, ridimensionamento), o alimenta il testo estratto a un modello di elaborazione del linguaggio naturale per una categorizzazione automatica. Il cielo è il limite, e hai ora una solida base su cui costruire. + +Buon coding, e che i tuoi batch OCR siano sempre privi di errori! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/italian/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..274c2ed1 --- /dev/null +++ b/ocr/italian/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,145 @@ +--- +category: general +date: 2026-01-12 +description: Come rilevare la lingua nelle immagini usando Aspose OCR – impara a estrarre + il testo dall'immagine, gestire l'OCR multilingua e utilizzare l'OCR in Python. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: it +og_description: Come rilevare la lingua nelle immagini usando Aspose OCR – una guida + passo‑passo per estrarre il testo dall’immagine e gestire l’OCR multilingue. +og_title: Come rilevare la lingua con OCR per testi misti +tags: +- OCR +- Python +- Aspose +title: Come rilevare la lingua con OCR per testi misti +url: /it/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come Rilevare la Lingua con OCR per Testo Misto + +Come rilevare la lingua nelle immagini usando Aspose OCR è una sfida comune quando si lavora con documenti multilingue. Ti sei mai chiesto **come estrarre testo da un'immagine** che contiene sia inglese che francese nella stessa pagina? In questo tutorial percorreremo un esempio completo, eseguibile, che mostra esattamente come usare l'OCR per identificare la lingua, estrarre il testo e gestire scenari a lingua mista senza alcuna difficoltà. + +Copriremo tutto ciò che devi sapere: configurare il motore Aspose OCR, indicargli quali lingue considerare, caricare un'immagine di fattura di esempio, eseguire il processo OCR e, infine, stampare la lingua rilevata insieme al testo estratto. Alla fine sarai in grado di rispondere alla domanda “come usare OCR per OCR a lingua mista” nei tuoi progetti, sia che tu stia costruendo una pipeline di fatturazione, uno scanner di ricevute o uno strumento di archiviazione documenti. + +> **Prerequisiti** – Devi avere Python 3.8+ installato, una conoscenza di base di pip e una licenza Aspose OCR (la versione di prova gratuita funziona per questa demo). Non sono richieste altre librerie esterne. + +--- + +## Come Rilevare la Lingua con Aspose OCR + +Il primo passo è creare un'istanza del motore OCR e indicargli quali lingue deve cercare. Aspose OCR utilizza una maschera di bit per combinare le lingue, il che rende facile supportare inglese, francese, spagnolo o qualsiasi combinazione tu necessiti. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Perché è importante:** Inizializzare il motore è la base. Senza di esso non puoi chiamare alcun metodo OCR, e il motore contiene tutta la configurazione che determina quanto bene possa **rilevare la lingua** in seguito. + +--- + +## Estrarre Testo da Immagine Usando OCR + +Ora dobbiamo far sapere al motore quali lingue sono possibili. Impostando una maschera di bit `ENGLISH | FRENCH` abilitiamo il motore a scegliere automaticamente la migliore corrispondenza per ogni regione dell'immagine. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Perché è importante:** Abilitare `auto_detect_language` è il fulcro di **come rilevare la lingua** in un documento a lingua mista. Il motore analizza il testo, valuta ogni lingua e restituisce quella con la più alta confidenza. Se salti questo passaggio sarai costretto a indovinare la lingua da solo, il che vanifica lo scopo dell'OCR a lingua mista. + +--- + +## Configurare le Impostazioni OCR per Lingua Mista + +Prima di fornire un'immagine al motore, dobbiamo caricarla. Aspose OCR lavora con la sua classe `Image`, che astrae il formato di file sottostante. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Consiglio:** Mantieni la risoluzione dell'immagine intorno a 300 dpi per ottenere i migliori risultati. Risoluzioni inferiori possono far sì che il rilevamento della lingua manchi caratteri sottili, specialmente le lettere accentate francesi. + +--- + +## Eseguire il Processo OCR e Ottenere i Risultati + +Con il motore configurato e l'immagine caricata, possiamo finalmente eseguire il processo OCR. Il metodo `process` restituisce un oggetto `OcrResult` che contiene sia il codice della lingua rilevata sia il testo estratto completo. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Output previsto** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Se l'immagine contiene sezioni in francese, vedrai `FRENCH` come lingua rilevata e il corrispondente testo francese stampato. + +--- + +## Esempio di Immagine (Testo Alternativo per SEO) + +![how to detect language in mixed language OCR image](mixed_lang_invoice.png) + +*Lo screenshot sopra mostra una fattura di esempio contenente sia testo in inglese che in francese, illustrando come il motore OCR possa **rilevare la lingua** ed estrarre il contenuto in un'unica passata.* + +--- + +## Problemi Comuni e Pro Tips + +| Problema | Perché Accade | Come Risolvere / Mitigare | +|----------|---------------|---------------------------| +| **Scansioni sfocate o a bassa risoluzione** | Il motore non riesce a distinguere i caratteri, portando a un rilevamento errato della lingua. | Scansiona a ≥300 dpi, applica una nitidezza dell'immagine prima dell'OCR. | +| **Lingua mancante nella maschera di bit** | Se dimentichi di includere una lingua, il motore predefinirà la prima corrispondenza, spesso dando risultati imprecisi. | Elenca sempre tutte le lingue che ti aspetti; puoi combinarne molte usando l'operatore `|`. | +| **Script misti (es. Latino + Cirillico)** | Aspose OCR potrebbe richiedere pacchetti linguistici separati. | Installa pacchetti linguistici aggiuntivi e aggiungili alla maschera. | +| **File di grandi dimensioni che causano picchi di memoria** | Caricare un'immagine enorme in memoria può far crashare lo script. | Usa `Image.resize` per ridimensionare mantenendo DPI, oppure elabora l'immagine a tasselli. | + +**Pro tip:** Dopo aver ottenuto il testo grezzo, esegui un rapido passaggio di post‑processing per normalizzare spazi bianchi e interruzioni di riga. Questo rende l'analisi successiva (es. estrazione di numeri di fattura) molto più semplice. + +--- + +## Conclusione: Cosa Hai Imparato + +Ora sai **come rilevare la lingua** in un'immagine a lingua mista usando Aspose OCR, e hai visto un esempio completo end‑to‑end che mostra anche **come estrarre testo da un'immagine**. Configurando la maschera di bit delle lingue, abilitando l'auto‑rilevamento e gestendo l'oggetto risultato, puoi elaborare in modo affidabile fatture, ricevute o qualsiasi documento che mescoli inglese e francese (o altre lingue). + +### Prossimi Passi + +- Prova ad aggiungere **come estrarre testo** da PDF convertendo prima ogni pagina in immagine. +- Sperimenta con le altre parole chiave secondarie: esplora l'intera superficie API **how to use OCR**, come impostare zone OCR per una elaborazione più veloce. +- Approfondisci casi più complessi di **mixed language OCR**, come documenti che alternano tre o più lingue. + +Sentiti libero di modificare il codice, testarlo con le tue immagini e lasciare che il motore faccia il lavoro pesante. Se incontri difficoltà, lascia un commento qui sotto—buona programmazione! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/italian/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..f7dba6a1 --- /dev/null +++ b/ocr/italian/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,213 @@ +--- +category: general +date: 2026-01-12 +description: Scopri come eseguire l'OCR su PDF in Python e rendere i PDF ricercabili + rapidamente. Converti PDF scansionati, estrai testo da PDF e fai l'OCR su PDF scansionati + con Python usando Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: it +og_description: Come eseguire l'OCR di un PDF in Python? Questo tutorial passo passo + ti mostra come convertire i file PDF scansionati in PDF ricercabili ed estrarre + il testo con Aspose OCR. +og_title: Come fare OCR su PDF e renderli ricercabili – Guida Python +tags: +- OCR +- Python +- PDF processing +title: Come fare OCR su PDF e renderli ricercabili – Guida Python +url: /it/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come fare OCR su PDF e renderlo Ricercabile – Guida Python + +Ti sei mai chiesto **come fare OCR su PDF** senza spendere una fortuna in software commerciali? Non sei solo. Molti sviluppatori si trovano in difficoltà quando devono trasformare un contratto scansionato, una fattura o qualsiasi PDF basato su immagine in un documento ricercabile. La buona notizia? Con poche righe di Python e Aspose OCR puoi convertire PDF scansionati, estrarre testo da PDF e, infine, rendere i PDF ricercabili in pochi minuti. + +In questo tutorial passeremo in rassegna tutto ciò di cui hai bisogno: dall'installazione della libreria, alla configurazione della lingua, all'elaborazione di un PDF scansionato, fino al salvataggio del risultato come PDF ricercabile che contiene sia l'immagine originale sia un livello di testo nascosto. Alla fine avrai uno script riutilizzabile da inserire in qualsiasi progetto—senza necessità di copiare e incollare manualmente. + +--- + +## Cosa ti servirà + +- **Python 3.8+** (il codice funziona su 3.9, 3.10 e versioni successive) +- Una licenza attiva di **Aspose OCR for Python** (una prova gratuita è sufficiente per sperimentare) +- Un file PDF scansionato (ad es., `scanned_contract.pdf`) che desideri rendere ricercabile +- Familiarità di base con la riga di comando e gli ambienti virtuali (opzionale ma consigliato) + +> **Consiglio pro:** Se non hai ancora una licenza, registrati per una prova di 30 giorni sul sito Aspose; la versione di prova è completamente funzionale per scopi di sviluppo. + +## Come fare OCR su PDF con Aspose OCR (Parola chiave principale in H2) + +Il primo passo è ottenere il pacchetto corretto. Aspose OCR fornisce un'API pulita e di alto livello che astrae i dettagli dell'elaborazione di immagini a basso livello. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +Una volta installato il pacchetto, puoi iniziare a scrivere lo script. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Perché impostare la lingua?** +> L'accuratezza dell'OCR dipende fortemente dal modello linguistico. Specificando esplicitamente al motore di attendersi testo in inglese, riduci i falsi positivi e velocizzi l'elaborazione. + +## Passo 2: Convertire PDF scansionato in PDF ricercabile + +Ora che il motore è pronto, puntalo sul tuo documento scansionato. Il metodo `process_pdf` restituisce un oggetto `PdfResult` che contiene sia i dati dell'immagine originale sia il testo riconosciuto. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Se hai bisogno di **convertire PDF scansionati** in blocco, basta iterare su una directory e chiamare `process_pdf` per ogni file. Il motore gestisce PDF multi‑pagina senza ulteriori configurazioni. + +## Passo 3: Salvare il risultato come PDF ricercabile (Rendere PDF ricercabile) + +L'ultimo pezzo del puzzle è persistere la versione ricercabile. Aspose OCR lo rende possibile con una singola riga di codice: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +Quando apri `contract_searchable.pdf` in qualsiasi visualizzatore PDF, vedrai l'immagine scansionata originale, ma ora puoi **cercare qualsiasi parola** riconosciuta dal motore OCR. Il livello di testo nascosto è invisibile all'occhio ma completamente indicizzabile. + +### Script completo – Pronto da eseguire + +Di seguito trovi l'esempio completo e eseguibile. Copialo e incollalo in un file chiamato `make_searchable.py` e adatta i percorsi al tuo ambiente. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Output previsto:** +Eseguendo lo script stampa una riga di conferma e crea `contract_searchable.pdf`. Apri il file, premi `Ctrl + F` e digita qualsiasi parola presente nell'immagine scansionata originale—dovresti vedere corrispondenze immediatamente. + +## Domande comuni e casi particolari + +### 1. E se il PDF contiene più lingue? + +Puoi passare un elenco di lingue al motore: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR cercherà di riconoscere il testo in entrambe le lingue nella stessa pagina. + +### 2. Come gestire scansioni a bassa risoluzione? + +Se le immagini di origine sono inferiori a 150 dpi, l'accuratezza dell'OCR potrebbe risentirne. Pre‑elabora il PDF con uno strumento come `pdfimages` per estrarre le pagine, ingrandiscile con Pillow e reinserisci le immagini ad alta risoluzione in `process_pdf`. + +### 3. Posso estrarre il testo semplice senza creare un PDF ricercabile? + +Assolutamente. L'oggetto `PdfResult` espone una proprietà `text`: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Questo soddisfa il caso d'uso **extract text pdf** quando hai bisogno solo dei caratteri grezzi. + +### 4. Esiste un modo per elaborare in batch una cartella di PDF? + +Sì—avvolgi la funzione `ocr_to_searchable` in un semplice ciclo: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Ora puoi **convertire PDF scansionati** in massa con un unico comando. + +## Suggerimenti sulle prestazioni + +- **Riutilizza il motore**: Creare un nuovo `OcrEngine` per ogni file aggiunge overhead. Istanzialo una volta e riutilizzalo per più chiamate. +- **Elaborazione parallela**: Per grandi batch, considera `concurrent.futures.ThreadPoolExecutor` di Python—Aspose OCR è thread‑safe per operazioni di sola lettura. +- **Gestione della memoria**: Se elabori PDF molto grandi (centinaia di pagine), chiama `gc.collect()` dopo ogni file per liberare memoria. + +## Conclusione + +Abbiamo coperto **come fare OCR su PDF** in Python, trasformato quelle scansioni in **PDF ricercabili**, e mostrato anche come **estrarre testo PDF** direttamente. Con Aspose OCR ottieni un motore affidabile che gestisce documenti multi‑pagina, più lingue e riconoscimento ad alta precisione—tutto con poche righe di codice. + +Provalo sui tuoi contratti, fatture o documenti di ricerca archiviati. Una volta padroneggiati i concetti base, sperimenta le funzionalità avanzate—come dizionari personalizzati, pre‑elaborazione delle immagini o l'integrazione dell'output in un indice di ricerca full‑text come Elasticsearch. + +Hai altre domande su **ocr scanned pdf python** o hai bisogno di aiuto per risolvere una scansione difficile? Lascia un commento qui sotto, e buona programmazione! + +--- + +![esempio di come fare OCR su PDF](image-placeholder.png){alt="esempio di come fare OCR su PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/italian/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..7d2df0cd --- /dev/null +++ b/ocr/italian/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: Come eseguire OCR rapidamente e con precisione. Impara a eseguire OCR + su un documento, estrarre testo da un TIFF, caricare un'immagine per OCR e impostare + la lingua OCR in Python. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: it +og_description: Come eseguire OCR in Python. Questo tutorial ti mostra come eseguire + OCR su un documento, estrarre testo da un file TIFF, caricare un'immagine per l'OCR + e impostare la lingua dell'OCR. +og_title: Come eseguire l'OCR su un documento TIFF – Guida completa +tags: +- OCR +- Python +- Image Processing +title: Come eseguire l'OCR su un documento TIFF – Guida passo passo +url: /it/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come eseguire OCR su un documento TIFF – Guida completa + +Ti sei mai chiesto **come eseguire OCR** su un file TIFF scansionato senza passare ore a cercare la libreria giusta? Non sei solo. Molti sviluppatori si trovano in difficoltà quando devono estrarre testo da immagini TIFF, soprattutto quando le prestazioni e le impostazioni della lingua sono importanti. + +In questo tutorial ti guideremo attraverso tutto ciò che devi sapere: dall'installazione del pacchetto OCR, al caricamento dell'immagine per l'OCR, alla impostazione della lingua OCR, fino a **eseguire OCR sul documento** e ottenere testo pulito. Alla fine avrai uno script pronto‑all'uso che potrai inserire in qualsiasi progetto. + +> **Consiglio professionale:** Sebbene l'esempio utilizzi un modulo generico `ocr`, gli stessi concetti si applicano a Tesseract, EasyOCR o a qualsiasi motore OCR moderno che espone un'API Python. + +--- + +## Cosa ti servirà + +- Python 3.8+ (qualsiasi versione recente va bene) +- Una libreria OCR che fornisce una classe `OcrEngine` (l'esempio usa un pacchetto fittizio `ocr`; sostituiscilo con quello reale) +- Un file TIFF multi‑pagina che vuoi elaborare (lo chiameremo `big_document.tif`) +- Una macchina con almeno 4 core CPU se prevedi di impostare il numero di thread + +Nessun servizio esterno, nessuna chiave cloud—solo codice locale che si esegue in pochi secondi. + +![esempio di come eseguire OCR](/images/ocr-example.png "come eseguire OCR su un documento TIFF") + +*Testo alternativo dell'immagine: come eseguire OCR su un documento TIFF – anteprima del testo estratto.* + +--- + +## Passo 1: Installa e importa la libreria OCR + +Prima di tutto: porta la libreria sul tuo computer. La maggior parte dei pacchetti OCR è su PyPI, quindi un semplice `pip install` fa al caso tuo. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Ora importa le classi di cui avrai bisogno. Se usi Tesseract, la riga di importazione sarà diversa, ma il resto del codice rimane invariato. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Perché è importante:* Importare i simboli corretti fin dall'inizio previene conflitti di namespace in seguito e rende lo script più leggibile. + +--- + +## Passo 2: Crea e configura il motore OCR (Imposta lingua OCR) + +Configurare il motore è il punto in cui **imposti la lingua OCR** per un riconoscimento accurato. L'inglese è il valore predefinito, ma puoi passare al francese, tedesco o anche alla modalità multilingue con una sola riga. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Perché 4 thread?** La maggior parte dei laptop moderni ha almeno quattro core, e limitare il numero di thread impedisce al processo OCR di monopolizzare l'intera macchina—particolarmente utile quando lo script viene eseguito su un server condiviso. + +Se ti serve un'altra lingua, basta sostituire `ocr.Language.ENGLISH` con `ocr.Language.FRENCH`, `ocr.Language.SPANISH`, ecc. + +--- + +## Passo 3: Carica immagine per OCR (Carica immagine per OCR) + +Ora **carichiamo l'immagine per OCR**. Il metodo `Image.load` legge il file TIFF in memoria, gestendo automaticamente i documenti multi‑pagina. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Caso limite:* Se il file è enorme, potresti esaurire la RAM. In tal caso, considera di caricare una pagina alla volta con `Image.load_page(page_number)` (se la libreria lo supporta). + +--- + +## Passo 4: Esegui OCR sul documento + +Con il motore pronto e l'immagine caricata, è il momento di **eseguire OCR sul documento**. Il metodo `process` esegue il lavoro pesante e restituisce un oggetto risultato. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +Dietro le quinte il motore suddivide l'immagine in blocchi di testo, esegue il modello di riconoscimento e unisce i risultati. La chiamata è bloccante, il che significa che lo script attende fino a quando l'intero TIFF è stato elaborato—perfetto per lavori batch. + +--- + +## Passo 5: Estrai testo dal TIFF e verifica l'output + +Infine, **estraiamo il testo dal TIFF** accedendo all'attributo `text` del risultato. Stampiamo i primi 200 caratteri come rapido controllo di coerenza. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Output atteso (esempio):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Se ti serve il testo completo, usa semplicemente `ocr_result.text`. Per l'elaborazione successiva potresti volerlo scrivere in un file `.txt`: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## Esempio completo funzionante + +Mettendo tutto insieme, ecco uno script pronto‑all'uso. Sostituisci il nome del pacchetto segnaposto con quello che hai effettivamente installato. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Esegui lo script con: + +```bash +python ocr_tiff_example.py +``` + +Dovresti vedere un'anteprima stampata sulla console e un file chiamato `extracted_text.txt` contenente la trascrizione completa. + +--- + +## Domande frequenti e casi limite + +- **E se il TIFF contiene più pagine?** + La maggior parte dei motori OCR tratta ogni pagina come un'immagine separata internamente. `ocr_result.text` conterrà un newline tra le pagine. Se ti serve una gestione per pagina, itera con `Image.load_page(page_number)`. + +- **Posso elaborare un PNG o JPEG invece di TIFF?** + Assolutamente. Il metodo `Image.load` di solito accetta qualsiasi formato supportato da Pillow o dalla libreria sottostante. Basta cambiare l'estensione del file. + +- **Il mio testo è illeggibile—devo cambiare lingua?** + Sì. Il passaggio **imposta lingua OCR** è cruciale per documenti non‑inglesi. Assicurati che il pacchetto lingua sia installato (ad esempio, `tesseract‑lang‑fra` per il francese). + +- **Esaurisco la memoria?** + Riduci il `set_memory_limit` o elabora le pagine una per una. Alcuni motori permettono anche di ridimensionare l'immagine prima del riconoscimento. + +--- + +## Conclusione + +Ecco fatto—una guida concisa e completamente funzionale su **come eseguire OCR** su un file TIFF usando Python. Abbiamo coperto tutto, dall'installazione della libreria, alla configurazione del motore (incluso **imposta lingua OCR**), **carica immagine per OCR**, **esegui OCR sul documento**, e infine **estrai testo dal TIFF**. + +Sentiti libero di sperimentare: modifica il conteggio dei thread, cambia lingua, o alimenta l'output OCR in una pipeline di linguaggio naturale. Il cielo è il limite una volta che hai padroneggiato le basi. + +Hai altre domande? Lascia un commento qui sotto, e buona programmazione! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/italian/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..1833dfd7 --- /dev/null +++ b/ocr/italian/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,177 @@ +--- +category: general +date: 2026-01-12 +description: come impostare la lingua in Aspose OCR Python ed estrarre testo da un'immagine + usando un dizionario personalizzato. Tutorial passo‑passo per sviluppatori. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: it +og_description: come impostare la lingua in Aspose OCR Python ed estrarre il testo + da un'immagine con un dizionario personalizzato. Scopri l'intero flusso di lavoro + in pochi minuti. +og_title: Come impostare la lingua in Aspose OCR Python – Guida completa +tags: +- OCR +- Python +- Aspose +- Image Processing +title: Come impostare la lingua in Aspose OCR Python – Guida completa +url: /it/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# come impostare la lingua in Aspose OCR Python – Guida completa + +Ti sei mai chiesto **come impostare la lingua** quando usi Aspose OCR in Python? Non sei solo—molti sviluppatori incontrano questo problema quando il modello predefinito in inglese non riconosce codici prodotto, numeri di serie o testo multilingue. La buona notizia è che la soluzione è sia semplice che potente. In questo tutorial vedremo come configurare la lingua, aggiungere un dizionario personalizzato, estrarre testo da un'immagine e, infine, elaborare l'immagine per ottenere i migliori risultati OCR. + +Copriamo tutto ciò che devi sapere: dall'installazione della libreria all'esecuzione di un esempio completo che stampa il testo estratto. Alla fine sarai in grado di **estrarre testo da immagine** con fiducia, anche quando il contenuto include codici insoliti o lingue miste. + +## Prerequisiti + +* Python 3.8+ installato (il codice utilizza f‑strings, quindi le versioni precedenti non funzioneranno). +* Una licenza attiva di Aspose OCR per Python o una chiave di prova gratuita. +* Il pacchetto `asposeocr` installato tramite `pip install asposeocr`. +* Un'immagine di esempio (`product_label.png`) che contiene il testo che desideri leggere. + +Se hai già questi elementi, ottimo—passiamo oltre. Altrimenti, scarica la prova gratuita dal sito di Aspose e esegui il comando di installazione; ci vuole solo un minuto. + +## Passo 1: Importare il modulo Aspose OCR + +La prima cosa da fare è importare le classi OCR nel tuo script. Questa è la base per **come impostare la lingua** in seguito. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Consiglio:** Mantieni le importazioni in cima al file. Rende lo script più facile da leggere, soprattutto quando torni su di esso in seguito. + +## Passo 2: Come impostare la lingua + +Per impostazione predefinita, Aspose OCR assume l'inglese. Se la tua immagine contiene francese, tedesco o qualsiasi altra lingua, dovrai indicare al motore quale lingua utilizzare. È qui che la parola chiave principale brilla. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Perché è importante? I motori OCR si basano su modelli di caratteri specifici per lingua. Fornire la lingua corretta migliora notevolmente l'accuratezza—soprattutto per i caratteri accentati o le legature specifiche della lingua. + +> **Nota:** Se devi supportare più lingue contemporaneamente, puoi passare una lista come `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## Passo 3: Come aggiungere un dizionario (parole definite dall'utente) + +A volte il motore OCR interpreta erroneamente codici prodotto come “AB‑1234”. Puoi aumentare la confidenza fornendo un dizionario personalizzato. Questo risponde direttamente a **come aggiungere un dizionario** in Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +Il motore tratta queste parole come “note” e le privilegerà rispetto a caratteri simili. È particolarmente utile per numeri SKU, codici seriali o nomi di marca che non fanno parte di una lingua naturale. + +## Passo 4: Come elaborare l'immagine + +Ora che il motore è configurato, devi caricare l'immagine che vuoi analizzare. Questo affronta **come elaborare l'immagine** in modo pulito e ripetibile. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +Se lavori con PDF, puoi prima convertire ogni pagina in un'immagine—Aspose OCR lo supporta nativamente. + +## Passo 5: Come estrarre testo da immagine + +Con tutto impostato, l'ultimo passo è eseguire l'OCR e recuperare il testo. Questo è il fulcro di **come estrarre testo** da un'immagine. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +Quando esegui lo script, dovresti vedere qualcosa del genere: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Se l'output appare confuso, ricontrolla di aver impostato la lingua corretta e che il tuo dizionario personalizzato contenga le stringhe esatte che ti aspetti. + +## Esempio completo funzionante + +Mettendo tutto insieme, ecco lo script completo che puoi copiare‑incollare in un file chiamato `extract_label.py`. Assicurati di sostituire `YOUR_DIRECTORY` con il percorso reale della tua immagine. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Output previsto + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Se vedi i codici esatti che hai aggiunto al dizionario, hai padroneggiato con successo **come impostare la lingua**, **come aggiungere un dizionario** e **come estrarre testo da immagine** usando Aspose OCR. + +## Gestione dei casi limite comuni + +| Situazione | Cosa fare | +|------------|-----------| +| **L'immagine è sfocata** | Pre‑processa con `ocr.Image.apply_filter()` per nitidezza prima di chiamare `process()`. | +| **Più lingue in una singola immagine** | Imposta `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **PDF di grandi dimensioni** | Itera su ogni pagina, convertila in `ocr.Image` e chiama `process()` per pagina. | +| **Caratteri inaspettati** | Aggiungili alla lista di parole definite dall'utente; Aspose OCR li tratta come token ad alta confidenza. | + +## Riferimento visivo + +![come impostare la lingua in Aspose OCR esempio](image.png "Screenshot che mostra come impostare la lingua in Aspose OCR Python") + +*Testo alternativo:* **come impostare la lingua** screenshot che illustra l'assegnazione della proprietà language in un IDE Python. + +## Conclusione + +Ora sai **come impostare la lingua** in Aspose OCR Python, come **aggiungere voci al dizionario**, e i passaggi esatti per **estrarre testo da immagine** e **elaborare immagini** per risultati ottimali. L'esempio completo sopra può essere inserito in qualsiasi progetto, modificato per lingue diverse e ampliato per gestire l'elaborazione batch o input PDF. + +Pronto per la prossima sfida? Prova a sostituire `ocr.Language.ENGLISH` con `ocr.Language.FRENCH` e osserva il miglioramento di accuratezza sulle etichette in lingua francese. Oppure sperimenta con il metodo `set_user_defined_words` per includere un intero catalogo di prodotti—il tuo motore OCR tratterà ogni voce come una corrispondenza ad alta confidenza. + +Buona programmazione, e che i risultati OCR siano sempre cristallini! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/italian/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..8b2dee17 --- /dev/null +++ b/ocr/italian/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-01-12 +description: Elabora appunti scritti a mano in Python usando Aspose OCR – scopri come + estrarre rapidamente il testo da immagini jpg. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: it +og_description: Elabora note scritte a mano in Python con Aspose OCR. Scopri come + estrarre il testo da immagini jpg, riconoscere l'OCR della scrittura a mano e caricare + le immagini per l'OCR. +og_title: Elabora appunti scritti a mano con Python – Tutorial completo di OCR +tags: +- OCR +- Python +- Aspose +title: Elabora note scritte a mano con Python – Guida all'OCR per la scrittura a mano +url: /it/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Elabora Note Scritte a Mano con Python – Guida OCR per Note Scritte a Mano + +Se hai bisogno di **processare note scritte a mano** in Python, questa guida ti mostra esattamente come fare. Che le note siano su una ricevuta scansionata, una foto della lavagna di una classe, o un rapido selfie di una lista di cose da fare, imparerai **come estrarre testo** da quelle immagini senza sforzo. + +Passeremo in rassegna ogni passaggio—importare la libreria Aspose OCR, caricare un JPG, eseguire il motore e gestire le righe a bassa fiducia. Alla fine avrai uno script pronto all'uso che può **riconoscere testo da jpg** e fornirti stringhe pulite e utilizzabili. + +## Cosa Otterrai + +- Un esempio di codice completo e funzionante, pronto all'uso. +- Comprensione del perché ogni riga è importante, non solo di cosa fa. +- Suggerimenti per gestire la scrittura a mano traballante e i risultati a bassa fiducia. +- Indicazioni su come estendere lo script per PDF, più immagini o pacchetti linguistici personalizzati. + +*Prerequisiti*: Python 3.8+ installato, una licenza valida di Aspose OCR (o una prova gratuita) e un file immagine chiamato `handwritten_notes.jpg` nella cartella del tuo progetto. + +--- + +![Esempio di note scritte a mano](https://example.com/handwritten-notes.png "note scritte a mano") + +*Testo alternativo: note scritte a mano – immagine di esempio che mostra testo scritto a mano pronto per OCR.* + +## Processare Note Scritte a Mano: Configurare il Motore OCR + +### Perché questo passaggio è importante +Il motore OCR è il cervello dietro il processo di riconoscimento. Scegliere la lingua giusta e inizializzare correttamente l'oggetto garantisce che il motore sappia di dover cercare caratteri inglesi e che possa gestire le particolarità della scrittura a mano. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Consiglio professionale:** Se prevedi note in un'altra lingua, sostituisci `ocr.Language.ENGLISH` con l'enum appropriato (ad es., `ocr.Language.FRENCH`). Il motore caricherà automaticamente il set di caratteri necessario. + +--- + +## Come Estrarre Testo da Immagini JPG + +### Caricamento dell'immagine – il primo ostacolo +Prima che il motore possa fare qualsiasi lavoro, ha bisogno di una rappresentazione bitmap del tuo JPG. Aspose offre un comodo metodo statico `load` che legge il file in un oggetto `Image`. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Perché non usare OpenCV o Pillow?* +Quelle librerie sono ottime per il pre‑processing, ma `Image.load` di Aspose garantisce il formato di pixel esatto che il motore OCR si aspetta, eliminando una fonte comune di profondità di colore non corrispondente. + +--- + +## Riconoscere Testo da JPG con OCR per Note Scritte a Mano in Python + +### Eseguire il motore OCR +Ora che il motore e l'immagine sono pronti, avviamo il riconoscimento. Il metodo `process` restituisce un oggetto `OcrResult` che contiene una lista di oggetti `Line`, ciascuno con il proprio punteggio di fiducia. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**Cosa succede dietro le quinte?** +Aspose OCR esegue un modello di deep‑learning addestrato su milioni di campioni di scrittura a mano. Segmenta l'immagine in righe, poi in caratteri, per poi assemblare la stringa di testo più probabile per ogni riga. + +--- + +## Caricare Immagine per OCR – Gestire Risultati a Bassa Fiducia + +### Perché dovresti preoccuparti della fiducia +L'OCR per scrittura a mano non è mai al 100 %. Un punteggio di fiducia inferiore al 75 % indica solitamente che il motore ha avuto difficoltà con l'ordine dei tratti o con il rumore di sfondo. Filtrando quelle righe, puoi decidere se chiedere all'utente una verifica o applicare ulteriori pre‑processi sull'immagine. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Output tipico** (i tuoi risultati varieranno): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Nota come lo script separa chiaramente il testo affidabile da quello incerto. In seguito puoi inviare le righe a bassa fiducia a un secondo passaggio con filtri di miglioramento dell'immagine (ad es., aumento del contrasto) o presentarle a un revisore umano. + +--- + +## Script Completo – Pronto da Eseguire + +Di seguito trovi l'intero programma, pronto per il copia‑incolla. Salvalo come `handwritten_ocr.py` ed esegui `python handwritten_ocr.py`. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Comportamento previsto:** +- Lo script stampa ogni riga con la sua percentuale di fiducia. +- Le righe sopra il 75 % appaiono come “Accettate”, mentre le altre sono contrassegnate per revisione. +- Non sono necessarie dipendenze aggiuntive oltre a `asposeocr`. + +--- + +## Domande Frequenti & Casi Limite + +### E se la mia immagine è un PNG o BMP? +Aspose OCR rileva automaticamente il formato, quindi puoi semplicemente cambiare l'estensione del file in `image_path`. Nessuna modifica al codice è necessaria. + +### La mia scrittura è estremamente disordinata—come posso migliorare l'accuratezza? +1. **Pre‑processa l'immagine** – aumenta il contrasto, rimuovi le ombre di sfondo (OpenCV può aiutare). +2. **Aumenta la soglia di fiducia** – impostala all 80 % se desideri solo righe quasi perfette. +3. **Addestra un modello personalizzato** – Aspose offre la funzionalità “custom language pack” per stili di scrittura specializzati. + +### Posso processare più immagini in un'unica esecuzione? +Assolutamente. Avvolgi i passaggi di caricamento e riconoscimento in un ciclo `for` su una lista di percorsi file. Ricorda di riutilizzare la stessa istanza `ocr_engine` per velocizzare l'elaborazione. + +### Funziona su macOS/Linux? +Sì. Aspose OCR fornisce wheel per tutte le principali piattaforme. Basta `pip install asposeocr` e sei pronto. + +--- + +## Prossimi Passi & Argomenti Correlati + +- **Come estrarre testo da PDF** – una volta che hai la pipeline OCR, passare le pagine PDF a `ocr.Image.load` è una modifica a una riga. +- **Integrazione con un database** – salva ogni riga accettata in SQLite o PostgreSQL per note ricercabili. +- **OCR in tempo reale su mobile** – abbina questo script a Flask o FastAPI per esporre un endpoint REST che le app mobile possono chiamare. + +Ognuna di queste estensioni si basa sui concetti fondamentali trattati: **processare note scritte a mano**, **come estrarre testo**, **riconoscere testo da jpg** e **caricare immagine per OCR**. + +--- + +## Conclusione + +Ora disponi di una soluzione solida, end‑to‑end, per **processare note scritte a mano** usando Python e Aspose OCR. La guida ha mostrato come configurare il motore, caricare un JPG, eseguire il riconoscimento e gestire i risultati a bassa fiducia—tutto in un unico script pronto al copia‑incolla. + +Da qui, sperimenta diverse tecniche di pre‑processing dell'immagine, alza la soglia di fiducia o scala la soluzione per elaborare centinaia di note in batch. Il cielo è il limite, e il codice che hai appena imparato è il tuo trampolino di lancio. + +*Buon coding, e che le tue note scritte a mano diventino finalmente testo ricercabile!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/italian/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..653801f2 --- /dev/null +++ b/ocr/italian/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,237 @@ +--- +category: general +date: 2026-01-12 +description: Tutorial OCR in Python che mostra come estrarre il testo di una tabella + da un'immagine. Impara a leggere la tabella dall'immagine ed estrarre il testo selezionato + con Aspose OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: it +og_description: Tutorial OCR Python che insegna come estrarre il testo di una tabella + da un'immagine, leggere la tabella dall'immagine ed estrarre il testo selezionato + usando Aspose OCR. +og_title: 'Tutorial OCR Python: Estrarre il testo delle tabelle dalle immagini' +tags: +- OCR +- Python +- AsposeOCR +title: 'Tutorial Python OCR: Estrai il testo delle tabelle dalle immagini' +url: /it/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tutorial OCR Python: Estrarre il Testo delle Tabelle dalle Immagini + +Ti è mai servito un **python ocr tutorial** che mostri davvero come estrarre una tabella da un modulo scansionato? Non sei l'unico. La maggior parte dei tutorial si ferma all'estrazione di testo generico, lasciandoti indovinare come isolare quella griglia ordinata di dati di cui hai bisogno. + +In questa guida percorreremo uno scenario reale: leggere una tabella da un'immagine, estrarre solo il testo selezionato di cui hai bisogno e infine stampare i risultati. Lungo il percorso inseriremo consigli su **come estrarre una tabella** dati in modo affidabile, così non dovrai reinventare la ruota ogni volta. + +## Cosa Imparerai + +- Come configurare Aspose OCR per Python. +- Come definire una regione rettangolare che contiene una tabella. +- I passaggi esatti per **extract table text** e **read table from image**. +- Consigli per gestire più lingue o layout di tabelle irregolari. +- Uno script completo e eseguibile che puoi inserire nel tuo progetto oggi. + +**Prerequisiti** +- Python 3.8 o versioni successive. +- Familiarità di base con i concetti di OCR (non è necessaria un'esperienza approfondita). +- Un'immagine PNG o JPEG che contiene una tabella chiara (la chiameremo `form_with_table.png`). + +Se hai tutto questo, immergiamoci—senza fronzoli, solo codice pratico. + +![python ocr tutorial example of table region](table_region_example.png){alt="python ocr tutorial example showing table region"} + +## Passo 1: Installa e Importa Aspose OCR + +Prima di tutto: ti serve la libreria Aspose OCR. Il pacchetto è su PyPI, quindi un unico comando `pip` fa il lavoro. + +```bash +pip install aspose-ocr +``` + +Ora importa il modulo e tutti gli helper di cui avrai bisogno. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Suggerimento:* Mantieni le tue dipendenze in un file `requirements.txt`. Questo rende la riproduzione dell'ambiente un gioco da ragazzi. + +## Passo 2: Inizializza il Motore OCR (Nucleo del Tutorial OCR Python) + +Creare il motore è il cuore di qualsiasi **python ocr tutorial**. Qui impostiamo anche la lingua predefinita su English—sentiti libero di cambiarla in seguito. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Perché impostare la lingua? L'accuratezza dell'OCR può aumentare notevolmente quando il motore sa quali caratteri aspettarsi. Se lavori con moduli multilingue, puoi impostare un elenco di lingue o sovrascrivere per regione (vedi più avanti). + +## Passo 3: Carica la Tua Immagine + +Aspose OCR funziona con la maggior parte dei formati di immagine comuni. Basta indicare il percorso del file e avrai un oggetto `Image` pronto per l'elaborazione. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Caso limite:* Immagini grandi (oltre 5 MB) possono rallentare l'elaborazione. Considera di ridimensionarle o comprimerle prima dell'OCR se le prestazioni diventano un problema. + +## Passo 4: Definisci la Regione della Tabella (Leggi la Tabella dall'Immagine) + +Ora arriva la parte divertente: indicare al motore *dove* si trova la tabella. Fornisci un `OcrRegion` con un `Rectangle` (x, y, larghezza, altezza). Le coordinate sono basate sui pixel, quindi potresti dover sperimentare un po'. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Perché usare una regione? Limitando l'OCR all'area della tabella **extract selected text** più velocemente e evitando rumore da etichette o grafiche circostanti. Migliora anche l'accuratezza perché il motore può concentrarsi su un layout uniforme. + +## Passo 5: Esegui l'OCR sulla Regione Definita + +Con la regione impostata, invochiamo `process_region`. Il metodo restituisce un oggetto `OcrResult` che contiene il testo grezzo, i punteggi di confidenza e persino le bounding box se ti servono in seguito. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +Se devi estrarre più tabelle, ripeti semplicemente i Passi 4‑5 con rettangoli diversi. + +## Passo 6: Output del Testo della Tabella Estratta + +Infine, stampa—o salva—la rappresentazione testuale della tabella. Aspose OCR restituisce testo semplice con interruzioni di riga che di solito corrispondono alle righe, rendendo il post‑processing semplice. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Output atteso** (esempio): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +Ora puoi inserire questa stringa nei parser `csv`, nei DataFrame di pandas o in qualsiasi pipeline di analisi a valle. + +## Esempio Completo Funzionante + +Mettendo tutto insieme, ecco lo script completo che puoi eseguire subito. Sostituisci `YOUR_DIRECTORY/form_with_table.png` con il percorso reale della tua immagine. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Esegui lo script con `python extract_table.py`. Se tutto è allineato, vedrai la tabella stampata nella console. + +## Domande Frequenti & Gestione dei Casi Limite + +**Cosa succede se la tabella non è perfettamente rettangolare?** +Puoi dividere la tabella in più regioni sovrapposte o usare un rettangolo più grande che copra l'intera area e poi post‑processare il testo (ad esempio, dividere per interruzioni di riga). + +**Posso estrarre solo colonne specifiche?** +Dopo aver ottenuto il testo completo della tabella, usa `csv` o `pandas` di Python per estrarre le colonne di tuo interesse. Il passo OCR restituisce tutto ciò che è dentro il rettangolo. + +**Come lavoro con tabelle non‑English?** +Imposta `ocr_engine.language` (o `region.language`) sull'enum appropriato, come `ocr.Language.FRENCH` o combina più lingue usando `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**C'è un modo per ottenere le bounding box per ogni cella?** +Aspose OCR può restituire `region_result.words` dove ogni parola include una bounding box. Dovrai mappare queste box su una griglia—utile per analisi di layout avanzate. + +## Consigli per una Maggiore Accuratezza + +- **Pulire l'immagine**: Binarizzare o aumentare il contrasto prima di passarla all'OCR. Librerie come Pillow possono aiutare. +- **Evitare artefatti di compressione**: Salva le scansioni come PNG quando possibile. +- **Attenzione al DPI**: 300 dpi è un punto ottimale; valori più bassi possono causare caratteri mancanti. +- **Testare diverse dimensioni del rettangolo**: Rettangoli leggermente più grandi spesso catturano caratteri sparsi che appartengono alla tabella. + +## Prossimi Passi + +Ora che hai padroneggiato **how to extract table** dati con Aspose OCR, potresti esplorare: + +- Convertire il testo estratto in un file CSV con il modulo `csv` di Python. +- Inserire i dati in un DataFrame **pandas** per l'analisi. +- Usare l'OCR per leggere moduli scritti a mano (richiede un motore diverso o addestramento aggiuntivo). +- Automatizzare l'elaborazione batch di decine di moduli scansionati usando un semplice ciclo `for`. + +Ciascuna di queste estensioni si basa sui concetti fondamentali trattati in questo **python ocr tutorial**, quindi sei ben posizionato per scalare. + +*Buona programmazione! Se incontri problemi, lascia un commento qui sotto—sarò felice di aiutarti a perfezionare l'estrazione.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/italian/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..be333f59 --- /dev/null +++ b/ocr/italian/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,283 @@ +--- +category: general +date: 2026-01-12 +description: Esegui OCR su file PNG rapidamente con Python. Scopri come estrarre testo + da immagini e fatture e caricare l'immagine per l'OCR usando Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: it +og_description: Esegui OCR su PNG istantaneamente. Questa guida mostra come estrarre + il testo da un'immagine e da una fattura, caricare l'immagine per l'OCR e salvare + i risultati in JSON e CSV. +og_title: Esegui OCR su PNG – Tutorial completo di Python +tags: +- OCR +- Python +- Image Processing +title: Esegui OCR su PNG – Guida completa Python per estrarre testo dalle immagini +url: /it/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Esegui OCR su PNG – Guida Completa Python per Estrarre Testo dalle Immagini + +Ti è mai capitato di dover **eseguire OCR su file PNG** ma non eri sicuro quale libreria ti avrebbe fornito risultati puliti e strutturati? Non sei solo. In molti progetti reali — pensa all'automazione delle fatture o alla scansione delle ricevute — il primo passo è **estrarre testo da file immagine**, e PNG è un formato comune perché preserva la qualità senza perdita. + +In questo tutorial percorreremo un esempio pratico usando il pacchetto Aspose.OCR per Python. Alla fine della guida saprai come **caricare l'immagine per OCR**, estrarre ogni riga di testo, trasformare quei dati in un oggetto JSON ordinato e persino esportarli in CSV per l'elaborazione successiva. Niente superfluo, solo una soluzione pratica e pronta all'uso. + +## Cosa Imparerai + +- Come installare e importare la libreria Aspose.OCR. +- I passaggi esatti per **eseguire OCR su PNG** e gestire l'oggetto risultato. +- Modi per **estrarre testo da fatture** e formattare l'output come JSON o CSV. +- Suggerimenti per gestire immagini a basso contrasto, documenti multilingua e punteggi di confidenza. +- Un esempio di codice completo, pronto da copiare e incollare, che puoi eseguire subito. + +> **Prerequisito:** Python 3.8+ e una conoscenza di base di pip. Se non hai mai usato Aspose prima, non preoccuparti — questa guida copre tutto ciò di cui hai bisogno per iniziare. + +--- + +## Passo 1 – Installa Aspose.OCR e Prepara il Tuo Ambiente + +Prima di poter **eseguire OCR su PNG**, la libreria deve essere presente sul tuo sistema. + +```bash +pip install aspose-ocr +``` + +> **Consiglio Pro:** Usa un ambiente virtuale (`python -m venv venv`) per mantenere le dipendenze isolate. Previene conflitti di versione se gestisci più progetti. + +Una volta installata, importa i moduli di cui avremo bisogno: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Qui importiamo `asposeocr` per il lavoro pesante e la libreria integrata `json` per la serializzazione successiva. + +--- + +## Passo 2 – Crea il Motore OCR e Imposta la Lingua + +Il motore OCR è il componente centrale che legge effettivamente i pixel. Per la maggior parte delle fatture in inglese, vorrai il pacchetto lingua inglese: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Perché è importante:** Specificare la lingua restringe il set di caratteri, aumentando l'accuratezza e velocizzando l'elaborazione. Se devi gestire fatture multilingua, basta sostituire `ocr.Language.ENGLISH` con l'enumerazione appropriata. + +--- + +## Passo 3 – Carica l'Immagine per OCR + +Ora **caricheremo l'immagine per OCR**. Il metodo `Image.load` accetta un percorso file e funziona con PNG, JPEG, BMP e altri formati. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Caso limite:** Se il PNG è insolitamente grande (oltre 5 MB), considera di ridimensionarlo prima per mantenere un uso della memoria ragionevole. Pillow può farlo in una sola riga: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## Passo 4 – Esegui OCR su PNG e Cattura il Risultato + +Con il motore pronto e l'immagine caricata, è il momento di **eseguire OCR su PNG** e recuperare il risultato strutturato. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +L'oggetto `ocr_result` contiene una collezione di elementi `OcrRegion`, ognuno con il testo riconosciuto e un punteggio di confidenza (0‑100). Qui ottieni i dati granulari necessari per **estrarre testo da righe di fattura**. + +--- + +## Passo 5 – Converti il Risultato in JSON e Stampalo Formattato + +La maggior parte dei sistemi a valle ama JSON, quindi trasformeremo l'output OCR in una stringa ben formattata. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Esempio di Output + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Nota come ogni riga includa una metrica di confidenza — perfetta per filtrare le voci a bassa confidenza se prevedi di **estrarre testo da fattura** automaticamente. + +--- + +## Passo 6 – Salva i Dati OCR come CSV (Una Riga per Testo + Confidenza) + +CSV è ideale per fogli di calcolo o importazioni rapide di dati. Aspose offre una singola riga di codice per esportare tutto in un file CSV. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +Il CSV generato avrà questo aspetto: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Ora puoi aprirlo in Excel, Google Sheets o inserirlo in un database. + +--- + +## Bonus – Gestione del Testo a Bassa Confidenza e PDF Multi‑Pagina + +### Filtraggio per Confidenza + +Se vuoi solo le righe ad alta certezza, filtra il JSON prima di scriverlo: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Documenti Multi‑Pagina + +Aspose.OCR crea automaticamente una nuova voce `page` per ogni pagina in un PNG o PDF multi‑pagina. Scorri `ocr_data["pages"]` per processarle tutte — nessun codice aggiuntivo necessario. + +--- + +## Esempio Completo Funzionante + +Di seguito trovi lo **script completo** che puoi copiare, incollare ed eseguire immediatamente. Sostituisci `YOUR_DIRECTORY` con la cartella che contiene il tuo file PNG. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Esegui lo script con `python run_ocr.py` e vedrai il dump JSON nella console, un file CSV su disco e una lista filtrata di voci ad alta confidenza. + +--- + +## Domande Frequenti + +**D: Posso usare questo per estrarre testo da una ricevuta scansionata invece di una fattura?** +R: Assolutamente. Lo stesso flusso di lavoro si applica — basta puntare `image_path` al tuo PNG della ricevuta. Se la ricevuta usa una lingua diversa, cambia `engine.language` di conseguenza. + +**D: E se il mio PNG contiene testo ruotato?** +R: Aspose.OCR rileva automaticamente l'orientamento, ma per i casi più ostinati puoi ruotare manualmente l'immagine con Pillow prima di passarla al motore. + +**D: È necessaria una licenza a pagamento per Aspose.OCR?** +R: La libreria offre una modalità di valutazione gratuita con una filigrana sull'output. Per l'uso in produzione avrai bisogno di una licenza, che puoi ottenere dal sito web di Aspose. + +--- + +## Conclusione + +Abbiamo coperto tutto ciò di cui hai bisogno per **eseguire OCR su file PNG** usando Python: installare l'SDK, caricare l'immagine, estrarre testo strutturato e salvare il risultato come JSON o CSV. Che tu voglia **estrarre testo da immagine** per uno script semplice o **estrarre testo da fattura** per una pipeline contabile automatizzata, i passaggi sopra ti forniscono una solida base pronta per la produzione. + +Successivamente, potresti esplorare: + +- Integrare l'output CSV con un database per l'archiviazione di fatture in blocco. +- Aggiungere post‑processing con espressioni regolari per estrarre date, importi o codici fiscali. +- Usare la funzionalità `ocr_engine.recognize_barcode` se le tue fatture includono codici QR. + +Provalo, regola le soglie di confidenza e guarda il tuo flusso di lavoro di elaborazione documenti diventare una passeggiata. Hai altre domande o un caso d'uso interessante da condividere? Lascia un commento qui sotto — buona OCR! + +![esempio di OCR su PNG](run-ocr-on-png.png "esempio visivo del risultato OCR su PNG") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/japanese/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..3e2a6264 --- /dev/null +++ b/ocr/japanese/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,192 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR を使用して Python で画像からテキストを抽出します。非同期コードでスキャン画像をテキストに変換する方法を数分で学びましょう。 +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: ja +og_description: Aspose OCR を使用した Python で画像からテキストを抽出します。このチュートリアルでは、非同期関数を使ってスキャン画像をテキストに変換する方法を示します。 +og_title: Pythonで画像からテキストを抽出 – 非同期OCRガイド +tags: +- python +- ocr +- async +title: 画像からテキストを抽出する Python – 非同期 OCR ガイド +url: /ja/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 画像からテキストを抽出する Python – 非同期 OCR ガイド + +スキャンしたドキュメントを **画像からテキストを抽出する Python** スクリプトで扱いたいけど、OCR の部分で行き詰まったことはありませんか? あなただけではありません。多くの開発者が、スキャンした文書を検索可能なテキストに変換しようとして壁にぶつかります。 + +このチュートリアルでは、Aspose OCR の非同期 API を使用して **スキャンした画像をテキストに変換** する完全な実行可能サンプルを段階的に解説します。最後まで読めば、どのプロジェクトにも組み込める単一関数が手に入り、OCR に数秒かかってもアプリが応答し続けられる理由が理解できるでしょう。 + +## 前提条件 + +始める前に、以下が揃っていることを確認してください。 + +- Python 3.8+ がインストール済み(非同期機能は最低 3.7 が必要です) +- `asposeocr` パッケージ(`pip install asposeocr`) – 本チュートリアルで使用するライブラリです +- スキャンした画像ファイル(TIFF、PNG、JPEG など、Aspose OCR がサポートする形式) +- `asyncio` の基本的な知識(なくても大丈夫です – 各ステップで説明します) + +追加のシステム依存関係は不要です。Aspose OCR が必要なものはすべてバンドルしています。 + +![非同期 OCR フローを示す図 – 画像からテキストを抽出する Python](https://example.com/async-ocr-diagram.png "非同期 OCR フロー – 画像からテキストを抽出する Python") + +## 手順 1 – 非同期ヘルパー関数のセットアップ + +このソリューションの核心は、画像を読み込み OCR を開始し、結果を待機する `async` 関数です。関数を非同期に保つことで、OCR エンジンがバックグラウンドで動作している間に他のコルーチン(例: さらにファイルをダウンロード)を実行できます。 + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**ポイント:** `Future` を返すことで、Aspose OCR は別スレッドプールで重い処理を行います。`await` によりイベントループが解放され、アプリは軽快に動作し続けます。多数の画像を同時に処理したい場合は、`asyncio.gather` で複数の `async_ocr` 呼び出しをスケジュールすれば完了です。 + +## 手順 2 – イベントループでコルーチンを実行 + +ヘルパー関数ができたら、実際に実行します。`asyncio.run` は新しいイベントループを作成し、コルーチンを走らせ、すべてをきれいに終了させます。 + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**プロのコツ:** これをより大きな非同期アプリケーション(例: FastAPI)に組み込む場合は、`asyncio.run` の代わりに `await async_ocr(...)` を直接呼び出します。 + +## 手順 3 – 出力を確認 + +スクリプトを実行すると、次のような出力が得られるはずです。 + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +出力が文字化けしている場合は、以下を再確認してください。 + +1. 画像が鮮明で、過度に圧縮されていないこと。 +2. 正しい言語が選択されていること(`ocr.Language.ENGLISH` は多くのラテン系テキストで有効)。 +3. ファイルパスが正しく、ファイルが読み取り可能であること。 + +## 手順 4 – エッジケースの処理 + +### 複数言語 + +英語以外の言語で **スキャンした画像をテキストに変換** したい場合は、言語プロパティを変更するだけです。 + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### 大容量ファイル + +非常に大きな TIFF の場合は、OCR に渡す前にリサイズするか、低解像度の PNG に変換するとよいでしょう。これによりメモリ使用量が抑えられ、処理速度が向上します。 + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### エラーハンドリング + +ネットワークやライセンス関連のエラーを捕捉するために、OCR 呼び出しを `try/except` ブロックでラップします。 + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## 手順 5 – スケールアップ: 多数の画像を同時並行で処理 + +関数が非同期であるため、OCR ジョブを一度に多数起動できます。 + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +このパターンは、OCR エンジンが並列で動作している間に CPU を有効活用し、総処理時間を大幅に短縮します。 + +## 結論 + +これで、Aspose OCR の非同期 API を活用した堅牢な **画像からテキストを抽出する Python** ソリューションが手に入りました。完全なサンプルは次のことを示しています。 + +1. OCR エンジンを初期化し、言語を選択する。 +2. `process_async` で非同期に OCR を開始する。 +3. イベントループをブロックせずに結果を待機する。 +4. 大容量ファイルや多言語対応などの一般的な落とし穴に対処する。 + +コードは以下のような用途に自由に適用できます – ドキュメント管理システム、検索インデクサ、シンプルなコマンドラインユーティリティなど。次のステップとしては: + +- 抽出したテキストをデータベースに保存し、全文検索を実装する。 +- `PyPDF2` などを使って検索可能な PDF を生成する。 +- FastAPI などのウェブフレームワークと統合し、RESTful OCR サービスを提供する。 + +コーディングを楽しみながら、スキャン画像を検索可能で編集可能なテキストに変換しましょう! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/japanese/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..69ae3fab --- /dev/null +++ b/ocr/japanese/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,215 @@ +--- +category: general +date: 2026-01-12 +description: Pythonで画像を高速にバッチOCRし、JPEGファイルからテキストを抽出する方法。完全に実行可能なサンプルを使って、ステップバイステップのバッチ処理を学びましょう。 +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: ja +og_description: 画像をバッチでOCRし、JPEGファイルからテキストを抽出する方法。このガイドでは、完全で実行可能なPythonソリューションをステップバイステップで紹介します。 +og_title: 画像を一括OCRする方法 – 簡単Pythonチュートリアル +tags: +- OCR +- Python +- image processing +title: 画像を一括OCRする方法 – JPEGファイルからテキストを抽出する高速ガイド +url: /ja/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 画像をバッチOCRする方法 – JPEGファイルからテキストを抽出する高速ガイド + +個別にスクリプトを書かずに **how to batch OCR images** を実行できるか、考えたことはありませんか? あなたは一人ではありません。請求書のスキャン、アーカイブのデジタル化、コンテンツモデレーションなど、多くのプロジェクトで、一度に数十〜数百枚の JPEG ファイルからテキストを抽出する必要があります。良いニュースは、Python の数行でこれが可能で、どのパイプラインにも組み込める再利用可能なエンジンが手に入ることです。 + +このチュートリアルでは、**how to batch OCR images** を正確に示し、JPEG ファイルからテキストを抽出し、エッジケースを処理し、出力を検証する手順を解説します。最後までに、任意の画像フォルダに対して実行できる自己完結型スクリプトが手に入り、バッチ処理がパフォーマンスと保守性にとって重要である理由が理解できるようになります。 + +## 学べること + +- シンプルな OCR エンジンをセットアップし、英語用に設定する。 +- `pathlib` を使ってディレクトリからすべての JPEG ファイルを収集する。 +- OCR エンジンを一度呼び出して、バッチ全体を処理する。 +- 各画像の認識テキストのプレビューを表示する。 +- 大規模バッチ、異なる言語、一般的な落とし穴の処理に関するヒント。 + +**Prerequisites**: Python 3.8+、`ocr` ライブラリ(または互換ラッパー)、解析したい JPEG 画像が入ったフォルダが必要です。外部サービスは不要で、すべてローカルで実行されます。 + +--- + +## ステップ 1: OCR エンジンの初期化 – How to Batch OCR Images のコア + +**batch OCR images** を行う前に、テキストを読み取るエンジンが必要です。ほとんどのライブラリではエンジンオブジェクトを作成し、必要に応じて言語を設定し、すべてのファイルで再利用します。 + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Why this matters*: エンジンを一度だけ初期化することで、言語モデルのロードを繰り返すオーバーヘッドを回避できます。また、バッチ全体に適用される設定(例: DPI、文字ホワイトリスト)を一箇所で調整できるようになります。 + +> **Pro tip**: 多言語文書を処理する場合は、`ocr.Language.ENGLISH` を `ocr.Language.MULTI` に切り替えるか、バッチ開始前に複数の言語パックをロードしてください。 + +--- + +## ステップ 2: すべての JPEG ファイルを収集 – “Extract Text from JPEG Files” パート + +エンジンの準備ができたので、処理対象の画像を指定する必要があります。`pathlib` を使用すると、コードがプラットフォームに依存せず、簡潔になります。 + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Why this matters*: まずファイルリストを収集することで、OCR エンジンに全コレクションを一度の呼び出しで渡すことができます—これが “how to batch OCR images” の本質です。サブフォルダがある場合は、`glob("**/*.jpg")` を再帰検索に変更できます。 + +> **Edge case**: 画像の拡張子が混在している場合(`.jpeg`, `.JPG` など)、グロブパターンを拡張してください: `image_dir.rglob("*.[jJ][pP][eE]?g")`。 + +--- + +## ステップ 3: 1 回の呼び出しでバッチ全体を処理 – バッチ OCR の真の力 + +最新の OCR ライブラリの多くは、ファイルパスのイテラブルを受け取る `process_batch`(または同様の名前)メソッドを提供しています。これが **how to batch OCR images** を効率的に行う核心です。 + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Why this matters*: 1 回のバッチ呼び出しにより、Python から C への遷移回数が減り、言語モデルがメモリに保持されたままになり、内部での並列化が可能になることが多いです。結果はオブジェクトのリストで、各オブジェクトは認識テキストと信頼度スコアを含みます。 + +> **Performance note**: 非常に大規模なバッチ(数千枚の画像)では、メモリ使用量が過剰になるのを防ぐためにリストを小さなチャンク(例: 200 ファイル)に分割することを検討してください。 + +--- + +## ステップ 4: 抽出テキストのプレビュー表示 – クイック検証 + +バッチが完了したら、各結果の最初の数文字を覗くと便利です。これにより、OCR が JPEG ファイルから実際にテキストを抽出していることを確認できます。 + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Why this matters*: 短いプレビューで、すべてのファイルを開かずに明らかな失敗(例: 空の出力、文字化け)を発見できます。体系的な問題が見つかった場合は、エンジン設定を調整してバッチを再実行できます。 + +> **Common pitfall**: 改行文字を除去し忘れると、プレビューが乱雑に見えることがあります。`replace("\n", " ")` 行でそれをクリーンアップします。 + +--- + +## 完全動作例 – すべてのステップを統合 + +以下は、コピー&ペーストしてディレクトリパスを調整し、実行できる完全なスクリプトです。**how to batch OCR images** の全工程を最初から最後まで示しています。 + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**期待される出力**(サンプル): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +プレビューに意味のあるテキストが表示されれば、バッチアプローチを使用して **extracted text from JPEG files** に成功したことになります。 + +--- + +## 大規模バッチと高度なシナリオの処理 + +### 大規模ワークロードのチャンク化 + +数千枚の画像を扱う場合、メモリがボトルネックになることがあります。リストを小さなチャンクに分割してください: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### 言語の切り替え + +文書にフランス語やスペイン語が含まれる場合、バッチ実行前に言語を変更してください: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### 結果をディスクに保存 + +出力をコンソールに表示する代わりに、各 OCR 結果を `.txt` ファイルに書き込むこともできます: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## 結論 + +これで、コンパクトな Python スクリプトを使って **how to batch OCR images** と確実に **extract text from JPEG files** を行う方法が分かりました。エンジンを一度だけ初期化し、すべての JPEG パスを収集し、単一のバッチで処理し、出力をプレビューすることで、速度とシンプルさの両方を実現できます。ここからは、ワークフローを拡張し—多言語サポートを追加したり、結果をデータベースに保存したり、スクリプトを大規模な文書処理パイプラインに統合したりできます。 + +次のステップに進む準備はできましたか? `ocr` ライブラリを Tesseract に置き換えてみたり、さまざまな画像前処理(しきい値処理、リサイズ)を試したり、抽出したテキストを自然言語処理モデルに渡して自動分類を行ったりしてください。可能性は無限で、しっかりとした基盤ができました。 + +コーディングを楽しんで、OCR バッチが常にエラーなしで動作しますように! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/japanese/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..77147a57 --- /dev/null +++ b/ocr/japanese/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,144 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR を使用した画像内の言語検出方法 – 画像からテキストを抽出し、混在言語の OCR を処理し、Python で OCR + を使用する方法を学ぶ。 +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: ja +og_description: Aspose OCR を使用して画像内の言語を検出する方法 – 画像からテキストを抽出し、混在言語 OCR を処理するステップバイステップガイド。 +og_title: 混在テキストの言語をOCRで検出する方法 +tags: +- OCR +- Python +- Aspose +title: 混在テキストの言語をOCRで検出する方法 +url: /ja/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 混在テキストで OCR を使用して言語を検出する方法 + +画像内の多言語文書を扱う際、Aspose OCR を使って言語を検出することは一般的な課題です。**画像からテキストを抽出する方法**として、同じページに英語とフランス語が混在している場合を想像したことはありませんか?本チュートリアルでは、OCR を使用して言語を特定し、テキストを抽出し、混在言語シナリオをスムーズに処理する完全な実行可能サンプルをステップバイステップで解説します。 + +内容は以下の通りです:Aspose OCR エンジンのセットアップ、対象言語の指定、サンプル請求書画像の読み込み、OCR 処理の実行、検出された言語と抽出テキストの出力。最後まで読めば、請求書パイプライン、レシートスキャナー、文書アーカイブツールなど、あらゆるプロジェクトで「混在言語 OCR の使い方」に答えることができるようになります。 + +> **Prerequisites** – Python 3.8+ がインストールされていること、pip の基本的な使い方が分かっていること、そして Aspose OCR ライセンス(無料トライアルでデモは可能)を持っていることが必要です。その他の外部ライブラリは不要です。 + +--- + +## Aspose OCR で言語を検出する方法 + +最初のステップは OCR エンジンのインスタンスを作成し、検出対象の言語を指定することです。Aspose OCR はビットマスクを使用して言語を組み合わせるため、英語、フランス語、スペイン語、または任意の組み合わせを簡単にサポートできます。 + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Why this matters:** エンジンの初期化は基盤です。これがなければ OCR メソッドを呼び出すことはできず、エンジンに設定された情報が後の **detect language** の精度を左右します。 + +--- + +## OCR を使用して画像からテキストを抽出する + +次に、エンジンに考慮すべき言語を知らせます。`ENGLISH | FRENCH` のビットマスクを設定することで、画像の各領域に対して最適な言語が自動的に選択されます。 + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Why this matters:** `auto_detect_language` を有効にすることが、混在言語ドキュメントで **how to detect language** を実現する鍵です。エンジンはテキストを走査し、各言語にスコアを付け、最も信頼度の高い言語を返します。このステップを省くと、言語を自分で推測しなければならず、混在言語 OCR の目的が失われます。 + +--- + +## 混在言語 OCR 設定の構成 + +画像をエンジンに渡す前に、まず画像を読み込む必要があります。Aspose OCR は独自の `Image` クラスを使用しており、基になるファイル形式を抽象化します。 + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Tip:** 最適な結果を得るには画像解像度を約 300 dpi に保ちましょう。解像度が低いと、特にフランス語のアクセント文字など微妙な文字の検出が失われやすくなります。 + +--- + +## OCR プロセスを実行し結果を取得する + +エンジンの設定と画像の読み込みが完了したら、いよいよ OCR プロセスを実行します。`process` メソッドは `OcrResult` オブジェクトを返し、検出された言語コードと抽出された全文テキストの両方が含まれます。 + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Expected output** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +画像にフランス語のセクションが含まれている場合、検出言語として `FRENCH` が表示され、対応するフランス語テキストが出力されます。 + +--- + +## 画像例(SEO 用代替テキスト) + +![how to detect language in mixed language OCR image](mixed_lang_invoice.png) + +*上のスクリーンショットは、英語とフランス語のテキストが混在したサンプル請求書を示しています。OCR エンジンが **detect language** を行い、1 回の処理でコンテンツを抽出できる様子が分かります。* + +--- + +## よくある落とし穴とプロのコツ + +| Issue | Why it Happens | How to Fix / Mitigate | +|-------|----------------|------------------------| +| **Blurry or low‑resolution scans** | エンジンが文字を判別できず、言語検出が誤る可能性があります。 | 300 dpi 以上でスキャンし、OCR 前に画像のシャープ化を行う。 | +| **Missing language in the bit‑mask** | 言語を忘れるとエンジンは最初にマッチした言語をデフォルトで使用し、結果が不正確になることがあります。 | 想定するすべての言語を必ず列挙する。`|` 演算子で複数言語を組み合わせられます。 | +| **Mixed scripts (e.g., Latin + Cyrillic)** | Aspose OCR は別々の言語パックが必要になる場合があります。 | 追加の言語パックをインストールし、ビットマスクに加える。 | +| **Large files causing memory spikes** | 巨大な画像をメモリに読み込むとスクリプトがクラッシュすることがあります。 | `Image.resize` で DPI を保ちつつダウンサンプルするか、タイル単位で処理する。 | + +**Pro tip:** 生テキスト取得後に、空白や改行を正規化する簡易ポストプロセスを実行すると、請求書番号の抽出など下流のパースが格段に楽になります。 + +--- + +## まとめ:学んだこと + +Aspose OCR を使用して混在言語画像の **detect language** 方法と、**extract text from image** の完全なエンドツーエンド例を体験しました。言語ビットマスクの設定、auto‑detect の有効化、結果オブジェクトの処理により、英語とフランス語(または他言語)を混在させた請求書やレシートを確実に処理できます。 + +### 次のステップ + +- PDF から各ページを画像に変換して **how to extract text** を試す。 +- 二次キーワードを活用し、OCR ゾーンを設定して高速化するなど、**how to use OCR** API 全体を探求する。 +- 3 つ以上の言語が交差する **mixed language OCR** の高度なケースに挑戦する。 + +コードを自由にカスタマイズし、自分の画像でテストしてみてください。問題があればコメントで質問をどうぞ—ハッピーコーディング! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/japanese/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..4ae4a13e --- /dev/null +++ b/ocr/japanese/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,211 @@ +--- +category: general +date: 2026-01-12 +description: PythonでPDFをOCRし、PDFをすばやく検索可能にする方法を学びましょう。スキャンしたPDFを変換し、テキストを抽出し、Aspose + OCRを使用してPythonでスキャンPDFをOCRします。 +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: ja +og_description: PythonでPDFをOCRする方法は?このステップバイステップのチュートリアルでは、スキャンしたPDFファイルを検索可能なPDFに変換し、Aspose + OCRでテキストを抽出する方法を紹介します。 +og_title: PDFをOCRして検索可能にする方法 – Pythonガイド +tags: +- OCR +- Python +- PDF processing +title: PDFをOCRして検索可能にする方法 – Pythonガイド +url: /ja/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PDF を OCR して検索可能にする方法 – Python ガイド + +商用ソフトに高額な費用をかけずに **PDF を OCR** する方法を考えたことはありませんか? あなただけではありません。スキャンした契約書や請求書、画像ベースの PDF を検索可能なドキュメントに変換しなければならないとき、多くの開発者が壁にぶつかります。良いニュースは、Python と Aspose OCR の数行のコードで、スキャンした PDF を変換し、テキスト PDF を抽出し、最終的に数分で PDF を検索可能にできることです。 + +このチュートリアルでは、ライブラリのインストール、言語設定、スキャンした PDF の処理、元の画像と隠れたテキスト層の両方を含む検索可能な PDF として結果を保存するまで、必要なすべての手順を解説します。最後まで読むと、任意のプロジェクトに組み込める再利用可能なスクリプトが手に入り、手動でのコピーペーストは不要です。 + +--- + +## 必要なもの + +- **Python 3.8+**(コードは 3.9、3.10、以降でも動作します) +- 有効な **Aspose OCR for Python** ライセンス(無料トライアルでも実験可能) +- 検索可能にしたいスキャン済み PDF ファイル(例: `scanned_contract.pdf`) +- コマンドラインと仮想環境の基本的な知識(任意ですが推奨) + +> **プロのコツ:** まだライセンスをお持ちでない場合は、Aspose のウェブサイトで 30 日間のトライアルにサインアップしてください。トライアル版は開発目的で完全に機能します。 + +## Aspose OCR を使用した PDF の OCR 方法 (Primary Keyword in H2) + +最初のステップは、適切なパッケージを取得することです。Aspose OCR は、低レベルの画像処理の詳細を抽象化したクリーンでハイレベルな API を提供します。 + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +パッケージがインストールされたら、スクリプトの作成を開始できます。 + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **なぜ言語を設定するのか?** +> OCR の精度は言語モデルに大きく依存します。エンジンに英語テキストを期待させることで、誤検出を減らし、処理速度を向上させます。 + +## ステップ 2: スキャンした PDF を検索可能な PDF に変換 + +エンジンの準備ができたら、スキャンしたドキュメントを指定します。`process_pdf` メソッドは、元の画像データと認識されたテキストの両方を含む `PdfResult` オブジェクトを返します。 + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +大量の **スキャンした PDF** を変換する必要がある場合は、ディレクトリをループして各ファイルに対して `process_pdf` を呼び出すだけです。エンジンはマルチページ PDF を自動的に処理します。 + +## ステップ 3: 結果を検索可能な PDF として保存 (Make PDF Searchable) + +パズルの最後のピースは、検索可能なバージョンを永続化することです。Aspose OCR ではこれがワンライナーで実現できます。 + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +`contract_searchable.pdf` を任意の PDF ビューアで開くと、元のスキャン画像が表示されますが、OCR エンジンが認識した **任意の単語** を検索できるようになります。隠れたテキスト層は目には見えませんが、完全にインデックス可能です。 + +### 完全スクリプト – 実行準備完了 + +以下に完全な実行可能サンプルを示します。`make_searchable.py` という名前のファイルにコピー&ペーストし、環境に合わせてパスを調整してください。 + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**期待される出力:** +スクリプトを実行すると確認メッセージが表示され、`contract_searchable.pdf` が作成されます。ファイルを開き、`Ctrl + F` で元のスキャン画像に含まれる任意の単語を入力すると、即座に一致がハイライトされます。 + +## よくある質問とエッジケース + +### 1. PDF に複数の言語が含まれている場合は? + +エンジンに言語のリストを渡すことができます: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR は同一ページ内の両方の言語を認識しようとします。 + +### 2. 低解像度のスキャンをどう処理するか? + +元画像が 150 dpi 未満の場合、OCR の精度が低下する可能性があります。`pdfimages` などのツールでページを抽出し、Pillow でアップスケールした後、`process_pdf` に高解像度画像を渡すと効果的です。 + +### 3. 検索可能な PDF を作成せずにプレーンテキストだけ抽出できますか? + +もちろん可能です。`PdfResult` オブジェクトの `text` プロパティでテキストを取得できます: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +この方法は、**テキスト PDF を抽出** したいケースに最適です。 + +### 4. PDF フォルダーをバッチ処理する方法はありますか? + +はい、`ocr_to_searchable` 関数をシンプルなループでラップすれば実現できます: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +これで **スキャンした pdf** を一括で変換できます。 + +## パフォーマンスのヒント + +- **エンジンを再利用**: ファイルごとに新しい `OcrEngine` を作成するとオーバーヘッドが増えます。1 回インスタンス化して複数回呼び出すようにしましょう。 +- **並列処理**: 大量バッチの場合は Python の `concurrent.futures.ThreadPoolExecutor` を検討してください。Aspose OCR は読み取り専用操作に対してスレッドセーフです。 +- **メモリ管理**: 数百ページ規模の非常に大きな PDF を処理する場合、各ファイル処理後に `gc.collect()` を呼び出してメモリを解放すると効果的です。 + +## 結論 + +Python で **PDF を OCR** する方法、スキャンを **検索可能な PDF** に変換する方法、そして **テキスト PDF を抽出** する方法を網羅しました。Aspose OCR を使えば、マルチページ文書、複数言語、高精度認識を数行のコードで実現できます。 + +ぜひ自分の契約書、請求書、アーカイブされた研究論文で試してみてください。基本をマスターしたら、カスタム辞書、画像前処理、Elasticsearch などの全文検索インデックスへの統合といった高度な機能にも挑戦してみましょう。 + +**ocr scanned pdf python** に関する追加質問や、難しいスキャンのトラブルシューティングが必要な場合は、下のコメント欄に書き込んでください。ハッピーコーディング! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="PDF OCR の例"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/japanese/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..01f7fd7a --- /dev/null +++ b/ocr/japanese/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,226 @@ +--- +category: general +date: 2026-01-12 +description: OCR を迅速かつ正確に実行する方法。ドキュメントで OCR を実行し、TIFF からテキストを抽出し、OCR 用に画像を読み込み、Python + で OCR 言語を設定する方法を学びます。 +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: ja +og_description: PythonでOCRを実行する方法。このチュートリアルでは、ドキュメントでOCRを実行し、TIFFからテキストを抽出し、OCR用に画像を読み込み、OCR言語を設定する方法を示します。 +og_title: TIFFドキュメントでOCRを実行する方法 – 完全ガイド +tags: +- OCR +- Python +- Image Processing +title: TIFFドキュメントでOCRを実行する方法 – ステップバイステップガイド +url: /ja/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# TIFFドキュメントでOCRを実行する方法 – 完全ガイド + +スキャンしたTIFFファイルで **OCRを実行する方法** を、適切なライブラリを探すのに何時間も費やさずに知りたくありませんか? あなたは一人ではありません。特にパフォーマンスや言語設定が重要になるとき、TIFF画像からテキストを抽出しようとして壁にぶつかる開発者は多いです。 + +このチュートリアルでは、OCRパッケージのインストール、画像のロード、OCR言語の設定、最終的に **ドキュメント上でOCRを実行** してクリーンなテキストを取得するまでのすべての手順を解説します。最後まで読めば、任意のプロジェクトにすぐ組み込める実行可能なスクリプトが手に入ります。 + +> **プロのコツ:** 例では汎用的な `ocr` モジュールを使用していますが、同じ概念は Tesseract、EasyOCR、または Python API を提供する最新の OCR エンジンすべてに当てはまります。 + +--- + +## 必要なもの + +- Python 3.8+(最近のバージョンならどれでも可) +- `OcrEngine` クラスを提供する OCR ライブラリ(サンプルでは架空の `ocr` パッケージを使用しています。実際に使用するものに置き換えてください) +- 処理したいマルチページ TIFF ファイル(ここでは `big_document.tif` と呼びます) +- スレッド数を設定する場合は、少なくとも 4 コアを持つマシン + +外部サービスやクラウドキーは不要です。ローカルで数秒で動作するコードだけです。 + +--- + +![TIFFドキュメントでOCRを実行する例](/images/ocr-example.png "TIFFドキュメントでOCRを実行する方法") + +*画像代替テキスト: TIFFドキュメントでOCRを実行する例 – 抽出されたテキストのプレビュー。* + +--- + +## Step 1: OCR ライブラリのインストールとインポート + +まず最初に、ライブラリをマシンにインストールします。ほとんどの OCR パッケージは PyPI にあるので、シンプルな `pip install` で完了します。 + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +次に必要なクラスをインポートします。Tesseract を使用する場合はインポート行が異なりますが、残りのコードは同じです。 + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*なぜ重要か:* 正しいシンボルを早めにインポートしておくことで、後で名前空間の衝突を防ぎ、スクリプトの可読性が向上します。 + +--- + +## Step 2: OCR エンジンの作成と設定(OCR 言語の設定) + +エンジンの設定は **OCR 言語を設定** して正確な認識を行うポイントです。デフォルトは英語ですが、1 行でフランス語、ドイツ語、あるいは多言語モードに切り替えられます。 + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **なぜ 4 スレッドか?** 現代のノートパソコンは少なくとも 4 コアを搭載していることが多く、スレッド数を制限することで OCR プロセスがマシン全体を占有するのを防げます。特に共有サーバー上でスクリプトを実行する場合に有用です。 + +別の言語が必要な場合は、`ocr.Language.ENGLISH` を `ocr.Language.FRENCH`、`ocr.Language.SPANISH` などに置き換えるだけです。 + +--- + +## Step 3: OCR 用画像のロード(Load Image for OCR) + +ここで **OCR 用画像をロード** します。`Image.load` メソッドは TIFF ファイルをメモリに読み込み、マルチページドキュメントを自動的に処理します。 + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*エッジケース:* ファイルが非常に大きい場合、RAM が不足することがあります。その場合は、`Image.load_page(page_number)`(ライブラリがサポートしていれば)でページごとにロードすることを検討してください。 + +--- + +## Step 4: ドキュメント上で OCR を実行 + +エンジンが準備でき、画像がロードされたら、いよいよ **ドキュメント上で OCR を実行** します。`process` メソッドが重い処理を行い、結果オブジェクトを返します。 + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +内部ではエンジンが画像をテキストブロックに分割し、認識モデルを走らせ、結果を結合しています。呼び出しはブロッキングで、スクリプトは TIFF 全体が処理されるまで待機します——バッチジョブに最適です。 + +--- + +## Step 5: TIFF からテキストを抽出し出力を検証 + +最後に、結果オブジェクトの `text` 属性にアクセスして **TIFF からテキストを抽出** します。簡易的なサニティチェックとして最初の 200 文字を表示してみましょう。 + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**期待される出力(例):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +全文が必要な場合は単に `ocr_result.text` を使用してください。下流処理のために `.txt` ファイルに書き出すこともできます。 + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## 完全動作サンプル + +すべてをまとめた、すぐに実行できるスクリプトです。プレースホルダーのパッケージ名は実際にインストールしたものに置き換えてください。 + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +スクリプトの実行は次のコマンドで行います。 + +```bash +python ocr_tiff_example.py +``` + +コンソールにプレビューが表示され、`extracted_text.txt` という名前のファイルに全文が保存されます。 + +--- + +## よくある質問とエッジケース + +- **TIFF に複数ページが含まれる場合は?** + 多くの OCR エンジンは各ページを内部的に別々の画像として扱います。`ocr_result.text` にはページ間に改行が入ります。ページ単位で処理したい場合は `Image.load_page(page_number)` を使って反復処理してください。 + +- **TIFF の代わりに PNG や JPEG を処理できるか?** + もちろん可能です。`Image.load` メソッドは Pillow や基盤ライブラリがサポートするフォーマットならほぼすべて受け付けます。ファイル拡張子を変更するだけで OK です。 + +- **テキストが文字化けしている——言語設定を変えるべきか?** + はい。**OCR 言語の設定** は英語以外の文書にとって重要です。対象言語のパックがインストールされていることを確認してください(例: フランス語なら `tesseract‑lang‑fra`)。 + +- **メモリが足りなくなる場合は?** + `set_memory_limit` を下げるか、ページ単位で処理してください。一部のエンジンは認識前に画像を縮小するオプションも提供しています。 + +--- + +## 結論 + +以上で、Python を使って **TIFF ファイルで OCR を実行する方法** に関する簡潔で実用的なガイドは完了です。ライブラリのインストール、エンジンの設定(**OCR 言語の設定** を含む)、**OCR 用画像のロード**、**ドキュメント上で OCR を実行**、そして最終的に **TIFF からテキストを抽出** までを網羅しました。 + +ぜひ色々試してみてください:スレッド数を調整したり、言語を切り替えたり、OCR の出力を自然言語処理パイプラインに流し込んだり。基本をマスターすれば、可能性は無限に広がります。 + +質問があれば下のコメント欄にどうぞ。ハッピーコーディング! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/japanese/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..7ce83779 --- /dev/null +++ b/ocr/japanese/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,178 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR Pythonで言語を設定し、カスタム辞書を使用して画像からテキストを抽出する方法。開発者向けのステップバイステップチュートリアル。 +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: ja +og_description: Aspose OCR Pythonで言語を設定し、カスタム辞書を使用して画像からテキストを抽出する方法。数分でフルワークフローを学べます。 +og_title: Aspose OCR Pythonで言語を設定する方法 – 完全ガイド +tags: +- OCR +- Python +- Aspose +- Image Processing +title: Aspose OCR Pythonで言語を設定する方法 – 完全ガイド +url: /ja/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Pythonで言語を設定する方法 – 完全ガイド + +Aspose OCR を Python で使用する際に **言語の設定方法** を疑問に思ったことはありませんか? あなたは一人ではありません。デフォルトの英語モデルでは製品コードやシリアル番号、マルチリンガルテキストを認識できないことに多くの開発者が悩まされています。解決策はシンプルでありながら強力です。このチュートリアルでは、言語の設定、カスタム辞書の追加、画像からのテキスト抽出、そして最適な OCR 結果を得るための画像処理までを順を追って解説します。 + +ライブラリのインストールから抽出したテキストを出力する完全なサンプルの実行まで、必要な情報をすべて網羅します。最後まで読めば、**画像からテキストを抽出** する際に、特殊なコードや混在言語が含まれていても自信を持って処理できるようになります。 + +## 前提条件 + +始める前に以下を確認してください: + +* Python 3.8+ がインストールされていること(コードは f‑strings を使用しているため、古いバージョンは動作しません)。 +* 有効な Aspose OCR for Python ライセンスまたは無料トライアルキーを取得していること。 +* `pip install asposeocr` で `asposeocr` パッケージをインストールしていること。 +* 読み取り対象のテキストが含まれるサンプル画像(`product_label.png`)が用意されていること。 + +これらが揃っていれば完了です—次へ進みましょう。まだの場合は、Aspose のウェブサイトから無料トライアルを取得し、インストールコマンドを実行してください。所要時間はわずか数分です。 + +## Step 1: Import the Aspose OCR module + +スクリプトに OCR クラスを取り込むことが最初のステップです。これは後述する **言語の設定方法** の土台となります。 + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **プロのコツ:** インポート文はファイルの先頭にまとめておきましょう。後からコードを見返すときにスクリプト全体を把握しやすくなります。 + +## Step 2: How to set language + +デフォルトでは Aspose OCR は英語を想定しています。画像にフランス語、ドイツ語、その他の言語が含まれる場合は、エンジンに使用すべき言語を明示する必要があります。ここで主要なキーワードが活躍します。 + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +なぜ重要なのか? OCR エンジンは言語固有の文字モデルに依存しています。正しい言語を指定することで、特にアクセント付き文字や言語特有の合字に対する認識精度が劇的に向上します。 + +> **注:** 複数言語を同時にサポートしたい場合は、`ocr.Language.ENGLISH | ocr.Language.SPANISH` のようにリストで渡すことができます。 + +## Step 3: How to add dictionary (user‑defined words) + +OCR エンジンが「AB‑1234」などの製品コードを誤認識することがあります。カスタム辞書を提供することで信頼度を高められます。これが **辞書の追加方法** に直接対応します。 + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +エンジンはこれらの単語を「既知」とみなし、類似した文字よりも優先して認識します。SKU 番号、シリアルコード、ブランド名など、自然言語に含まれない語句に特に有用です。 + +## Step 4: How to process image + +エンジンの設定が完了したら、解析対象の画像を読み込む必要があります。これが **画像の処理方法** をシンプルかつ再現性のある形で実現します。 + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +PDF を扱う場合は、各ページを画像に変換してから処理できます—Aspose OCR はこの機能を標準でサポートしています。 + +## Step 5: How to extract text from image + +すべての設定が整ったら、最後に OCR を実行してテキストを取得します。これが **画像からテキストを抽出する方法** の核心です。 + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +スクリプトを実行すると、以下のような出力が得られるはずです: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +出力が文字化けしている場合は、言語設定が正しいか、カスタム辞書に期待通りの文字列が含まれているかを再確認してください。 + +## Complete Working Example + +以上をまとめた完全なスクリプトを `extract_label.py` というファイル名でコピー&ペーストしてください。`YOUR_DIRECTORY` は実際の画像パスに置き換えることを忘れずに。 + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Expected Output + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +辞書に追加したコードが正確に表示されれば、Aspose OCR を使った **言語の設定方法**、**辞書の追加方法**、そして **画像からテキストを抽出する方法** を習得したことになります。 + +## Handling Common Edge Cases + +| Situation | What to Do | +|-----------|------------| +| **画像がぼやけている** | `ocr.Image.apply_filter()` で前処理し、`process()` を呼び出す前にシャープ化します。 | +| **画像内に複数言語が混在** | `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH` のように複数言語を設定します。 | +| **大容量 PDF** | 各ページをループで処理し、`ocr.Image` に変換してからページごとに `process()` を実行します。 | +| **予期しない文字** | ユーザー定義単語リストに追加します。Aspose OCR はそれらを高信頼度トークンとして扱います。 | + +これらのヒントを活用すれば、入力が完璧でなくても OCR パイプラインを堅牢に保てます。 + +## Visual Reference + +![how to set language in Aspose OCR example](image.png "Screenshot showing how to set language in Aspose OCR Python example") + +*Alt text:* **言語設定** のスクリーンショット。Python IDE で言語プロパティを割り当てる様子を示しています。 + +## Conclusion + +これで Aspose OCR Python における **言語の設定方法**、**辞書の追加方法**、そして **画像からテキストを抽出する方法** と **画像を処理する手順** がすべて分かりました。上記の完全サンプルは任意のプロジェクトにそのまま組み込め、言語を変えるだけで簡単にカスタマイズ可能です。また、バッチ処理や PDF 入力への拡張も容易です。 + +次のステップに挑戦してみませんか? `ocr.Language.ENGLISH` を `ocr.Language.FRENCH` に置き換えて、フランス語ラベルでの精度向上を体感してください。あるいは `set_user_defined_words` メソッドを使って製品カタログ全体を辞書に登録すれば、OCR エンジンはすべてのエントリを高信頼度マッチとして扱います。 + +コーディングを楽しみながら、OCR 結果が常にクリアになることを願っています! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/japanese/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..b9ff216c --- /dev/null +++ b/ocr/japanese/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-01-12 +description: Pythonで手書きノートを処理するには、Aspose OCRを使用してJPG画像からテキストを迅速に抽出する方法を学びましょう。 +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: ja +og_description: Aspose OCR を使用して Python で手書きメモを処理します。JPG 画像からテキストを抽出し、手書き文字を OCR で認識し、OCR + 用に画像を読み込む方法を学びましょう。 +og_title: Pythonで手書きノートを処理する – 完全OCRチュートリアル +tags: +- OCR +- Python +- Aspose +title: Pythonで手書きノートを処理する – 手書きOCRガイド +url: /ja/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Pythonで手書きメモを処理する – 手書き OCR ガイド + +Pythonで**手書きメモを処理**する必要がある場合、このガイドが具体的な手順を示します。メモがスキャンした領収書、教室のホワイトボードの写真、あるいはやることリストのセルフィーであっても、**テキストを抽出する方法**を汗をかかずに学べます。 + +エンジンのインポート、JPG の読み込み、エンジンの実行、低信頼度の行の処理まで、すべてのステップを順に解説します。最後には **recognize text from jpg** ファイルを認識し、クリーンで実用的な文字列を取得できる、すぐに実行可能なスクリプトが手に入ります。 + +## 得られるもの + +- すぐに実行できる、完全なコードサンプル。 +- 各行が何をするかだけでなく、なぜ重要なのかを理解できる。 +- 揺らいだ手書きや低信頼度の結果に対処するためのヒント。 +- PDF、複数画像、カスタム言語パック向けにスクリプトを拡張する方法のガイダンス。 + +*Prerequisites*: Python 3.8+ がインストールされ、 有効な Aspose OCR ライセンス(または無料トライアル)を用意し、プロジェクトフォルダーに `handwritten_notes.jpg` という名前の画像ファイルを置いてください。 + +--- + +![手書きメモの処理例](https://example.com/handwritten-notes.png "手書きメモの処理") + +*Alt text: 手書きメモの処理 – OCR 用に準備された手書きテキストを示すサンプル画像です。* + +## Process Handwritten Notes: Setting Up the OCR Engine + +### Why this step matters +OCR エンジンは認識プロセスの頭脳です。適切な言語を選択し、オブジェクトを正しく初期化することで、エンジンは英字文字を探すべきこと、そして手書きの特性に対応できることを認識します。 + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Pro tip:** 他の言語のメモを想定している場合は、`ocr.Language.ENGLISH` を適切な enum(例: `ocr.Language.FRENCH`)に置き換えてください。エンジンは自動的に必要な文字セットをロードします。 + +--- + +## How to Extract Text from JPG Images + +### Loading the image – the first hurdle +エンジンが作業を開始する前に、JPG のビットマップ表現が必要です。Aspose は便利な静的 `load` メソッドを提供しており、ファイルを `Image` オブジェクトに読み込みます。 + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Why not use OpenCV or Pillow?* +これらのライブラリは前処理に優れていますが、Aspose の `Image.load` は OCR エンジンが期待する正確なピクセルフォーマットを保証し、色深度の不一致という一般的な問題を排除します。 + +--- + +## Recognize Text from JPG with Handwritten OCR Python + +### Running the OCR engine +エンジンと画像の準備ができたら、認識を実行します。`process` メソッドは `OcrResult` オブジェクトを返し、各 `Line` オブジェクトには信頼度スコアが含まれます。 + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**What’s happening under the hood?** +Aspose OCR は何百万もの手書きサンプルで学習したディープラーニングモデルを使用します。画像を行に分割し、さらに文字に分割して、各行の最も可能性の高いテキスト文字列を組み立てます。 + +--- + +## Load Image for OCR – Handling Low‑Confidence Results + +### Why you should care about confidence +手書き OCR は決して 100 % 完璧ではありません。信頼度が 75 % 未満の場合、エンジンが筆跡や背景ノイズに苦戦したことを意味します。これらの行をフィルタリングすることで、ユーザーに確認を求めるか、追加の画像前処理を適用するかを判断できます。 + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Typical output** (your results will vary): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +スクリプトが信頼できるテキストと揺らいだ部分をきれいに分離しているのが分かります。低信頼度の行は、コントラスト強化などの画像強化フィルタを使った二次処理に回すか、人間のレビュー担当者に提示できます。 + +--- + +## Full Script – Ready to Run + +以下はコピー&ペースト可能な完全プログラムです。`handwritten_ocr.py` として保存し、`python handwritten_ocr.py` を実行してください。 + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Expected behavior:** +- スクリプトは各行とその信頼度(パーセンテージ)を出力します。 +- 信頼度が 75 % 以上の行は「Accepted」と表示され、残りはレビュー対象としてフラグが付けられます。 +- `asposeocr` 以外に追加の依存関係は不要です。 + +--- + +## Common Questions & Edge Cases + +### What if my image is a PNG or BMP? +Aspose OCR はフォーマットを自動検出するため、`image_path` の拡張子を変更するだけで済みます。コードの変更は不要です。 + +### My handwriting is extremely messy—how can I improve accuracy? +1. **画像を前処理** – コントラストを上げ、背景の影を除去(OpenCV が役立ちます)。 +2. **信頼度閾値を上げる** – ほぼ完璧な行だけが欲しい場合は 80 % に設定します。 +3. **カスタムモデルを訓練** – Aspose は特化した手書きスタイル向けに「カスタム言語パック」機能を提供しています。 + +### Can I process multiple images in one run? +もちろんです。ファイルパスのリストに対して `for` ループで読み込み・処理ステップを回してください。同じ `ocr_engine` インスタンスを再利用すれば速度も向上します。 + +### Does this work on macOS/Linux? +はい。Aspose OCR は主要プラットフォーム向けにホイールを提供しています。`pip install asposeocr` でインストールすればすぐに使用可能です。 + +--- + +## Next Steps & Related Topics + +- **PDFからテキストを抽出する方法** – OCR パイプラインができたら、PDF ページを `ocr.Image.load` に渡すだけでワンラインで処理できます。 +- **データベースとの統合** – 受け入れられた各行を SQLite や PostgreSQL に保存し、検索可能なメモにします。 +- **モバイル向けリアルタイム OCR** – このスクリプトを Flask や FastAPI と組み合わせて、モバイルアプリが呼び出せる REST エンドポイントを提供します。 + +These extensions build on the core concepts we covered: **process handwritten notes**, **how to extract text**, **recognize text from jpg**, and **load image for OCR**. + +--- + +## Conclusion + +Python と Aspose OCR を使って **process handwritten notes** するための、堅実でエンドツーエンドのソリューションが手に入りました。このガイドではエンジンの設定、JPG の読み込み、認識の実行、低信頼度結果の処理までを一つのコピー&ペーストスクリプトで解説しました。 + +ここからは、さまざまな画像前処理手法を試したり、信頼度閾値を上げたり、数百枚のメモをバッチ処理したりしてみてください。可能性は無限大です。学んだコードがあなたの出発点です。 + +*Happy coding, and may your handwritten notes finally become searchable text!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/japanese/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..59ce1c4e --- /dev/null +++ b/ocr/japanese/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-01-12 +description: Python OCRチュートリアル:画像からテーブルのテキストを抽出する方法を紹介します。画像からテーブルを読み取り、Aspose OCRを使用して選択したテキストを抽出する方法を学びましょう。 +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: ja +og_description: 画像からテーブルテキストを抽出し、画像からテーブルを読み取り、Aspose OCRを使用して選択したテキストを抽出する方法を教えるPython + OCRチュートリアル。 +og_title: Python OCRチュートリアル:画像から表のテキストを抽出 +tags: +- OCR +- Python +- AsposeOCR +title: Python OCRチュートリアル:画像から表のテキストを抽出 +url: /ja/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR チュートリアル:画像からテーブルテキストを抽出する + +スキャンしたフォームからテーブルを抽出する方法を実際に示す **python ocr tutorial** が欲しかったことはありませんか? あなただけではありません。ほとんどのチュートリアルは汎用的なテキスト抽出で止まり、欲しいデータのきれいなグリッドをどのように分離すれば良いか分からないままです。 + +このガイドでは、実際のシナリオとして画像からテーブルを読み取り、必要な選択テキストだけを抽出し、最終的に結果を出力する手順を解説します。その過程で **how to extract table** データを確実に取得するコツも紹介するので、毎回ゼロから作り直す必要はありません。 + +## 学べること + +- Aspose OCR for Python のセットアップ方法。 +- テーブルを含む矩形領域の定義方法。 +- **extract table text** と **read table from image** の正確な手順。 +- 複数言語や不規則なテーブルレイアウトへの対処法のヒント。 +- すぐにプロジェクトに組み込める、完全で実行可能なスクリプト。 + +**前提条件** +- Python 3.8 以上。 +- OCR の基本概念に関する基礎知識(深い専門知識は不要)。 +- 明瞭なテーブルを含む PNG または JPEG 画像(ここでは `form_with_table.png` と呼びます)。 + +これらが揃っていれば、さっそく始めましょう—余計な説明は省き、実践的なコードだけです。 + +![python ocr tutorial example of table region](table_region_example.png){alt="テーブル領域を示す python ocr tutorial の例"} + +## ステップ 1: Aspose OCR のインストールとインポート + +まず最初に、Aspose OCR ライブラリが必要です。パッケージは PyPI にあるので、`pip` コマンド一つでインストールできます。 + +```bash +pip install aspose-ocr +``` + +次に、必要なモジュールとヘルパーをインポートします。 + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro tip:* 依存関係は `requirements.txt` にまとめておきましょう。環境の再現が簡単になります。 + +## ステップ 2: OCR エンジンの初期化(Python OCR Tutorial Core) + +エンジンの作成は、どの **python ocr tutorial** においても中心的な作業です。ここではデフォルト言語を英語に設定していますが、後から変更可能です。 + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +言語を設定する理由は何ですか? エンジンが期待する文字種を把握していると、OCR の精度は劇的に向上します。多言語フォームを扱う場合は、言語のリストを設定するか、領域ごとに上書きできます(後述)。 + +## ステップ 3: 画像の読み込み + +Aspose OCR は一般的な画像形式に対応しています。ファイルパスを指定すれば、処理可能な `Image` オブジェクトが取得できます。 + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Edge case:* 5 MB を超える大きな画像は処理が遅くなることがあります。パフォーマンスが問題になる場合は、OCR 前にリサイズや圧縮を検討してください。 + +## ステップ 4: テーブル領域の定義(Read Table from Image) + +ここが楽しい部分です:エンジンにテーブルがどこにあるかを指示します。`OcrRegion` に `Rectangle`(x, y, width, height)を渡します。座標はピクセル単位なので、多少の試行錯誤が必要です。 + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +領域を使う理由は何ですか? OCR をテーブル領域に限定することで **extract selected text** が高速化し、周囲のラベルやグラフィックからのノイズを回避できます。また、エンジンが均一なレイアウトに集中できるため、精度も向上します。 + +## ステップ 5: 定義した領域で OCR を実行 + +領域を設定したら、`process_region` を呼び出します。このメソッドは生テキスト、信頼度スコア、必要に応じてバウンディングボックスを含む `OcrResult` オブジェクトを返します。 + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +複数のテーブルを抽出したい場合は、異なる矩形でステップ 4‑5 を繰り返すだけです。 + +## ステップ 6: 抽出したテーブルテキストの出力 + +最後に、テーブルのテキスト表現を出力(または保存)します。Aspose OCR は行区切りが行に合わせて配置されたプレーンテキストを返すため、後処理がシンプルです。 + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**期待される出力**(例): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +この文字列を `csv` パーサーや pandas の DataFrame、あるいは任意の下流分析パイプラインに渡すことができます。 + +## 完全な動作例 + +すべてをまとめた、すぐに実行できるスクリプトです。`YOUR_DIRECTORY/form_with_table.png` を実際の画像パスに置き換えてください。 + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +`python extract_table.py` でスクリプトを実行します。すべてが正しく設定されていれば、コンソールにテーブルが表示されます。 + +## よくある質問とエッジケースの対処 + +**テーブルが完全に矩形でない場合はどうすればいいですか?** +テーブルを複数の重複領域に分割するか、全体をカバーする大きめの矩形を使用してからテキストを後処理(例:改行で分割)してください。 + +**特定の列だけを抽出できますか?** +フルテーブルテキストを取得した後、Python の `csv` や `pandas` を使って必要な列だけを抽出します。OCR の段階では矩形内のすべてが取得されます。 + +**英語以外のテーブルを扱うにはどうすればいいですか?** +`ocr_engine.language`(または `region.language`)に適切な列挙子を設定します。例:`ocr.Language.FRENCH`、または `ocr.Language.ENGLISH | ocr.Language.SPANISH` のように複数言語を組み合わせられます。 + +**各セルのバウンディングボックスを取得する方法はありますか?** +Aspose OCR は `region_result.words` を返し、各単語にバウンディングボックスが含まれます。これらをグリッドにマッピングすれば、セル単位の位置情報を取得できます。高度なレイアウト解析に有用です。 + +## 精度向上のためのヒント + +- 画像をクリーニングする:OCR にかける前に二値化やコントラスト強化を行いましょう。Pillow などのライブラリが役立ちます。 +- 圧縮アーティファクトを避ける:可能であればスキャンは PNG で保存しましょう。 +- DPI に注意:300 dpi が最適です。低い DPI は文字欠損の原因になります。 +- 矩形サイズを試す:やや大きめの矩形にすると、テーブルに属する余分な文字も捕捉しやすくなります。 + +## 次のステップ + +この **python ocr tutorial** で **how to extract table** の基礎をマスターしたので、次は以下に挑戦してみましょう: + +- 抽出したテキストを Python の `csv` モジュールで CSV ファイルに変換する。 +- データを **pandas** の DataFrame に投入して分析する。 +- 手書きフォームを OCR で読み取る(別のエンジンや追加トレーニングが必要)。 +- シンプルな `for` ループで数十枚のスキャンフォームをバッチ処理する自動化。 + +これらの拡張はすべて、本チュートリアルで扱ったコア概念に基づいているため、スケールアップもスムーズに行えます。 + +*ハッピーコーディング!問題があれば下にコメントを残してください—抽出の微調整を喜んでお手伝いします。* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/japanese/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..1ea02a63 --- /dev/null +++ b/ocr/japanese/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,280 @@ +--- +category: general +date: 2026-01-12 +description: PythonでPNGファイルのOCRを高速に実行しましょう。画像や請求書からテキストを抽出する方法と、Aspose.OCRを使用して画像をOCRにロードする方法を学びます。 +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: ja +og_description: PNGでOCRを即座に実行します。このガイドでは、画像や請求書からテキストを抽出し、OCR用に画像を読み込み、結果をJSONおよびCSVとして保存する方法を示します。 +og_title: PNGでOCRを実行する – 完全なPythonチュートリアル +tags: +- OCR +- Python +- Image Processing +title: PNGでOCRを実行 – 画像からテキストを抽出する完全なPythonガイド +url: /ja/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNGでOCRを実行 – 画像からテキストを抽出する完全Pythonガイド + +PNGファイルで **OCRを実行** したいけど、どのライブラリがきれいで構造化された結果を出すか分からないことはありませんか?実際のプロジェクト—たとえば請求書の自動化やレシートのスキャン—では、最初のステップは **画像からテキストを抽出** することです。PNGはロスレス品質を保つため、よく使われるフォーマットです。 + +このチュートリアルでは、Aspose.OCR Python パッケージを使ったハンズオン例を順に解説します。ガイドの最後まで読むと、**OCR用に画像をロード** し、すべてのテキスト行を取得し、そのデータを整った JSON オブジェクトに変換し、さらに CSV にダンプして下流処理に利用できるようになります。余計な説明は省き、実用的でそのまま実行可能なソリューションをご提供します。 + +## 学べること + +- Aspose.OCR ライブラリのインストールとインポート方法。 +- **PNGでOCRを実行** し、結果オブジェクトを扱う正確な手順。 +- **請求書からテキストを抽出** し、出力を JSON または CSV 形式に整形する方法。 +- 低コントラスト画像、多言語文書、信頼度スコアへの対処法。 +- 今日から実行できる、コピー&ペースト可能な完全コードサンプル。 + +> **前提条件:** Python 3.8+ と pip の基本的な知識。Aspose を使ったことがなくても大丈夫です—このガイドですべてカバーします。 + +--- + +## Step 1 – Install Aspose.OCR and Prepare Your Environment + +**PNGでOCRを実行** できるように、まずライブラリをシステムにインストールします。 + +```bash +pip install aspose-ocr +``` + +> **プロのコツ:** 仮想環境 (`python -m venv venv`) を使って依存関係を分離しましょう。複数プロジェクトを扱う際のバージョン衝突を防げます。 + +インストールが完了したら、必要なモジュールをインポートします。 + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +ここでは、重い処理を担う `asposeocr` と、後でシリアライズに使う組み込みの `json` ライブラリを読み込みます。 + +--- + +## Step 2 – Create the OCR Engine and Set the Language + +OCR エンジンは実際にピクセルを読み取るコアコンポーネントです。英語の請求書が多い場合は、英語言語パックを指定します。 + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **なぜ重要か:** 言語を指定すると文字セットが絞られ、精度が向上し処理速度も速くなります。多言語の請求書に対応したい場合は、`ocr.Language.ENGLISH` を適切な enum に置き換えるだけです。 + +--- + +## Step 3 – Load the Image for OCR + +次に **OCR用に画像をロード** します。`Image.load` メソッドはファイルパスを受け取り、PNG、JPEG、BMP などに対応しています。 + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **エッジケース:** PNG が非常に大きい(5 MB 超)場合は、メモリ使用量を抑えるために先にリサイズすると良いでしょう。Pillow ならワンラインで可能です。 + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## Step 4 – Run OCR on PNG and Capture the Result + +エンジンの準備と画像のロードが完了したら、**PNGでOCRを実行** し、構造化された結果を取得します。 + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +`ocr_result` オブジェクトは `OcrRegion` アイテムのコレクションを保持しており、認識されたテキストと信頼度スコア(0‑100)を含みます。ここで **請求書からテキストを抽出** するために必要な細かいデータが得られます。 + +--- + +## Step 5 – Convert the Result to JSON and Pretty‑Print It + +多くの下流システムは JSON を好むため、OCR 出力を整形された文字列に変換します。 + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### サンプル出力 + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +各行に信頼度メトリックが含まれているのが分かります—**請求書からテキストを抽出** を自動化する際に、低信頼度エントリを除外するのに最適です。 + +--- + +## Step 6 – Save the OCR Data as CSV (One Line per Text + Confidence) + +CSV はスプレッドシートや簡易データインポートに最適です。Aspose はすべてを CSV ファイルに書き出すワンライナーを提供しています。 + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +生成される CSV は次のようになります: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +これで Excel、Google Sheets、あるいはデータベースにインポートできます。 + +--- + +## Bonus – Handling Low‑Confidence Text and Multi‑Page PDFs + +### 信頼度でフィルタリング + +高信頼度の行だけが欲しい場合は、JSON を書き出す前にフィルタリングします: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### マルチページ文書 + +Aspose.OCR はマルチページ PNG や PDF の各ページに自動で `page` エントリを作成します。`ocr_data["pages"]` をループすれば、追加コードなしで全ページを処理できます。 + +--- + +## Full Working Example + +以下は **完全なスクリプト** です。コピーして貼り付け、すぐに実行できます。`YOUR_DIRECTORY` を PNG ファイルが格納されているフォルダに置き換えてください。 + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +`python run_ocr.py` でスクリプトを実行すると、コンソールに JSON ダンプが表示され、ディスクに CSV ファイルが生成され、さらに高信頼度エントリのフィルタ済みリストが得られます。 + +--- + +## Frequently Asked Questions + +**Q: 請求書ではなくスキャンしたレシートからテキストを抽出したい場合はどうすればいいですか?** +A: 全く同じワークフローが使えます—`image_path` をレシートの PNG に指すだけです。レシートが別言語の場合は、`engine.language` を適切に切り替えてください。 + +**Q: PNG に回転したテキストが含まれている場合は?** +A: Aspose.OCR は自動で向きを検出しますが、頑固なケースでは Pillow で手動回転させてからエンジンに渡すことも可能です。 + +**Q: Aspose.OCR の利用には有料ライセンスが必要ですか?** +A: ライブラリは出力に透かしが入る無料評価モードを提供しています。本番環境で使用する場合は、Aspose のウェブサイトからライセンスを取得する必要があります。 + +--- + +## Conclusion + +Python で **PNGでOCRを実行** するために必要なすべての手順を網羅しました:SDK のインストール、画像のロード、構造化テキストの抽出、JSON または CSV への保存。シンプルなスクリプトで **画像からテキストを抽出** したい場合でも、**請求書からテキストを抽出** して自動会計パイプラインを構築したい場合でも、上記の手順は堅牢なプロダクションベースの基盤を提供します。 + +次に試すべきこと: + +- CSV 出力をデータベースに統合し、請求書を一括保存。 +- 正規表現で日付、金額、税番号などを抽出するポストプロセッシングを追加。 +- 請求書に QR コードが含まれる場合は、`ocr_engine.recognize_barcode` 機能を活用。 + +ぜひ試してみて、信頼度閾値を調整し、ドキュメント処理ワークフローがどれだけ楽になるか体感してください。質問や面白いユースケースがあればコメントで教えてください—Happy OCRing! + +![run OCR on PNG example](run-ocr-on-png.png "run OCR on PNG – OCR結果のビジュアル例") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/korean/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..9be00cf9 --- /dev/null +++ b/ocr/korean/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR을 사용하여 Python으로 이미지에서 텍스트를 추출합니다. 비동기 코드를 사용해 스캔한 이미지를 몇 분 + 안에 텍스트로 변환하는 방법을 배워보세요. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: ko +og_description: Aspose OCR을 사용한 Python 이미지 텍스트 추출. 이 튜토리얼에서는 비동기 함수를 사용하여 스캔된 이미지를 + 텍스트로 변환하는 방법을 보여줍니다. +og_title: 이미지에서 텍스트 추출 파이썬 – 비동기 OCR 가이드 +tags: +- python +- ocr +- async +title: 이미지에서 텍스트 추출 파이썬 – 비동기 OCR 가이드 +url: /ko/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 이미지에서 텍스트 추출 Python – 비동기 OCR 가이드 + +스크립트에서 **이미지에서 텍스트 추출 Python**을 해야 하는데 OCR 단계에서 막히신 적 있나요? 당신만 그런 것이 아닙니다. 스캔한 문서를 가지고 검색 가능한 텍스트로 변환하려다 머리카락을 뽑을 지경에 이른 개발자들이 많이 있습니다. + +이 튜토리얼에서는 Aspose OCR의 비동기 API를 사용해 **스캔 이미지에서 텍스트로 변환**하는 완전하고 실행 가능한 예제를 단계별로 살펴보겠습니다. 마지막까지 따라오시면 어떤 프로젝트에든 바로 삽입할 수 있는 단일 함수를 얻을 수 있으며, OCR에 몇 초가 걸리더라도 앱이 응답성을 유지할 수 있는 이유를 이해하게 될 것입니다. + +## 사전 요구 사항 + +시작하기 전에 다음이 준비되어 있는지 확인하세요: + +- Python 3.8+ 설치 (비동기 기능은 최소 3.7 필요) +- `asposeocr` 패키지 (`pip install asposeocr`) – 사용할 라이브러리 +- 스캔 이미지 파일 (TIFF, PNG, JPEG – Aspose OCR이 지원하는 형식이면 모두 가능) +- `asyncio`에 대한 기본적인 이해 (없어도 괜찮습니다 – 각 단계를 설명합니다) + +추가 시스템 종속성은 필요하지 않습니다; Aspose OCR이 필요한 모든 것을 포함하고 있습니다. + +![async OCR 흐름을 보여주는 다이어그램 – 이미지에서 텍스트 추출 python](https://example.com/async-ocr-diagram.png "async OCR 흐름 – 이미지에서 텍스트 추출 python") + +## 1단계 – 비동기 헬퍼 함수 설정 + +솔루션의 핵심은 이미지를 로드하고 OCR을 시작한 뒤 결과를 기다리는 `async` 함수입니다. 함수를 비동기로 유지하면 OCR 엔진이 백그라운드에서 작업하는 동안 다른 코루틴(예: 파일 추가 다운로드)을 실행할 수 있습니다. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**왜 중요한가:** `Future`를 반환함으로써 Aspose OCR은 별도의 스레드 풀에서 무거운 작업을 수행합니다. `await`는 이벤트 루프를 해제하므로 앱이 부드럽게 동작합니다. 동시에 여러 이미지를 처리해야 한다면 `asyncio.gather`로 여러 `async_ocr` 호출을 스케줄링하면 됩니다. + +## 2단계 – 이벤트 루프에서 코루틴 실행 + +헬퍼 함수를 만들었으니 이제 실행해야 합니다. `asyncio.run`은 새로운 이벤트 루프를 생성하고 코루틴을 실행한 뒤 모든 것을 깔끔하게 종료합니다. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**팁:** 이 코드를 더 큰 비동기 애플리케이션(예: FastAPI)과 통합한다면 `asyncio.run` 대신 `await async_ocr(...)`를 직접 호출하면 됩니다. + +## 3단계 – 출력 확인 + +스크립트를 실행하면 다음과 비슷한 결과가 표시됩니다: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +출력이 깨져 보인다면 다음을 다시 확인하세요: + +1. 이미지가 선명하고 과도하게 압축되지 않았는지. +2. 올바른 언어를 선택했는지 (`ocr.Language.ENGLISH`는 대부분 라틴 기반 텍스트에 사용). +3. 파일 경로가 정확하고 파일을 읽을 수 있는지. + +## 4단계 – 엣지 케이스 처리 + +### 다중 언어 + +영어가 아닌 다른 언어로 **스캔 이미지에서 텍스트로 변환**하려면 언어 속성만 바꾸면 됩니다: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### 대용량 파일 + +매우 큰 TIFF 파일의 경우 OCR에 전달하기 전에 해상도를 낮춘 PNG로 변환하거나 크기를 조정하는 것이 좋습니다. 이렇게 하면 메모리 사용량이 감소하고 처리 속도가 빨라집니다. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### 오류 처리 + +네트워크 관련 오류나 라이선스 오류를 잡기 위해 OCR 호출을 `try/except` 블록으로 감싸세요. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## 5단계 – 확장: 다수의 이미지 동시 처리 + +함수가 비동기이기 때문에 한 번에 수십 개의 OCR 작업을 동시에 시작할 수 있습니다: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +이 패턴은 OCR 엔진이 병렬로 작업하는 동안 CPU를 효율적으로 활용해 전체 처리 시간을 크게 단축합니다. + +## 결론 + +이제 Aspose OCR의 비동기 API를 활용한 견고한 **이미지에서 텍스트 추출 Python** 솔루션을 갖추었습니다. 전체 예제는 다음을 보여줍니다: + +1. OCR 엔진 초기화 및 언어 선택. +2. `process_async`로 OCR을 비동기적으로 시작. +3. 이벤트 루프를 차단하지 않고 결과를 `await`. +4. 대용량 파일 및 다중 언어 지원과 같은 일반적인 함정 처리. + +코드를 여러분의 파이프라인에 맞게 자유롭게 변형해 보세요—문서 관리 시스템, 검색 인덱서, 혹은 간단한 CLI 유틸리티를 구축하든 말든. 다음 단계로는: + +- 추출한 텍스트를 데이터베이스에 저장해 전체 텍스트 검색 구현. +- `PyPDF2` 등으로 PDF 생성하여 검색 가능한 PDF 만들기. +- FastAPI와 같은 웹 프레임워크와 통합해 RESTful OCR 서비스 제공. + +코딩을 즐기시고, 스캔 이미지가 검색 가능하고 편집 가능한 텍스트로 변환되는 경험을 만끽하세요! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/korean/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..20319e32 --- /dev/null +++ b/ocr/korean/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,214 @@ +--- +category: general +date: 2026-01-12 +description: Python에서 JPEG 파일의 텍스트를 빠르게 추출하고 이미지를 일괄 OCR하는 방법. 완전한 실행 가능한 예제와 함께 단계별 + 일괄 처리 방법을 배워보세요. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: ko +og_description: 이미지를 일괄 OCR하고 JPEG 파일에서 텍스트를 추출하는 방법. 이 가이드는 완전하고 바로 실행할 수 있는 파이썬 + 솔루션을 단계별로 안내합니다. +og_title: 배치 OCR 이미지 처리 방법 – 빠른 파이썬 튜토리얼 +tags: +- OCR +- Python +- image processing +title: 이미지를 일괄 OCR하는 방법 – JPEG 파일에서 텍스트 추출을 위한 빠른 가이드 +url: /ko/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 이미지 배치 OCR 방법 – JPEG 파일에서 텍스트 추출을 위한 빠른 가이드 + +여러 파일마다 별도의 스크립트를 작성하지 않고 **이미지를 배치 OCR하는 방법**이 궁금하셨나요? 당신만 그런 것이 아닙니다. 청구서 스캔, 아카이브 디지털화, 콘텐츠 검열 등 많은 프로젝트에서 한 번에 수십 개에서 수백 개의 JPEG 파일에서 텍스트를 추출해야 합니다. 좋은 소식은 파이썬 몇 줄만으로 이를 수행할 수 있으며, 어떤 파이프라인에도 끼워 넣을 수 있는 재사용 가능한 엔진을 만들 수 있다는 점입니다. + +이 튜토리얼에서는 **이미지를 배치 OCR하는 방법**을 정확히 보여드리고, JPEG 파일에서 텍스트를 추출하고, 엣지 케이스를 처리하며, 결과를 검증하는 과정을 단계별로 안내합니다. 끝까지 따라오시면 이미지 폴더 전체에 대해 실행할 수 있는 독립형 스크립트를 얻게 되며, 배치 처리의 성능 및 유지보수 측면에서의 중요성을 이해하게 될 것입니다. + +## 배울 내용 + +- 간단한 OCR 엔진을 설정하고 영어에 맞게 구성하기 +- `pathlib`을 사용해 디렉터리 내 모든 JPEG 파일 수집하기 +- 한 번의 호출로 전체 배치를 처리하는 OCR 엔진 사용하기 +- 각 이미지에 대해 인식된 텍스트 미리보기 표시하기 +- 대용량 배치, 다국어 지원, 흔히 발생하는 함정 처리 팁 + +**전제 조건**: Python 3.8 이상, `ocr` 라이브러리(또는 호환 가능한 래퍼), 분석하려는 JPEG 이미지가 들어 있는 폴더. 외부 서비스는 필요 없으며 모든 작업이 로컬에서 수행됩니다. + +--- + +## Step 1: Initialise the OCR Engine – The Core of How to Batch OCR Images + +배치를 OCR하려면 텍스트를 읽을 수 있는 엔진이 필요합니다. 대부분의 라이브러리에서는 엔진 객체를 생성하고, 필요에 따라 언어를 설정한 뒤, 모든 파일에 재사용합니다. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*왜 중요한가*: 엔진을 한 번만 초기화하면 언어 모델을 반복해서 로드하는 오버헤드를 피할 수 있습니다. 또한 DPI, 허용 문자 목록 등 설정을 한 곳에서 조정하면 전체 배치에 적용됩니다. + +> **Pro tip**: 다국어 문서를 처리할 계획이라면 `ocr.Language.ENGLISH`를 `ocr.Language.MULTI`로 바꾸거나 배치를 시작하기 전에 여러 언어 팩을 로드하세요. + +--- + +## Step 2: Gather All JPEG Files – The “Extract Text from JPEG Files” Part + +엔진이 준비되었으니 이제 어떤 이미지들을 처리할지 알려줘야 합니다. `pathlib`을 사용하면 코드가 플랫폼에 독립적이고 간결해집니다. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*왜 중요한가*: 파일 목록을 먼저 수집하면 전체 컬렉션을 한 번에 OCR 엔진에 전달할 수 있습니다—바로 **이미지를 배치 OCR하는 방법**의 핵심입니다. 하위 폴더가 있다면 `glob("**/*.jpg")`를 재귀 검색으로 바꿀 수 있습니다. + +> **Edge case**: 이미지 확장자가 혼합되어 있는 경우(`.jpeg`, `.JPG`) 다음과 같이 glob 패턴을 확장하세요: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Step 3: Process the Whole Batch in One Call – The Real Power of Batch OCR + +대부분의 최신 OCR 라이브러리는 파일 경로 iterable을 받아들이는 `process_batch`(또는 유사 이름) 메서드를 제공합니다. 이것이 **이미지를 배치 OCR하는 방법**을 효율적으로 구현하는 핵심입니다. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*왜 중요한가*: 한 번의 배치 호출은 Python‑to‑C 전환 횟수를 줄이고, 언어 모델을 메모리에 유지하며, 내부 병렬 처리를 가능하게 합니다. 결과는 인식된 텍스트와 신뢰도 점수를 포함한 객체 리스트가 됩니다. + +> **Performance note**: 수천 개의 이미지를 처리하는 매우 큰 배치의 경우, 메모리 과다 사용을 방지하기 위해 리스트를 작은 청크(예: 200 파일)로 나누어 처리하는 것을 고려하세요. + +--- + +## Step 4: Show a Preview of the Extracted Text – Quick Validation + +배치가 끝난 뒤 각 결과의 앞 몇 글자를 살펴보면 OCR이 실제로 JPEG 파일에서 텍스트를 추출했는지 빠르게 확인할 수 있습니다. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*왜 중요한가*: 짧은 미리보기를 통해 빈 출력이나 깨진 문자와 같은 명백한 실패를 모든 파일을 열지 않고도 발견할 수 있습니다. 체계적인 문제가 보이면 엔진 설정을 조정하고 배치를 다시 실행하면 됩니다. + +> **Common pitfall**: 개행 문자를 제거하지 않으면 미리보기가 지저분해 보일 수 있습니다. `replace("\n", " ")` 라인이 이를 정리해 줍니다. + +--- + +## Full Working Example – All Steps Combined + +아래는 전체 스크립트이며, 디렉터리 경로만 수정하고 바로 실행할 수 있습니다. **이미지를 배치 OCR하는 방법** 전체 워크플로우를 시작부터 끝까지 보여줍니다. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**예상 출력** (샘플): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +미리보기에 의미 있는 텍스트가 표시되면 **JPEG 파일에서 텍스트를 추출**하는 배치 접근법을 성공적으로 수행한 것입니다. + +--- + +## Handling Large Batches and Advanced Scenarios + +### Chunking Large Workloads +수천 개의 이미지를 다룰 때 메모리가 병목이 될 수 있습니다. 리스트를 작은 청크로 나누세요: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Switching Languages +문서에 프랑스어나 스페인어가 포함되어 있다면 배치 전에 언어를 변경합니다: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Saving Results to Disk +출력을 콘솔에 표시하는 대신 각 OCR 결과를 `.txt` 파일로 저장하고 싶을 수 있습니다: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Conclusion + +이제 **이미지를 배치 OCR하는 방법**과 **JPEG 파일에서 텍스트를 추출**하는 방법을 컴팩트한 파이썬 스크립트로 확실히 익혔습니다. 엔진을 한 번만 초기화하고, 모든 JPEG 경로를 수집하고, 한 번의 배치 호출로 처리하고, 출력 미리보기를 확인함으로써 속도와 단순성을 동시에 얻을 수 있습니다. 여기서부터는 다국어 지원을 추가하거나, 결과를 데이터베이스에 저장하거나, 스크립트를 더 큰 문서 처리 파이프라인에 통합하는 등 워크플로우를 확장할 수 있습니다. + +다음 단계가 준비되셨나요? `ocr` 라이브러리를 Tesseract로 교체해 보거나, 이미지 전처리(임계값 적용, 리사이징)를 실험해 보세요. 추출된 텍스트를 자연어 처리 모델에 넣어 자동 분류까지 진행할 수 있습니다. 가능성은 무한하며, 이제 튼튼한 기반을 갖추었습니다. + +행복한 코딩 되시고, OCR 배치가 언제나 오류 없이 작동하길 바랍니다! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/korean/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..78f9104b --- /dev/null +++ b/ocr/korean/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,145 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR을 사용하여 이미지에서 언어를 감지하는 방법 – 이미지에서 텍스트를 추출하고, 혼합 언어 OCR을 처리하며, + Python에서 OCR을 사용하는 방법을 배워보세요. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: ko +og_description: Aspose OCR을 사용하여 이미지에서 언어를 감지하는 방법 – 이미지에서 텍스트를 추출하고 혼합 언어 OCR을 처리하는 + 단계별 가이드. +og_title: 혼합 텍스트의 OCR을 사용한 언어 감지 방법 +tags: +- OCR +- Python +- Aspose +title: 혼합 텍스트에서 OCR로 언어 감지하는 방법 +url: /ko/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 혼합 텍스트에서 OCR을 사용한 언어 감지 방법 + +Aspose OCR을 사용해 이미지에서 언어를 감지하는 것은 다국어 문서를 다룰 때 흔히 마주치는 과제입니다. 같은 페이지에 영어와 프랑스어가 모두 포함된 **how to extract text from image**가 궁금하셨나요? 이 튜토리얼에서는 OCR을 이용해 언어를 식별하고 텍스트를 추출하며, 혼합 언어 시나리오를 손쉽게 처리하는 완전한 실행 예제를 단계별로 살펴봅니다. + +설정부터 Aspose OCR 엔진 초기화, 지원 언어 지정, 샘플 청구서 이미지 로드, OCR 실행, 그리고 감지된 언어와 추출된 텍스트를 출력하는 과정까지 모두 다룹니다. 이 과정을 마치면 인보이스 파이프라인, 영수증 스캐너, 문서 보관 도구 등에서 “how to use OCR for mixed language OCR”을 구현하는 방법을 스스로 답할 수 있게 됩니다. + +> **Prerequisites** – Python 3.8+이 설치되어 있어야 하고, pip에 대한 기본 지식과 Aspose OCR 라이선스(무료 체험판으로도 데모 가능)가 필요합니다. 다른 외부 라이브러리는 필요하지 않습니다. + +--- + +## Aspose OCR으로 언어 감지하기 + +첫 번째 단계는 OCR 엔진 인스턴스를 생성하고 어떤 언어를 탐지할지 지정하는 것입니다. Aspose OCR은 비트 마스크를 사용해 언어를 조합하므로 영어, 프랑스어, 스페인어 등 원하는 조합을 손쉽게 지원할 수 있습니다. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Why this matters:** 엔진을 초기화하는 것이 기본이며, 이를 통해 OCR 메서드를 호출할 수 있고, 이후 **detect language**을 수행할 수 있는 모든 설정이 엔진에 저장됩니다. + +--- + +## OCR을 사용해 이미지에서 텍스트 추출하기 + +이제 엔진에 가능한 언어를 알려야 합니다. `ENGLISH | FRENCH` 비트 마스크를 설정하면 엔진이 이미지 각 영역에 가장 적합한 언어를 자동으로 선택합니다. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Why this matters:** `auto_detect_language`를 활성화하는 것이 **how to detect language** in a mixed‑language document의 핵심입니다. 엔진은 텍스트를 스캔하고 각 언어에 점수를 매겨 가장 높은 신뢰도를 가진 언어를 반환합니다. 이 단계를 건너뛰면 직접 언어를 추측해야 하므로 혼합 언어 OCR의 목적이 무색해집니다. + +--- + +## 혼합 언어 OCR 설정 구성하기 + +이미지를 엔진에 전달하기 전에 먼저 로드해야 합니다. Aspose OCR은 자체 `Image` 클래스를 사용해 파일 형식에 구애받지 않고 이미지를 추상화합니다. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Tip:** 최상의 결과를 위해 이미지 해상도를 약 300 dpi 정도로 유지하세요. 낮은 해상도는 특히 프랑스어의 악센트 문자와 같은 미세한 문자들을 놓치게 할 수 있습니다. + +--- + +## OCR 프로세스 실행 및 결과 얻기 + +엔진이 구성되고 이미지가 로드되면 이제 OCR 프로세스를 실행할 차례입니다. `process` 메서드는 감지된 언어 코드와 전체 추출 텍스트를 모두 포함하는 `OcrResult` 객체를 반환합니다. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Expected output** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +이미지에 프랑스어 구간이 포함되어 있으면 감지된 언어가 `FRENCH`로 표시되고 해당 프랑스어 텍스트가 출력됩니다. + +--- + +## 이미지 예시 (SEO용 Alt Text) + +![혼합 언어 OCR 이미지에서 언어 감지 방법](mixed_lang_invoice.png) + +*위 스크린샷은 영어와 프랑스어 텍스트가 모두 포함된 샘플 청구서를 보여주며, OCR 엔진이 **detect language**하고 한 번에 내용을 추출하는 과정을 시각화합니다.* + +--- + +## 흔히 발생하는 문제와 전문가 팁 + +| Issue | Why it Happens | How to Fix / Mitigate | +|-------|----------------|------------------------| +| **Blurry or low‑resolution scans** | 엔진이 문자를 구분하지 못해 언어 감지가 틀릴 수 있습니다. | 300 dpi 이상으로 스캔하고 OCR 전에 이미지 선명화 적용 | +| **Missing language in the bit‑mask** | 언어를 누락하면 엔진이 첫 번째 매치로 기본 설정되어 부정확한 결과가 나옵니다. | 예상되는 모든 언어를 반드시 포함하고 `|` 연산자로 조합 | +| **Mixed scripts (e.g., Latin + Cyrillic)** | Aspose OCR은 별도의 언어 팩이 필요할 수 있습니다. | 추가 언어 팩을 설치하고 마스크에 추가 | +| **Large files causing memory spikes** | 거대한 이미지를 메모리에 로드하면 스크립트가 중단될 수 있습니다. | `Image.resize`로 DPI는 유지하면서 다운스케일하거나 타일 단위로 처리 | + +**Pro tip:** 원시 텍스트를 얻은 뒤 공백과 줄바꿈을 정규화하는 간단한 후처리 단계를 수행하면 인보이스 번호 추출 등 후속 파싱이 훨씬 쉬워집니다. + +--- + +## 정리: 배운 내용 + +이제 Aspose OCR을 사용해 혼합 언어 이미지에서 **how to detect language**하는 방법을 알게 되었으며, **how to extract text from image**를 포함한 전체 흐름을 확인했습니다. 언어 비트 마스크 설정, 자동 감지 활성화, 결과 객체 처리까지 마스터하면 영어와 프랑스어(또는 기타 언어)가 섞인 청구서, 영수증, 문서를 안정적으로 처리할 수 있습니다. + +### 다음 단계 + +- PDF에서 각 페이지를 이미지로 변환한 뒤 **how to extract text**를 시도해 보세요. +- 보조 키워드를 활용해 전체 **how to use OCR** API를 탐색하고, OCR 영역을 지정해 처리 속도를 높여 보세요. +- 세 개 이상 언어가 섞인 **mixed language OCR** 사례에 도전해 보세요. + +코드를 자유롭게 수정하고 직접 이미지로 테스트해 보세요. 문제가 생기면 아래에 댓글을 남겨 주세요—행복한 코딩 되세요! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/korean/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..ccec0b6f --- /dev/null +++ b/ocr/korean/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,211 @@ +--- +category: general +date: 2026-01-12 +description: Python에서 PDF를 OCR하는 방법을 배우고 PDF를 빠르게 검색 가능하게 만드세요. 스캔된 PDF를 변환하고, 텍스트 + PDF를 추출하며, Aspose OCR을 사용하여 Python으로 스캔된 PDF를 OCR하세요. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: ko +og_description: Python에서 PDF를 OCR하는 방법은? 이 단계별 튜토리얼은 스캔된 PDF 파일을 검색 가능한 PDF로 변환하고 + Aspose OCR을 사용하여 텍스트를 추출하는 방법을 보여줍니다. +og_title: PDF를 OCR하고 검색 가능하게 만드는 방법 – 파이썬 가이드 +tags: +- OCR +- Python +- PDF processing +title: PDF를 OCR하고 검색 가능하게 만드는 방법 – 파이썬 가이드 +url: /ko/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PDF를 OCR하고 검색 가능하게 만들기 – Python 가이드 + +상업용 소프트웨어에 큰 비용을 들이지 않고 **PDF를 OCR하는 방법**을 궁금해 본 적 있나요? 당신만 그런 것이 아닙니다. 많은 개발자들이 스캔된 계약서, 청구서 또는 이미지 기반 PDF를 검색 가능한 문서로 변환해야 할 때 벽에 부딪히곤 합니다. 좋은 소식은? 몇 줄의 Python 코드와 Aspose OCR만 있으면 스캔된 PDF를 변환하고, 텍스트 PDF를 추출하며, 결국 몇 분 안에 PDF를 검색 가능하게 만들 수 있습니다. + +이 튜토리얼에서는 라이브러리 설치, 언어 설정, 스캔된 PDF 처리, 원본 이미지와 숨겨진 텍스트 레이어를 모두 포함하는 검색 가능한 PDF 저장까지 필요한 모든 과정을 단계별로 안내합니다. 마지막까지 진행하면 어떤 프로젝트에도 바로 넣어 사용할 수 있는 재사용 가능한 스크립트를 얻게 됩니다—수동 복사‑붙여넣기는 필요 없습니다. + +--- + +## 필요 사항 + +- **Python 3.8+** (코드는 3.9, 3.10 및 최신 버전에서도 작동합니다) +- 활성 **Aspose OCR for Python** 라이선스 (무료 체험판으로 실험 가능) +- 검색 가능하게 만들고자 하는 스캔된 PDF 파일 (예: `scanned_contract.pdf`) +- 명령줄 및 가상 환경에 대한 기본 지식 (선택 사항이지만 권장) + +> **Pro tip:** 아직 라이선스가 없다면 Aspose 웹사이트에서 30일 체험판에 가입하세요; 체험판은 개발 목적에 완전히 기능합니다. + +## Aspose OCR을 사용한 PDF OCR 방법 (H2 주요 키워드) + +첫 번째 단계는 올바른 패키지를 가져오는 것입니다. Aspose OCR은 저수준 이미지 처리 세부 사항을 추상화한 깔끔하고 고수준 API를 제공합니다. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +패키지를 설치하면 스크립트 작성을 시작할 수 있습니다. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **왜 언어를 설정하나요?** +> OCR 정확도는 언어 모델에 크게 좌우됩니다. 엔진에 영어 텍스트를 기대하도록 명시하면 오탐을 줄이고 처리 속도를 높일 수 있습니다. + +## 단계 2: 스캔된 PDF를 검색 가능한 PDF로 변환 + +엔진이 준비되었으니 스캔된 문서를 지정하세요. `process_pdf` 메서드는 원본 이미지 데이터와 인식된 텍스트를 모두 포함하는 `PdfResult` 객체를 반환합니다. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +대량으로 **스캔된 PDF** 파일을 변환해야 한다면 디렉터리를 순회하며 각 파일에 `process_pdf`를 호출하면 됩니다. 엔진은 다중 페이지 PDF를 기본적으로 처리합니다. + +## 단계 3: 검색 가능한 PDF로 결과 저장 (PDF를 검색 가능하게 만들기) + +퍼즐의 마지막 조각은 검색 가능한 버전을 저장하는 것입니다. Aspose OCR은 이를 한 줄 코드로 처리합니다: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +어떤 PDF 뷰어에서 `contract_searchable.pdf`를 열면 원본 스캔 이미지가 보이지만 이제 OCR 엔진이 인식한 **어떤 단어든 검색**할 수 있습니다. 숨겨진 텍스트 레이어는 눈에 보이지 않지만 완전히 색인 가능합니다. + +### 전체 스크립트 – 바로 실행 가능 + +아래는 완전하고 실행 가능한 예제입니다. `make_searchable.py`라는 파일에 복사‑붙여넣고 환경에 맞게 경로를 조정하세요. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**예상 출력:** +스크립트를 실행하면 확인 메시지가 출력되고 `contract_searchable.pdf`가 생성됩니다. 파일을 열고 `Ctrl + F`를 눌러 원본 스캔 이미지에 나타나는 단어를 입력하면 즉시 일치 항목이 표시됩니다. + +## 일반적인 질문 및 엣지 케이스 + +### 1. PDF에 여러 언어가 포함된 경우는 어떻게 하나요? + +엔진에 언어 목록을 전달할 수 있습니다: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR은 같은 페이지에서 두 언어의 텍스트를 모두 인식하려 시도합니다. + +### 2. 저해상도 스캔을 어떻게 처리하나요? + +원본 이미지가 150 dpi 이하이면 OCR 정확도가 떨어질 수 있습니다. `pdfimages`와 같은 도구로 PDF를 페이지별로 추출하고, Pillow로 업스케일한 뒤 `process_pdf`에 고해상도 이미지를 다시 전달하세요. + +### 3. 검색 가능한 PDF를 만들지 않고 순수 텍스트만 추출할 수 있나요? + +물론 가능합니다. `PdfResult` 객체는 `text` 속성을 제공합니다: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +이는 원시 문자만 필요할 때 **텍스트 PDF 추출** 사용 사례를 충족합니다. + +### 4. PDF 폴더를 일괄 처리하는 방법이 있나요? + +네—`ocr_to_searchable` 함수를 간단한 루프에 감싸면 됩니다: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +이제 한 번의 명령으로 **스캔된 pdf** 파일을 대량 변환할 수 있습니다. + +## 성능 팁 + +- **엔진 재사용**: 파일마다 새로운 `OcrEngine`을 생성하면 오버헤드가 발생합니다. 한 번 인스턴스화하고 여러 호출에 재사용하세요. +- **병렬 처리**: 대량 배치의 경우 Python의 `concurrent.futures.ThreadPoolExecutor`를 고려하세요—Aspose OCR은 읽기 전용 작업에 대해 스레드 안전합니다. +- **메모리 관리**: 수백 페이지에 이르는 매우 큰 PDF를 처리할 경우 각 파일 처리 후 `gc.collect()`를 호출해 메모리를 해제하세요. + +## 결론 + +Python에서 **PDF를 OCR하는 방법**을 다루고, 스캔을 **검색 가능한 PDF**로 변환했으며, **텍스트 PDF 추출** 방법도 보여드렸습니다. Aspose OCR을 사용하면 다중 페이지 문서, 다중 언어, 고정밀 인식을 신뢰할 수 있는 엔진으로 몇 줄의 코드만으로 처리할 수 있습니다. + +자신의 계약서, 청구서, 보관된 연구 논문 등에 직접 적용해 보세요. 기본을 마스터한 뒤에는 사용자 정의 사전, 이미지 전처리, Elasticsearch와 같은 전체 텍스트 검색 인덱스와의 통합 등 고급 기능을 실험해 볼 수 있습니다. + +**ocr scanned pdf python**에 대한 추가 질문이 있거나 어려운 스캔을 해결하는 데 도움이 필요하면 아래에 댓글을 남겨 주세요. 즐거운 코딩 되세요! + +--- + +![ocr pdf 예시](image-placeholder.png){alt="ocr pdf 예시"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/korean/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..235093ce --- /dev/null +++ b/ocr/korean/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,209 @@ +--- +category: general +date: 2026-01-12 +description: OCR을 빠르고 정확하게 수행하는 방법. 문서에서 OCR을 실행하고, TIFF에서 텍스트를 추출하며, OCR용 이미지를 로드하고, + Python에서 OCR 언어를 설정하는 방법을 배웁니다. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: ko +og_description: Python에서 OCR을 수행하는 방법. 이 튜토리얼에서는 문서에 OCR을 실행하고, TIFF에서 텍스트를 추출하며, + OCR을 위한 이미지를 로드하고 OCR 언어를 설정하는 방법을 보여줍니다. +og_title: TIFF 문서에서 OCR 수행 방법 – 완전 가이드 +tags: +- OCR +- Python +- Image Processing +title: TIFF 문서에서 OCR 수행 방법 – 단계별 가이드 +url: /ko/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# TIFF 문서에서 OCR 수행 방법 – 완전 가이드 + +올바른 라이브러리를 찾느라 시간을 보내지 않고 스캔한 TIFF 파일에서 **OCR 수행 방법**을 궁금해 본 적 있나요? 당신만 그런 것이 아닙니다. 많은 개발자들이 특히 성능과 언어 설정이 중요한 경우 tiff 이미지에서 텍스트를 추출해야 할 때 벽에 부딪히곤 합니다. + +이 튜토리얼에서는 OCR 패키지 설치, OCR을 위한 이미지 로드, OCR 언어 설정, 그리고 최종적으로 **문서에 OCR 실행**하여 깨끗한 텍스트를 추출하는 모든 과정을 단계별로 안내합니다. 끝까지 진행하면 어떤 프로젝트에든 바로 넣어 사용할 수 있는 실행 가능한 스크립트를 얻게 됩니다. + +> **팁:** 예제에서는 일반적인 `ocr` 모듈을 사용하지만, 동일한 개념은 Tesseract, EasyOCR 또는 Python API를 제공하는 최신 OCR 엔진에도 적용됩니다. + +--- + +## 필요한 사항 + +- Python 3.8+ (최근 버전이면 모두 사용 가능) +- `OcrEngine` 클래스를 제공하는 OCR 라이브러리 (예제에서는 가상의 `ocr` 패키지를 사용합니다; 실제 사용 중인 패키지로 교체하세요) +- 처리하려는 다중 페이지 TIFF 파일 (`big_document.tif` 라고 부르겠습니다) +- 스레드 수를 설정하려면 최소 4개의 CPU 코어를 가진 머신 + +외부 서비스나 클라우드 키가 필요 없습니다—몇 초 안에 실행되는 로컬 코드만 있습니다. + +![TIFF 문서에서 OCR 수행 방법](/images/ocr-example.png "TIFF 문서에서 OCR 수행 방법") + +*이미지 대체 텍스트: TIFF 문서에서 OCR 수행 방법 – 추출된 텍스트 미리보기.* + +## 단계 1: OCR 라이브러리 설치 및 임포트 + +먼저, 라이브러리를 머신에 설치합니다. 대부분의 OCR 패키지는 PyPI에 있으므로 간단한 `pip install` 명령으로 설치할 수 있습니다. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +이제 필요한 클래스를 임포트합니다. Tesseract를 사용하는 경우 import 라인이 다르게 보일 수 있지만, 나머지 코드는 동일합니다. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*왜 중요한가:* 올바른 심볼을 미리 임포트하면 나중에 네임스페이스 충돌을 방지하고 스크립트를 더 읽기 쉽게 만들 수 있습니다. + +## 단계 2: OCR 엔진 생성 및 구성 (OCR 언어 설정) + +엔진을 구성하는 단계에서 정확한 인식을 위해 **OCR 언어를 설정**합니다. 기본은 영어이며, 한 줄로 프랑스어, 독일어 또는 다국어 모드로 전환할 수 있습니다. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **왜 4개의 스레드인가?** 대부분의 최신 노트북은 최소 4개의 코어를 가지고 있으며, 스레드 수를 제한하면 OCR 프로세스가 전체 머신을 독점하는 것을 방지합니다—특히 스크립트가 공유 서버에서 실행될 때 유용합니다. + +다른 언어가 필요하면 `ocr.Language.ENGLISH`을 `ocr.Language.FRENCH`, `ocr.Language.SPANISH` 등으로 교체하면 됩니다. + +## 단계 3: OCR을 위한 이미지 로드 (Load Image for OCR) + +이제 **OCR을 위한 이미지를 로드**합니다. `Image.load` 메서드는 TIFF 파일을 메모리로 읽어 들이며, 다중 페이지 문서를 자동으로 처리합니다. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*예외 상황:* 파일이 매우 크면 RAM이 부족할 수 있습니다. 이 경우 `Image.load_page(page_number)`(라이브러리가 지원한다면)를 사용해 한 페이지씩 로드하는 것을 고려하세요. + +## 단계 4: 문서에 OCR 실행 + +엔진이 준비되고 이미지가 로드되었으니 **문서에 OCR을 실행**할 차례입니다. `process` 메서드는 무거운 작업을 수행하고 결과 객체를 반환합니다. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +엔진은 내부적으로 이미지를 텍스트 블록으로 나누고, 인식 모델을 실행한 뒤 결과를 합칩니다. 이 호출은 블로킹 방식이므로 스크립트가 전체 TIFF가 처리될 때까지 대기합니다—배치 작업에 적합합니다. + +## 단계 5: TIFF에서 텍스트 추출 및 출력 확인 + +마지막으로 결과 객체의 `text` 속성을 통해 **tiff에서 텍스트를 추출**합니다. 빠른 검증을 위해 처음 200자를 출력해 보겠습니다. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**예상 출력 (예시):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +전체 텍스트가 필요하면 `ocr_result.text`를 사용하면 됩니다. 후속 처리용으로 `.txt` 파일에 저장하고 싶다면 다음과 같이 할 수 있습니다: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +## 전체 작업 예시 + +모두 합치면 바로 실행 가능한 스크립트가 됩니다. 자리표시자 패키지 이름을 실제 설치한 패키지 이름으로 교체하세요. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +스크립트를 다음과 같이 실행합니다: + +```bash +python ocr_tiff_example.py +``` + +콘솔에 미리보기가 출력되고, 전체 전사본이 들어 있는 `extracted_text.txt` 파일이 생성될 것입니다. + +## 일반적인 질문 및 예외 상황 + +- **TIFF에 여러 페이지가 포함되어 있으면 어떻게 하나요?** + 대부분의 OCR 엔진은 각 페이지를 내부적으로 별개의 이미지로 처리합니다. `ocr_result.text`에는 페이지 사이에 줄바꿈이 포함됩니다. 페이지별 처리가 필요하면 `Image.load_page(page_number)`를 사용해 반복하세요. + +- **TIFF 대신 PNG나 JPEG를 처리할 수 있나요?** + 물론 가능합니다. `Image.load` 메서드는 일반적으로 Pillow 또는 기반 라이브러리가 지원하는 모든 포맷을 받아들입니다. 파일 확장자를 바꾸기만 하면 됩니다. + +- **텍스트가 깨져 보입니다—언어를 바꿔야 하나요?** + 네. `set OCR language` 단계는 비영어 문서에 필수적입니다. 해당 언어 팩이 설치되어 있는지 확인하세요(예: 프랑스어는 `tesseract‑lang‑fra`). + +- **메모리가 부족한 경우?** + `set_memory_limit`를 낮추거나 페이지를 하나씩 처리하세요. 일부 엔진은 인식 전에 이미지를 다운스케일할 수도 있습니다. + +## 결론 + +이제 Python을 사용해 TIFF 파일에서 **OCR 수행 방법**에 대한 간결하고 완전한 가이드를 확인했습니다. 라이브러리 설치, 엔진 구성(**set OCR language** 포함), **OCR을 위한 이미지 로드**, **문서에 OCR 실행**, 그리고 마지막으로 **tiff에서 텍스트 추출**까지 모든 과정을 다루었습니다. + +자유롭게 실험해 보세요: 스레드 수를 조정하고, 언어를 바꾸거나, OCR 결과를 자연어 처리 파이프라인에 연결할 수 있습니다. 기본을 마스터하면 가능성은 무한합니다. + +추가 질문이 있나요? 아래에 댓글을 남겨 주세요. 즐거운 코딩 되세요! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/korean/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..93760e1d --- /dev/null +++ b/ocr/korean/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,180 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR Python에서 언어를 설정하고 사용자 정의 사전을 사용하여 이미지에서 텍스트를 추출하는 방법. 개발자를 + 위한 단계별 튜토리얼. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: ko +og_description: Aspose OCR Python에서 언어를 설정하고 사용자 정의 사전을 사용해 이미지에서 텍스트를 추출하는 방법. 몇 + 분 안에 전체 워크플로를 배워보세요. +og_title: Aspose OCR Python에서 언어 설정 방법 – 완전 가이드 +tags: +- OCR +- Python +- Aspose +- Image Processing +title: Aspose OCR Python에서 언어 설정 방법 – 완전 가이드 +url: /ko/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Python에서 언어 설정 방법 – 완전 가이드 + +Aspose OCR을 Python에서 사용할 때 **언어를 어떻게 설정하는지** 궁금하셨나요? 여러분만 그런 것이 아닙니다—많은 개발자들이 기본 영어 모델이 제품 코드, 일련 번호 또는 다국어 텍스트를 인식하지 못할 때 이 문제에 부딪힙니다. 좋은 소식은 해결책이 간단하면서도 강력하다는 점입니다. 이 튜토리얼에서는 언어 구성, 사용자 정의 사전 추가, 이미지에서 텍스트 추출, 그리고 최상의 OCR 결과를 위한 이미지 처리 과정을 단계별로 안내합니다. + +설치부터 추출된 텍스트를 출력하는 전체 예제 실행까지, 필요한 모든 내용을 다룹니다. 끝까지 읽으시면 **이미지에서 텍스트를 추출**하는 방법을 자신 있게 사용할 수 있게 됩니다—특히 비정형 코드나 혼합 언어가 포함된 경우에도 말이죠. + +## 사전 요구 사항 + +시작하기 전에 다음이 준비되어 있는지 확인하세요: + +* Python 3.8+ (코드에 f‑string이 사용되므로 이전 버전은 동작하지 않습니다). +* 활성화된 Aspose OCR for Python 라이선스 또는 무료 체험 키. +* `pip install asposeocr` 로 설치한 `asposeocr` 패키지. +* 읽고자 하는 텍스트가 포함된 샘플 이미지(`product_label.png`). + +위 항목이 모두 준비되었다면, 바로 진행하세요. 아직이라면 Aspose 웹사이트에서 무료 체험을 받아 설치 명령을 실행하면 1분이면 완료됩니다. + +## 1단계: Aspose OCR 모듈 가져오기 + +스크립트에서 OCR 클래스를 사용하려면 먼저 모듈을 가져와야 합니다. 이는 **언어를 어떻게 설정하는지**의 기반이 됩니다. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Pro tip:** import 문은 파일 상단에 두세요. 나중에 코드를 다시 볼 때 구조를 파악하기 쉽습니다. + +## 2단계: 언어 설정 방법 + +기본적으로 Aspose OCR은 영어를 가정합니다. 이미지에 프랑스어, 독일어 등 다른 언어가 포함돼 있다면 엔진에 사용할 언어를 알려줘야 합니다. 여기서 핵심 키워드가 빛을 발합니다. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +왜 중요한가요? OCR 엔진은 언어별 문자 모델에 의존합니다. 올바른 언어를 지정하면 정확도가 크게 향상됩니다—특히 악센트 문자나 언어 고유의 합자(ligature) 처리에 유리합니다. + +> **Note:** 여러 언어를 동시에 지원하려면 `ocr.Language.ENGLISH | ocr.Language.SPANISH` 와 같이 리스트 형태로 전달하면 됩니다. + +## 3단계: 사전 추가 방법 (사용자 정의 단어) + +때때로 OCR 엔진이 “AB‑1234” 같은 제품 코드를 오인식합니다. 사용자 정의 사전을 제공하면 신뢰도를 높일 수 있습니다. 이것이 **사전을 어떻게 추가하는지**에 대한 직접적인 답변입니다. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +엔진은 이 단어들을 “알려진” 단어로 취급해 비슷하게 보이는 문자보다 우선 선택합니다. SKU 번호, 일련 코드, 브랜드명 등 자연어에 포함되지 않은 문자열에 특히 유용합니다. + +## 4단계: 이미지 처리 방법 + +엔진 구성이 끝났으면 분석할 이미지를 로드해야 합니다. 이것이 **이미지를 어떻게 처리하는지**에 대한 깔끔하고 반복 가능한 접근법입니다. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +PDF를 다루는 경우, 먼저 각 페이지를 이미지로 변환한 뒤 처리하면 됩니다—Aspose OCR이 이를 기본 지원합니다. + +## 5단계: 이미지에서 텍스트 추출 방법 + +모든 설정이 완료되면 OCR을 실행하고 텍스트를 가져옵니다. 이것이 **이미지에서 텍스트를 추출하는 방법**의 핵심입니다. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +스크립트를 실행하면 다음과 같은 출력이 나타납니다: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +출력이 깨져 보인다면, 언어 설정이 올바른지, 사용자 정의 사전에 기대하는 문자열이 정확히 포함돼 있는지 다시 확인하세요. + +## 전체 작동 예제 + +아래는 `extract_label.py` 라는 파일에 복사해 넣을 수 있는 전체 스크립트입니다. `YOUR_DIRECTORY` 를 실제 이미지 경로로 바꾸는 것을 잊지 마세요. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### 기대 출력 + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +사전에 추가한 정확한 코드가 보인다면, **언어 설정**, **사전 추가**, **이미지에서 텍스트 추출**을 성공적으로 마스터한 것입니다. + +## 일반적인 엣지 케이스 처리 + +| 상황 | 해결 방법 | +|-----------|------------| +| **이미지가 흐림** | `ocr.Image.apply_filter()` 로 선명하게 만든 뒤 `process()` 호출 | +| **하나의 이미지에 여러 언어** | `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH` 로 설정 | +| **대용량 PDF** | 각 페이지를 순회하면서 `ocr.Image` 로 변환하고 페이지별로 `process()` 호출 | +| **예상치 못한 문자** | 사용자 정의 단어 리스트에 추가하면 Aspose OCR이 높은 신뢰도로 인식 | + +이 팁들을 활용하면 입력이 완벽하지 않더라도 OCR 파이프라인을 견고하게 유지할 수 있습니다. + +## 시각적 참고 자료 + +![how to set language in Aspose OCR example](image.png "Screenshot showing how to set language in Aspose OCR Python example") + +*Alt text:* **how to set language** 스크린샷으로, Python IDE에서 언어 속성 할당을 보여줍니다. + +## 결론 + +이제 Aspose OCR Python에서 **언어를 어떻게 설정하는지**, **사전을 어떻게 추가하는지**, 그리고 **이미지에서 텍스트를 추출하고 이미지 파일을 처리하는 정확한 단계**를 알게 되었습니다. 위의 전체 예제는 어떤 프로젝트에도 바로 적용할 수 있으며, 다른 언어로 교체하거나 배치 처리, PDF 입력을 다루도록 확장할 수 있습니다. + +다음 도전 과제는? `ocr.Language.ENGLISH` 을 `ocr.Language.FRENCH` 로 바꿔서 프랑스어 라벨에서 정확도가 얼마나 향상되는지 확인해 보세요. 혹은 `set_user_defined_words` 메서드를 활용해 전체 제품 카탈로그를 사전에 추가해 보세요—OCR 엔진이 모든 항목을 높은 신뢰도로 매칭해 줄 것입니다. + +코딩을 즐기세요, 그리고 OCR 결과가 언제나 깨끗하게 나오길 바랍니다! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/korean/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..7be832ea --- /dev/null +++ b/ocr/korean/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,209 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR을 사용하여 Python에서 손글씨 메모를 처리하세요 – JPG 이미지에서 텍스트를 빠르게 추출하는 방법을 + 배워보세요. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: ko +og_description: Aspose OCR을 사용하여 Python에서 손글씨 메모를 처리하세요. jpg 이미지에서 텍스트를 추출하고, 손글씨 + OCR을 인식하며, OCR을 위해 이미지를 로드하는 방법을 배워보세요. +og_title: Python으로 손글씨 노트 처리하기 – 완전 OCR 튜토리얼 +tags: +- OCR +- Python +- Aspose +title: Python으로 손글씨 노트 처리하기 – 손글씨 OCR 가이드 +url: /ko/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python으로 손글씨 메모 처리하기 – 손글씨 OCR 가이드 + +Python에서 **손글씨 메모를 처리**해야 한다면, 이 가이드는 정확히 어떻게 해야 하는지 보여줍니다. 메모가 스캔한 영수증, 교실 화이트보드 사진, 혹은 할 일 목록을 찍은 셀카에 있든, **이미지에서 텍스트를 추출**하는 방법을 손쉽게 배울 수 있습니다. + +우리는 Aspose OCR 라이브러리를 가져오고, JPG를 로드하고, 엔진을 실행하고, 신뢰도가 낮은 라인을 처리하는 모든 단계를 차근차근 살펴볼 것입니다. 최종적으로 **jpg 파일에서 텍스트를 인식**하고 깔끔하고 활용 가능한 문자열을 반환하는 실행 가능한 스크립트를 얻게 됩니다. + +## 얻을 수 있는 것 + +- 바로 실행 가능한 완전한 코드 샘플 +- 각 라인이 왜 중요한지, 단순히 무엇을 하는지가 아닌 **이해** +- 흔들리는 손글씨와 낮은 신뢰도 결과를 다루는 팁 +- PDF, 다중 이미지, 혹은 사용자 정의 언어 팩으로 스크립트를 확장하는 방법 안내 + +*전제 조건*: Python 3.8+ 설치, 유효한 Aspose OCR 라이선스(또는 무료 체험), 프로젝트 폴더에 `handwritten_notes.jpg` 라는 이미지 파일이 있어야 합니다. + +--- + +![Process handwritten notes example](https://example.com/handwritten-notes.png "process handwritten notes") + +*Alt text: process handwritten notes – 샘플 이미지에 손글씨 텍스트가 OCR을 위해 준비되어 있음.* + +## 손글씨 메모 처리: OCR 엔진 설정하기 + +### 왜 이 단계가 중요한가 +OCR 엔진은 인식 프로세스의 두뇌 역할을 합니다. 올바른 언어를 선택하고 객체를 정확히 초기화하면 엔진이 영어 문자를 찾아야 함을 알고, 손글씨 특유의 변형도 처리할 수 있게 됩니다. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**팁:** 다른 언어의 메모를 예상한다면 `ocr.Language.ENGLISH` 를 해당 열거형(예: `ocr.Language.FRENCH`) 으로 교체하면 됩니다. 엔진이 자동으로 필요한 문자 집합을 로드합니다. + +--- + +## JPG 이미지에서 텍스트 추출하기 + +### 이미지를 로드하기 – 첫 번째 관문 +엔진이 작업을 시작하려면 JPG의 비트맵 표현이 필요합니다. Aspose는 파일을 `Image` 객체로 읽어들이는 편리한 정적 `load` 메서드를 제공합니다. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*왜 OpenCV나 Pillow를 사용하지 않을까?* +이 라이브러리들은 전처리에 좋지만, Aspose의 `Image.load` 는 OCR 엔진이 기대하는 정확한 픽셀 포맷을 보장해 색 깊이 불일치라는 흔한 문제를 없애줍니다. + +--- + +## 손글씨 OCR Python으로 JPG에서 텍스트 인식하기 + +### OCR 엔진 실행 +엔진과 이미지가 준비되었으니 이제 인식을 시작합니다. `process` 메서드는 `OcrResult` 객체를 반환하며, 여기에는 각 라인마다 신뢰도 점수가 포함된 `Line` 객체 리스트가 들어 있습니다. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**내부에서 무슨 일이 일어나나요?** +Aspose OCR은 수백만 개의 손글씨 샘플로 학습된 딥러닝 모델을 사용합니다. 이미지를 라인으로, 라인을 문자로 분할한 뒤, 각 라인에 가장 가능성이 높은 텍스트 문자열을 조합합니다. + +--- + +## OCR용 이미지 로드 – 낮은 신뢰도 결과 처리 + +### 신뢰도에 신경 써야 하는 이유 +손글씨 OCR은 절대 100 % 정확하지 않습니다. 신뢰도 점수가 75 % 이하이면 엔진이 획 순서나 배경 잡음에 어려움을 겪었다는 의미입니다. 이러한 라인을 필터링하면 사용자가 검증하도록 요청하거나 추가 전처리를 적용할지 결정할 수 있습니다. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Typical output** (결과는 상황에 따라 다릅니다): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +스크립트가 신뢰할 수 있는 텍스트와 흔들리는 부분을 깔끔하게 구분하는 것을 확인하세요. 이후 낮은 신뢰도 라인을 이미지‑향상 필터(예: 대비 강화)와 함께 두 번째 패스로 넘기거나 사람 검토자에게 전달할 수 있습니다. + +--- + +## 전체 스크립트 – 바로 실행 가능 + +아래는 복사‑붙여넣기만 하면 되는 전체 프로그램입니다. `handwritten_ocr.py` 로 저장하고 `python handwritten_ocr.py` 로 실행하세요. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**예상 동작:** +- 스크립트가 각 라인과 신뢰도 퍼센트를 출력합니다. +- 75 % 이상 라인은 “Accepted” 로 표시되고, 나머지는 검토 대상으로 표시됩니다. +- `asposeocr` 외에 추가 의존성은 필요하지 않습니다. + +--- + +## 흔히 묻는 질문 & 예외 상황 + +### 이미지가 PNG나 BMP인 경우는? +Aspose OCR은 형식을 자동으로 감지하므로 `image_path` 의 파일 확장자를 바꾸기만 하면 됩니다. 코드 수정은 필요 없습니다. + +### 손글씨가 너무 지저분한데 정확도를 높이려면? +1. **이미지 전처리** – 대비를 높이고 배경 그림자를 제거하세요(OpenCV 활용 가능). +2. **신뢰도 임계값 상승** – 거의 완벽한 라인만 원한다면 80 % 로 설정하세요. +3. **맞춤형 모델 학습** – Aspose는 특수 손글씨 스타일을 위한 “custom language pack” 기능을 제공합니다. + +### 한 번에 여러 이미지를 처리할 수 있나요? +가능합니다. 파일 경로 리스트에 대해 `for` 루프를 돌면서 로드·처리 단계를 감싸면 됩니다. 속도를 위해 동일한 `ocr_engine` 인스턴스를 재사용하세요. + +### macOS/Linux에서도 동작하나요? +네. Aspose OCR은 모든 주요 플랫폼용 wheel을 제공합니다. `pip install asposeocr` 하면 바로 사용할 수 있습니다. + +--- + +## 다음 단계 & 관련 주제 + +- **PDF에서 텍스트 추출하기** – OCR 파이프라인이 준비되면 `ocr.Image.load` 로 PDF 페이지를 로드하는 것이 한 줄 코드 변경으로 가능합니다. +- **데이터베이스와 연동하기** – 각 승인된 라인을 SQLite 혹은 PostgreSQL에 저장해 검색 가능한 메모로 만들 수 있습니다. +- **모바일 실시간 OCR** – 이 스크립트를 Flask 또는 FastAPI와 결합해 모바일 앱이 호출할 수 있는 REST 엔드포인트를 제공하세요. + +이 확장 기능들은 모두 핵심 개념을 기반합니다: **process handwritten notes**, **how to extract text**, **recognize text from jpg**, 그리고 **load image for OCR**. + +--- + +## 결론 + +이제 Python과 Aspose OCR을 사용해 **process handwritten notes** 하는 완전한 엔드‑투‑엔드 솔루션을 갖추었습니다. 가이드는 엔진 설정, JPG 로드, 인식 실행, 낮은 신뢰도 결과 처리까지 한 번에 복사‑붙여넣기 가능한 스크립트로 안내했습니다. + +앞으로 다양한 이미지 전처리 기법을 실험하고, 신뢰도 임계값을 높이거나, 수백 개의 메모를 배치 처리하도록 솔루션을 확장해 보세요. 가능성은 무한하며, 지금 배운 코드는 여러분의 출발점이 될 것입니다. + +*코딩 즐겁게, 손글씨 메모가 마침내 검색 가능한 텍스트가 되길 바랍니다!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/korean/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..ea347af6 --- /dev/null +++ b/ocr/korean/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,237 @@ +--- +category: general +date: 2026-01-12 +description: Python OCR 튜토리얼로 이미지에서 표 텍스트를 추출하는 방법을 보여줍니다. 이미지에서 표를 읽고 Aspose OCR을 + 사용해 선택된 텍스트를 추출하는 방법을 배워보세요. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: ko +og_description: 이미지에서 표 텍스트를 추출하고, 이미지에서 표를 읽으며, Aspose OCR을 사용하여 선택된 텍스트를 추출하는 방법을 + 가르치는 Python OCR 튜토리얼. +og_title: 'Python OCR 튜토리얼: 이미지에서 표 텍스트 추출' +tags: +- OCR +- Python +- AsposeOCR +title: 'Python OCR 튜토리얼: 이미지에서 표 텍스트 추출' +url: /ko/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR 튜토리얼: 이미지에서 표 텍스트 추출 + +스캔된 양식에서 표를 추출하는 방법을 실제로 보여주는 **python ocr tutorial**이 필요했던 적이 있나요? 당신만 그런 것이 아닙니다. 대부분의 튜토리얼은 일반 텍스트 추출에서 멈추고, 당신이 원하는 깔끔한 데이터 그리드를 어떻게 분리할지 추측하게 남겨둡니다. + +이 가이드에서는 실제 시나리오를 단계별로 살펴보겠습니다: 이미지에서 표를 읽고, 필요한 선택된 텍스트만 추출한 뒤 최종적으로 결과를 출력합니다. 진행하면서 **how to extract table** 데이터를 안정적으로 추출하는 팁도 제공하므로 매번 처음부터 구현할 필요가 없습니다. + +## 배울 내용 + +- Aspose OCR for Python 설정 방법. +- 표가 포함된 사각형 영역을 정의하는 방법. +- **extract table text** 및 **read table from image**에 대한 정확한 단계. +- 다중 언어 또는 비정형 표 레이아웃을 처리하기 위한 팁. +- 오늘 바로 프로젝트에 넣어 사용할 수 있는 완전한 실행 가능한 스크립트. + +**Prerequisites** +- Python 3.8 이상. +- OCR 개념에 대한 기본적인 이해 (깊은 전문 지식은 필요 없음). +- 명확한 표가 포함된 PNG 또는 JPEG 이미지 (`form_with_table.png` 라고 부릅니다). + +위 조건을 갖추셨다면, 바로 시작해봅시다—불필요한 설명 없이 바로 실행 가능한 코드만 제공합니다. + +![python ocr tutorial example of table region](table_region_example.png){alt="python ocr tutorial example showing table region"} + +## Step 1: Aspose OCR 설치 및 가져오기 + +우선 먼저 해야 할 일은 Aspose OCR 라이브러리를 설치하는 것입니다. 이 패키지는 PyPI에 있으므로 `pip` 명령 하나로 설치할 수 있습니다. + +```bash +pip install aspose-ocr +``` + +이제 모듈과 필요한 헬퍼들을 가져옵니다. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro tip:* 의존성을 `requirements.txt` 파일에 관리하세요. 환경을 재현하는 것이 매우 쉬워집니다. + +## Step 2: OCR 엔진 초기화 (Python OCR Tutorial Core) + +엔진을 생성하는 것은 모든 **python ocr tutorial**의 핵심입니다. 여기서는 기본 언어를 English로 설정합니다—나중에 자유롭게 변경할 수 있습니다. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +왜 언어를 설정하나요? 엔진이 어떤 문자를 기대하는지 알면 OCR 정확도가 크게 향상됩니다. 다국어 양식을 처리할 경우 언어 목록을 설정하거나 영역별로 오버라이드할 수 있습니다(아래 참고). + +## Step 3: 이미지 로드 + +Aspose OCR은 대부분의 일반 이미지 형식을 지원합니다. 파일 경로를 지정하면 `Image` 객체가 생성되어 처리할 준비가 됩니다. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Edge case:* 큰 이미지(5 MB 이상)는 처리 속도를 늦출 수 있습니다. 성능 문제가 발생하면 OCR 전에 크기를 조정하거나 압축하는 것을 고려하세요. + +## Step 4: 표 영역 정의 (Read Table from Image) + +이제 재미있는 부분입니다: 엔진에게 표가 *어디에* 있는지 알려줍니다. `Rectangle`(x, y, width, height)을 사용한 `OcrRegion`을 제공하면 됩니다. 좌표는 픽셀 단위이므로 약간의 실험이 필요할 수 있습니다. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +왜 영역을 사용할까요? OCR을 표 영역으로 제한하면 **extract selected text**가 더 빨라지고 주변 레이블이나 그래픽에서 발생하는 노이즈를 피할 수 있습니다. 또한 엔진이 균일한 레이아웃에 집중할 수 있어 정확도가 향상됩니다. + +## Step 5: 정의된 영역에서 OCR 실행 + +영역을 설정했으면 `process_region`을 호출합니다. 이 메서드는 원시 텍스트, 신뢰도 점수, 필요 시 나중에 사용할 수 있는 경계 상자를 포함하는 `OcrResult` 객체를 반환합니다. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +여러 개의 표를 추출해야 한다면, 다른 사각형으로 Steps 4‑5를 반복하면 됩니다. + +## Step 6: 추출된 표 텍스트 출력 + +마지막으로 표의 텍스트 표현을 출력하거나 저장합니다. Aspose OCR은 일반 텍스트와 줄 바꿈을 반환하며, 이는 보통 행과 맞춰져 있어 후처리가 간단합니다. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**예상 출력** (예시): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +이 문자열을 이제 `csv` 파서, pandas DataFrame, 혹은 다른 downstream 분석 파이프라인에 전달할 수 있습니다. + +## 전체 작동 예제 + +모든 것을 합치면 바로 실행할 수 있는 전체 스크립트가 여기 있습니다. `YOUR_DIRECTORY/form_with_table.png` 를 실제 이미지 경로로 교체하세요. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +`python extract_table.py` 로 스크립트를 실행하세요. 모든 것이 맞다면 콘솔에 표가 출력될 것입니다. + +## 일반 질문 및 Edge‑Case 처리 + +**표가 완벽한 사각형이 아닐 경우는?** +표를 여러 겹치는 영역으로 나누거나 전체 영역을 포함하는 더 큰 사각형을 사용한 뒤 텍스트를 후처리(예: 줄 바꿈으로 분할)할 수 있습니다. + +**특정 열만 추출할 수 있나요?** +전체 표 텍스트를 얻은 후 Python의 `csv` 또는 `pandas`를 사용해 원하는 열만 추출하면 됩니다. OCR 단계 자체는 사각형 내부의 모든 내용을 반환합니다. + +**비영어 표를 처리하려면?** +`ocr_engine.language`(또는 `region.language`)를 적절한 enum으로 설정합니다. 예: `ocr.Language.FRENCH` 혹은 `ocr.Language.ENGLISH | ocr.Language.SPANISH` 와 같이 여러 언어를 결합할 수 있습니다. + +**각 셀에 대한 경계 상자를 얻을 수 있나요?** +Aspose OCR은 각 단어에 경계 상자가 포함된 `region_result.words` 를 반환할 수 있습니다. 이러한 상자를 그리드에 매핑하면 고급 레이아웃 분석에 유용합니다. + +## 정확도 향상을 위한 팁 + +- **Clean the image**: OCR에 전달하기 전에 이진화하거나 대비를 높이세요. Pillow 같은 라이브러리가 도움이 됩니다. +- **Avoid compression artifacts**: 가능한 경우 스캔을 PNG로 저장하세요. +- **Mind DPI**: 300 dpi가 최적이며, 낮은 값은 문자 누락을 초래할 수 있습니다. +- **Test different rectangle sizes**: 약간 큰 사각형이 표에 속하는 누락된 문자를 포착하는 경우가 많습니다. + +## 다음 단계 + +이제 Aspose OCR을 사용해 **how to extract table** 데이터를 마스터했으니 다음을 탐색해 볼 수 있습니다: + +- 추출된 텍스트를 Python의 `csv` 모듈을 사용해 CSV 파일로 변환하기. +- 데이터를 **pandas** DataFrame에 넣어 분석하기. +- 손글씨 양식을 읽기 위해 OCR 사용(다른 엔진 또는 추가 학습 필요). +- 간단한 `for` 루프를 사용해 수십 개의 스캔된 양식을 배치 처리 자동화하기. + +이러한 확장은 모두 이 **python ocr tutorial**에서 다룬 핵심 개념을 기반으로 하므로, 규모를 확장하기에 적합합니다. + +--- + +*코딩 즐겁게! 문제가 발생하면 아래에 댓글을 남겨 주세요—추출을 미세 조정하는 데 기꺼이 도와드리겠습니다.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/korean/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..6278df71 --- /dev/null +++ b/ocr/korean/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,282 @@ +--- +category: general +date: 2026-01-12 +description: Python으로 PNG 파일에서 OCR을 빠르게 실행하세요. 이미지와 청구서에서 텍스트를 추출하는 방법을 배우고, Aspose.OCR을 + 사용해 OCR용 이미지를 로드하는 방법을 알아보세요. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: ko +og_description: PNG에서 OCR을 즉시 실행합니다. 이 가이드는 이미지와 청구서에서 텍스트를 추출하고, OCR을 위해 이미지를 로드하며, + 결과를 JSON 및 CSV로 저장하는 방법을 보여줍니다. +og_title: PNG에서 OCR 실행 – 전체 파이썬 튜토리얼 +tags: +- OCR +- Python +- Image Processing +title: PNG에서 OCR 실행 – 이미지에서 텍스트를 추출하는 완전한 파이썬 가이드 +url: /ko/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNG에서 OCR 실행 – 이미지에서 텍스트 추출을 위한 완전한 Python 가이드 + +PNG 파일에 **OCR을 실행**해야 하는데 어떤 라이브러리를 사용해야 깔끔하고 구조화된 결과를 얻을 수 있을지 고민해 본 적 있나요? 여러분만 그런 것이 아닙니다. 실제 프로젝트—예를 들어 청구서 자동화나 영수증 스캔—에서 첫 번째 단계는 **이미지에서 텍스트 추출**하는 것이며, PNG는 손실 없는 품질을 유지하기 때문에 흔히 사용됩니다. + +이 튜토리얼에서는 Aspose.OCR Python 패키지를 활용한 실전 예제를 단계별로 살펴봅니다. 가이드를 마치면 **OCR용 이미지 로드**, 모든 텍스트 라인 추출, 데이터를 깔끔한 JSON 객체로 변환, 그리고 CSV로 내보내는 방법을 알게 됩니다. 불필요한 내용 없이 바로 실행 가능한 실용적인 솔루션을 제공합니다. + +## 배울 내용 + +- Aspose.OCR 라이브러리 설치 및 임포트 방법. +- **PNG에서 OCR 실행** 및 결과 객체 처리 정확한 단계. +- **청구서에서 텍스트 추출** 방법과 출력 포맷을 JSON 또는 CSV로 변환하는 방법. +- 저대비 이미지, 다국어 문서, 신뢰도 점수 처리 팁. +- 오늘 바로 실행할 수 있는 완전한 복사‑붙여넣기 코드 샘플. + +> **전제 조건:** Python 3.8+ 및 pip 기본 사용법에 대한 이해. Aspose를 처음 사용한다면 걱정 마세요—이 가이드가 시작에 필요한 모든 것을 다룹니다. + +--- + +## 1단계 – Aspose.OCR 설치 및 환경 준비 + +**PNG에서 OCR 실행**하기 전에 라이브러리를 시스템에 설치해야 합니다. + +```bash +pip install aspose-ocr +``` + +> **프로 팁:** 가상 환경(`python -m venv venv`)을 사용하면 의존성을 격리할 수 있습니다. 여러 프로젝트를 동시에 다룰 때 버전 충돌을 방지해 줍니다. + +설치가 끝났으면 필요한 모듈을 임포트합니다: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +여기서는 무거운 작업을 담당하는 `asposeocr`와 이후 직렬화를 위한 내장 `json` 라이브러리를 가져옵니다. + +--- + +## 2단계 – OCR 엔진 생성 및 언어 설정 + +OCR 엔진은 실제로 픽셀을 읽는 핵심 구성 요소입니다. 대부분의 영문 청구서에는 영어 언어 팩을 사용합니다: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **왜 중요한가:** 언어를 지정하면 문자 집합이 제한돼 정확도가 높아지고 처리 속도가 빨라집니다. 다국어 청구서를 다뤄야 한다면 `ocr.Language.ENGLISH`를 해당 enum으로 교체하면 됩니다. + +--- + +## 3단계 – OCR용 이미지 로드 + +이제 **OCR용 이미지 로드**를 수행합니다. `Image.load` 메서드는 파일 경로를 받아들이며 PNG, JPEG, BMP 등 다양한 포맷을 지원합니다. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **예외 상황:** PNG 파일이 5 MB를 초과할 정도로 큰 경우, 메모리 사용량을 줄이기 위해 먼저 리사이즈하는 것이 좋습니다. Pillow를 사용하면 한 줄로 처리할 수 있습니다: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## 4단계 – PNG에서 OCR 실행 및 결과 캡처 + +엔진이 준비되고 이미지가 로드되었으니 **PNG에서 OCR 실행**하고 구조화된 결과를 가져올 차례입니다. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +`ocr_result` 객체는 `OcrRegion` 항목들의 컬렉션을 포함하며, 각 항목은 인식된 텍스트와 신뢰도 점수(0‑100)를 제공합니다. 여기서 **청구서에서 텍스트 추출**에 필요한 세부 데이터를 얻을 수 있습니다. + +--- + +## 5단계 – 결과를 JSON으로 변환하고 예쁘게 출력 + +대부분의 다운스트림 시스템은 JSON을 선호하므로 OCR 출력물을 깔끔한 문자열로 변환합니다. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### 샘플 출력 + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +각 라인에 신뢰도 메트릭이 포함된 것을 확인할 수 있습니다—자동으로 **청구서에서 텍스트 추출**할 때 신뢰도가 낮은 항목을 필터링하는 데 유용합니다. + +--- + +## 6단계 – OCR 데이터를 CSV로 저장 (텍스트 + 신뢰도 1줄당) + +CSV는 스프레드시트나 빠른 데이터 임포트에 이상적입니다. Aspose는 모든 데이터를 CSV 파일로 한 번에 내보내는 원-라이너를 제공합니다. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +생성된 CSV는 다음과 같은 형태입니다: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +이제 Excel, Google Sheets에서 열거나 데이터베이스에 바로 넣을 수 있습니다. + +--- + +## 보너스 – 낮은 신뢰도 텍스트 및 다페이지 PDF 처리 + +### 신뢰도 기준 필터링 + +높은 확신도를 가진 라인만 원한다면, JSON을 파일에 쓰기 전에 필터링합니다: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### 다페이지 문서 + +Aspose.OCR은 다페이지 PNG 또는 PDF의 각 페이지마다 자동으로 새로운 `page` 항목을 생성합니다. `ocr_data["pages"]`를 순회하면 별도 코드 없이 모든 페이지를 처리할 수 있습니다. + +--- + +## 전체 작업 예제 + +아래는 **전체 스크립트**이며, 복사‑붙여넣기만 하면 바로 실행할 수 있습니다. `YOUR_DIRECTORY`를 PNG 파일이 들어 있는 폴더 경로로 바꾸세요. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +스크립트를 `python run_ocr.py`로 실행하면 콘솔에 JSON 덤프가 표시되고, 디스크에 CSV 파일이 생성되며, 신뢰도가 높은 항목 목록이 필터링되어 출력됩니다. + +--- + +## 자주 묻는 질문 + +**Q: 영수증을 스캔한 이미지에서 텍스트를 추출하고 싶다면 어떻게 하나요?** +A: 전혀 문제 없습니다. 동일한 워크플로우를 사용하되 `image_path`를 영수증 PNG 파일로 지정하면 됩니다. 영수증이 다른 언어라면 `engine.language`를 해당 언어로 바꾸세요. + +**Q: PNG에 회전된 텍스트가 포함되어 있으면 어떻게 해야 하나요?** +A: Aspose.OCR은 자동으로 방향을 감지하지만, 복잡한 경우 Pillow로 이미지를 직접 회전한 뒤 엔진에 전달할 수 있습니다. + +**Q: Aspose.OCR 사용에 라이선스가 필요합니까?** +A: 라이브러리는 출력에 워터마크가 붙는 무료 평가 모드를 제공하지만, 프로덕션에서는 라이선스가 필요합니다. 라이선스는 Aspose 웹사이트에서 구매할 수 있습니다. + +--- + +## 결론 + +Python을 사용해 **PNG에서 OCR 실행**하는 데 필요한 모든 과정을 살펴보았습니다: SDK 설치, 이미지 로드, 구조화된 텍스트 추출, 그리고 결과를 JSON 또는 CSV로 저장하는 방법. 간단한 스크립트에서부터 자동화된 회계 파이프라인까지 **이미지에서 텍스트 추출** 혹은 **청구서에서 텍스트 추출**을 목표로 할 때, 위 단계들은 견고하고 프로덕션에 바로 적용 가능한 기반을 제공합니다. + +다음 단계로 고려해볼 내용: + +- CSV 출력을 데이터베이스와 연동해 대량 청구서 저장하기. +- 정규식을 활용해 날짜, 금액, 세금 ID 등 특정 정보를 추출하는 후처리 추가하기. +- 청구서에 QR 코드가 포함된 경우 `ocr_engine.recognize_barcode` 기능 활용하기. + +시도해보고 신뢰도 임계값을 조정해 보세요. 문서 처리 워크플로우가 한결 수월해질 것입니다. 더 궁금한 점이나 멋진 활용 사례가 있으면 아래 댓글로 공유해 주세요—행복한 OCR 작업 되세요! + +![run OCR on PNG example](run-ocr-on-png.png "run OCR on PNG – OCR 결과 시각 예시") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/polish/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..d709ae27 --- /dev/null +++ b/ocr/polish/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,193 @@ +--- +category: general +date: 2026-01-12 +description: Wyodrębnij tekst z obrazu w Pythonie przy użyciu Aspose OCR. Dowiedz + się, jak w kilka minut przekształcić zeskanowany obraz w tekst przy użyciu kodu + asynchronicznego. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: pl +og_description: Wyodrębnij tekst z obrazu w Pythonie za pomocą Aspose OCR. Ten samouczek + pokazuje, jak przekształcić zeskanowany obraz w tekst przy użyciu funkcji asynchronicznych. +og_title: Wyodrębnianie tekstu z obrazu w Pythonie – Asynchroniczny przewodnik OCR +tags: +- python +- ocr +- async +title: Wyodrębnianie tekstu z obrazu w Pythonie – Asynchroniczny przewodnik OCR +url: /pl/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wyodrębnianie tekstu z obrazu w Pythonie – Przewodnik po asynchronicznym OCR + +Czy kiedykolwiek potrzebowałeś **extract text from image Python** w skryptach, ale utknąłeś przy części OCR? Nie jesteś jedyny. Wielu programistów napotyka problem, gdy mają zeskanowany dokument i chcą zamienić go w tekst przeszukiwalny, nie wyrywając sobie włosów. + +W tym samouczku przeprowadzimy Cię przez kompletny, działający przykład, który pokaże, jak **convert scanned image to text** przy użyciu asynchronicznego API Aspose OCR. Po zakończeniu będziesz mieć jedną funkcję, którą możesz wstawić do dowolnego projektu, i zrozumiesz, dlaczego przetwarzanie asynchroniczne może utrzymać responsywność aplikacji, nawet gdy OCR zajmuje kilka sekund. + +## Wymagania wstępne + +- Zainstalowany Python 3.8+ (funkcje async wymagają co najmniej 3.7) +- Pakiet `asposeocr` (`pip install asposeocr`) – to biblioteka, której użyjemy +- Zeskanowany plik obrazu (TIFF, PNG, JPEG – cokolwiek obsługuje Aspose OCR) +- Podstawowa znajomość `asyncio` (jeśli nie, nie martw się – wyjaśnimy każdy krok) + +Nie są wymagane dodatkowe zależności systemowe; Aspose OCR zawiera wszystko, czego potrzebujesz. + +![Diagram showing async OCR flow – extract text from image python](https://example.com/async-ocr-diagram.png "async OCR flow – extract text from image python") + +## Krok 1 – Przygotowanie asynchronicznej funkcji pomocniczej + +Sednem rozwiązania jest funkcja `async`, która ładuje obraz, uruchamia OCR, a następnie oczekuje na wynik. Utrzymanie funkcji w trybie asynchronicznym oznacza, że możesz uruchamiać inne korutyny (np. pobieranie kolejnych plików), podczas gdy silnik OCR pracuje w tle. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Dlaczego to ważne:** Zwracając `Future`, Aspose OCR wykonuje ciężką pracę w osobnym puli wątków. `await` zwalnia pętlę zdarzeń, więc Twoja aplikacja pozostaje szybka. Jeśli kiedykolwiek będziesz musiał przetwarzać wiele obrazów jednocześnie, możesz po prostu zaplanować kilka wywołań `async_ocr` za pomocą `asyncio.gather`. + +## Krok 2 – Uruchomienie korutyny w pętli zdarzeń + +Teraz, gdy mamy funkcję pomocniczą, musimy ją wykonać. `asyncio.run` tworzy nową pętlę zdarzeń, uruchamia korutynę i zamyka wszystko w czysty sposób. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Wskazówka:** Jeśli integrujesz to z większą aplikacją async (np. FastAPI), wywołałbyś `await async_ocr(...)` bezpośrednio zamiast `asyncio.run`. + +## Krok 3 – Weryfikacja wyniku + +Po uruchomieniu skryptu powinieneś zobaczyć coś podobnego do: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Jeśli wynik wygląda na zniekształcony, sprawdź ponownie, czy: + +1. Obraz jest wyraźny i nie jest nadmiernie skompresowany. +2. Wybrałeś właściwy język (`ocr.Language.ENGLISH` działa dla większości tekstów opartych na alfabecie łacińskim). +3. Ścieżka do pliku jest prawidłowa i plik jest czytelny. + +## Krok 4 – Obsługa przypadków brzegowych + +### Wiele języków + +Jeśli potrzebujesz **convert scanned image to text** w języku innym niż angielski, po prostu zmień właściwość języka: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Duże pliki + +W przypadku bardzo dużych plików TIFF, rozważ zmianę rozmiaru lub konwersję do PNG o niższej rozdzielczości przed przekazaniem go do OCR. To zmniejsza obciążenie pamięci i przyspiesza przetwarzanie. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Obsługa błędów + +Umieść wywołanie OCR w bloku `try/except`, aby przechwycić błędy związane z siecią lub licencjonowaniem. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Krok 5 – Skalowanie: przetwarzanie wielu obrazów jednocześnie + +Ponieważ funkcja jest asynchroniczna, możesz uruchomić jednocześnie dziesiątki zadań OCR: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Ten wzorzec utrzymuje CPU w użyciu, podczas gdy silnik OCR pracuje równolegle, co znacząco skraca całkowity czas przetwarzania. + +## Zakończenie + +Masz teraz solidne rozwiązanie **extract text from image Python**, które wykorzystuje asynchroniczne API Aspose OCR. Pełny przykład pokazuje, jak: + +1. Zainicjalizować silnik OCR i wybrać język. +2. Uruchomić OCR asynchronicznie za pomocą `process_async`. +3. Oczekiwać na wynik bez blokowania pętli zdarzeń. +4. Obsłużyć typowe problemy, takie jak duże pliki i wsparcie wielu języków. + +Śmiało dostosuj kod do własnych pipeline'ów — niezależnie od tego, czy tworzysz system zarządzania dokumentami, indekser wyszukiwania, czy prostą aplikację wiersza poleceń. Kolejne kroki mogą obejmować: + +- Przechowywanie wyodrębnionego tekstu w bazie danych w celu pełnotekstowego wyszukiwania. +- Dodanie generowania PDF (np. przy użyciu `PyPDF2`), aby tworzyć przeszukiwalne pliki PDF. +- Integrację z frameworkiem webowym, takim jak FastAPI, w celu stworzenia usługi OCR typu REST. + +Miłego kodowania i ciesz się przekształcaniem zeskanowanych obrazów w przeszukiwalny, edytowalny tekst! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/polish/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..a6c1df5f --- /dev/null +++ b/ocr/polish/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-01-12 +description: Jak szybko przetwarzać obrazy metodą OCR w partiach i wyodrębniać tekst + z plików JPEG w Pythonie. Poznaj przetwarzanie wsadowe krok po kroku z kompletnym, + gotowym do uruchomienia przykładem. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: pl +og_description: Jak przetwarzać obrazy OCR wsadowo i wyodrębniać tekst z plików JPEG. + Ten przewodnik przeprowadzi Cię przez kompletną, gotową do uruchomienia rozwiązanie + w Pythonie. +og_title: Jak wykonać wsadowe OCR obrazów – szybki samouczek Pythona +tags: +- OCR +- Python +- image processing +title: Jak przetwarzać obrazy OCR w partiach – szybki przewodnik po wyodrębnianiu + tekstu z plików JPEG +url: /pl/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak przetwarzać obrazy OCR wsadowo – szybki przewodnik po wyodrębnianiu tekstu z plików JPEG + +Zastanawiałeś się kiedyś, **jak przetwarzać obrazy OCR wsadowo** bez pisania osobnego skryptu dla każdego pliku? Nie jesteś sam. W wielu projektach — skanowanie faktur, digitalizacja archiwów czy moderacja treści — musimy wyciągnąć tekst z dziesiątek lub setek plików JPEG jednocześnie. Dobra wiadomość jest taka, że można to zrobić kilkoma liniami Pythona, a otrzymasz wielokrotnego użytku silnik, który możesz wstawić do dowolnego potoku. + +W tym tutorialu pokażemy dokładnie, **jak przetwarzać obrazy OCR wsadowo**, a następnie przejdziemy przez wyodrębnianie tekstu z plików JPEG, obsługę przypadków brzegowych i weryfikację wyników. Po zakończeniu będziesz mieć samodzielny skrypt, który możesz uruchomić na dowolnym folderze z obrazami, i zrozumiesz, dlaczego przetwarzanie wsadowe ma znaczenie dla wydajności i utrzymania. + +## Czego się nauczysz + +- Skonfigurujesz prosty silnik OCR i ustawisz go na język angielski. +- Zbierz wszystkie pliki JPEG z katalogu przy użyciu `pathlib`. +- Wywołasz silnik OCR raz, aby przetworzyć całą partię. +- Wyświetlisz podgląd rozpoznanego tekstu dla każdego obrazu. +- Porady dotyczące obsługi dużych partii, różnych języków i typowych pułapek. + +**Wymagania wstępne**: Python 3.8+, biblioteka `ocr` (lub dowolny kompatybilny wrapper) oraz folder z obrazami JPEG, które chcesz przeanalizować. Nie są potrzebne zewnętrzne usługi — wszystko działa lokalnie. + +--- + +## Krok 1: Inicjalizacja silnika OCR – rdzeń tego, jak przetwarzać obrazy OCR wsadowo + +Zanim będziemy mogli **przetwarzać obrazy OCR wsadowo**, potrzebujemy silnika, który potrafi odczytywać tekst. W większości bibliotek tworzysz obiekt silnika, opcjonalnie ustawiasz język i potem używasz go dla każdego pliku. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Dlaczego to ważne*: Inicjalizacja silnika raz eliminuje koszt wielokrotnego ładowania modeli językowych. Daje też jedno miejsce, w którym możesz dostosować ustawienia (np. DPI, białą listę znaków), które będą obowiązywać dla całej partii. + +> **Pro tip**: Jeśli planujesz przetwarzać dokumenty wielojęzyczne, zamień `ocr.Language.ENGLISH` na `ocr.Language.MULTI` lub załaduj kilka pakietów językowych przed rozpoczęciem partii. + +--- + +## Krok 2: Zbierz wszystkie pliki JPEG – część „Wyodrębnianie tekstu z plików JPEG” + +Teraz, gdy silnik jest gotowy, musimy powiedzieć mu, na jakich obrazach ma pracować. Użycie `pathlib` sprawia, że kod jest niezależny od platformy i zwięzły. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Dlaczego to ważne*: Gromadząc listę plików najpierw, możemy przekazać całą kolekcję do silnika OCR jednym wywołaniem — dokładnie o to chodzi w **przetwarzaniu obrazów OCR wsadowo**. Jeśli masz podfoldery, możesz zmienić `glob("**/*.jpg")` na wyszukiwanie rekurencyjne. + +> **Przypadek brzegowy**: Jeśli Twoje obrazy mają mieszane rozszerzenia (`.jpeg`, `.JPG`), rozszerz wzorzec glob: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Krok 3: Przetwórz całą partię jednym wywołaniem – prawdziwa moc wsadowego OCR + +Większość nowoczesnych bibliotek OCR udostępnia metodę `process_batch` (lub podobnie nazwaną), która przyjmuje iterowalną listę ścieżek plików. To serce **przetwarzania obrazów OCR wsadowo** w sposób efektywny. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Dlaczego to ważne*: Jedno wywołanie partii zmniejsza liczbę przejść Python‑C, utrzymuje model językowy w pamięci i często umożliwia wewnętrzne równoległe przetwarzanie. Wynikiem jest lista obiektów — każdy zawierający rozpoznany tekst i współczynniki pewności. + +> **Uwaga o wydajności**: Dla bardzo dużych partii (tysiące obrazów) rozważ podzielenie listy na mniejsze fragmenty (np. po 200 plików), aby uniknąć nadmiernego zużycia pamięci. + +--- + +## Krok 4: Pokaż podgląd wyodrębnionego tekstu – szybka weryfikacja + +Po zakończeniu partii przydatne jest spojrzenie na pierwsze kilka znaków każdego wyniku. Pomaga to potwierdzić, że OCR faktycznie wyodrębnia tekst z Twoich plików JPEG. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Dlaczego to ważne*: Krótki podgląd pozwala wykryć oczywiste błędy (np. pusty wynik, zniekształcone znaki) bez otwierania każdego pliku. Jeśli zauważysz systematyczne problemy, możesz dostosować ustawienia silnika i ponownie uruchomić partię. + +> **Typowa pułapka**: Zapomnienie o usunięciu znaków nowej linii może spowodować nieczytelny podgląd. Linia `replace("\n", " ")` to naprawia. + +--- + +## Pełny działający przykład – wszystkie kroki razem + +Poniżej kompletny skrypt, który możesz skopiować, dostosować ścieżkę katalogu i uruchomić. Demonstruje cały przepływ **przetwarzania obrazów OCR wsadowo** od początku do końca. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Oczekiwany wynik** (przykład): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Jeśli podgląd pokazuje sensowny tekst, udało Ci się **wyodrębnić tekst z plików JPEG** przy użyciu podejścia wsadowego. + +--- + +## Obsługa dużych partii i scenariusze zaawansowane + +### Dzielanie dużych obciążeń +Gdy masz do czynienia z tysiącami obrazów, pamięć może stać się wąskim gardłem. Podziel listę na mniejsze fragmenty: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Zmiana języków +Jeśli Twoje dokumenty zawierają francuski lub hiszpański, zmień język przed rozpoczęciem partii: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Zapisywanie wyników na dysku +Zamiast drukować, możesz zapisać każdy wynik OCR do pliku `.txt`: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Zakończenie + +Teraz wiesz, **jak przetwarzać obrazy OCR wsadowo** i niezawodnie **wyodrębniać tekst z plików JPEG** przy użyciu kompaktowego skryptu w Pythonie. Inicjalizując silnik raz, zbierając wszystkie ścieżki JPEG, przetwarzając je w jednej partii i podglądając wyniki, osiągasz zarówno szybkość, jak i prostotę. Od tego momentu możesz rozbudować przepływ — dodać obsługę wielu języków, przechowywać wyniki w bazie danych lub zintegrować skrypt z większym potokiem przetwarzania dokumentów. + +Gotowy na kolejny krok? Spróbuj zamienić bibliotekę `ocr` na Tesseract, poeksperymentuj z różnym wstępnym przetwarzaniem obrazu (progowanie, skalowanie) lub przekaż wyodrębniony tekst do modelu przetwarzania języka naturalnego w celu automatycznej kategoryzacji. Niebo jest granicą, a Ty masz solidne podstawy, na których możesz budować. + +Miłego kodowania i niech Twoje partie OCR będą zawsze wolne od błędów! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/polish/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..6c9c8329 --- /dev/null +++ b/ocr/polish/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,134 @@ +--- +category: general +date: 2026-01-12 +description: Jak wykrywać język na obrazach przy użyciu Aspose OCR – dowiedz się, + jak wyodrębniać tekst z obrazu, obsługiwać OCR z wieloma językami i korzystać z + OCR w Pythonie. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: pl +og_description: Jak wykrywać język na obrazach przy użyciu Aspose OCR – krok po kroku + przewodnik, jak wyodrębnić tekst z obrazu i obsłużyć OCR z wielojęzycznym tekstem. +og_title: Jak wykrywać język za pomocą OCR w mieszanym tekście +tags: +- OCR +- Python +- Aspose +title: Jak wykrywać język przy użyciu OCR dla mieszanych tekstów +url: /pl/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak wykrywać język przy użyciu OCR dla mieszanych tekstów + +Wykrywanie języka na obrazach przy użyciu Aspose OCR jest powszechnym wyzwaniem przy pracy z dokumentami wielojęzycznymi. Zastanawiałeś się kiedyś **how to extract text from image**, które zawiera zarówno angielski, jak i francuski na tej samej stronie? W tym samouczku przeprowadzimy Cię przez kompletny, gotowy do uruchomienia przykład, który dokładnie pokazuje, jak używać OCR do identyfikacji języka, wyciągania tekstu i obsługi scenariuszy mieszanych języków bez problemu. + +Omówimy wszystko, co musisz wiedzieć: konfigurację silnika Aspose OCR, określenie, które języki mają być brane pod uwagę, wczytanie przykładowego obrazu faktury, uruchomienie procesu OCR oraz ostateczne wyświetlenie wykrytego języka wraz z wyekstrahowanym tekstem. Po zakończeniu będziesz w stanie odpowiedzieć na pytanie „how to use OCR for mixed language OCR” w swoich projektach, niezależnie od tego, czy tworzysz pipeline fakturowania, skaner paragonów, czy narzędzie do archiwizacji dokumentów. + +> **Prerequisites** – Powinieneś mieć zainstalowany Python 3.8+, podstawową znajomość pip oraz licencję Aspose OCR (bezpłatna wersja próbna wystarczy do tego demo). Nie są wymagane żadne inne zewnętrzne biblioteki. + +--- + +## Jak wykrywać język przy użyciu Aspose OCR + +Pierwszym krokiem jest utworzenie instancji silnika OCR i określenie, które języki ma on wykrywać. Aspose OCR używa maski bitowej do łączenia języków, co ułatwia obsługę angielskiego, francuskiego, hiszpańskiego lub dowolnej potrzebnej kombinacji. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Dlaczego to jest ważne:** Inicjalizacja silnika jest podstawą. Bez niej nie możesz wywołać żadnych metod OCR, a silnik przechowuje całą konfigurację, która określa, jak dobrze może **detect language** później. + +## Wyodrębnianie tekstu z obrazu przy użyciu OCR + +Teraz musimy poinformować silnik, które języki są możliwe. Ustawiając maskę bitową `ENGLISH | FRENCH` umożliwiamy silnikowi automatyczne wybranie najlepszego dopasowania dla każdego regionu obrazu. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Dlaczego to jest ważne:** Włączenie `auto_detect_language` jest sednem **how to detect language** w dokumencie mieszanym językowo. Silnik skanuje tekst, ocenia każdy język i zwraca ten z najwyższym poziomem pewności. Jeśli pominiesz ten krok, będziesz zmuszony samodzielnie zgadywać język, co podważa cel OCR dla mieszanego języka. + +## Konfiguracja ustawień OCR dla mieszanego języka + +Zanim przekażemy obraz do silnika, musimy go wczytać. Aspose OCR działa z własną klasą `Image`, która abstrahuje od rzeczywistego formatu pliku. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Tip:** Utrzymuj rozdzielczość obrazu w okolicach 300 dpi, aby uzyskać najlepsze wyniki. Niższe rozdzielczości mogą powodować, że wykrywanie języka pominie subtelne znaki, szczególnie akcentowane litery francuskie. + +## Uruchom proces OCR i uzyskaj wyniki + +Po skonfigurowaniu silnika i wczytaniu obrazu możemy w końcu uruchomić proces OCR. Metoda `process` zwraca obiekt `OcrResult`, który zawiera zarówno kod wykrytego języka, jak i pełny wyekstrahowany tekst. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Oczekiwany wynik** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Jeśli obraz zawiera fragmenty po francusku, zobaczysz `FRENCH` jako wykryty język oraz wydrukowany odpowiedni tekst francuski. + +## Przykład obrazu (tekst alternatywny dla SEO) + +![jak wykrywać język w obrazie OCR z mieszanym językiem](mixed_lang_invoice.png) + +*Powyższy zrzut ekranu przedstawia przykładową fakturę zawierającą zarówno tekst po angielsku, jak i po francusku, ilustrując, jak silnik OCR może **detect language** i wyodrębnić zawartość w jednym przebiegu.* + +## Częste pułapki i wskazówki profesjonalne + +| Problem | Dlaczego się pojawia | Jak naprawić / złagodzić | +|-------|----------------|------------------------| +| **Rozmyte lub niskiej rozdzielczości skany** | Silnik nie potrafi rozróżnić znaków, co prowadzi do błędnego wykrywania języka. | Skanuj w ≥300 dpi, zastosuj wyostrzanie obrazu przed OCR. | +| **Brak języka w masce bitowej** | Jeśli zapomnisz dodać język, silnik domyślnie wybierze pierwsze dopasowanie, często dając nieprecyzyjne wyniki. | Zawsze wymieniaj każdy oczekiwany język; możesz łączyć wiele przy użyciu operatora `|`. | +| **Mieszane skrypty (np. łaciński + cyrylica)** | Aspose OCR może wymagać osobnych pakietów językowych. | Zainstaluj dodatkowe pakiety językowe i dodaj je do maski. | +| **Duże pliki powodujące skoki pamięci** | Wczytanie ogromnego obrazu do pamięci może spowodować awarię skryptu. | Użyj `Image.resize`, aby zmniejszyć rozmiar przy zachowaniu DPI, lub przetwarzaj obraz w kafelkach. | + +**Pro tip:** Po uzyskaniu surowego tekstu, uruchom szybki krok post‑procesingu, aby znormalizować białe znaki i podziały linii. Ułatwia to dalsze parsowanie (np. wyodrębnianie numerów faktur). + +## Podsumowanie: czego się nauczyłeś + +Teraz wiesz **how to detect language** na obrazie mieszanym językowo przy użyciu Aspose OCR i widziałeś kompletny, pełny przykład, który także pokazuje **how to extract text from image**. Konfigurując maskę bitową języków, włączając automatyczne wykrywanie i obsługując obiekt wyniku, możesz niezawodnie przetwarzać faktury, paragony lub dowolny dokument, który miesza angielski i francuski (lub inne języki). + +### Kolejne kroki + +- Spróbuj dodać **how to extract text** z PDF‑ów, najpierw konwertując każdą stronę na obraz. +- Eksperymentuj z innymi słowami kluczowymi: odkryj pełny interfejs API **how to use OCR**, np. ustawianie stref OCR dla szybszego przetwarzania. +- Zagłęb się w bardziej złożone przypadki **mixed language OCR**, takie jak dokumenty przełączające się między trzema lub większą liczbą języków. + +Śmiało modyfikuj kod, testuj go na własnych obrazach i pozwól silnikowi wykonać ciężką pracę. Jeśli napotkasz problemy, zostaw komentarz poniżej — miłego kodowania! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/polish/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..465292f0 --- /dev/null +++ b/ocr/polish/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: Dowiedz się, jak wykonać OCR PDF w Pythonie i szybko uczynić PDF przeszukiwalnym. + Konwertuj zeskanowany PDF, wyodrębnij tekst z PDF i wykonaj OCR zeskanowanego PDF + w Pythonie przy użyciu Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: pl +og_description: Jak wykonać OCR PDF w Pythonie? Ten krok po kroku poradnik pokazuje, + jak przekształcić zeskanowane pliki PDF w przeszukiwalne PDF‑y i wyodrębnić tekst + za pomocą Aspose OCR. +og_title: Jak wykonać OCR PDF i uczynić go przeszukiwalnym – przewodnik Pythona +tags: +- OCR +- Python +- PDF processing +title: Jak wykonać OCR PDF i uczynić go przeszukiwalnym – przewodnik Pythona +url: /pl/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak wykonać OCR PDF i uczynić go przeszukiwalnym – Poradnik Python + +Zastanawiałeś się kiedyś **jak wykonać OCR PDF** bez wydawania fortuny na komercyjne oprogramowanie? Nie jesteś sam. Wielu programistów napotyka problem, gdy muszą zamienić zeskanowany kontrakt, fakturę lub dowolny PDF oparty na obrazie w dokument przeszukiwalny. Dobra wiadomość? Kilka linijek Pythona i Aspose OCR pozwoli Ci skonwertować zeskanowany PDF, wyodrębnić tekst z PDF i w końcu uczynić PDF przeszukiwalnym w ciągu kilku minut. + +W tym poradniku przejdziemy krok po kroku przez wszystko, co potrzebne: od instalacji biblioteki, konfiguracji języka, przetwarzania zeskanowanego PDF, po zapisanie wyniku jako przeszukiwalny PDF zawierający zarówno oryginalny obraz, jak i ukrytą warstwę tekstową. Po zakończeniu będziesz mieć gotowy skrypt, który możesz wstawić do dowolnego projektu — bez ręcznego kopiowania i wklejania. + +--- + +## Czego będziesz potrzebować + +- **Python 3.8+** (kod działa na 3.9, 3.10 i nowszych) +- Aktywna licencja **Aspose OCR for Python** (bezpłatna wersja próbna wystarczy do eksperymentów) +- Zeskanowany plik PDF (np. `scanned_contract.pdf`), który chcesz uczynić przeszukiwalnym +- Podstawowa znajomość wiersza poleceń i środowisk wirtualnych (opcjonalnie, ale zalecane) + +> **Pro tip:** Jeśli nie masz jeszcze licencji, zarejestruj się na 30‑dniowy trial na stronie Aspose; wersja próbna jest w pełni funkcjonalna do celów deweloperskich. + +--- + +## Jak wykonać OCR PDF przy użyciu Aspose OCR (Primary Keyword in H2) + +Pierwszym krokiem jest pobranie odpowiedniego pakietu. Aspose OCR oferuje czyste, wysokopoziomowe API, które ukrywa szczegóły niskopoziomowego przetwarzania obrazu. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +Po zainstalowaniu pakietu możesz rozpocząć pisanie skryptu. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Dlaczego ustawia się język?** +> Dokładność OCR zależy w dużej mierze od modelu językowego. Jawne określenie, że silnik ma oczekiwać tekstu po angielsku, zmniejsza liczbę fałszywych trafień i przyspiesza przetwarzanie. + +--- + +## Krok 2: Konwersja zeskanowanego PDF do przeszukiwalnego PDF + +Teraz, gdy silnik jest gotowy, skieruj go na swój zeskanowany dokument. Metoda `process_pdf` zwraca obiekt `PdfResult`, który zawiera zarówno oryginalne dane obrazu, jak i rozpoznany tekst. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Jeśli potrzebujesz **konwertować zeskanowane PDF** w dużej liczbie, po prostu przeiteruj katalog i wywołaj `process_pdf` dla każdego pliku. Silnik obsługuje wielostronicowe PDF-y od razu. + +--- + +## Krok 3: Zapisz wynik jako przeszukiwalny PDF (Make PDF Searchable) + +Ostatnim elementem układanki jest zapisanie przeszukiwalnej wersji. Aspose OCR robi to w jednej linii: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +Gdy otworzysz `contract_searchable.pdf` w dowolnym przeglądarce PDF, zobaczysz oryginalny zeskanowany obraz, ale teraz możesz **wyszukiwać dowolne słowo**, które silnik OCR rozpoznał. Ukryta warstwa tekstowa jest niewidoczna dla oka, ale w pełni indeksowalna. + +--- + +### Pełny skrypt – gotowy do uruchomienia + +Poniżej znajduje się kompletny, gotowy do uruchomienia przykład. Skopiuj‑wklej go do pliku o nazwie `make_searchable.py` i dostosuj ścieżki do swojego środowiska. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Oczekiwany wynik:** +Uruchomienie skryptu wypisuje linię potwierdzającą i tworzy `contract_searchable.pdf`. Otwórz plik, naciśnij `Ctrl + F` i wpisz dowolne słowo, które występuje w oryginalnym zeskanowanym obrazie — powinieneś zobaczyć dopasowania natychmiast. + +--- + +## Częste pytania i przypadki brzegowe + +### 1. Co zrobić, gdy PDF zawiera wiele języków? + +Możesz przekazać listę języków do silnika: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR spróbuje rozpoznać tekst w obu językach na tej samej stronie. + +### 2. Jak radzić sobie z niską rozdzielczością skanów? + +Jeśli obrazy źródłowe mają mniej niż 150 dpi, dokładność OCR może ucierpieć. Wstępnie przetwórz PDF narzędziem takim jak `pdfimages`, wyodrębnij strony, zwiększ ich rozdzielczość przy pomocy Pillow i podaj obrazy wyższej rozdzielczości z powrotem do `process_pdf`. + +### 3. Czy mogę wyodrębnić czysty tekst bez tworzenia przeszukiwalnego PDF? + +Oczywiście. Obiekt `PdfResult` udostępnia właściwość `text`: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Spełnia to przypadek użycia **extract text pdf**, gdy potrzebujesz tylko surowych znaków. + +### 4. Czy istnieje sposób na przetwarzanie wsadowe folderu PDF‑ów? + +Tak — opakuj funkcję `ocr_to_searchable` w prostą pętlę: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Teraz możesz **konwertować zeskanowane pdf** masowo jednym poleceniem. + +--- + +## Wskazówki dotyczące wydajności + +- **Ponowne użycie silnika**: Tworzenie nowego `OcrEngine` dla każdego pliku generuje dodatkowy narzut. Zainicjuj go raz i używaj wielokrotnie. +- **Przetwarzanie równoległe**: Przy dużych partiach rozważ `concurrent.futures.ThreadPoolExecutor` — Aspose OCR jest bezpieczny wątkowo dla operacji tylko‑do‑odczytu. +- **Zarządzanie pamięcią**: Jeśli przetwarzasz bardzo duże PDF‑y (setki stron), wywołaj `gc.collect()` po każdym pliku, aby zwolnić pamięć. + +--- + +## Podsumowanie + +Omówiliśmy **jak wykonać OCR PDF** w Pythonie, przekształciliśmy skany w **przeszukiwalne PDF‑y** i pokazaliśmy, jak **wyodrębnić tekst PDF** bezpośrednio. Z Aspose OCR otrzymujesz niezawodny silnik, który radzi sobie z dokumentami wielostronicowymi, wieloma językami i wysoką dokładnością rozpoznawania — wszystko w kilku linijkach kodu. + +Wypróbuj to na własnych kontraktach, fakturach lub archiwalnych publikacjach. Gdy opanujesz podstawy, eksperymentuj z zaawansowanymi funkcjami — takimi jak własne słowniki, wstępne przetwarzanie obrazu czy integracja wyniku z pełnotekstowym indeksem, np. Elasticsearch. + +Masz więcej pytań o **ocr scanned pdf python** lub potrzebujesz pomocy przy trudnym skanie? zostaw komentarz poniżej i powodzenia w kodowaniu! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="how to ocr pdf example"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/polish/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..6d8490d2 --- /dev/null +++ b/ocr/polish/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-12 +description: Jak szybko i dokładnie przeprowadzić OCR. Dowiedz się, jak uruchomić + OCR na dokumencie, wyodrębnić tekst z pliku TIFF, załadować obraz do OCR i ustawić + język OCR w Pythonie. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: pl +og_description: Jak wykonać OCR w Pythonie. Ten samouczek pokazuje, jak uruchomić + OCR na dokumencie, wyodrębnić tekst z pliku TIFF, załadować obraz do OCR i ustawić + język OCR. +og_title: Jak wykonać OCR w dokumencie TIFF – Kompletny przewodnik +tags: +- OCR +- Python +- Image Processing +title: Jak wykonać OCR w dokumencie TIFF – Przewodnik krok po kroku +url: /pl/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak wykonać OCR na dokumencie TIFF – Kompletny przewodnik + +Zastanawiałeś się kiedyś **jak wykonać OCR** na zeskanowanym pliku TIFF, nie tracąc godzin na szukanie odpowiedniej biblioteki? Nie jesteś sam. Wielu programistów napotyka problem, gdy muszą wyodrębnić tekst z obrazów TIFF, szczególnie gdy liczy się wydajność i ustawienia językowe. + +W tym tutorialu przejdziemy krok po kroku przez wszystko, co musisz wiedzieć: od instalacji pakietu OCR, przez wczytanie obrazu do OCR, ustawienie języka OCR, aż po **uruchomienie OCR na dokumencie** i uzyskanie czystego tekstu. Na końcu będziesz mieć gotowy skrypt, który możesz wkleić do dowolnego projektu. + +> **Pro tip:** Choć w przykładzie używany jest ogólny moduł `ocr`, te same koncepcje mają zastosowanie do Tesseract, EasyOCR lub dowolnego nowoczesnego silnika OCR udostępniającego API w Pythonie. + +--- + +## Czego będziesz potrzebować + +- Python 3.8+ (dowolna nowsza wersja) +- Biblioteka OCR, która udostępnia klasę `OcrEngine` (przykład używa fikcyjnego pakietu `ocr`; zamień go na swoją rzeczywistą bibliotekę) +- Wielostronicowy plik TIFF, który chcesz przetworzyć (nazwijmy go `big_document.tif`) +- Maszyna z co najmniej 4 rdzeniami CPU, jeśli planujesz ustawić liczbę wątków + +Bez zewnętrznych usług, bez kluczy chmurowych — tylko lokalny kod, który działa w kilka sekund. + +--- + +![przykład wykonania OCR](/images/ocr-example.png "jak wykonać OCR na dokumencie TIFF") + +*Tekst alternatywny obrazu: jak wykonać OCR na dokumencie TIFF – podgląd wyodrębnionego tekstu.* + +--- + +## Krok 1: Zainstaluj i zaimportuj bibliotekę OCR + +Na początek: zainstaluj bibliotekę na swoim komputerze. Większość pakietów OCR jest dostępna w PyPI, więc prosty `pip install` wystarczy. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Teraz zaimportuj potrzebne klasy. Jeśli używasz Tesseract, linia importu będzie wyglądała inaczej, ale reszta kodu pozostaje taka sama. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Dlaczego to ważne:* Wczesne importowanie właściwych symboli zapobiega konfliktom nazw później i sprawia, że skrypt jest łatwiejszy do odczytania. + +--- + +## Krok 2: Utwórz i skonfiguruj silnik OCR (Ustaw język OCR) + +Konfiguracja silnika to miejsce, w którym **ustawiasz język OCR** dla dokładnego rozpoznawania. Domyślnie jest to angielski, ale możesz przełączyć się na francuski, niemiecki lub tryb wielojęzyczny jednym wierszem. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Dlaczego 4 wątki?** Większość nowoczesnych laptopów ma co najmniej cztery rdzenie, a ograniczenie liczby wątków zapobiega przejęciu całego zasobu przez proces OCR — szczególnie przydatne, gdy skrypt działa na współdzielonym serwerze. + +Jeśli potrzebujesz innego języka, po prostu zamień `ocr.Language.ENGLISH` na `ocr.Language.FRENCH`, `ocr.Language.SPANISH` itd. + +--- + +## Krok 3: Wczytaj obraz do OCR (Load Image for OCR) + +Teraz **wczytujemy obraz do OCR**. Metoda `Image.load` odczytuje plik TIFF do pamięci, automatycznie obsługując dokumenty wielostronicowe. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Przypadek brzegowy:* Jeśli plik jest bardzo duży, możesz wyczerpać pamięć RAM. W takiej sytuacji rozważ wczytywanie jednej strony na raz przy pomocy `Image.load_page(page_number)` (jeśli biblioteka to obsługuje). + +--- + +## Krok 4: Uruchom OCR na dokumencie + +Gdy silnik jest gotowy, a obraz wczytany, czas **uruchomić OCR na dokumencie**. Metoda `process` wykonuje ciężką pracę i zwraca obiekt wyniku. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +Za kulisami silnik dzieli obraz na bloki tekstu, uruchamia model rozpoznawania i scala wyniki. Wywołanie jest blokujące, co oznacza, że skrypt czeka, aż cały TIFF zostanie przetworzony — idealne dla zadań wsadowych. + +--- + +## Krok 5: Wyodrębnij tekst z TIFF i zweryfikuj wynik + +Na koniec **wyodrębniamy tekst z TIFF**, odwołując się do atrybutu `text` wyniku. Wypiszmy pierwsze 200 znaków jako szybki test. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Oczekiwany wynik (przykład):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Jeśli potrzebujesz pełnego tekstu, po prostu użyj `ocr_result.text`. Do dalszego przetwarzania możesz zapisać go do pliku `.txt`: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## Pełny działający przykład + +Łącząc wszystko razem, oto gotowy do uruchomienia skrypt. Zamień nazwę pakietu zastępczego na tę, którą faktycznie zainstalowałeś. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Uruchom skrypt poleceniem: + +```bash +python ocr_tiff_example.py +``` + +Powinieneś zobaczyć podgląd wydrukowany w konsoli oraz plik o nazwie `extracted_text.txt` zawierający pełną transkrypcję. + +--- + +## Często zadawane pytania i przypadki brzegowe + +- **Co zrobić, gdy TIFF zawiera wiele stron?** + Większość silników OCR traktuje każdą stronę jako osobny obraz wewnętrznie. `ocr_result.text` będzie zawierał znak nowej linii pomiędzy stronami. Jeśli potrzebujesz obsługi per‑strona, iteruj z `Image.load_page(page_number)`. + +- **Czy mogę przetworzyć PNG lub JPEG zamiast TIFF?** + Oczywiście. Metoda `Image.load` zazwyczaj akceptuje każdy format obsługiwany przez Pillow lub bazową bibliotekę. Wystarczy zmienić rozszerzenie pliku. + +- **Mój tekst jest zniekształcony — czy powinienem zmienić język?** + Tak. Krok **ustaw język OCR** jest kluczowy dla dokumentów nie‑angielskich. Upewnij się, że pakiet językowy jest zainstalowany (np. `tesseract‑lang‑fra` dla francuskiego). + +- **Brak pamięci?** + Zmniejsz `set_memory_limit` lub przetwarzaj strony pojedynczo. Niektóre silniki pozwalają także na zmniejszenie rozdzielczości obrazu przed rozpoznaniem. + +--- + +## Zakończenie + +Oto on — zwięzły, w pełni funkcjonalny przewodnik, **jak wykonać OCR** na pliku TIFF przy użyciu Pythona. Omówiliśmy wszystko: od instalacji biblioteki, konfiguracji silnika (w tym **ustaw język OCR**), **wczytanie obrazu do OCR**, **uruchomienie OCR na dokumencie**, aż po **wyodrębnienie tekstu z TIFF**. + +Śmiało eksperymentuj: zmieniaj liczbę wątków, przełączaj języki lub podsyłaj wynik OCR do pipeline’u przetwarzania języka naturalnego. Możliwości są nieograniczone, gdy opanujesz podstawy. + +Masz więcej pytań? zostaw komentarz poniżej i powodzenia w kodowaniu! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/polish/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..ed1d86f6 --- /dev/null +++ b/ocr/polish/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,180 @@ +--- +category: general +date: 2026-01-12 +description: jak ustawić język w Aspose OCR Python i wyodrębnić tekst z obrazu przy + użyciu własnego słownika. Samouczek krok po kroku dla programistów. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: pl +og_description: jak ustawić język w Aspose OCR Python i wyodrębnić tekst z obrazu + przy użyciu własnego słownika. Poznaj pełny przepływ pracy w kilka minut. +og_title: Jak ustawić język w Aspose OCR Python – kompletny przewodnik +tags: +- OCR +- Python +- Aspose +- Image Processing +title: jak ustawić język w Aspose OCR Python – Kompletny przewodnik +url: /pl/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# jak ustawić język w Aspose OCR Python – Kompletny przewodnik + +Zastanawiałeś się kiedyś **jak ustawić język** podczas korzystania z Aspose OCR w Pythonie? Nie jesteś sam — wielu programistów napotyka ten problem, gdy domyślny model angielski nie rozpoznaje kodów produktów, numerów seryjnych ani tekstu wielojęzycznego. Dobrą wiadomością jest to, że rozwiązanie jest zarówno proste, jak i potężne. W tym tutorialu przeprowadzimy Cię przez konfigurację języka, dodanie własnego słownika, wyodrębnienie tekstu z obrazu oraz ostateczne przetworzenie obrazu dla najlepszych wyników OCR. + +Omówimy wszystko, co musisz wiedzieć: od instalacji biblioteki po uruchomienie pełnego przykładu, który wypisuje wyodrębniony tekst. Po zakończeniu będziesz mógł **wyodrębniać tekst z plików obrazów** z pewnością, nawet gdy zawartość obejmuje nietypowe kody lub mieszane języki. + +## Wymagania wstępne + +Zanim przejdziemy dalej, upewnij się, że masz: + +* Python 3.8+ zainstalowany (kod używa f‑stringów, więc starsze wersje nie będą działać). +* Aktywną licencję Aspose OCR for Python lub klucz do wersji próbnej. +* Pakiet `asposeocr` zainstalowany poleceniem `pip install asposeocr`. +* Przykładowy obraz (`product_label.png`) zawierający tekst, który chcesz odczytać. + +Jeśli już posiadasz te elementy, świetnie — przejdźmy dalej. Jeśli nie, pobierz wersję próbną ze strony Aspose i uruchom polecenie instalacyjne; zajmie to tylko chwilę. + +## Krok 1: Importowanie modułu Aspose OCR + +Pierwszą rzeczą, którą musisz zrobić, jest zaimportowanie klas OCR do swojego skryptu. To podstawa dla **jak ustawić język** później. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Pro tip:** Trzymaj importy na początku pliku. Ułatwia to przeglądanie skryptu, szczególnie gdy wracasz do niego później. + +## Krok 2: Jak ustawić język + +Domyślnie Aspose OCR zakłada język angielski. Jeśli Twój obraz zawiera francuski, niemiecki lub inny język, musisz poinformować silnik, którego języka użyć. To tutaj kluczowe słowo wchodzi w grę. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Dlaczego to ważne? Silniki OCR opierają się na modelach znaków specyficznych dla języka. Podanie prawidłowego języka znacząco zwiększa dokładność — zwłaszcza w przypadku znaków diakrytycznych lub ligatur charakterystycznych dla danego języka. + +> **Uwaga:** Jeśli potrzebujesz obsługi kilku języków jednocześnie, możesz przekazać listę, np. `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## Krok 3: Jak dodać słownik (słowa definiowane przez użytkownika) + +Czasami silnik OCR błędnie odczytuje kody produktów, takie jak „AB‑1234”. Możesz zwiększyć pewność, podając własny słownik. To bezpośrednia odpowiedź na **jak dodać słownik** w Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +Silnik traktuje te słowa jako „znane” i będzie je preferował nad podobnie wyglądającymi znakami. Jest to szczególnie przydatne przy numerach SKU, kodach seryjnych lub nazwach marek, które nie należą do naturalnego języka. + +## Krok 4: Jak przetworzyć obraz + +Teraz, gdy silnik jest skonfigurowany, musisz załadować obraz, który chcesz przeanalizować. To odpowiada na **jak przetworzyć obraz** w sposób czysty i powtarzalny. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +Jeśli pracujesz z plikami PDF, możesz najpierw przekonwertować każdą stronę na obraz — Aspose OCR obsługuje to od razu. + +## Krok 5: Jak wyodrębnić tekst z obrazu + +Mając wszystko gotowe, ostatni krok to uruchomienie OCR i pobranie tekstu. To sedno **jak wyodrębnić tekst** z obrazu. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +Po uruchomieniu skryptu powinieneś zobaczyć coś w stylu: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Jeśli wynik wygląda na zniekształcony, sprawdź ponownie, czy ustawiłeś właściwy język oraz czy Twój własny słownik zawiera dokładnie te ciągi znaków, które oczekujesz. + +## Kompletny działający przykład + +Łącząc wszystko razem, oto pełny skrypt, który możesz skopiować i wkleić do pliku o nazwie `extract_label.py`. Pamiętaj, aby zamienić `YOUR_DIRECTORY` na rzeczywistą ścieżkę do Twojego obrazu. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Oczekiwany wynik + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Jeśli zobaczysz dokładnie te kody, które dodałeś do słownika, udało Ci się opanować **jak ustawić język**, **jak dodać słownik** oraz **jak wyodrębnić tekst z obrazu** przy użyciu Aspose OCR. + +## Obsługa typowych przypadków brzegowych + +| Sytuacja | Co zrobić | +|-----------|------------| +| **Obraz jest rozmyty** | Wstępnie przetworzyć za pomocą `ocr.Image.apply_filter()`, aby wyostrzyć przed wywołaniem `process()`. | +| **Wiele języków na jednym obrazie** | Ustawić `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **Duże pliki PDF** | Iterować po każdej stronie, konwertować na `ocr.Image` i wywoływać `process()` dla każdej strony. | +| **Nieoczekiwane znaki** | Dodać je do listy słów definiowanych przez użytkownika; Aspose OCR potraktuje je jako tokeny o wysokim poziomie pewności. | + +Te wskazówki utrzymują Twój potok OCR w dobrej kondycji, nawet gdy dane wejściowe nie są idealne. + +## Odniesienie wizualne + +![jak ustawić język w przykładzie Aspose OCR](image.png "Zrzut ekranu pokazujący, jak ustawić język w przykładzie Aspose OCR Python") + +*Alt text:* **jak ustawić język** zrzut ekranu ilustrujący przypisanie właściwości języka w środowisku Python IDE. + +## Zakończenie + +Teraz wiesz **jak ustawić język** w Aspose OCR Python, jak **dodać słownik** oraz dokładne kroki, aby **wyodrębnić tekst z obrazu** i **przetworzyć obraz** dla optymalnych rezultatów. Powyższy kompletny przykład można wstawić do dowolnego projektu, dostosować do różnych języków i rozbudować o przetwarzanie wsadowe lub wejścia PDF. + +Gotowy na kolejne wyzwanie? Spróbuj zamienić `ocr.Language.ENGLISH` na `ocr.Language.FRENCH` i zaobserwuj wzrost dokładności na etykietach w języku francuskim. Albo poeksperymentuj z metodą `set_user_defined_words`, aby uwzględnić cały katalog produktów — Twój silnik OCR potraktuje każdy wpis jako dopasowanie o wysokim poziomie pewności. + +Miłego kodowania i niech wyniki OCR będą zawsze krystalicznie czyste! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/polish/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..b16e9b3d --- /dev/null +++ b/ocr/polish/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-01-12 +description: Przetwarzaj odręczne notatki w Pythonie przy użyciu Aspose OCR – dowiedz + się, jak szybko wyodrębnić tekst z obrazów jpg. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: pl +og_description: Przetwarzaj odręczne notatki w Pythonie za pomocą Aspose OCR. Dowiedz + się, jak wyodrębniać tekst z obrazów jpg, rozpoznawać odręczny OCR i ładować obrazy + do OCR. +og_title: Przetwarzaj odręczne notatki w Pythonie – Kompletny samouczek OCR +tags: +- OCR +- Python +- Aspose +title: Przetwarzaj odręczne notatki w Pythonie – Przewodnik po odręcznym OCR +url: /pl/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Przetwarzanie odręcznych notatek w Pythonie – Przewodnik po OCR odręcznym + +Jeśli potrzebujesz **przetwarzać odręczne notatki** w Pythonie, ten przewodnik pokaże Ci dokładnie, jak to zrobić. Niezależnie od tego, czy notatki znajdują się na zeskanowanym paragonie, zdjęciu tablicy w klasie, czy szybkim selfie listy rzeczy do zrobienia, nauczysz się **jak wyodrębnić tekst** z tych obrazów bez wysiłku. + +Przejdziemy przez każdy krok — importowanie biblioteki Aspose OCR, wczytanie pliku JPG, uruchomienie silnika i radzenie sobie z liniami o niskim poziomie pewności. Na koniec będziesz mieć gotowy do uruchomienia skrypt, który może **rozpoznawać tekst z plików jpg** i dostarczyć czyste, użyteczne ciągi znaków. + +## Co zyskasz + +- Pełny, gotowy do uruchomienia przykład kodu, który działa od razu. +- Zrozumienie, dlaczego każda linia ma znaczenie, nie tylko co robi. +- Wskazówki dotyczące radzenia sobie z niepewnym pismem i wynikami o niskiej pewności. +- Poradnik, jak rozszerzyć skrypt o obsługę PDF‑ów, wielu obrazów lub własnych pakietów językowych. + +*Wymagania wstępne*: zainstalowany Python 3.8+, ważna licencja Aspose OCR (lub darmowa wersja próbna) oraz plik obrazu o nazwie `handwritten_notes.jpg` w folderze projektu. + +--- + +![Przykład przetwarzania odręcznych notatek](https://example.com/handwritten-notes.png "przetwarzanie odręcznych notatek") + +*Tekst alternatywny: przetwarzanie odręcznych notatek – przykładowy obraz pokazujący odręczny tekst gotowy do OCR.* + +## Przetwarzanie odręcznych notatek: Konfiguracja silnika OCR + +### Dlaczego ten krok ma znaczenie +Silnik OCR jest mózgiem procesu rozpoznawania. Wybranie właściwego języka i prawidłowa inicjalizacja obiektu zapewniają, że silnik wie, że ma szukać znaków angielskich oraz że potrafi radzić sobie z specyfiką odręcznego pisma. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Wskazówka:** Jeśli spodziewasz się notatek w innym języku, zamień `ocr.Language.ENGLISH` na odpowiedni enum (np. `ocr.Language.FRENCH`). Silnik automatycznie załaduje potrzebny zestaw znaków. + +--- + +## Jak wyodrębnić tekst z obrazów JPG + +### Wczytywanie obrazu – pierwsza przeszkoda +Zanim silnik będzie mógł wykonać jakąkolwiek pracę, potrzebuje bitmapowej reprezentacji Twojego JPG. Aspose oferuje wygodną statyczną metodę `load`, która wczytuje plik do obiektu `Image`. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Dlaczego nie używać OpenCV lub Pillow?* +Te biblioteki są świetne do wstępnego przetwarzania, ale `Image.load` z Aspose gwarantuje dokładny format pikseli, którego oczekuje silnik OCR, eliminując częste problemy z niepasującą głębią kolorów. + +--- + +## Rozpoznawanie tekstu z JPG przy użyciu Handwritten OCR w Pythonie + +### Uruchamianie silnika OCR +Teraz, gdy silnik i obraz są gotowe, uruchamiamy rozpoznawanie. Metoda `process` zwraca obiekt `OcrResult`, który zawiera listę obiektów `Line`, z których każdy ma własny wskaźnik pewności. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**Co dzieje się pod maską?** +Aspose OCR uruchamia model deep‑learningowy wytrenowany na milionach próbek odręcznych. Segmentuje obraz na linie, potem na znaki, a na końcu składa najbardziej prawdopodobny ciąg tekstowy dla każdej linii. + +--- + +## Wczytywanie obrazu do OCR – Obsługa wyników o niskiej pewności + +### Dlaczego warto zwracać uwagę na pewność +Odręczne OCR nigdy nie jest w 100 % doskonałe. Wskaźnik pewności poniżej 75 % zazwyczaj oznacza, że silnik miał trudności z kolejnością pociągnięć lub szumem tła. Filtrując takie linie, możesz zdecydować, czy poprosić użytkownika o weryfikację, czy zastosować dodatkowe przetwarzanie obrazu. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Typowy wynik** (Twoje wyniki mogą się różnić): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Zauważ, jak skrypt wyraźnie oddziela wiarygodny tekst od niepewnych fragmentów. Później możesz przekazać linie o niskiej pewności do drugiego przebiegu z filtrami poprawiającymi obraz (np. zwiększenie kontrastu) lub przedstawić je recenzentowi. + +--- + +## Pełny skrypt – Gotowy do uruchomienia + +Poniżej znajduje się cały program, gotowy do skopiowania i wklejenia. Zapisz go jako `handwritten_ocr.py` i uruchom `python handwritten_ocr.py`. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Oczekiwane zachowanie:** +- Skrypt wypisuje każdą linię wraz z procentem pewności. +- Linie powyżej 75 % pojawiają się jako “Accepted”, natomiast pozostałe są oznaczone do przeglądu. +- Nie są wymagane dodatkowe zależności poza `asposeocr`. + +--- + +## Częste pytania i przypadki brzegowe + +### Co jeśli mój obraz jest w formacie PNG lub BMP? +Aspose OCR automatycznie wykrywa format, więc możesz po prostu zmienić rozszerzenie pliku w `image_path`. Nie wymaga to zmian w kodzie. + +### Moje pismo jest bardzo nieczytelne — jak mogę poprawić dokładność? +1. **Wstępne przetworzenie obrazu** – zwiększ kontrast, usuń cienie tła (OpenCV może pomóc). +2. **Zwiększ próg pewności** – ustaw go na 80 %, jeśli potrzebujesz tylko prawie idealnych linii. +3. **Wytrenuj własny model** – Aspose oferuje funkcję „custom language pack” dla specjalistycznych stylów pisma. + +### Czy mogę przetwarzać wiele obrazów w jednym uruchomieniu? +Oczywiście. Owiń kroki wczytywania i przetwarzania w pętlę `for` po liście ścieżek do plików. Pamiętaj, aby ponownie używać tej samej instancji `ocr_engine` dla zwiększenia wydajności. + +### Czy to działa na macOS/Linux? +Tak. Aspose OCR udostępnia pakiety wheel dla wszystkich głównych platform. Wystarczy `pip install asposeocr` i możesz zaczynać. + +--- + +## Kolejne kroki i tematy powiązane + +- **Jak wyodrębnić tekst z PDF‑ów** – po skonfigurowaniu potoku OCR, wczytanie stron PDF do `ocr.Image.load` wymaga jedynie jednej zmiany w kodzie. +- **Integracja z bazą danych** – przechowuj każdą zaakceptowaną linię w SQLite lub PostgreSQL, aby mieć przeszukiwalne notatki. +- **OCR w czasie rzeczywistym na urządzeniach mobilnych** – połącz ten skrypt z Flask lub FastAPI, aby udostępnić endpoint REST, z którego mogą korzystać aplikacje mobilne. + +Każde z tych rozszerzeń opiera się na podstawowych koncepcjach, które omówiliśmy: **przetwarzanie odręcznych notatek**, **jak wyodrębnić tekst**, **rozpoznawanie tekstu z jpg** oraz **wczytywanie obrazu do OCR**. + +--- + +## Zakończenie + +Masz teraz solidne, kompleksowe rozwiązanie do **przetwarzania odręcznych notatek** przy użyciu Pythona i Aspose OCR. Przewodnik przeprowadził Cię przez konfigurację silnika, wczytanie JPG, uruchomienie rozpoznawania oraz obsługę wyników o niskiej pewności — wszystko w jednym, gotowym do skopiowania skrypcie. + +Od tego momentu eksperymentuj z różnymi technikami wstępnego przetwarzania obrazu, podnieś próg pewności lub skaluj rozwiązanie, aby przetwarzać setki notatek jednocześnie. Nie ma ograniczeń, a kod, którego się nauczyłeś, jest Twoją platformą startową. + +*Szczęśliwego kodowania i niech Twoje odręczne notatki w końcu staną się przeszukiwalnym tekstem!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/polish/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..739ad5bb --- /dev/null +++ b/ocr/polish/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-12 +description: Samouczek OCR w Pythonie pokazujący, jak wyodrębnić tekst tabeli z obrazu. + Naucz się odczytywać tabelę z obrazu i wyodrębniać wybrany tekst za pomocą Aspose + OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: pl +og_description: Samouczek OCR w Pythonie, który uczy, jak wyodrębnić tekst tabeli + z obrazu, odczytać tabelę z obrazu i wyodrębnić wybrany tekst przy użyciu Aspose + OCR. +og_title: 'Samouczek OCR w Pythonie: Wyodrębnianie tekstu tabeli z obrazów' +tags: +- OCR +- Python +- AsposeOCR +title: 'Samouczek OCR w Pythonie: Wyodrębnianie tekstu tabeli z obrazów' +url: /pl/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR Tutorial: Extract Table Text from Images + +Ever needed a **python ocr tutorial** that actually shows you how to pull a table out of a scanned form? You're not the only one. Most tutorials stop at generic text extraction, leaving you guessing how to isolate that neat grid of data you care about. + +In this guide we’ll walk through a real‑world scenario: reading a table from an image, extracting only the selected text you need, and finally printing the results. Along the way we’ll sprinkle in tips on **how to extract table** data reliably, so you won’t have to reinvent the wheel each time. + +## What You’ll Learn + +- How to set up Aspose OCR for Python. +- How to define a rectangular region that contains a table. +- The exact steps to **extract table text** and **read table from image**. +- Tips for handling multiple languages or irregular table layouts. +- A complete, runnable script you can drop into your project today. + +**Prerequisites** +- Python 3.8 or newer. +- Basic familiarity with OCR concepts (no deep expertise required). +- A PNG or JPEG image that contains a clear table (we’ll call it `form_with_table.png`). + +If you’ve got those, let’s dive in—no fluff, just actionable code. + +![python ocr tutorial example of table region](table_region_example.png){alt="python ocr tutorial example showing table region"} + +## Step 1: Install and Import Aspose OCR + +First things first: you need the Aspose OCR library. The package is on PyPI, so a single `pip` command does the trick. + +```bash +pip install aspose-ocr +``` + +Now import the module and any helpers you’ll need. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro tip:* Keep your dependencies in a `requirements.txt` file. It makes reproducing the environment a breeze. + +## Step 2: Initialise the OCR Engine (Python OCR Tutorial Core) + +Creating the engine is the heart of any **python ocr tutorial**. Here we also set the default language to English—feel free to swap it out later. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Why set the language? OCR accuracy can jump dramatically when the engine knows what characters to expect. If you’re dealing with multilingual forms, you can either set a list of languages or override per region (see later). + +## Step 3: Load Your Image + +Aspose OCR works with most common image formats. Just point it at the file path, and you’ll have an `Image` object ready for processing. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Edge case:* Large images (over 5 MB) can slow down processing. Consider resizing or compressing them before OCR if performance becomes an issue. + +## Step 4: Define the Table Region (Read Table from Image) + +Now comes the fun part: telling the engine *where* the table lives. You provide an `OcrRegion` with a `Rectangle` (x, y, width, height). The coordinates are pixel‑based, so you may need to experiment a bit. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Why use a region? By limiting OCR to the table area we **extract selected text** faster and avoid noise from surrounding labels or graphics. It also improves accuracy because the engine can focus on a uniform layout. + +## Step 5: Run OCR on the Defined Region + +With the region set, we invoke `process_region`. The method returns an `OcrResult` object that holds the raw text, confidence scores, and even bounding boxes if you need them later. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +If you need to extract multiple tables, simply repeat Steps 4‑5 with different rectangles. + +## Step 6: Output the Extracted Table Text + +Finally, print—or store—the table’s textual representation. Aspose OCR returns plain text with line breaks that usually align with rows, making post‑processing straightforward. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Expected output** (example): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +You can now feed this string into `csv` parsers, pandas DataFrames, or any downstream analytics pipeline. + +## Full Working Example + +Putting it all together, here’s the complete script you can run immediately. Replace `YOUR_DIRECTORY/form_with_table.png` with the actual path to your image. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Run the script with `python extract_table.py`. If everything lines up, you’ll see the table printed to your console. + +## Common Questions & Edge‑Case Handling + +**What if the table isn’t perfectly rectangular?** +You can split the table into multiple overlapping regions or use a larger rectangle that covers the whole area and then post‑process the text (e.g., split on line breaks). + +**Can I extract only specific columns?** +After you have the full table text, use Python’s `csv` or `pandas` to slice out the columns you care about. The OCR step itself returns everything inside the rectangle. + +**How do I work with non‑English tables?** +Set `ocr_engine.language` (or `region.language`) to the appropriate enum, such as `ocr.Language.FRENCH` or combine multiple languages using `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**Is there a way to get bounding boxes for each cell?** +Aspose OCR can return `region_result.words` where each word includes a bounding box. You’d need to map those boxes back to a grid—useful for advanced layout analysis. + +## Tips for Better Accuracy + +- **Clean the image**: Binarize or increase contrast before feeding it to OCR. Libraries like Pillow can help. +- **Avoid compression artifacts**: Save scans as PNG when possible. +- **Mind DPI**: 300 dpi is a sweet spot; lower values can cause missed characters. +- **Test different rectangle sizes**: Slightly larger rectangles often capture stray characters that belong to the table. + +## Next Steps + +Now that you’ve mastered **how to extract table** data with Aspose OCR, you might explore: + +- Converting the extracted text into a CSV file with Python’s `csv` module. +- Feeding the data into a **pandas** DataFrame for analysis. +- Using OCR to read handwritten forms (requires a different engine or additional training). +- Automating batch processing of dozens of scanned forms using a simple `for` loop. + +Each of these extensions builds on the core concepts covered in this **python ocr tutorial**, so you’re well‑positioned to scale up. + +--- + +*Happy coding! If you hit any snags, drop a comment below—I'll be glad to help you fine‑tune the extraction.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/polish/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..d84cd163 --- /dev/null +++ b/ocr/polish/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,284 @@ +--- +category: general +date: 2026-01-12 +description: Szybko uruchom OCR na plikach PNG przy użyciu Pythona. Dowiedz się, jak + wyodrębnić tekst z obrazu i faktury oraz jak wczytać obraz do OCR przy użyciu Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: pl +og_description: Wykonaj OCR na PNG natychmiast. Ten przewodnik pokazuje, jak wyodrębnić + tekst z obrazu i faktury, załadować obraz do OCR oraz zapisać wyniki jako JSON i + CSV. +og_title: Uruchom OCR na PNG – Pełny samouczek Pythona +tags: +- OCR +- Python +- Image Processing +title: Uruchom OCR na PNG – Kompletny przewodnik Pythona po wyodrębnianiu tekstu z + obrazów +url: /pl/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Uruchamianie OCR na PNG – Kompletny przewodnik Pythona do wyodrębniania tekstu z obrazów + +Czy kiedykolwiek musiałeś **uruchomić OCR na plikach PNG**, ale nie wiedziałeś, która biblioteka da czyste, ustrukturyzowane wyniki? Nie jesteś sam. W wielu rzeczywistych projektach — pomyśl o automatyzacji faktur czy skanowaniu paragonów — pierwszym krokiem jest **wyodrębnienie tekstu z pliku obrazu**, a PNG jest powszechnym formatem, ponieważ zachowuje jakość bezstratną. + +W tym tutorialu przeprowadzimy praktyczny przykład przy użyciu pakietu Aspose.OCR dla Pythona. Po zakończeniu przewodnika będziesz wiedział, jak **załadować obraz do OCR**, pobrać każdą linię tekstu, przekształcić te dane w schludny obiekt JSON oraz nawet wyeksportować je do CSV do dalszego przetwarzania. Bez zbędnych wstępów, tylko praktyczne, gotowe do uruchomienia rozwiązanie. + +## Czego się nauczysz + +- Jak zainstalować i zaimportować bibliotekę Aspose.OCR. +- Dokładne kroki, aby **uruchomić OCR na PNG** i obsłużyć obiekt wyniku. +- Sposoby **wyodrębniania tekstu z faktury** i formatowania wyjścia jako JSON lub CSV. +- Porady dotyczące radzenia sobie z obrazami o niskim kontraście, dokumentami wielojęzycznymi oraz wskaźnikami pewności. +- Pełny, gotowy do skopiowania i wklejenia kod, który możesz uruchomić już dziś. + +> **Wymagania wstępne:** Python 3.8+ oraz podstawowa znajomość pip. Jeśli nigdy nie używałeś Aspose, nie martw się — ten przewodnik obejmuje wszystko, co potrzebne, aby rozpocząć. + +--- + +## Krok 1 – Instalacja Aspose.OCR i przygotowanie środowiska + +Zanim będziemy mogli **uruchomić OCR na PNG**, biblioteka musi być zainstalowana w Twoim systemie. + +```bash +pip install aspose-ocr +``` + +> **Pro tip:** Użyj wirtualnego środowiska (`python -m venv venv`), aby utrzymać zależności w izolacji. Zapobiega to konfliktom wersji, gdy pracujesz nad wieloma projektami jednocześnie. + +Po instalacji zaimportuj potrzebne moduły: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Tutaj wprowadzamy `asposeocr` do ciężkiej pracy oraz wbudowaną bibliotekę `json` do późniejszej serializacji. + +--- + +## Krok 2 – Utworzenie silnika OCR i ustawienie języka + +Silnik OCR to podstawowy komponent, który faktycznie odczytuje piksele. Dla większości angielskich faktur będziesz potrzebował pakietu językowego English: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Dlaczego to ważne:** Określenie języka zawęża zestaw znaków, co zwiększa dokładność i przyspiesza przetwarzanie. Jeśli kiedykolwiek będziesz musiał obsługiwać wielojęzyczne faktury, po prostu zamień `ocr.Language.ENGLISH` na odpowiedni enum. + +--- + +## Krok 3 – Załadowanie obrazu do OCR + +Teraz **załadujemy obraz do OCR**. Metoda `Image.load` przyjmuje ścieżkę do pliku i działa z PNG, JPEG, BMP i innymi formatami. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Edge case:** Jeśli PNG jest wyjątkowo duży (powyżej 5 MB), rozważ najpierw zmianę rozmiaru, aby utrzymać zużycie pamięci w rozsądnych granicach. Pillow może to zrobić w jednej linii: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## Krok 4 – Uruchomienie OCR na PNG i przechwycenie wyniku + +Gdy silnik jest gotowy, a obraz załadowany, czas **uruchomić OCR na PNG** i pobrać ustrukturyzowany wynik. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +Obiekt `ocr_result` zawiera kolekcję elementów `OcrRegion`, z których każdy posiada rozpoznany tekst oraz wskaźnik pewności (0‑100). To właśnie tutaj uzyskasz szczegółowe dane potrzebne do **wyodrębniania tekstu z faktury**. + +--- + +## Krok 5 – Konwersja wyniku do JSON i ładne wyświetlenie + +Większość systemów downstream uwielbia JSON, więc przekształcimy wynik OCR w ładnie sformatowany ciąg znaków. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Przykładowe wyjście + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Zauważ, że każda linia zawiera metrykę pewności — idealną do odfiltrowania wpisów o niskiej pewności, jeśli planujesz **wyodrębniać tekst z faktury** automatycznie. + +--- + +## Krok 6 – Zapis danych OCR jako CSV (Jedna linia na tekst + pewność) + +CSV jest idealny do arkuszy kalkulacyjnych lub szybkiego importu danych. Aspose oferuje jednowierszowy kod, który zapisuje wszystko do pliku CSV. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +Wygenerowany plik CSV będzie wyglądał tak: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Teraz możesz otworzyć go w Excelu, Google Sheets lub wprowadzić do bazy danych. + +--- + +## Bonus – Obsługa tekstu o niskiej pewności i dokumentów wielostronicowych PDF + +### Filtrowanie według pewności + +Jeśli chcesz tylko linie o wysokiej pewności, odfiltruj JSON przed zapisem: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Dokumenty wielostronicowe + +Aspose.OCR automatycznie tworzy nowy wpis `page` dla każdej strony w wielostronicowym PNG lub PDF. Przejdź przez `ocr_data["pages"]`, aby przetworzyć je wszystkie — bez dodatkowego kodu. + +--- + +## Pełny działający przykład + +Poniżej znajduje się **kompletny skrypt**, który możesz skopiować, wkleić i uruchomić od razu. Zamień `YOUR_DIRECTORY` na folder, w którym znajduje się Twój plik PNG. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Uruchom skrypt poleceniem `python run_ocr.py`, a zobaczysz wyświetlenie JSON w konsoli, plik CSV na dysku oraz przefiltrowaną listę wpisów o wysokiej pewności. + +--- + +## Najczęściej zadawane pytania + +**P: Czy mogę użyć tego do wyodrębniania tekstu ze zeskanowanego paragonu zamiast faktury?** +O: Oczywiście. Ten sam przepływ pracy działa — po prostu wskaż `image_path` na swój plik PNG z paragonem. Jeśli paragon jest w innym języku, zmień odpowiednio `engine.language`. + +**P: Co jeśli mój PNG zawiera obrócony tekst?** +O: Aspose.OCR automatycznie wykrywa orientację, ale w trudniejszych przypadkach możesz ręcznie obrócić obraz przy pomocy Pillow przed przekazaniem go do silnika. + +**P: Czy potrzebna jest płatna licencja na Aspose.OCR?** +O: Biblioteka oferuje darmowy tryb ewaluacyjny z watermarkiem na wyniku. Do użytku produkcyjnego potrzebna jest licencja, którą możesz uzyskać na stronie Aspose. + +--- + +## Zakończenie + +Omówiliśmy wszystko, co potrzebne, aby **uruchomić OCR na PNG** przy użyciu Pythona: instalację SDK, ładowanie obrazu, wyodrębnianie ustrukturyzowanego tekstu oraz zapisywanie wyniku jako JSON lub CSV. Niezależnie od tego, czy chcesz **wyodrębnić tekst z obrazu** w prostym skrypcie, czy **wyodrębnić tekst z faktury** w zautomatyzowanym potoku księgowym, powyższe kroki dają solidną, gotową do produkcji bazę. + +Następnie możesz rozważyć: + +- Integrację wyjścia CSV z bazą danych w celu masowego przechowywania faktur. +- Dodanie post‑processingu przy użyciu wyrażeń regularnych, aby wyciągać daty, kwoty lub NIPy. +- Skorzystanie z funkcji `ocr_engine.recognize_barcode`, jeśli Twoje faktury zawierają kody QR. + +Spróbuj, dostosuj progi pewności i zobacz, jak Twój przepływ przetwarzania dokumentów staje się prosty jak bułka z masłem. Masz więcej pytań lub ciekawy przypadek użycia? zostaw komentarz poniżej — powodzenia w OCR! + +![przykład uruchamiania OCR na PNG](run-ocr-on-png.png "uruchamianie OCR na PNG – wizualny przykład wyniku OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/portuguese/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..05f134b6 --- /dev/null +++ b/ocr/portuguese/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-01-12 +description: Extraia texto de imagem em Python usando Aspose OCR. Aprenda a converter + imagem escaneada em texto com código assíncrono em apenas minutos. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: pt +og_description: Extrair texto de imagem Python com Aspose OCR. Este tutorial mostra + como converter imagem escaneada em texto usando funções assíncronas. +og_title: Extrair Texto de Imagem Python – Guia de OCR Assíncrono +tags: +- python +- ocr +- async +title: Extrair Texto de Imagem em Python – Guia de OCR Assíncrono +url: /pt/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrair Texto de Imagem com Python – Guia de OCR Assíncrono + +Já precisou **extrair texto de imagem Python** em scripts, mas ficou travado na parte de OCR? Você não está sozinho. Muitos desenvolvedores esbarram em um obstáculo quando têm um documento escaneado e querem transformá‑lo em texto pesquisável sem perder a cabeça. + +Neste tutorial vamos percorrer um exemplo completo e executável que mostra como **converter imagem escaneada em texto** usando a API assíncrona do Aspose OCR. Ao final você terá uma única função que pode ser inserida em qualquer projeto e entenderá por que o processamento assíncrono pode manter seu aplicativo responsivo mesmo quando o OCR leva alguns segundos. + +## Pré‑requisitos + +Antes de mergulharmos, certifique‑se de que você tem: + +- Python 3.8+ instalado (os recursos assíncronos exigem ao menos 3.7) +- Pacote `asposeocr` (`pip install asposeocr`) – esta é a biblioteca que usaremos +- Um arquivo de imagem escaneada (TIFF, PNG, JPEG – qualquer formato suportado pelo Aspose OCR) +- Familiaridade básica com `asyncio` (se não tiver, não se preocupe – explicaremos cada passo) + +Nenhuma dependência de sistema adicional é necessária; o Aspose OCR inclui tudo o que você precisa. + +![Diagrama mostrando fluxo de OCR assíncrono – extrair texto de imagem python](https://example.com/async-ocr-diagram.png "fluxo de OCR assíncrono – extrair texto de imagem python") + +## Etapa 1 – Configurar a Função Auxiliar Assíncrona + +O coração da solução é uma função `async` que carrega a imagem, inicia o OCR e então aguarda o resultado. Manter a função assíncrona significa que você pode executar outras corrotinas (por exemplo, baixar mais arquivos) enquanto o motor de OCR trabalha em segundo plano. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Por que isso importa:** Ao retornar um `Future`, o Aspose OCR realiza o trabalho pesado em um pool de threads separado. `await` libera o loop de eventos, de modo que seu aplicativo permanece ágil. Se precisar processar muitas imagens simultaneamente, basta agendar várias chamadas `async_ocr` com `asyncio.gather`. + +## Etapa 2 – Executar a Corrotina no Loop de Eventos + +Agora que temos a função auxiliar, precisamos executá‑la. `asyncio.run` cria um novo loop de eventos, executa a corrotina e encerra tudo de forma limpa. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Dica profissional:** Se você estiver integrando isso a uma aplicação assíncrona maior (por exemplo, FastAPI), chamaria `await async_ocr(...)` diretamente em vez de usar `asyncio.run`. + +## Etapa 3 – Verificar a Saída + +Ao executar o script, você deverá ver algo como: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Se a saída parecer confusa, verifique: + +1. Se a imagem está nítida e não excessivamente comprimida. +2. Se você selecionou o idioma correto (`ocr.Language.ENGLISH` funciona para a maioria dos textos baseados em latim). +3. Se o caminho do arquivo está correto e o arquivo é legível. + +## Etapa 4 – Tratamento de Casos Limite + +### Vários Idiomas + +Se precisar **converter imagem escaneada em texto** em um idioma diferente do inglês, basta alterar a propriedade de idioma: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Arquivos Grandes + +Para TIFFs muito grandes, considere redimensionar ou converter para um PNG de resolução menor antes de enviá‑lo ao OCR. Isso reduz a pressão de memória e acelera o processamento. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Tratamento de Erros + +Envolva a chamada ao OCR em um bloco `try/except` para capturar erros relacionados à rede ou licenciamento. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Etapa 5 – Escalando: Processando Muitas Imagens Concorrentemente + +Como a função é assíncrona, você pode disparar dezenas de trabalhos de OCR ao mesmo tempo: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Esse padrão mantém a CPU ocupada enquanto o motor de OCR trabalha em paralelo, reduzindo drasticamente o tempo total de processamento. + +## Conclusão + +Agora você tem uma solução robusta de **extrair texto de imagem Python** que aproveita a API assíncrona do Aspose OCR. O exemplo completo demonstra como: + +1. Inicializar o motor de OCR e selecionar um idioma. +2. Iniciar o OCR de forma assíncrona com `process_async`. +3. Aguardar o resultado sem bloquear o loop de eventos. +4. Lidar com armadilhas comuns, como arquivos grandes e suporte a múltiplos idiomas. + +Sinta‑se à vontade para adaptar o código aos seus próprios pipelines — seja construindo um sistema de gerenciamento de documentos, um indexador de busca ou uma simples ferramenta de linha de comando. Próximos passos podem incluir: + +- Armazenar o texto extraído em um banco de dados para busca full‑text. +- Adicionar geração de PDF (por exemplo, usando `PyPDF2`) para criar PDFs pesquisáveis. +- Integrar com um framework web como FastAPI para oferecer um serviço RESTful de OCR. + +Boa codificação e aproveite para transformar aquelas imagens escaneadas em texto pesquisável e editável! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/portuguese/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..b9fd70ed --- /dev/null +++ b/ocr/portuguese/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,216 @@ +--- +category: general +date: 2026-01-12 +description: Como fazer OCR em lote de imagens rapidamente e extrair texto de arquivos + JPEG em Python. Aprenda o processamento em lote passo a passo com um exemplo completo + e executável. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: pt +og_description: Como fazer OCR em lote de imagens e extrair texto de arquivos JPEG. + Este guia orienta você através de uma solução Python completa e pronta para usar. +og_title: Como fazer OCR em lote de imagens – Tutorial rápido de Python +tags: +- OCR +- Python +- image processing +title: Como fazer OCR em lote de imagens – Guia rápido para extrair texto de arquivos + JPEG +url: /pt/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como Processar OCR em Lote de Imagens – Guia Rápido para Extrair Texto de Arquivos JPEG + +Já se perguntou **como processar OCR em lote de imagens** sem escrever um script separado para cada arquivo? Você não está sozinho. Em muitos projetos—digitalização de faturas, arquivamento, ou moderação de conteúdo—precisamos extrair texto de dezenas ou centenas de arquivos JPEG de uma só vez. A boa notícia é que isso pode ser feito com apenas algumas linhas de Python, e você terá um motor reutilizável que pode ser inserido em qualquer pipeline. + +Neste tutorial vamos mostrar exatamente **como processar OCR em lote de imagens**, depois percorrer a extração de texto de arquivos JPEG, lidar com casos de borda e verificar a saída. Ao final, você terá um script autônomo que pode ser executado em qualquer pasta de imagens, e entenderá por que o processamento em lote é importante para desempenho e manutenção. + +## O que Você Vai Aprender + +- Configurar um motor OCR simples e ajustá‑lo para inglês. +- Coletar todos os arquivos JPEG de um diretório com `pathlib`. +- Chamar o motor OCR uma única vez para processar todo o lote. +- Exibir uma pré‑visualização do texto reconhecido para cada imagem. +- Dicas para lidar com lotes grandes, diferentes idiomas e armadilhas comuns. + +**Pré‑requisitos**: Python 3.8+, a biblioteca `ocr` (ou qualquer wrapper compatível), e uma pasta de imagens JPEG que você deseja analisar. Nenhum serviço externo é necessário—tudo roda localmente. + +--- + +## Etapa 1: Inicializar o Motor OCR – O Núcleo de Como Processar OCR em Lote de Imagens + +Antes de podermos **processar OCR em lote de imagens**, precisamos de um motor que saiba ler texto. Na maioria das bibliotecas você cria um objeto de motor, opcionalmente define o idioma e então o reutiliza para cada arquivo. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Por que isso importa*: Inicializar o motor uma única vez evita a sobrecarga de carregar modelos de idioma repetidamente. Também fornece um ponto único para ajustar configurações (por exemplo, DPI, lista branca de caracteres) que serão aplicadas a todo o lote. + +> **Dica de especialista**: Se você pretende processar documentos multilíngues, troque `ocr.Language.ENGLISH` por `ocr.Language.MULTI` ou carregue vários pacotes de idioma antes de iniciar o lote. + +--- + +## Etapa 2: Coletar Todos os Arquivos JPEG – A Parte “Extrair Texto de Arquivos JPEG” + +Agora que o motor está pronto, precisamos dizer a ele quais imagens devem ser processadas. Usar `pathlib` torna o código independente de plataforma e conciso. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Por que isso importa*: Ao coletar a lista de arquivos primeiro, podemos alimentar toda a coleção ao motor OCR em uma única chamada—exatamente o que **como processar OCR em lote de imagens** significa. Se você tem subpastas, pode mudar `glob("**/*.jpg")` para buscar recursivamente. + +> **Caso de borda**: Se suas imagens têm extensões misturadas (`.jpeg`, `.JPG`), amplie o padrão glob: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Etapa 3: Processar Todo o Lote em Uma Única Chamada – O Verdadeiro Poder do OCR em Lote + +A maioria das bibliotecas OCR modernas expõe um método `process_batch` (ou nome similar) que aceita um iterável de caminhos de arquivo. Esse é o coração de **como processar OCR em lote de imagens** de forma eficiente. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Por que isso importa*: Uma única chamada em lote reduz o número de transições Python‑para‑C, mantém o modelo de idioma carregado na memória e frequentemente permite paralelismo interno. O resultado é uma lista de objetos—cada um contendo o texto reconhecido e pontuações de confiança. + +> **Nota de desempenho**: Para lotes muito grandes (milhares de imagens), considere dividir a lista em blocos menores (por exemplo, 200 arquivos) para evitar consumo excessivo de memória. + +--- + +## Etapa 4: Mostrar uma Pré‑Visualização do Texto Extraído – Validação Rápida + +Depois que o lote termina, é útil dar uma olhada nos primeiros caracteres de cada resultado. Isso ajuda a confirmar que o OCR está realmente extraindo texto dos seus arquivos JPEG. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Por que isso importa*: Uma pré‑visualização curta permite identificar falhas óbvias (por exemplo, saída vazia, caracteres corrompidos) sem abrir cada arquivo. Se notar problemas sistemáticos, ajuste as configurações do motor e reexecute o lote. + +> **Armadilha comum**: Esquecer de remover caracteres de nova linha pode deixar a pré‑visualização bagunçada. A linha `replace("\n", " ")` limpa isso. + +--- + +## Exemplo Completo – Todas as Etapas Combinadas + +A seguir está o script completo que você pode copiar‑colar, ajustar o caminho do diretório e executar. Ele demonstra todo o fluxo de **como processar OCR em lote de imagens** do início ao fim. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Saída esperada** (exemplo): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Se a pré‑visualização mostrar texto significativo, você extraiu com sucesso **texto de arquivos JPEG** usando uma abordagem em lote. + +--- + +## Lidando com Lotes Grandes e Cenários Avançados + +### Dividindo Cargas de Trabalho Grandes +Ao lidar com milhares de imagens, a memória pode se tornar um gargalo. Divida a lista em blocos menores: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Alterando Idiomas +Se seus documentos contêm francês ou espanhol, troque o idioma antes do lote: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Salvando Resultados em Disco +Em vez de imprimir, você pode querer gravar cada resultado OCR em um arquivo `.txt`: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Conclusão + +Agora você sabe **como processar OCR em lote de imagens** e extrair de forma confiável **texto de arquivos JPEG** usando um script Python compacto. Ao inicializar o motor uma única vez, coletar todos os caminhos JPEG, processá‑los em um único lote e pré‑visualizar a saída, você obtém velocidade e simplicidade. A partir daqui, você pode expandir o fluxo—adicionar suporte multilíngue, armazenar resultados em um banco de dados ou integrar o script a um pipeline maior de processamento de documentos. + +Pronto para o próximo passo? Experimente trocar a biblioteca `ocr` por Tesseract, teste diferentes pré‑processamentos de imagem (limiarização, redimensionamento) ou alimente o texto extraído a um modelo de processamento de linguagem natural para categorização automática. O céu é o limite, e você tem uma base sólida para construir. + +Bom código, e que seus lotes de OCR estejam sempre livres de erros! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/portuguese/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..d345a9ee --- /dev/null +++ b/ocr/portuguese/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,145 @@ +--- +category: general +date: 2026-01-12 +description: Como detectar idioma em imagens usando Aspose OCR – aprenda a extrair + texto de imagens, lidar com OCR de idiomas mistos e usar OCR em Python. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: pt +og_description: Como detectar idioma em imagens usando Aspose OCR – um guia passo + a passo para extrair texto de imagens e lidar com OCR de idiomas mistos. +og_title: Como Detectar o Idioma com OCR para Texto Misto +tags: +- OCR +- Python +- Aspose +title: Como Detectar o Idioma com OCR para Texto Misto +url: /pt/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como Detectar Idioma com OCR para Texto Misto + +Detectar idioma em imagens usando Aspose OCR é um desafio comum ao lidar com documentos multilíngues. Já se perguntou **como extrair texto de uma imagem** que contém inglês e francês na mesma página? Neste tutorial vamos percorrer um exemplo completo e executável que mostra exatamente como usar OCR para identificar o idioma, extrair o texto e lidar com cenários de idioma misto sem esforço. + +Cobriremos tudo o que você precisa saber: configurar o motor Aspose OCR, indicar quais idiomas considerar, carregar uma imagem de fatura de exemplo, executar o processo de OCR e, finalmente, imprimir o idioma detectado junto com o texto extraído. Ao final, você será capaz de responder à pergunta “como usar OCR para OCR de idioma misto” em seus próprios projetos, seja construindo um pipeline de faturamento, um scanner de recibos ou uma ferramenta de arquivamento de documentos. + +> **Pré‑requisitos** – Você deve ter Python 3.8+ instalado, familiaridade básica com pip e uma licença Aspose OCR (a versão de avaliação gratuita funciona para esta demonstração). Nenhuma outra biblioteca externa é necessária. + +--- + +## Como Detectar Idioma com Aspose OCR + +O primeiro passo é criar uma instância do motor OCR e informar quais idiomas ele deve procurar. O Aspose OCR usa uma máscara de bits para combinar idiomas, o que facilita o suporte a inglês, francês, espanhol ou qualquer combinação que você precisar. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Por que isso importa:** Inicializar o motor é a base. Sem ele você não pode chamar nenhum método de OCR, e o motor contém toda a configuração que determina quão bem ele pode **detectar idioma** posteriormente. + +--- + +## Extrair Texto da Imagem Usando OCR + +Agora precisamos informar ao motor quais idiomas são possíveis. Definindo uma máscara de bits `ENGLISH | FRENCH` habilitamos o motor a escolher automaticamente a melhor correspondência para cada região da imagem. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Por que isso importa:** Habilitar `auto_detect_language` é o cerne de **como detectar idioma** em um documento de idioma misto. O motor escaneia o texto, pontua cada idioma e retorna aquele com maior confiança. Se você pular esta etapa, terá que adivinhar o idioma manualmente, o que anula o propósito do OCR de idioma misto. + +--- + +## Configurar Configurações de OCR para Idioma Misto + +Antes de enviarmos uma imagem ao motor, precisamos carregá‑la. O Aspose OCR trabalha com sua própria classe `Image`, que abstrai o formato subjacente do arquivo. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Dica:** Mantenha a resolução da imagem em torno de 300 dpi para obter os melhores resultados. Resoluções mais baixas podem fazer a detecção de idioma perder caracteres sutis, especialmente letras acentuadas do francês. + +--- + +## Executar o Processo de OCR e Obter Resultados + +Com o motor configurado e a imagem carregada, podemos finalmente executar o processo de OCR. O método `process` retorna um objeto `OcrResult` que contém tanto o código do idioma detectado quanto o texto completo extraído. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Saída esperada** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Se a imagem contiver trechos em francês, você verá `FRENCH` como o idioma detectado e o texto correspondente em francês será impresso. + +--- + +## Exemplo de Imagem (Texto Alternativo para SEO) + +![como detectar idioma em OCR de idioma misto](mixed_lang_invoice.png) + +*A captura de tela acima mostra uma fatura de exemplo contendo texto em inglês e francês, ilustrando como o motor OCR pode **detectar idioma** e extrair o conteúdo em uma única passagem.* + +--- + +## Armadilhas Comuns e Dicas Profissionais + +| Problema | Por que Acontece | Como Corrigir / Mitigar | +|----------|------------------|--------------------------| +| **Digitalizações borradas ou de baixa resolução** | O motor não consegue distinguir os caracteres, levando a detecção de idioma incorreta. | Digitalize a ≥300 dpi, aplique nitidez na imagem antes do OCR. | +| **Idioma ausente na máscara de bits** | Se você esquecer de incluir um idioma, o motor usará a primeira correspondência, frequentemente resultando em resultados imprecisos. | Sempre liste todos os idiomas esperados; você pode combinar vários usando o operador `|`. | +| **Scripts mistos (ex.: Latim + Cirílico)** | O Aspose OCR pode precisar de pacotes de idioma separados. | Instale pacotes de idioma adicionais e adicione‑os à máscara. | +| **Arquivos grandes causando picos de memória** | Carregar uma imagem enorme na memória pode travar o script. | Use `Image.resize` para reduzir o tamanho mantendo o DPI, ou processe a imagem em blocos. | + +**Dica profissional:** Após obter o texto bruto, execute uma etapa rápida de pós‑processamento para normalizar espaços em branco e quebras de linha. Isso torna a análise posterior (ex.: extração de números de fatura) muito mais simples. + +--- + +## Conclusão: O Que Você Aprendeu + +Agora você sabe **como detectar idioma** em uma imagem de idioma misto usando Aspose OCR, e viu um exemplo completo de ponta a ponta que também demonstra **como extrair texto de imagem**. Ao configurar a máscara de bits de idioma, habilitar a auto‑detecção e manipular o objeto de resultado, você pode processar faturas, recibos ou qualquer documento que misture inglês e francês (ou outros idiomas) de forma confiável. + +### Próximos Passos + +- Experimente adicionar **como extrair texto** de PDFs convertendo cada página em imagem primeiro. +- Experimente as outras palavras‑chave secundárias: explore toda a superfície da API **como usar OCR**, como definir zonas de OCR para processamento mais rápido. +- Aprofunde-se em casos mais complexos de **OCR de idioma misto**, como documentos que alternam entre três ou mais idiomas. + +Sinta‑se à vontade para ajustar o código, testá‑lo em suas próprias imagens e deixar o motor fazer o trabalho pesado. Se encontrar algum obstáculo, deixe um comentário abaixo—bom código! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/portuguese/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..5ff8d05e --- /dev/null +++ b/ocr/portuguese/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,213 @@ +--- +category: general +date: 2026-01-12 +description: Aprenda como fazer OCR de PDF em Python e tornar PDFs pesquisáveis rapidamente. + Converta PDFs escaneados, extraia texto de PDFs e faça OCR de PDFs escaneados em + Python usando Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: pt +og_description: Como fazer OCR de PDF em Python? Este tutorial passo a passo mostra + como converter arquivos PDF digitalizados em PDFs pesquisáveis e extrair texto com + o Aspose OCR. +og_title: Como fazer OCR em PDF e torná-lo pesquisável – Guia Python +tags: +- OCR +- Python +- PDF processing +title: Como fazer OCR em PDF e torná‑lo pesquisável – Guia Python +url: /pt/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como fazer OCR em PDF e torná-lo pesquisável – Guia Python + +Já se perguntou **como fazer OCR em PDF** sem gastar uma fortuna em software comercial? Você não está sozinho. Muitos desenvolvedores encontram um obstáculo quando precisam transformar um contrato escaneado, uma fatura ou qualquer PDF baseado em imagem em um documento pesquisável. A boa notícia? Com algumas linhas de Python e Aspose OCR você pode converter PDF escaneado, extrair texto de PDF e, finalmente, tornar o PDF pesquisável em minutos. + +Neste tutorial vamos percorrer tudo o que você precisa: desde a instalação da biblioteca, configuração do idioma, processamento de um PDF escaneado, até a gravação do resultado como um PDF pesquisável que contém tanto a imagem original quanto uma camada de texto oculta. Ao final, você terá um script reutilizável que pode ser inserido em qualquer projeto—sem necessidade de copiar e colar manualmente. + +--- + +## O que você precisará + +- **Python 3.8+** (o código funciona em 3.9, 3.10 e versões mais recentes) +- Uma licença ativa do **Aspose OCR for Python** (uma avaliação gratuita serve para experimentação) +- Um arquivo PDF escaneado (por exemplo, `scanned_contract.pdf`) que você deseja tornar pesquisável +- Familiaridade básica com a linha de comando e ambientes virtuais (opcional, mas recomendado) + +> **Dica profissional:** Se ainda não tem uma licença, inscreva‑se para um teste de 30 dias no site da Aspose; a versão de avaliação é totalmente funcional para fins de desenvolvimento. + +## Como fazer OCR em PDF com Aspose OCR (Palavra‑chave principal em H2) + +O primeiro passo é obter o pacote correto. Aspose OCR fornece uma API limpa e de alto nível que abstrai os detalhes de processamento de imagem de baixo nível. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +Depois que o pacote estiver instalado, você pode começar a escrever o script. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Por que definir o idioma?** +> A precisão do OCR depende fortemente do modelo de idioma. Ao informar explicitamente ao motor que ele deve esperar texto em inglês, você reduz falsos positivos e acelera o processamento. + +## Etapa 2: Converter PDF escaneado em um PDF pesquisável + +Agora que o motor está pronto, aponte‑o para o seu documento escaneado. O método `process_pdf` retorna um objeto `PdfResult` que contém tanto os dados da imagem original quanto o texto reconhecido. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Se precisar **converter PDF escaneado** em lote, basta percorrer um diretório e chamar `process_pdf` para cada arquivo. O motor lida com PDFs de várias páginas pronto para uso. + +## Etapa 3: Salvar o Resultado como um PDF pesquisável (Tornar PDF pesquisável) + +A última peça do quebra‑cabeça é persistir a versão pesquisável. Aspose OCR faz isso em uma única linha: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +Ao abrir `contract_searchable.pdf` em qualquer visualizador de PDF, você verá a imagem escaneada original, mas agora pode **pesquisar por qualquer palavra** que o motor OCR reconheceu. A camada de texto oculta é invisível ao olho, mas totalmente indexável. + +### Script completo – Pronto para executar + +A seguir está o exemplo completo e executável. Copie‑e cole em um arquivo chamado `make_searchable.py` e ajuste os caminhos para corresponder ao seu ambiente. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Saída esperada:** +Ao executar o script, ele imprime uma linha de confirmação e cria `contract_searchable.pdf`. Abra o arquivo, pressione `Ctrl + F` e digite qualquer palavra que apareça na imagem escaneada original—você verá correspondências instantaneamente. + +## Perguntas frequentes e casos de borda + +### 1. E se o PDF contiver vários idiomas? + +Você pode passar uma lista de idiomas para o motor: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR tentará reconhecer texto em ambos os idiomas na mesma página. + +### 2. Como lidar com digitalizações de baixa resolução? + +Se as imagens de origem estiverem abaixo de 150 dpi, a precisão do OCR pode sofrer. Pré‑procese o PDF com uma ferramenta como `pdfimages` para extrair as páginas, aumente a resolução com Pillow e alimente as imagens de alta resolução de volta ao `process_pdf`. + +### 3. Posso extrair o texto puro sem criar um PDF pesquisável? + +Com certeza. O objeto `PdfResult` expõe uma propriedade `text`: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Isso atende ao caso de uso **extract text pdf** quando você só precisa dos caracteres brutos. + +### 4. Existe uma maneira de processar em lote uma pasta de PDFs? + +Sim—envolva a função `ocr_to_searchable` em um loop simples: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Agora você pode **converter scanned pdf** em massa com um único comando. + +## Dicas de desempenho + +- **Reutilizar o motor**: Criar um novo `OcrEngine` para cada arquivo adiciona sobrecarga. Instancie‑o uma vez e reutilize em múltiplas chamadas. +- **Processamento paralelo**: Para lotes grandes, considere o `concurrent.futures.ThreadPoolExecutor` do Python—Aspose OCR é thread‑safe para operações somente de leitura. +- **Gerenciamento de memória**: Se você processar PDFs muito grandes (centenas de páginas), chame `gc.collect()` após cada arquivo para liberar memória. + +## Conclusão + +Cobremos **como fazer OCR em PDF** usando Python, transformamos essas digitalizações em **PDFs pesquisáveis** e ainda mostramos como **extrair texto PDF** diretamente. Com Aspose OCR você obtém um motor confiável que lida com documentos multipágina, múltiplos idiomas e reconhecimento de alta precisão—tudo com apenas algumas linhas de código. + +Experimente em seus próprios contratos, faturas ou artigos de pesquisa arquivados. Depois de dominar o básico, experimente os recursos avançados—como dicionários personalizados, pré‑processamento de imagens ou integração da saída em um índice de busca full‑text como Elasticsearch. + +Tem mais perguntas sobre **ocr scanned pdf python** ou precisa de ajuda para solucionar uma digitalização complicada? Deixe um comentário abaixo e feliz codificação! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="exemplo de como fazer ocr pdf"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/portuguese/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..2fa00d4d --- /dev/null +++ b/ocr/portuguese/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-12 +description: Como realizar OCR de forma rápida e precisa. Aprenda a executar OCR em + documentos, extrair texto de TIFF, carregar imagem para OCR e definir o idioma do + OCR em Python. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: pt +og_description: Como realizar OCR em Python. Este tutorial mostra como executar OCR + em documentos, extrair texto de arquivos TIFF, carregar imagens para OCR e definir + o idioma do OCR. +og_title: Como Realizar OCR em um Documento TIFF – Guia Completo +tags: +- OCR +- Python +- Image Processing +title: Como Realizar OCR em um Documento TIFF – Guia Passo a Passo +url: /pt/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como Realizar OCR em um Documento TIFF – Guia Completo + +Já se perguntou **como realizar OCR** em um arquivo TIFF escaneado sem passar horas procurando a biblioteca certa? Você não está sozinho. Muitos desenvolvedores se deparam com dificuldades ao precisar extrair texto de imagens TIFF, especialmente quando desempenho e configurações de idioma são importantes. + +Neste tutorial vamos percorrer tudo o que você precisa saber: desde a instalação do pacote OCR, carregamento da imagem para OCR, definição do idioma do OCR, até finalmente **executar OCR no documento** e obter texto limpo. Ao final, você terá um script pronto‑para‑usar que pode ser inserido em qualquer projeto. + +> **Dica profissional:** Embora o exemplo use um módulo genérico `ocr`, os mesmos conceitos se aplicam ao Tesseract, EasyOCR ou qualquer motor OCR moderno que exponha uma API Python. + +--- + +## O Que Você Precisa + +- Python 3.8+ (qualquer versão recente funciona) +- Uma biblioteca OCR que forneça uma classe `OcrEngine` (o exemplo usa um pacote fictício `ocr`; substitua pelo que você realmente usa) +- Um arquivo TIFF multipágina que você queira processar (vamos chamá‑lo de `big_document.tif`) +- Uma máquina com pelo menos 4 núcleos de CPU se você pretende definir a contagem de threads + +Sem serviços externos, sem chaves de nuvem — apenas código local que roda em segundos. + +--- + +![exemplo de como realizar OCR](/images/ocr-example.png "como realizar OCR em um documento TIFF") + +*Texto alternativo da imagem: como realizar OCR em um documento TIFF – pré‑visualização do texto extraído.* + +--- + +## Etapa 1: Instalar e Importar a Biblioteca OCR + +Primeiro de tudo: obtenha a biblioteca na sua máquina. A maioria dos pacotes OCR está no PyPI, então um simples `pip install` resolve. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Agora importe as classes que você precisará. Se você estiver usando o Tesseract, a linha de importação será diferente, mas o restante do código permanece o mesmo. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Por que isso importa:* Importar os símbolos corretos logo no início evita conflitos de namespace depois e torna o script mais fácil de ler. + +--- + +## Etapa 2: Criar e Configurar o Motor OCR (Definir Idioma do OCR) + +Configurar o motor é onde você **define o idioma do OCR** para um reconhecimento preciso. inglês é o padrão, mas você pode para, alemão ou até modo multilíngue com uma única linha. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Por que 4 threads?** A maioria dos laptops modernos tem pelo menos quatro núcleos, e limitar a contagem de threads impede que o processo de OCR consuma toda a máquina — especialmente útil quando o script roda em um servidor compartilhado. + +Se precisar de outro idioma, basta substituir `ocr.Language.ENGLISH` por `ocr.Language.FRENCH`, `ocr.Language.SPANISH` etc. + +--- + +## Etapa 3: Carregar Imagem para OCR (Load Image for OCR) + +Agora **carregamos a imagem para OCR**. O método `Image.load` lê o arquivo TIFF para a memória, lidando automaticamente com documentos multipágina. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Caso extremo:* Se o arquivo for muito grande, você pode ficar sem RAM. Nesse cenário, considere carregar uma página por vez com `Image.load_page(page_number)` (se a biblioteca suportar). + +--- + +## Etapa 4: Executar OCR no Documento + +Com o motor pronto e a imagem carregada, é hora de **executar OCR no documento**. O método `process` faz o trabalho pesado e devolve um objeto de resultado. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +Nos bastidores, o motor divide a imagem em blocos de texto, executa o modelo de reconhecimento e junta os resultados. A chamada é bloqueante, ou seja, o script aguarda até que todo o TIFF seja processado — perfeito para trabalhos em lote. + +--- + +## Etapa 5: Extrair Texto do TIFF e Verificar a Saída + +Finalmente, **extraímos o texto do TIFF** acessando o atributo `text` do resultado. Vamos imprimir os primeiros 200 caracteres como uma verificação rápida. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Saída esperada (exemplo):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Se precisar do texto completo, basta usar `ocr_result.text`. Para processamento posterior, talvez queira gravá‑lo em um arquivo `.txt`: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## Exemplo Completo Funcionando + +Juntando tudo, aqui está um script pronto‑para‑executar. Substitua o nome do pacote placeholder pelo que você realmente instalou. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Execute o script com: + +```bash +python ocr_tiff_example.py +``` + +Você deverá ver uma pré‑visualização impressa no console e um arquivo chamado `extracted_text.txt` contendo a transcrição completa. + +--- + +## Perguntas Frequentes & Casos de Borda + +- **E se o TIFF contiver várias páginas?** + A maioria dos motores OCR trata cada página como uma imagem separada internamente. O `ocr_result.text` conterá uma quebra de linha entre as páginas. Se precisar manipular página por página, itere com `Image.load_page(page_number)`. + +- **Posso processar um PNG ou JPEG em vez de TIFF?** + Absolutamente. O método `Image.load` geralmente aceita qualquer formato suportado pelo Pillow ou pela biblioteca subjacente. Basta mudar a extensão do arquivo. + +- **Meu texto está ilegível — devo mudar o idioma?** + Sim. A etapa **definir idioma do OCR** é crucial para documentos que não são em inglês. Certifique‑se de que o pacote de idioma esteja instalado (por exemplo, `tesseract‑lang‑fra` para francês). + +- **Estou ficando sem memória?** + Reduza o `set_memory_limit` ou processe as páginas uma a uma. Alguns motores também permitem reduzir a escala da imagem antes do reconhecimento. + +--- + +## Conclusão + +Aí está — um guia conciso e totalmente funcional sobre **como realizar OCR** em um arquivo TIFF usando Python. Cobriram‑nos tudo, desde a instalação da biblioteca, configuração do motor (incluindo **definir idioma do OCR**), **carregar imagem para OCR**, **executar OCR no documento**, e finalmente **extrair texto do TIFF**. + +Sinta‑se à vontade para experimentar: ajuste a contagem de threads, troque de idioma ou alimente a saída OCR em um pipeline de linguagem natural. O céu é o limite depois que você domina o básico. + +Tem mais perguntas? Deixe um comentário abaixo e feliz codificação! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/portuguese/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..e45a93a1 --- /dev/null +++ b/ocr/portuguese/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,180 @@ +--- +category: general +date: 2026-01-12 +description: como definir o idioma no Aspose OCR Python e extrair texto de uma imagem + usando um dicionário personalizado. tutorial passo a passo para desenvolvedores. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: pt +og_description: como definir o idioma no Aspose OCR Python e extrair texto de uma + imagem com um dicionário personalizado. Aprenda todo o fluxo de trabalho em minutos. +og_title: Como definir o idioma no Aspose OCR Python – Guia Completo +tags: +- OCR +- Python +- Aspose +- Image Processing +title: Como definir o idioma no Aspose OCR Python – Guia Completo +url: /pt/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# como definir o idioma no Aspose OCR Python – Guia Completo + +Já se perguntou **como definir o idioma** ao usar o Aspose OCR em Python? Você não está sozinho — muitos desenvolvedores se deparam com esse obstáculo quando o modelo padrão em inglês não reconhece códigos de produto, números de série ou textos multilíngues. A boa notícia é que a solução é simples e poderosa. Neste tutorial vamos percorrer a configuração do idioma, a adição de um dicionário personalizado, a extração de texto de uma imagem e, por fim, o processamento da imagem para obter os melhores resultados de OCR. + +Cobriremos tudo o que você precisa saber: desde a instalação da biblioteca até a execução de um exemplo completo que imprime o texto extraído. Ao final, você será capaz de **extrair texto de arquivos de imagem** com confiança, mesmo quando o conteúdo inclui códigos incomuns ou idiomas mistos. + +## Pré-requisitos + +Antes de mergulharmos, certifique‑se de que você tem: + +* Python 3.8+ instalado (o código usa f‑strings, portanto versões mais antigas não funcionam). +* Uma licença ativa do Aspose OCR for Python ou uma chave de avaliação gratuita. +* O pacote `asposeocr` instalado via `pip install asposeocr`. +* Uma imagem de exemplo (`product_label.png`) que contenha o texto que você deseja ler. + +Se você já tem esses itens, ótimo — vamos continuar. Caso contrário, obtenha a avaliação gratuita no site da Aspose e execute o comando de instalação; leva apenas um minuto. + +## Etapa 1: Importar o módulo Aspose OCR + +A primeira coisa que você precisa fazer é trazer as classes de OCR para o seu script. Esta é a base para **como definir o idioma** mais adiante. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Dica profissional:** Mantenha seus imports no topo do arquivo. Isso facilita a leitura do script, especialmente quando você voltar a ele mais tarde. + +## Etapa 2: Como definir o idioma + +Por padrão, o Aspose OCR assume o inglês. Se sua imagem contém francês, alemão ou qualquer outro idioma, você precisará informar ao motor qual idioma usar. É aqui que a palavra‑chave principal entra em ação. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Por que isso importa? Os motores de OCR dependem de modelos de caracteres específicos de cada idioma. Fornecer o idioma correto melhora a precisão drasticamente — especialmente para caracteres acentuados ou ligaduras específicas de um idioma. + +> **Observação:** Se precisar suportar vários idiomas simultaneamente, pode passar uma lista como `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## Etapa 3: Como adicionar dicionário (palavras definidas pelo usuário) + +Às vezes o motor de OCR interpreta erroneamente códigos de produto como “AB‑1234”. Você pode aumentar a confiança alimentando um dicionário personalizado. Isso responde diretamente **como adicionar dicionário** no Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +O motor trata essas palavras como “conhecidas” e as prioriza sobre caracteres visualmente semelhantes. Isso é especialmente útil para números de SKU, códigos de série ou nomes de marcas que não fazem parte de um idioma natural. + +## Etapa 4: Como processar a imagem + +Agora que o motor está configurado, você precisa carregar a imagem que deseja analisar. Isso aborda **como processar a imagem** de forma limpa e repetível. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +Se você estiver lidando com PDFs, pode converter cada página em uma imagem primeiro — o Aspose OCR oferece suporte a isso nativamente. + +## Etapa 5: Como extrair texto da imagem + +Com tudo configurado, a etapa final é executar o OCR e recuperar o texto. Este é o núcleo de **como extrair texto** de uma imagem. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +Ao executar o script, você deverá ver algo como: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Se a saída parecer confusa, verifique novamente se o idioma correto foi definido e se o seu dicionário personalizado contém exatamente as strings esperadas. + +## Exemplo Completo em Funcionamento + +Juntando tudo, aqui está o script completo que você pode copiar‑colar em um arquivo chamado `extract_label.py`. Não se esqueça de substituir `YOUR_DIRECTORY` pelo caminho real da sua imagem. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Saída Esperada + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Se você vir os códigos exatos que adicionou ao dicionário, você dominou **como definir o idioma**, **como adicionar dicionário** e **como extrair texto da imagem** usando o Aspose OCR. + +## Lidando com Casos de Borda Comuns + +| Situação | O que fazer | +|-----------|------------| +| **Imagem está borrada** | Pré‑processar com `ocr.Image.apply_filter()` para aguçar antes de chamar `process()`. | +| **Múltiplos idiomas em uma única imagem** | Definir `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **PDFs grandes** | Percorrer cada página, converter para `ocr.Image` e chamar `process()` por página. | +| **Caracteres inesperados** | Adicioná‑los à lista de palavras definidas pelo usuário; o Aspose OCR os trata como tokens de alta confiança. | + +Essas dicas mantêm seu pipeline de OCR robusto, mesmo quando a entrada não está perfeita. + +## Referência Visual + +![como definir o idioma no exemplo Aspose OCR](image.png "Captura de tela mostrando a atribuição da propriedade de idioma no exemplo Aspose OCR Python") + +*Texto alternativo:* **como definir o idioma** captura de tela ilustrando a atribuição da propriedade de idioma em um IDE Python. + +## Conclusão + +Agora você sabe **como definir o idioma** no Aspose OCR Python, como **adicionar entradas ao dicionário**, e os passos exatos para **extrair texto da imagem** e **processar imagens** para obter resultados ótimos. O exemplo completo acima pode ser inserido em qualquer projeto, ajustado para diferentes idiomas e expandido para lidar com processamento em lote ou entradas PDF. + +Pronto para o próximo desafio? Experimente trocar `ocr.Language.ENGLISH` por `ocr.Language.FRENCH` e observe o aumento de precisão em rótulos em francês. Ou experimente o método `set_user_defined_words` para incluir um catálogo inteiro de produtos — seu motor de OCR tratará cada entrada como uma correspondência de alta confiança. + +Feliz codificação, e que seus resultados de OCR sejam sempre cristalinos! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/portuguese/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..2bfc016d --- /dev/null +++ b/ocr/portuguese/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-01-12 +description: Processar notas manuscritas em Python usando Aspose OCR – aprenda a extrair + texto de imagens jpg rapidamente. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: pt +og_description: Processar notas manuscritas em Python com Aspose OCR. Aprenda como + extrair texto de imagens jpg, reconhecer OCR manuscrito e carregar imagens para + OCR. +og_title: Processar notas manuscritas com Python – Tutorial completo de OCR +tags: +- OCR +- Python +- Aspose +title: Processar notas manuscritas com Python – Guia de OCR manuscrito +url: /pt/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Processar Notas Manuscritas com Python – Guia de OCR Manuscrito + +Se você precisa **processar notas manuscritas** em Python, este guia mostra exatamente como fazer. Seja as notas em um recibo escaneado, uma foto de quadro branco de sala de aula, ou um selfie rápido de uma lista de tarefas, você aprenderá **como extrair texto** dessas imagens sem esforço. + +Vamos percorrer cada passo — importando a biblioteca Aspose OCR, carregando um JPG, executando o motor e lidando com linhas de baixa confiança. Ao final, você terá um script pronto‑para‑executar que pode **reconhecer texto de jpg** e fornecer strings limpas e acionáveis. + +## O que você vai ganhar + +- Um exemplo de código completo e executável que funciona pronto‑para‑uso. +- Compreensão do porquê cada linha importa, não apenas o que ela faz. +- Dicas para lidar com escrita tremida e resultados de baixa confiança. +- Orientação sobre como estender o script para PDFs, múltiplas imagens ou pacotes de idioma personalizados. + +*Pré-requisitos*: Python 3.8+ instalado, uma licença válida do Aspose OCR (ou um teste gratuito) e um arquivo de imagem chamado `handwritten_notes.jpg` na pasta do seu projeto. + +--- + +![Exemplo de notas manuscritas](https://example.com/handwritten-notes.png "processar notas manuscritas") + +*Texto alternativo: processar notas manuscritas – imagem de exemplo mostrando texto manuscrito pronto para OCR.* + +## Processar Notas Manuscritas: Configurando o Motor OCR + +### Por que esta etapa importa +O motor OCR é o cérebro por trás do processo de reconhecimento. Escolher o idioma correto e inicializar o objeto adequadamente garante que o motor saiba que deve procurar por caracteres em inglês e que pode lidar com as particularidades da escrita manuscrita. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Dica profissional:** Se você antecipar notas em outro idioma, troque `ocr.Language.ENGLISH` pelo enum apropriado (por exemplo, `ocr.Language.FRENCH`). O motor carregará automaticamente o conjunto de caracteres necessário. + +--- + +## Como Extrair Texto de Imagens JPG + +### Carregando a imagem – o primeiro obstáculo +Antes que o motor possa fazer qualquer trabalho, ele precisa de uma representação bitmap do seu JPG. Aspose oferece um método estático conveniente `load` que lê o arquivo em um objeto `Image`. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Por que não usar OpenCV ou Pillow?* +Essas bibliotecas são ótimas para pré-processamento, mas o `Image.load` da Aspose garante o formato de pixel exato que o motor OCR espera, eliminando uma fonte comum de profundidades de cor incompatíveis. + +--- + +## Reconhecer Texto de JPG com OCR Manuscrito em Python + +### Executando o motor OCR +Agora que o motor e a imagem estão prontos, iniciamos o reconhecimento. O método `process` retorna um objeto `OcrResult` que contém uma lista de objetos `Line`, cada um com sua própria pontuação de confiança. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**O que está acontecendo nos bastidores?** +O Aspose OCR executa um modelo de deep‑learning treinado com milhões de amostras manuscritas. Ele segmenta a imagem em linhas, depois em caracteres, e finalmente monta a cadeia de texto mais provável para cada linha. + +--- + +## Carregar Imagem para OCR – Lidando com Resultados de Baixa Confiança + +### Por que você deve se importar com a confiança +OCR manuscrito nunca é 100 % perfeito. Uma pontuação de confiança abaixo de 75 % geralmente indica que o motor teve dificuldades com a ordem dos traços ou ruído de fundo. Ao filtrar essas linhas, você pode decidir se pede verificação ao usuário ou aplica pré-processamento de imagem adicional. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Saída típica** (seus resultados podem variar): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Observe como o script separa claramente o texto confiável das partes tremidas. Você pode, posteriormente, alimentar as linhas de baixa confiança em uma segunda passagem com filtros de aprimoramento de imagem (por exemplo, aumento de contraste) ou apresentá‑las a um revisor humano. + +--- + +## Script Completo – Pronto para Executar + +Abaixo está o programa completo, pronto para copiar‑colar. Salve como `handwritten_ocr.py` e execute `python handwritten_ocr.py`. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Comportamento esperado:** +- O script imprime cada linha com sua porcentagem de confiança. +- Linhas acima de 75 % aparecem como “Accepted”, enquanto o restante é marcado para revisão. +- Nenhuma dependência adicional é necessária além de `asposeocr`. + +--- + +## Perguntas Frequentes & Casos de Borda + +### E se minha imagem for PNG ou BMP? +O Aspose OCR detecta automaticamente o formato, então você pode simplesmente mudar a extensão do arquivo em `image_path`. Nenhuma alteração de código é necessária. + +### Minha escrita é extremamente bagunçada — como posso melhorar a precisão? +1. **Pré‑processar a imagem** – aumentar o contraste, remover sombras de fundo (OpenCV pode ajudar). +2. **Aumentar o limiar de confiança** – definir para 80 % se você quiser apenas linhas quase perfeitas. +3. **Treinar um modelo customizado** – Aspose oferece o recurso “custom language pack” para estilos de escrita especializados. + +### Posso processar múltiplas imagens em uma única execução? +Com certeza. Envolva as etapas de carregamento e processamento em um loop `for` sobre uma lista de caminhos de arquivos. Lembre‑se de reutilizar a mesma instância `ocr_engine` para maior velocidade. + +### Isso funciona em macOS/Linux? +Sim. O Aspose OCR fornece wheels para todas as principais plataformas. Basta `pip install asposeocr` e você está pronto para usar. + +--- + +## Próximos Passos & Tópicos Relacionados + +- **Como extrair texto de PDFs** – uma vez que você tem o pipeline OCR, alimentar páginas PDF em `ocr.Image.load` é uma mudança de uma linha. +- **Integração com um banco de dados** – armazene cada linha aceita no SQLite ou PostgreSQL para notas pesquisáveis. +- **OCR em tempo real no mobile** – combine este script com Flask ou FastAPI para expor um endpoint REST que aplicativos móveis podem chamar. + +Cada uma dessas extensões se baseia nos conceitos principais que abordamos: **processar notas manuscritas**, **como extrair texto**, **reconhecer texto de jpg**, e **carregar imagem para OCR**. + +--- + +## Conclusão + +Agora você tem uma solução sólida, de ponta a ponta, para **processar notas manuscritas** usando Python e Aspose OCR. O guia percorreu a configuração do motor, o carregamento de um JPG, a execução do reconhecimento e o tratamento de resultados de baixa confiança — tudo em um único script de copiar‑colar. + +A partir daqui, experimente diferentes técnicas de pré‑processamento de imagem, aumente o limiar de confiança ou escale a solução para processar em lote centenas de notas. O céu é o limite, e o código que você acabou de aprender é sua plataforma de lançamento. + +*Feliz codificação, e que suas notas manuscritas finalmente se tornem texto pesquisável!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/portuguese/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..cf3ad47c --- /dev/null +++ b/ocr/portuguese/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,237 @@ +--- +category: general +date: 2026-01-12 +description: Tutorial de OCR em Python mostrando como extrair texto de tabela de uma + imagem. Aprenda a ler tabelas de imagens e extrair texto selecionado com o Aspose + OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: pt +og_description: Tutorial de OCR em Python que ensina como extrair texto de tabela + de uma imagem, ler tabela de imagem e extrair texto selecionado usando o Aspose + OCR. +og_title: 'Tutorial de OCR em Python: Extrair Texto de Tabelas a partir de Imagens' +tags: +- OCR +- Python +- AsposeOCR +title: 'Tutorial de OCR em Python: Extrair Texto de Tabelas de Imagens' +url: /pt/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tutorial de OCR em Python: Extrair Texto de Tabelas de Imagens + +Já precisou de um **python ocr tutorial** que realmente mostre como extrair uma tabela de um formulário escaneado? Você não está sozinho. A maioria dos tutoriais para na extração genérica de texto, deixando você adivinhando como isolar aquela grade organizada de dados que lhe interessa. + +Neste guia, percorreremos um cenário do mundo real: ler uma tabela de uma imagem, extrair apenas o texto selecionado que você precisa e, finalmente, imprimir os resultados. Ao longo do caminho, adicionaremos dicas sobre **como extrair tabelas** de forma confiável, para que você não precise reinventar a roda a cada vez. + +## O que você aprenderá + +- Como configurar o Aspose OCR para Python. +- Como definir uma região retangular que contém uma tabela. +- Os passos exatos para **extrair texto de tabela** e **ler tabela de imagem**. +- Dicas para lidar com múltiplos idiomas ou layouts de tabela irregulares. +- Um script completo e executável que você pode inserir em seu projeto hoje. + +**Pré‑requisitos** +- Python 3.8 ou superior. +- Familiaridade básica com conceitos de OCR (nenhuma expertise profunda necessária). +- Uma imagem PNG ou JPEG que contenha uma tabela clara (a chamaremos de `form_with_table.png`). + +Se você tem isso, vamos mergulhar — sem enrolação, apenas código acionável. + +![exemplo de tutorial python ocr da região da tabela](table_region_example.png){alt="exemplo de tutorial python ocr mostrando a região da tabela"} + +## Etapa 1: Instalar e Importar Aspose OCR + +Primeiro de tudo: você precisa da biblioteca Aspose OCR. O pacote está no PyPI, então um único comando `pip` resolve. + +```bash +pip install aspose-ocr +``` + +Agora importe o módulo e quaisquer auxiliares que você precisar. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Dica profissional:* Mantenha suas dependências em um arquivo `requirements.txt`. Isso facilita reproduzir o ambiente. + +## Etapa 2: Inicializar o Motor OCR (Núcleo do Tutorial de OCR em Python) + +Criar o motor é o coração de qualquer **python ocr tutorial**. Aqui também definimos o idioma padrão para Inglês — sinta‑se à vontade para alterá‑lo depois. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Por que definir o idioma? A precisão do OCR pode melhorar drasticamente quando o motor sabe quais caracteres esperar. Se você estiver lidando com formulários multilíngues, pode definir uma lista de idiomas ou sobrescrever por região (veja mais adiante). + +## Etapa 3: Carregar sua Imagem + +Aspose OCR funciona com a maioria dos formatos de imagem comuns. Basta apontar para o caminho do arquivo, e você terá um objeto `Image` pronto para processamento. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Caso extremo:* Imagens grandes (acima de 5 MB) podem desacelerar o processamento. Considere redimensionar ou comprimir antes do OCR se o desempenho se tornar um problema. + +## Etapa 4: Definir a Região da Tabela (Ler Tabela de Imagem) + +Agora vem a parte divertida: dizer ao motor *onde* a tabela está. Você fornece um `OcrRegion` com um `Rectangle` (x, y, largura, altura). As coordenadas são baseadas em pixels, então pode ser necessário experimentar um pouco. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Por que usar uma região? Ao limitar o OCR à área da tabela, **extrair texto selecionado** fica mais rápido e evita ruído de rótulos ou gráficos ao redor. Também melhora a precisão porque o motor pode focar em um layout uniforme. + +## Etapa 5: Executar OCR na Região Definida + +Com a região definida, invocamos `process_region`. O método retorna um objeto `OcrResult` que contém o texto bruto, pontuações de confiança e até caixas delimitadoras, caso você precise delas depois. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +Se precisar extrair várias tabelas, basta repetir as Etapas 4‑5 com retângulos diferentes. + +## Etapa 6: Exibir o Texto da Tabela Extraído + +Finalmente, imprima — ou armazene — a representação textual da tabela. Aspose OCR devolve texto simples com quebras de linha que geralmente se alinham com as linhas, facilitando o pós‑processamento. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Saída esperada** (exemplo): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +Agora você pode alimentar essa string em analisadores `csv`, DataFrames pandas ou qualquer pipeline de análise downstream. + +## Exemplo Completo Funcional + +Juntando tudo, aqui está o script completo que você pode executar imediatamente. Substitua `YOUR_DIRECTORY/form_with_table.png` pelo caminho real da sua imagem. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Execute o script com `python extract_table.py`. Se tudo estiver alinhado, você verá a tabela impressa no console. + +## Perguntas Frequentes & Tratamento de Casos‑Extremos + +**E se a tabela não for perfeitamente retangular?** +Você pode dividir a tabela em várias regiões sobrepostas ou usar um retângulo maior que cubra toda a área e, em seguida, pós‑processar o texto (por exemplo, dividir por quebras de linha). + +**Posso extrair apenas colunas específicas?** +Depois de obter o texto completo da tabela, use `csv` ou `pandas` do Python para selecionar as colunas que lhe interessam. A etapa de OCR em si retorna tudo dentro do retângulo. + +**Como trabalhar com tabelas não‑inglês?** +Defina `ocr_engine.language` (ou `region.language`) para o enum apropriado, como `ocr.Language.FRENCH` ou combine múltiplos idiomas usando `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**Existe uma forma de obter caixas delimitadoras para cada célula?** +Aspose OCR pode retornar `region_result.words`, onde cada palavra inclui uma caixa delimitadora. Você precisará mapear essas caixas de volta a uma grade — útil para análise avançada de layout. + +## Dicas para Melhor Precisão + +- **Limpe a imagem**: Binarize ou aumente o contraste antes de enviá‑la ao OCR. Bibliotecas como Pillow podem ajudar. +- **Evite artefatos de compressão**: Salve as digitalizações como PNG sempre que possível. +- **Fique atento ao DPI**: 300 dpi é um ponto ideal; valores menores podem causar caracteres perdidos. +- **Teste diferentes tamanhos de retângulo**: Retângulos ligeiramente maiores costumam capturar caracteres soltos que pertencem à tabela. + +## Próximos Passos + +Agora que você dominou **como extrair tabelas** com Aspose OCR, pode explorar: + +- Converter o texto extraído em um arquivo CSV usando o módulo `csv` do Python. +- Inserir os dados em um DataFrame **pandas** para análise. +- Usar OCR para ler formulários manuscritos (requer um motor diferente ou treinamento adicional). +- Automatizar o processamento em lote de dezenas de formulários escaneados usando um simples loop `for`. + +Cada uma dessas extensões se baseia nos conceitos centrais abordados neste **python ocr tutorial**, então você está bem posicionado para escalar. + +*Feliz codificação! Se encontrar algum problema, deixe um comentário abaixo—terei prazer em ajudá‑lo a ajustar a extração.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/portuguese/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..f6e96899 --- /dev/null +++ b/ocr/portuguese/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,283 @@ +--- +category: general +date: 2026-01-12 +description: Execute OCR em arquivos PNG rapidamente com Python. Aprenda como extrair + texto de imagens e faturas e carregar a imagem para OCR usando Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: pt +og_description: Execute OCR em PNG instantaneamente. Este guia mostra como extrair + texto de imagem e fatura, carregar a imagem para OCR e salvar os resultados como + JSON e CSV. +og_title: Execute OCR em PNG – Tutorial completo de Python +tags: +- OCR +- Python +- Image Processing +title: Execute OCR em PNG – Guia Completo em Python para Extrair Texto de Imagens +url: /pt/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Executar OCR em PNG – Guia Completo em Python para Extrair Texto de Imagens + +Já precisou **executar OCR em PNG** mas não tinha certeza de qual biblioteca forneceria resultados limpos e estruturados? Você não está sozinho. Em muitos projetos do mundo real—pense em automação de faturas ou digitalização de recibos—o primeiro passo é **extrair texto de imagens**, e PNG é um formato comum porque preserva qualidade sem perdas. + +Neste tutorial, percorreremos um exemplo prático usando o pacote Aspose.OCR para Python. Ao final do guia, você saberá como **carregar imagem para OCR**, extrair cada linha de texto, transformar esses dados em um objeto JSON organizado e até exportá‑los para CSV para processamento posterior. Sem enrolação, apenas uma solução prática e pronta para usar. + +## O que você aprenderá + +- Como instalar e importar a biblioteca Aspose.OCR. +- Os passos exatos para **executar OCR em PNG** e manipular o objeto de resultado. +- Formas de **extrair texto de fatura** e formatar a saída como JSON ou CSV. +- Dicas para lidar com imagens de baixo contraste, documentos multilíngues e pontuações de confiança. +- Um exemplo completo de código copiar‑e‑colar que você pode executar hoje. + +> **Pré‑requisito:** Python 3.8+ e familiaridade básica com pip. Se você nunca usou Aspose antes, não se preocupe—este guia cobre tudo que você precisa para começar. + +--- + +## Etapa 1 – Instalar Aspose.OCR e Preparar seu Ambiente + +Antes de podermos **executar OCR em PNG**, a biblioteca precisa estar presente no seu sistema. + +```bash +pip install aspose-ocr +``` + +> **Dica profissional:** Use um ambiente virtual (`python -m venv venv`) para manter as dependências isoladas. Isso evita conflitos de versão se você estiver lidando com vários projetos. + +Depois de instalado, importe os módulos que precisaremos: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Aqui trazemos `asposeocr` para o processamento pesado e a biblioteca interna `json` para serialização posterior. + +--- + +## Etapa 2 – Criar o Motor OCR e Definir o Idioma + +O motor OCR é o componente central que realmente lê os pixels. Para a maioria das faturas em inglês, você desejará o pacote de idioma English: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Por que isso importa:** Especificar o idioma reduz o conjunto de caracteres, o que aumenta a precisão e acelera o processamento. Se precisar lidar com faturas multilíngues, basta trocar `ocr.Language.ENGLISH` pelo enum apropriado. + +--- + +## Etapa 3 – Carregar a Imagem para OCR + +Agora vamos **carregar a imagem para OCR**. O método `Image.load` aceita um caminho de arquivo e funciona com PNG, JPEG, BMP e outros. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Caso extremo:** Se o PNG for incomumente grande (mais de 5 MB), considere redimensioná‑lo primeiro para manter o uso de memória razoável. Pillow pode fazer isso em uma única linha: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## Etapa 4 – Executar OCR em PNG e Capturar o Resultado + +Com o motor pronto e a imagem carregada, é hora de **executar OCR em PNG** e recuperar o resultado estruturado. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +O objeto `ocr_result` contém uma coleção de itens `OcrRegion`, cada um com o texto reconhecido e uma pontuação de confiança (0‑100). É aqui que você obtém os dados granulares necessários para **extrair texto de fatura**. + +--- + +## Etapa 5 – Converter o Resultado para JSON e Imprimi‑lo de Forma Legível + +A maioria dos sistemas downstream adora JSON, então vamos transformar a saída OCR em uma string bem formatada. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Exemplo de Saída + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Observe como cada linha inclui uma métrica de confiança—perfeito para filtrar entradas de baixa confiança se você pretende **extrair texto de fatura** automaticamente. + +--- + +## Etapa 6 – Salvar os Dados OCR como CSV (Uma Linha por Texto + Confiança) + +CSV é ideal para planilhas ou importações rápidas de dados. Aspose oferece uma linha única para exportar tudo para um arquivo CSV. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +O CSV gerado terá a seguinte aparência: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Agora você pode abri‑lo no Excel, Google Sheets ou inseri‑lo em um banco de dados. + +--- + +## Bônus – Lidando com Texto de Baixa Confiança e PDFs Multiplas Páginas + +### Filtrando por Confiança + +Se você quiser apenas linhas de alta certeza, filtre o JSON antes de gravá‑lo: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Documentos Multiplas Páginas + +Aspose.OCR cria automaticamente uma nova entrada `page` para cada página em um PNG ou PDF de várias páginas. Percorra `ocr_data["pages"]` para processá‑las todas—nenhum código extra necessário. + +--- + +## Exemplo Completo em Funcionamento + +Abaixo está o **script completo** que você pode copiar, colar e executar imediatamente. Substitua `YOUR_DIRECTORY` pela pasta que contém seu arquivo PNG. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Execute o script com `python run_ocr.py` e você verá o dump JSON no console, um arquivo CSV no disco e uma lista filtrada de entradas de alta confiança. + +--- + +## Perguntas Frequentes + +**Q: Posso usar isso para extrair texto de um recibo escaneado em vez de uma fatura?** +A: Absolutamente. O mesmo fluxo de trabalho se aplica—basta apontar `image_path` para o seu PNG de recibo. Se o recibo usar um idioma diferente, troque `engine.language` adequadamente. + +**Q: E se meu PNG contiver texto girado?** +A: Aspose.OCR detecta automaticamente a orientação, mas para casos difíceis você pode girar manualmente a imagem com Pillow antes de enviá‑la ao motor. + +**Q: Preciso de uma licença paga para Aspose.OCR?** +A: A biblioteca oferece um modo de avaliação gratuito com marca d'água na saída. Para uso em produção, você precisará de uma licença, que pode ser obtida no site da Aspose. + +--- + +## Conclusão + +Cobrimos tudo o que você precisa para **executar OCR em PNG** usando Python: instalar o SDK, carregar a imagem, extrair texto estruturado e salvar o resultado como JSON ou CSV. Seja para **extrair texto de imagem** em um script simples ou **extrair texto de fatura** para um pipeline de contabilidade automatizado, os passos acima fornecem uma base sólida e pronta para produção. + +Em seguida, você pode explorar: + +- Integrar a saída CSV com um banco de dados para armazenamento em massa de faturas. +- Adicionar pós‑processamento com expressões regulares para extrair datas, valores ou IDs fiscais. +- Usar o recurso `ocr_engine.recognize_barcode` se suas faturas incluírem códigos QR. + +Tente, ajuste os limites de confiança e veja seu fluxo de processamento de documentos se tornar simples. Tem mais perguntas ou um caso de uso interessante para compartilhar? Deixe um comentário abaixo—feliz OCR! + +![exemplo de execução de OCR em PNG](run-ocr-on-png.png "executar OCR em PNG – exemplo visual do resultado OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/russian/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..a07dfabe --- /dev/null +++ b/ocr/russian/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,197 @@ +--- +category: general +date: 2026-01-12 +description: Извлеките текст из изображения на Python с помощью Aspose OCR. Узнайте, + как за несколько минут преобразовать отсканированное изображение в текст с использованием + асинхронного кода. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: ru +og_description: Извлечение текста из изображения на Python с помощью Aspose OCR. Этот + учебник показывает, как преобразовать отсканированное изображение в текст, используя + асинхронные функции. +og_title: Извлечение текста из изображения на Python — Асинхронное руководство по + OCR +tags: +- python +- ocr +- async +title: Извлечение текста из изображения на Python – Асинхронное руководство по OCR +url: /ru/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Извлечение текста из изображения Python – Руководство по асинхронному OCR + +Когда‑нибудь вам нужно было **извлекать текст из изображения Python** в скриптах, но вы застряли на этапе OCR? Вы не одиноки. Многие разработчики сталкиваются с проблемой, когда у них есть отсканированный документ, и они хотят превратить его в поисковый текст, не теряя волосы. + +В этом руководстве мы пройдемся по полному, исполняемому примеру, который покажет, как **преобразовать отсканированное изображение в текст** с помощью асинхронного API Aspose OCR. К концу вы получите одну функцию, которую можно вставить в любой проект, и поймёте, почему асинхронная обработка позволяет приложению оставаться отзывчивым, даже если OCR занимает несколько секунд. + +## Prerequisites + +Перед тем как начать, убедитесь, что у вас есть: + +- Python 3.8+ установлен (асинхронные возможности требуют минимум 3.7) +- `asposeocr` package (`pip install asposeocr`) – это библиотека, которую мы будем использовать +- Отсканированный файл изображения (TIFF, PNG, JPEG – всё, что поддерживает Aspose OCR) +- Базовое знакомство с `asyncio` (если нет, не переживайте – мы объясним каждый шаг) + +Дополнительные системные зависимости не требуются; Aspose OCR включает всё необходимое. + +![Diagram showing async OCR flow – extract text from image python](https://example.com/async-ocr-diagram.png "async OCR flow – extract text from image python") + +## Step 1 – Set Up the Asynchronous Helper Function + +Сердцем решения является `async` функция, которая загружает изображение, запускает OCR и затем ожидает результат. Асинхронность функции позволяет выполнять другие корутины (например, загрузку дополнительных файлов), пока OCR‑движок работает в фоне. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Why this matters:** Возвращая `Future`, Aspose OCR выполняет тяжёлую работу в отдельном пуле потоков. `await` освобождает цикл событий, поэтому приложение остаётся быстрым. Если понадобится обрабатывать множество изображений одновременно, просто запланируйте несколько вызовов `async_ocr` с помощью `asyncio.gather`. + +## Step 2 – Run the Coroutine in the Event Loop + +Теперь, когда у нас есть помощник, его нужно выполнить. `asyncio.run` создаёт новый цикл событий, запускает корутину и корректно завершает всё. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Pro tip:** Если вы интегрируете это в более крупное асинхронное приложение (например, FastAPI), вы будете вызывать `await async_ocr(...)` напрямую, а не `asyncio.run`. + +## Step 3 – Verify the Output + +При запуске скрипта вы должны увидеть что‑то вроде: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Если вывод выглядит искажённым, проверьте следующее: + +1. Изображение чёткое и не слишком сжатое. +2. Вы выбрали правильный язык (`ocr.Language.ENGLISH` работает для большинства латинских текстов). +3. Путь к файлу правильный и файл доступен для чтения. + +## Step 4 – Handling Edge Cases + +### Multiple Languages + +Если вам нужно **преобразовать отсканированное изображение в текст** на языке, отличном от английского, просто измените свойство языка: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Large Files + +Для очень больших TIFF‑файлов рассмотрите возможность изменения размера или конвертации в PNG с более низким разрешением перед передачей в OCR. Это уменьшит нагрузку на память и ускорит обработку. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Error Handling + +Обёрните вызов OCR в блок `try/except`, чтобы отлавливать ошибки, связанные с сетью или лицензированием. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Step 5 – Scaling Up: Processing Many Images Concurrently + +Поскольку функция асинхронна, вы можете запустить десятки OCR‑задач одновременно: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Этот шаблон держит процессор занятым, пока OCR‑движок работает параллельно, что значительно сокращает общее время обработки. + +## Conclusion + +Теперь у вас есть надёжное решение **extract text from image Python**, использующее асинхронный API Aspose OCR. Полный пример показывает, как: + +1. Инициализировать OCR‑движок и выбрать язык. +2. Запустить OCR асинхронно с помощью `process_async`. +3. Ожидать результат без блокировки цикла событий. +4. Обрабатывать распространённые проблемы, такие как большие файлы и поддержка нескольких языков. + +Не стесняйтесь адаптировать код под свои конвейеры — будь то система управления документами, поисковый индексатор или простая утилита командной строки. Дальнейшие шаги могут включать: + +- Сохранение извлечённого текста в базе данных для полнотекстового поиска. +- Добавление генерации PDF (например, с использованием `PyPDF2`) для создания поисковых PDF‑файлов. +- Интеграцию с веб‑фреймворком, таким как FastAPI, для REST‑сервиса OCR. + +Счастливого кодинга и приятного превращения отсканированных изображений в поисковый, редактируемый текст! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/russian/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..7b5b34e0 --- /dev/null +++ b/ocr/russian/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-01-12 +description: Как быстро выполнять пакетное OCR изображений и извлекать текст из JPEG‑файлов + в Python. Узнайте пошаговую пакетную обработку с полным исполняемым примером. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: ru +og_description: Как пакетно выполнять OCR изображений и извлекать текст из файлов + JPEG. Это руководство проведёт вас через готовое к запуску решение на Python. +og_title: Как пакетно выполнять OCR изображений — быстрый учебник по Python +tags: +- OCR +- Python +- image processing +title: Как пакетно выполнять OCR изображений – быстрый гид по извлечению текста из + JPEG‑файлов +url: /ru/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как пакетно выполнять OCR изображений – Быстрое руководство по извлечению текста из JPEG файлов + +Когда‑нибудь задавались вопросом **how to batch OCR images** без написания отдельного скрипта для каждого файла? Вы не одиноки. Во многих проектах — сканирование счетов, оцифровка архивов или модерация контента — нам нужно извлекать текст из десятков или сотен JPEG‑файлов за один раз. Хорошая новость: это можно сделать всего несколькими строками Python, получив переиспользуемый движок, который можно вставить в любой конвейер. + +В этом руководстве мы покажем вам точно **how to batch OCR images**, а затем пройдёмся по извлечению текста из JPEG‑файлов, обработке граничных случаев и проверке результата. К концу вы получите автономный скрипт, который можно запустить для любой папки с изображениями, и поймёте, почему пакетная обработка важна для производительности и поддерживаемости. + +## Что вы узнаете + +- Настроить простой OCR‑движок и сконфигурировать его для английского языка. +- Собрать все JPEG‑файлы из каталога с помощью `pathlib`. +- Вызвать OCR‑движок один раз для обработки всей партии. +- Показать предварительный просмотр распознанного текста для каждого изображения. +- Советы по работе с большими партиями, разными языками и типичными подводными камнями. + +**Prerequisites**: Python 3.8+, библиотека `ocr` (или любой совместимый обёртка), и папка с JPEG‑изображениями, которые вы хотите проанализировать. Внешние сервисы не требуются — всё работает локально. + +--- + +## Step 1: Initialise the OCR Engine – The Core of How to Batch OCR Images + +Прежде чем мы сможем **batch OCR images**, нам нужен движок, умеющий читать текст. В большинстве библиотек вы создаёте объект движка, при необходимости задаёте язык и затем переиспользуете его для каждого файла. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Why this matters*: Инициализация движка один раз избавляет от накладных расходов на повторную загрузку языковых моделей. Это также даёт единственное место для настройки параметров (например, DPI, whitelist символов), которые будут применяться ко всей партии. + +> **Pro tip**: Если вы планируете обрабатывать многоязычные документы, замените `ocr.Language.ENGLISH` на `ocr.Language.MULTI` или загрузите несколько языковых пакетов перед началом партии. + +## Step 2: Gather All JPEG Files – The “Extract Text from JPEG Files” Part + +Теперь, когда движок готов, нам нужно указать, какие изображения обрабатывать. Использование `pathlib` делает код независимым от платформы и лаконичным. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Why this matters*: Сначала собирая список файлов, мы можем передать всю коллекцию OCR‑движку одним вызовом — именно то, о чём говорит “how to batch OCR images”. Если у вас есть вложенные папки, вы можете изменить `glob("**/*.jpg")` на рекурсивный поиск. + +> **Edge case**: Если ваши изображения имеют смешанные расширения (`.jpeg`, `.JPG`), расширьте шаблон glob: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +## Step 3: Process the Whole Batch in One Call – The Real Power of Batch OCR + +Большинство современных OCR‑библиотек предоставляют метод `process_batch` (или аналогичный), принимающий итерируемый объект путей к файлам. Это сердце **how to batch OCR images** эффективно. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Why this matters*: Один пакетный вызов уменьшает количество переходов Python‑to‑C, держит языковую модель в памяти и часто позволяет внутреннюю параллелизацию. Результатом является список объектов — каждый содержит распознанный текст и оценки уверенности. + +> **Performance note**: Для очень больших партий (тысячи изображений) рассмотрите разбивку списка на более мелкие части (например, по 200 файлов), чтобы избежать избыточного потребления памяти. + +## Step 4: Show a Preview of the Extracted Text – Quick Validation + +После завершения партии полезно взглянуть на первые несколько символов каждого результата. Это помогает убедиться, что OCR действительно извлекает текст из ваших JPEG‑файлов. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Why this matters*: Краткий предварительный просмотр позволяет быстро обнаружить очевидные сбои (например, пустой вывод, искажённые символы) без открытия каждого файла. Если вы заметите систематические проблемы, можно скорректировать настройки движка и повторно запустить партию. + +> **Common pitfall**: Забвение удалить символы новой строки может сделать превью «грязным». Строка `replace("\n", " ")` очищает его. + +## Full Working Example – All Steps Combined + +Ниже представлен полный скрипт, который вы можете скопировать‑вставить, скорректировать путь к каталогу и запустить. Он демонстрирует весь рабочий процесс **how to batch OCR images** от начала до конца. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Expected output** (sample): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Если превью показывает осмысленный текст, вы успешно **extracted text from JPEG files** с использованием пакетного подхода. + +## Handling Large Batches and Advanced Scenarios + +### Chunking Large Workloads +При работе с тысячами изображений память может стать узким местом. Разбейте список на более мелкие части: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Switching Languages +Если ваши документы содержат французский или испанский, измените язык перед запуском партии: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Saving Results to Disk +Вместо вывода в консоль вы можете записать каждый OCR‑результат в файл `.txt`: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +## Conclusion + +Теперь вы знаете **how to batch OCR images** и надёжно **extract text from JPEG files** с помощью компактного Python‑скрипта. Инициализировав движок один раз, собрав все пути к JPEG, обработав их одной пакетной операцией и просмотрев результат, вы получаете и скорость, и простоту. Далее вы можете расширять процесс — добавить поддержку нескольких языков, сохранять результаты в базе данных или интегрировать скрипт в более крупный конвейер обработки документов. + +Готовы к следующему шагу? Попробуйте заменить библиотеку `ocr` на Tesseract, поэкспериментировать с различными предобработками изображений (пороговая обработка, изменение размера) или передать извлечённый текст в модель natural‑language‑processing для автоматической категоризации. Возможности безграничны, а у вас уже есть надёжный фундамент для дальнейшего развития. + +Happy coding, and may your OCR batches always be error‑free! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/russian/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..f21a43aa --- /dev/null +++ b/ocr/russian/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,146 @@ +--- +category: general +date: 2026-01-12 +description: Как обнаружить язык на изображениях с помощью Aspose OCR – научитесь + извлекать текст из изображения, работать с OCR для нескольких языков и использовать + OCR в Python. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: ru +og_description: Как обнаружить язык на изображениях с помощью Aspose OCR — пошаговое + руководство по извлечению текста из изображения и работе с OCR смешанных языков. +og_title: Как определить язык с помощью OCR для смешанного текста +tags: +- OCR +- Python +- Aspose +title: Как определить язык с помощью OCR для смешанного текста +url: /ru/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как обнаружить язык с помощью OCR для смешанного текста + +Как обнаружить язык на изображениях с помощью Aspose OCR — это распространённая задача при работе с многоязычными документами. Когда‑нибудь задавались вопросом **как извлечь текст из изображения**, содержащего одновременно английский и французский язык на одной странице? В этом руководстве мы пройдем полный, готовый к запуску пример, который покажет, как использовать OCR для определения языка, извлечения текста и обработки сценариев со смешанными языками без лишних усилий. + +Мы охватим всё, что вам нужно знать: настройку движка Aspose OCR, указание языков, которые следует учитывать, загрузку примера изображения счета, запуск процесса OCR и, наконец, вывод обнаруженного языка вместе с извлечённым текстом. К концу вы сможете ответить на вопрос «как использовать OCR для смешанного языка» в своих проектах, будь то построение конвейера выставления счетов, сканера чеков или инструмента архивирования документов. + +> **Prerequisites** – У вас должен быть установлен Python 3.8+, базовые знания pip и лицензия Aspose OCR (бесплатная пробная версия подходит для этой демонстрации). Другие внешние библиотеки не требуются. + +--- + +## Как обнаружить язык с помощью Aspose OCR + +Первый шаг — создать экземпляр OCR‑движка и указать, какие языки он должен искать. Aspose OCR использует битовую маску для комбинирования языков, что упрощает поддержку английского, французского, испанского или любой другой комбинации. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Почему это важно:** Инициализация движка является фундаментом. Без неё вы не сможете вызвать методы OCR, а движок хранит всю конфигурацию, определяющую, насколько хорошо он сможет **обнаружить язык** позже. + +--- + +## Извлечение текста из изображения с помощью OCR + +Теперь нам нужно сообщить движку, какие языки возможны. Установив битовую маску `ENGLISH | FRENCH`, мы позволяем движку автоматически выбирать лучший вариант для каждой области изображения. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Почему это важно:** Включение `auto_detect_language` — это суть **как обнаружить язык** в документе со смешанными языками. Движок сканирует текст, оценивает каждый язык и возвращает тот, у которого самая высокая уверенность. Если пропустить этот шаг, вам придётся угадывать язык вручную, что сводит на нет смысл OCR для смешанных языков. + +--- + +## Настройка параметров OCR для смешанных языков + +Прежде чем передать изображение движку, его необходимо загрузить. Aspose OCR работает со своим классом `Image`, который абстрагирует формат исходного файла. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Tip:** Держите разрешение изображения около 300 dpi для наилучших результатов. Низкое разрешение может привести к пропуску тонких символов, особенно французских букв с диакритическими знаками. + +--- + +## Запуск процесса OCR и получение результатов + +С настроенным движком и загруженным изображением мы наконец можем запустить процесс OCR. Метод `process` возвращает объект `OcrResult`, содержащий как код обнаруженного языка, так и полностью извлечённый текст. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Ожидаемый вывод** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Если изображение содержит французские фрагменты, вы увидите `FRENCH` как обнаруженный язык и соответствующий французский текст в выводе. + +--- + +## Пример изображения (Alt Text для SEO) + +![how to detect language in mixed language OCR image](mixed_lang_invoice.png) + +*Скриншот выше показывает пример счета, содержащего как английский, так и французский текст, демонстрируя, как OCR‑движок может **обнаружить язык** и извлечь содержимое за один проход.* + +--- + +## Частые ошибки и профессиональные советы + +| Issue | Why it Happens | How to Fix / Mitigate | +|-------|----------------|------------------------| +| **Blurry or low‑resolution scans** | The engine can’t distinguish characters, leading to wrong language detection. | Scan at ≥300 dpi, apply image sharpening before OCR. | +| **Missing language in the bit‑mask** | If you forget to include a language, the engine will default to the first match, often giving inaccurate results. | Always list every language you expect; you can combine many using the `|` operator. | +| **Mixed scripts (e.g., Latin + Cyrillic)** | Aspose OCR may need separate language packs. | Install additional language packs and add them to the mask. | +| **Large files causing memory spikes** | Loading a huge image into memory can crash the script. | Use `Image.resize` to downscale while preserving DPI, or process the image in tiles. | + +**Pro tip:** После получения сырого текста выполните быструю пост‑обработку для нормализации пробелов и разрывов строк. Это упростит последующий разбор (например, извлечение номеров счетов). + +--- + +## Итоги: чему вы научились + +Теперь вы знаете **как обнаружить язык** в изображении со смешанным языком с помощью Aspose OCR, и вы увидели полный пример от начала до конца, который также показывает **как извлечь текст из изображения**. Настраивая битовую маску языков, включая автоопределение и обрабатывая объект результата, вы сможете надёжно обрабатывать счета, чеки или любые документы, где смешаны английский и французский (или другие) языки. + +### Следующие шаги + +- Попробуйте добавить **how to extract text** из PDF, предварительно преобразовав каждую страницу в изображение. +- Поэкспериментируйте с другими вторичными ключевыми словами: изучите полный **how to use OCR** API, например, настройку зон OCR для ускорения обработки. +- Погрузитесь в более сложные случаи **mixed language OCR**, такие как документы, переключающиеся между тремя и более языками. + +Не стесняйтесь менять код, тестировать его на своих изображениях и позволять движку выполнять тяжёлую работу. Если возникнут проблемы, оставляйте комментарий ниже — happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/russian/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..355da604 --- /dev/null +++ b/ocr/russian/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: Изучите, как выполнять OCR PDF в Python и быстро делать PDF доступным + для поиска. Конвертируйте отсканированный PDF, извлекайте текст из PDF и применяйте + OCR к отсканированному PDF с помощью Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: ru +og_description: Как выполнить OCR PDF в Python? Этот пошаговый учебник покажет, как + преобразовать отсканированные PDF‑файлы в поисковые PDF и извлечь текст с помощью + Aspose OCR. +og_title: Как выполнить OCR PDF и сделать его поисковым – руководство по Python +tags: +- OCR +- Python +- PDF processing +title: Как выполнить OCR PDF и сделать его поисковым – руководство по Python +url: /ru/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как распознать PDF и сделать его поисковым – Руководство на Python + +Когда‑нибудь задумывались **как распознать PDF** файлы, не тратя состояние на коммерческое программное обеспечение? Вы не одиноки. Многие разработчики сталкиваются с проблемой, когда нужно превратить отсканированный контракт, счёт‑фактуру или любой PDF, основанный на изображениях, в поисковый документ. Хорошая новость? С несколькими строками кода на Python и Aspose OCR вы можете конвертировать отсканированный PDF, извлечь текст из PDF и, наконец, сделать PDF поисковым за считанные минуты. + +В этом руководстве мы пройдём всё, что вам понадобится: от установки библиотеки, настройки языка, обработки отсканированного PDF до сохранения результата в виде поискового PDF, содержащего как оригинальное изображение, так и скрытый текстовый слой. К концу вы получите переиспользуемый скрипт, который можно добавить в любой проект — без ручного копирования и вставки. + +--- + +## Что понадобится + +- **Python 3.8+** (код работает на 3.9, 3.10 и новее) +- Действующая лицензия **Aspose OCR for Python** (бесплатная пробная версия подходит для экспериментов) +- Отсканированный PDF‑файл (например, `scanned_contract.pdf`), который вы хотите сделать поисковым +- Базовые навыки работы с командной строкой и виртуальными окружениями (опционально, но рекомендуется) + +> **Pro tip:** Если у вас ещё нет лицензии, зарегистрируйтесь на 30‑дневную пробную версию на сайте Aspose; пробная версия полностью функциональна для целей разработки. + +--- + +## Как распознать PDF с помощью Aspose OCR (Primary Keyword in H2) + +Первый шаг — получить правильный пакет. Aspose OCR предоставляет чистый, высокоуровневый API, который скрывает детали низкоуровневой обработки изображений. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +После установки пакета вы можете приступить к написанию скрипта. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Почему нужно задавать язык?** +> Точность OCR сильно зависит от языковой модели. Явно указав движку, что ожидается английский текст, вы уменьшаете количество ложных срабатываний и ускоряете обработку. + +--- + +## Шаг 2: Конвертировать отсканированный PDF в поисковый PDF + +Теперь, когда движок готов, укажите ему ваш отсканированный документ. Метод `process_pdf` возвращает объект `PdfResult`, содержащий как оригинальные данные изображения, так и распознанный текст. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Если вам нужно **конвертировать отсканированные PDF** файлы пакетно, просто пройдитесь по каталогу и вызовите `process_pdf` для каждого файла. Движок обрабатывает многостраничные PDF «из коробки». + +--- + +## Шаг 3: Сохранить результат как поисковый PDF (Make PDF Searchable) + +Последний элемент головоломки — сохранить поисковую версию. Aspose OCR делает это в одну строку: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +Когда вы откроете `contract_searchable.pdf` в любом PDF‑просмотрщике, вы увидите оригинальное отсканированное изображение, но теперь сможете **искать любое слово**, которое распознал движок OCR. Скрытый текстовый слой невидим глазу, но полностью индексируем. + +--- + +### Полный скрипт – готов к запуску + +Ниже приведён полностью готовый к выполнению пример. Скопируйте‑вставьте его в файл с именем `make_searchable.py` и при необходимости поправьте пути под свою среду. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Ожидаемый вывод:** +Запуск скрипта печатает строку‑подтверждение и создаёт `contract_searchable.pdf`. Откройте файл, нажмите `Ctrl + F` и введите любое слово, присутствующее в оригинальном отсканированном изображении — вы сразу увидите совпадения. + +--- + +## Часто задаваемые вопросы и особые случаи + +### 1. Что если PDF содержит несколько языков? + +Можно передать список языков движку: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR попытается распознать текст на обоих языках в пределах одной страницы. + +### 2. Как работать с низкокачественными сканами? + +Если исходные изображения имеют менее 150 dpi, точность OCR может пострадать. Предобработайте PDF с помощью инструмента вроде `pdfimages`, извлеките страницы, увеличьте их с помощью Pillow и передайте полученные изображения обратно в `process_pdf`. + +### 3. Можно ли извлечь чистый текст без создания поискового PDF? + +Конечно. Объект `PdfResult` предоставляет свойство `text`: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Это решает задачу **extract text pdf**, когда нужен только сырой набор символов. + +### 4. Есть ли способ пакетно обработать папку PDF? + +Да — оберните функцию `ocr_to_searchable` простым циклом: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Теперь вы можете **конвертировать отсканированные pdf** файлы массово одной командой. + +--- + +## Советы по производительности + +- **Повторное использование движка**: Создание нового `OcrEngine` для каждого файла добавляет накладные расходы. Инстанцируйте его один раз и переиспользуйте при множественных вызовах. +- **Параллельная обработка**: Для больших пакетов рассмотрите `concurrent.futures.ThreadPoolExecutor` — Aspose OCR потокобезопасен для операций только чтения. +- **Управление памятью**: При обработке очень больших PDF (сотни страниц) вызывайте `gc.collect()` после каждого файла, чтобы освободить память. + +--- + +## Заключение + +Мы рассмотрели, **как распознать PDF** файлы на Python, превратили эти сканы в **поисковые PDF** и даже показали, как **извлечь текст PDF** напрямую. С Aspose OCR вы получаете надёжный движок, который справляется с многостраничными документами, несколькими языками и высокой точностью распознавания — всё это в паре строк кода. + +Попробуйте на своих контрактах, счётах или архивных научных работах. Овладев базовыми навыками, экспериментируйте с продвинутыми возможностями — пользовательскими словарями, предобработкой изображений или интеграцией результата в полнотекстовый поисковый индекс, например Elasticsearch. + +Есть дополнительные вопросы о **ocr scanned pdf python** или нужна помощь с трудным сканом? Оставляйте комментарий ниже, и счастливого кодинга! + +--- + +![пример как распознать pdf](image-placeholder.png){alt="пример как распознать pdf"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/russian/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..58a93021 --- /dev/null +++ b/ocr/russian/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-01-12 +description: Как быстро и точно выполнять OCR. Узнайте, как запускать OCR на документе, + извлекать текст из TIFF, загружать изображение для OCR и задавать язык OCR в Python. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: ru +og_description: Как выполнить OCR в Python. Этот учебник покажет, как запустить OCR + на документе, извлечь текст из TIFF, загрузить изображение для OCR и установить + язык OCR. +og_title: Как выполнить OCR в TIFF‑документе – Полное руководство +tags: +- OCR +- Python +- Image Processing +title: Как выполнить OCR в TIFF‑документе – пошаговое руководство +url: /ru/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как выполнить OCR на TIFF‑документе – Полное руководство + +Когда‑нибудь задумывались **как выполнить OCR** на отсканированном TIFF‑файле, не тратя часы на поиски подходящей библиотеки? Вы не одиноки. Многие разработчики сталкиваются с проблемой, когда нужно извлечь текст из TIFF‑изображений, особенно если важны производительность и настройки языка. + +В этом руководстве мы пройдем всё, что вам нужно знать: от установки OCR‑пакета, загрузки изображения для OCR, установки языка OCR, до окончательного **запуска OCR на документе** и получения чистого текста. К концу вы получите готовый к запуску скрипт, который можно добавить в любой проект. + +> **Совет:** Хотя в примере используется общий модуль `ocr`, те же концепции применимы к Tesseract, EasyOCR или любому современному OCR‑движку, предоставляющему Python API. + +--- + +## Что понадобится + +- Python 3.8+ (подойдёт любая современная версия) +- Библиотека OCR, предоставляющая класс `OcrEngine` (в примере используется вымышленный пакет `ocr`; замените его на ваш реальный) +- Многостраничный TIFF‑файл, который вы хотите обработать (назовём его `big_document.tif`) +- Компьютер с минимум 4‑ядерным процессором, если планируете задавать количество потоков + +Никаких внешних сервисов, без облачных ключей — только локальный код, который работает за секунды. + +![пример выполнения OCR](/images/ocr-example.png "как выполнить OCR на TIFF‑документе") + +*Текст alt изображения: как выполнить OCR на TIFF‑документе — предварительный просмотр извлечённого текста.* + +## Шаг 1: Установить и импортировать OCR‑библиотеку + +Сначала необходимо получить библиотеку на ваш компьютер. Большинство OCR‑пакетов находятся в PyPI, поэтому простая команда `pip install` решит задачу. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Теперь импортируйте необходимые классы. Если вы используете Tesseract, строка импорта будет выглядеть иначе, но остальной код останется тем же. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Почему это важно:* ранний импорт нужных символов предотвращает конфликты имён позже и делает скрипт более читаемым. + +## Шаг 2: Создать и настроить OCR‑движок (установить язык OCR) + +Настройка движка — это место, где вы **устанавливаете язык OCR** для точного распознавания. По умолчанию — английский, но вы можете переключиться на французский, немецкий или даже многоязычный режим одной строкой. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Зачем 4 потока?** На большинстве современных ноутбуков минимум четыре ядра, и ограничение количества потоков не позволяет процессу OCR захватывать весь компьютер — особенно полезно, когда скрипт работает на общем сервере. + +Если нужен другой язык, просто замените `ocr.Language.ENGLISH` на `ocr.Language.FRENCH`, `ocr.Language.SPANISH` и т.д. + +## Шаг 3: Загрузить изображение для OCR (Load Image for OCR) + +Теперь мы **загружаем изображение для OCR**. Метод `Image.load` читает TIFF‑файл в память, автоматически обрабатывая многостраничные документы. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Пограничный случай:* Если файл огромный, может закончиться оперативная память. В таком случае рассмотрите загрузку по одной странице с помощью `Image.load_page(page_number)` (если библиотека поддерживает это). + +## Шаг 4: Запустить OCR на документе + +Когда движок готов и изображение загружено, пора **запустить OCR на документе**. Метод `process` выполняет основную работу и возвращает объект результата. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +Внутри движок разбивает изображение на текстовые блоки, запускает модель распознавания и объединяет результаты. Вызов блокирующий, то есть скрипт ждёт, пока весь TIFF будет обработан — идеально для пакетных задач. + +## Шаг 5: Извлечь текст из TIFF и проверить вывод + +Наконец, мы **извлекаем текст из TIFF**, обращаясь к атрибуту `text` результата. Выведем первые 200 символов для быстрой проверки. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Ожидаемый вывод (пример):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Если нужен полный текст, просто используйте `ocr_result.text`. Для последующей обработки вы можете записать его в файл `.txt`: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +## Полный рабочий пример + +Объединив всё вместе, получаем готовый к запуску скрипт. Замените имя пакета‑заполнителя на то, которое вы действительно установили. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Запустите скрипт командой: + +```bash +python ocr_tiff_example.py +``` + +Вы должны увидеть предварительный просмотр, выведенный в консоль, и файл `extracted_text.txt`, содержащий полную транскрипцию. + +## Часто задаваемые вопросы и пограничные случаи + +- **Что если TIFF содержит несколько страниц?** + Большинство OCR‑движков рассматривают каждую страницу как отдельное изображение. `ocr_result.text` будет содержать перевод строки между страницами. Если требуется обработка по страницам, используйте цикл с `Image.load_page(page_number)`. + +- **Можно ли обработать PNG или JPEG вместо TIFF?** + Конечно. Метод `Image.load`, как правило, принимает любой формат, поддерживаемый Pillow или базовой библиотекой. Просто измените расширение файла. + +- **Текст искажён — стоит ли менять язык?** + Да. Шаг `set OCR language` критически важен для неанглийских документов. Убедитесь, что языковой пакет установлен (например, `tesseract‑lang‑fra` для французского). + +- **Не хватает памяти?** + Уменьшите `set_memory_limit` или обрабатывайте страницы по одной. Некоторые движки также позволяют уменьшать масштаб изображения перед распознаванием. + +## Заключение + +Вот и всё — лаконичное, полностью рабочее руководство о **как выполнить OCR** на TIFF‑файле с помощью Python. Мы рассмотрели всё: от установки библиотеки, настройки движка (включая **set OCR language**), **load image for OCR**, **run OCR on document**, и наконец **extract text from tiff**. + +Не стесняйтесь экспериментировать: изменять количество потоков, переключать языки или передавать вывод OCR в конвейер обработки естественного языка. Возможности безграничны, как только вы освоите основы. + +Есть дополнительные вопросы? Оставьте комментарий ниже, и счастливого кодинга! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/russian/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..7e7991ad --- /dev/null +++ b/ocr/russian/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,178 @@ +--- +category: general +date: 2026-01-12 +description: как установить язык в Aspose OCR Python и извлечь текст из изображения + с использованием пользовательского словаря. пошаговое руководство для разработчиков. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: ru +og_description: как установить язык в Aspose OCR Python и извлечь текст из изображения + с пользовательским словарём. Узнайте полный рабочий процесс за несколько минут. +og_title: Как установить язык в Aspose OCR Python – Полное руководство +tags: +- OCR +- Python +- Aspose +- Image Processing +title: Как установить язык в Aspose OCR Python – Полное руководство +url: /ru/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# как установить язык в Aspose OCR Python – Полное руководство + +Когда‑нибудь задумывались **как установить язык**, используя Aspose OCR в Python? Вы не одиноки — многие разработчики сталкиваются с этой проблемой, когда модель по умолчанию (английская) не распознаёт коды продуктов, серийные номера или многоязычный текст. Хорошая новость — решение простое и мощное. В этом руководстве мы пройдёмся по настройке языка, добавлению пользовательского словаря, извлечению текста из изображения и, наконец, обработке изображения для получения лучших результатов OCR. + +Мы охватим всё, что вам нужно знать: от установки библиотеки до запуска полного примера, который выводит извлечённый текст. К концу вы сможете **извлекать текст из изображения** с уверенностью, даже если содержимое включает необычные коды или смешанные языки. + +## Требования + +* Python 3.8+ установлен (код использует f‑строки, поэтому более старые версии не работают). +* Действующая лицензия Aspose OCR for Python или бесплатный пробный ключ. +* Пакет `asposeocr`, установленный через `pip install asposeocr`. +* Пример изображения (`product_label.png`), содержащий текст, который вы хотите прочитать. + +Если у вас уже есть всё перечисленное, отлично — переходим дальше. Если нет, получите бесплатную пробную версию на сайте Aspose и выполните команду установки; это займет всего минуту. + +## Шаг 1: Импортировать модуль Aspose OCR + +Первое, что нужно сделать, — импортировать классы OCR в ваш скрипт. Это фундамент для **как установить язык** позже. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Совет:** Держите импорты в начале файла. Это упрощает чтение скрипта, особенно когда вы возвращаетесь к нему позже. + +## Шаг 2: Как установить язык + +По умолчанию Aspose OCR предполагает английский. Если ваше изображение содержит французский, немецкий или любой другой язык, вам нужно указать движку, какой язык использовать. Здесь проявляется основное ключевое слово. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Почему это важно? OCR‑движки опираются на языково‑специфичные модели символов. Указание правильного языка значительно повышает точность — особенно для символов с диакритическими знаками или языково‑специфических лигатур. + +> **Примечание:** Если необходимо поддерживать несколько языков одновременно, можно передать список, например `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## Шаг 3: Как добавить словарь (пользовательские слова) + +Иногда OCR‑движок ошибочно читает коды продуктов, такие как “AB‑1234”. Вы можете повысить уверенность, передав пользовательский словарь. Это напрямую отвечает на вопрос **как добавить словарь** в Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +Движок рассматривает эти слова как «известные» и будет отдавать им предпочтение перед похожими символами. Это особенно удобно для номеров SKU, серийных кодов или брендов, которые не входят в естественный язык. + +## Шаг 4: Как обработать изображение + +Теперь, когда движок настроен, нужно загрузить изображение, которое вы хотите проанализировать. Это решает задачу **как обработать изображение** чистым и повторяемым способом. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +Если вы работаете с PDF‑файлами, можно сначала конвертировать каждую страницу в изображение — Aspose OCR поддерживает это «из коробки». + +## Шаг 5: Как извлечь текст из изображения + +С учётом всех настроек, последний шаг — запустить OCR и получить текст. Это суть **как извлечь текст** из изображения. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +При запуске скрипта вы должны увидеть что‑то вроде: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Если вывод выглядит искажённым, проверьте, что вы задали правильный язык и что ваш пользовательский словарь содержит точные строки, которые вы ожидаете. + +## Полный рабочий пример + +Объединив всё вместе, вот полный скрипт, который можно скопировать в файл `extract_label.py`. Не забудьте заменить `YOUR_DIRECTORY` на реальный путь к вашему изображению. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Ожидаемый вывод + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Если вы видите точно те коды, которые добавили в словарь, вы успешно освоили **как установить язык**, **как добавить словарь** и **как извлечь текст из изображения** с помощью Aspose OCR. + +## Обработка распространённых граничных случаев + +| Ситуация | Что делать | +|-----------|------------| +| **Изображение размыто** | Предобработать с помощью `ocr.Image.apply_filter()` для повышения резкости перед вызовом `process()`. | +| **Несколько языков на одном изображении** | Установить `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **Большие PDF‑файлы** | Пройтись по каждой странице, конвертировать в `ocr.Image` и вызвать `process()` для каждой страницы. | +| **Неожиданные символы** | Добавить их в список пользовательских слов; Aspose OCR будет рассматривать их как токены с высокой уверенностью. | + +Эти советы делают ваш OCR‑конвейер надёжным, даже если входные данные не идеальны. + +## Визуальная ссылка + +![how to set language in Aspose OCR example](image.png "Screenshot showing how to set language in Aspose OCR Python example") + +*Alt text:* **как установить язык** скриншот, иллюстрирующий присвоение свойства language в IDE Python. + +## Заключение + +Теперь вы знаете **как установить язык** в Aspose OCR Python, как **добавлять словарь** и точные шаги **извлечения текста из изображения** и **обработки изображения** для оптимальных результатов. Приведённый выше полный пример можно вставить в любой проект, адаптировать под разные языки и расширить для пакетной обработки или ввода PDF. + +Готовы к следующему вызову? Попробуйте заменить `ocr.Language.ENGLISH` на `ocr.Language.FRENCH` и наблюдайте, как повышается точность распознавания французских этикеток. Или поэкспериментируйте с методом `set_user_defined_words`, чтобы включить весь каталог продуктов — ваш OCR‑движок будет рассматривать каждую запись как совпадение с высокой уверенностью. + +Счастливого кодинга, и пусть ваши результаты OCR всегда будут кристально чистыми! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/russian/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..2c4a5ff8 --- /dev/null +++ b/ocr/russian/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,211 @@ +--- +category: general +date: 2026-01-12 +description: Обрабатывайте рукописные заметки в Python с помощью Aspose OCR — узнайте, + как быстро извлекать текст из JPG‑изображений. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: ru +og_description: Обрабатывайте рукописные заметки в Python с помощью Aspose OCR. Узнайте, + как извлекать текст из jpg‑изображений, распознавать рукописный текст с помощью + OCR и загружать изображения для OCR. +og_title: Обрабатывайте рукописные заметки с помощью Python – Полный учебник по OCR +tags: +- OCR +- Python +- Aspose +title: Обрабатывайте рукописные заметки с помощью Python — Руководство по распознаванию + рукописного текста. +url: /ru/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Обработка рукописных заметок с помощью Python – Руководство по рукописному OCR + +Если вам нужно **обрабатывать рукописные заметки** в Python, это руководство покажет вам, как это сделать. Независимо от того, находятся ли заметки на отсканированном чеке, на фотографии доски в классе или на быстрой селфи‑фотографии списка дел, вы узнаете **как извлекать текст** из этих изображений без усилий. + +Мы пройдём каждый шаг — импорт библиотеки Aspose OCR, загрузку JPG, запуск движка и работу с низкоуверенными строками. К концу вы получите готовый к запуску скрипт, который может **распознавать текст из jpg** файлов и выдавать чистые, пригодные к использованию строки. + +## Что вы получите + +- Полный, исполняемый пример кода, который работает сразу же. +- Понимание, почему важна каждая строка, а не только что она делает. +- Советы по работе с неаккуратным почерком и результатами с низкой уверенностью. +- Руководство по расширению скрипта для PDF, нескольких изображений или пользовательских языковых пакетов. + +*Prerequisites*: установлен Python 3.8+, действующая лицензия Aspose OCR (или бесплатный пробный период) и файл изображения `handwritten_notes.jpg` в папке проекта. + +--- + +![Process handwritten notes example](https://example.com/handwritten-notes.png "process handwritten notes") + +*Alt text: process handwritten notes – пример изображения, показывающего рукописный текст, готовый к OCR.* + +## Обработка рукописных заметок: настройка OCR‑движка + +### Почему этот шаг важен +OCR‑движок — это мозг процесса распознавания. Выбор правильного языка и корректная инициализация объекта гарантируют, что движок будет искать английские символы и сможет справиться с особенностями рукописного ввода. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Pro tip:** Если вы ожидаете заметки на другом языке, замените `ocr.Language.ENGLISH` на соответствующий enum (например, `ocr.Language.FRENCH`). Движок автоматически загрузит нужный набор символов. + +--- + +## Как извлекать текст из JPG‑изображений + +### Загрузка изображения — первый барьер +Прежде чем движок сможет что‑то сделать, ему нужна битовая карта вашего JPG. Aspose предоставляет удобный статический метод `load`, который читает файл в объект `Image`. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Почему не использовать OpenCV или Pillow?* +Эти библиотеки отличны для предобработки, но `Image.load` от Aspose гарантирует точный формат пикселей, который ожидает OCR‑движок, устраняя распространённую проблему несовпадения глубины цвета. + +--- + +## Распознавание текста из JPG с помощью Handwritten OCR Python + +### Запуск OCR‑движка +Теперь, когда движок и изображение готовы, мы запускаем распознавание. Метод `process` возвращает объект `OcrResult`, содержащий список объектов `Line`, каждый из которых имеет свою оценку уверенности. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**What’s happening under the hood?** +Aspose OCR использует модель глубокого обучения, обученную на миллионах образцов рукописного текста. Она сегментирует изображение на строки, затем на символы и в конце собирает наиболее вероятную строку текста для каждой линии. + +--- + +## Загрузка изображения для OCR — обработка результатов с низкой уверенностью + +### Почему стоит обращать внимание на уверенность +Рукописный OCR никогда не бывает 100 % точным. Оценка уверенности ниже 75 % обычно означает, что движок столкнулся с проблемой порядка штрихов или шумом фона. Фильтруя такие строки, вы можете решить, запросить ли подтверждение у пользователя или применить дополнительную предобработку изображения. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Typical output** (your results will vary): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Обратите внимание, как скрипт чётко разделяет надёжный текст и «шаткие» фрагменты. Позднее вы можете отправить строки с низкой уверенностью на второй проход с фильтрами улучшения изображения (например, повышение контраста) или передать их человеку для проверки. + +--- + +## Полный скрипт — готов к запуску + +Ниже представлен весь код программы, готовый к копированию. Сохраните его как `handwritten_ocr.py` и запустите `python handwritten_ocr.py`. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Expected behavior:** +- Скрипт выводит каждую строку с процентом уверенности. +- Строки с уверенностью выше 75 % помечаются как “Accepted”, остальные — как требующие проверки. +- Дополнительные зависимости не требуются, кроме `asposeocr`. + +--- + +## Часто задаваемые вопросы и особые случаи + +### Что если моё изображение в формате PNG или BMP? +Aspose OCR автоматически определяет формат, поэтому достаточно изменить расширение файла в `image_path`. Код менять не нужно. + +### Мой почерк крайне неразборчив — как улучшить точность? +1. **Preprocess the image** — увеличьте контраст, удалите тени фона (может помочь OpenCV). +2. **Increase the confidence threshold** — установите её на 80 %, если нужны почти идеальные строки. +3. **Train a custom model** — Aspose предлагает функцию «custom language pack» для специализированных стилей рукописного ввода. + +### Можно ли обрабатывать несколько изображений за один запуск? +Конечно. Оберните шаги загрузки и распознавания в цикл `for` по списку путей к файлам. Не забудьте переиспользовать один и тот же экземпляр `ocr_engine` для ускорения. + +### Работает ли это на macOS/Linux? +Да. Aspose OCR предоставляет wheel‑пакеты для всех основных платформ. Просто выполните `pip install asposeocr`, и всё готово к работе. + +--- + +## Следующие шаги и связанные темы + +- **How to extract text from PDFs** — как только у вас есть OCR‑конвейер, передача страниц PDF в `ocr.Image.load` требует лишь одной строки кода. +- **Integrating with a database** — сохраняйте каждую принятый строку в SQLite или PostgreSQL для удобного поиска по заметкам. +- **Real‑time OCR on mobile** — комбинируйте этот скрипт с Flask или FastAPI, чтобы открыть REST‑endpoint, вызываемый мобильными приложениями. + +Все эти расширения опираются на основные концепции, рассмотренные в руководстве: **process handwritten notes**, **how to extract text**, **recognize text from jpg**, и **load image for OCR**. + +--- + +## Заключение + +Теперь у вас есть надёжное сквозное решение для **process handwritten notes** с использованием Python и Aspose OCR. Руководство показало, как настроить движок, загрузить JPG, выполнить распознавание и обработать результаты с низкой уверенностью — всё в одном готовом к копированию скрипте. + +Дальше экспериментируйте с различными методами предобработки изображений, повышайте порог уверенности или масштабируйте решение для пакетной обработки сотен заметок. Возможности безграничны, а полученный код — это ваш стартовый блок. + +*Счастливого кодинга, и пусть ваши рукописные заметки наконец‑то станут поисковым текстом!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/russian/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..c516bc4f --- /dev/null +++ b/ocr/russian/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,238 @@ +--- +category: general +date: 2026-01-12 +description: Учебник по OCR на Python, показывающий, как извлекать текст таблицы из + изображения. Научитесь считывать таблицу с изображения и извлекать выбранный текст + с помощью Aspose OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: ru +og_description: Python OCR‑урок, который учит извлекать текст таблицы из изображения, + считывать таблицу с изображения и извлекать выбранный текст с помощью Aspose OCR. +og_title: 'Учебник по OCR в Python: извлечение текста таблицы из изображений' +tags: +- OCR +- Python +- AsposeOCR +title: 'Учебник по OCR в Python: извлечение текста таблицы из изображений' +url: /ru/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR Tutorial: Извлечение текста таблицы из изображений + +Когда‑нибудь вам нужен был **python ocr tutorial**, который действительно показывает, как извлечь таблицу из отсканированной формы? Вы не одиноки. Большинство руководств останавливаются на общем извлечении текста, оставляя вас гадать, как изолировать аккуратную сетку данных, которая вам нужна. + +В этом руководстве мы пройдем реальный сценарий: чтение таблицы из изображения, извлечение только нужного вам выбранного текста и, наконец, вывод результатов. По пути мы добавим советы о **how to extract table** данных надёжно, чтобы вам не пришлось изобретать велосипед каждый раз. + +## Что вы узнаете + +- Как настроить Aspose OCR для Python. +- Как определить прямоугольную область, содержащую таблицу. +- Точные шаги для **extract table text** и **read table from image**. +- Советы по работе с несколькими языками или нерегулярными макетами таблиц. +- Полный, исполняемый скрипт, который вы можете сразу добавить в свой проект. + +**Prerequisites** +- Python 3.8 или новее. +- Базовое знакомство с концепциями OCR (не требуется глубокая экспертиза). +- PNG или JPEG изображение, содержащее чёткую таблицу (мы назовём его `form_with_table.png`). + +Если у вас есть всё это, давайте погрузимся — без лишних слов, только практический код. + +![python ocr tutorial example of table region](table_region_example.png){alt="пример python ocr tutorial, показывающий область таблицы"} + +## Шаг 1: Установить и импортировать Aspose OCR + +First things first: you need the Aspose OCR library. The package is on PyPI, so a single `pip` command does the trick. + +```bash +pip install aspose-ocr +``` + +Now import the module and any helpers you’ll need. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro tip:* Keep your dependencies in a `requirements.txt` file. It makes reproducing the environment a breeze. + +## Шаг 2: Инициализировать OCR‑движок (ядро Python OCR Tutorial) + +Creating the engine is the heart of any **python ocr tutorial**. Here we also set the default language to English—feel free to swap it out later. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Why set the language? OCR accuracy can jump dramatically when the engine knows what characters to expect. If you’re dealing with multilingual forms, you can either set a list of languages or override per region (see later). + +## Шаг 3: Загрузить изображение + +Aspose OCR works with most common image formats. Just point it at the file path, and you’ll have an `Image` object ready for processing. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Edge case:* Large images (over 5 MB) can slow down processing. Consider resizing or compressing them before OCR if performance becomes an issue. + +## Шаг 4: Определить область таблицы (Read Table from Image) + +Now comes the fun part: telling the engine *where* the table lives. You provide an `OcrRegion` with a `Rectangle` (x, y, width, height). The coordinates are pixel‑based, so you may need to experiment a bit. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Why use a region? By limiting OCR to the table area we **extract selected text** faster and avoid noise from surrounding labels or graphics. It also improves accuracy because the engine can focus on a uniform layout. + +## Шаг 5: Запустить OCR на определённой области + +With the region set, we invoke `process_region`. The method returns an `OcrResult` object that holds the raw text, confidence scores, and even bounding boxes if you need them later. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +If you need to extract multiple tables, simply repeat Steps 4‑5 with different rectangles. + +## Шаг 6: Вывести извлечённый текст таблицы + +Finally, print—or store—the table’s textual representation. Aspose OCR returns plain text with line breaks that usually align with rows, making post‑processing straightforward. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Expected output** (example): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +You can now feed this string into `csv` parsers, pandas DataFrames, or any downstream analytics pipeline. + +## Полный рабочий пример + +Putting it all together, here’s the complete script you can run immediately. Replace `YOUR_DIRECTORY/form_with_table.png` with the actual path to your image. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Run the script with `python extract_table.py`. If everything lines up, you’ll see the table printed to your console. + +## Часто задаваемые вопросы и обработка крайних случаев + +**What if the table isn’t perfectly rectangular?** +You can split the table into multiple overlapping regions or use a larger rectangle that covers the whole area and then post‑process the text (e.g., split on line breaks). + +**Can I extract only specific columns?** +After you have the full table text, use Python’s `csv` or `pandas` to slice out the columns you care about. The OCR step itself returns everything inside the rectangle. + +**How do I work with non‑English tables?** +Set `ocr_engine.language` (or `region.language`) to the appropriate enum, such as `ocr.Language.FRENCH` or combine multiple languages using `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**Is there a way to get bounding boxes for each cell?** +Aspose OCR can return `region_result.words` where each word includes a bounding box. You’d need to map those boxes back to a grid—useful for advanced layout analysis. + +## Советы для повышения точности + +- **Clean the image**: Binarize or increase contrast before feeding it to OCR. Libraries like Pillow can help. +- **Avoid compression artifacts**: Save scans as PNG when possible. +- **Mind DPI**: 300 dpi is a sweet spot; lower values can cause missed characters. +- **Test different rectangle sizes**: Slightly larger rectangles often capture stray characters that belong to the table. + +## Следующие шаги + +Now that you’ve mastered **how to extract table** data with Aspose OCR, you might explore: + +- Преобразование извлечённого текста в CSV‑файл с помощью модуля Python `csv`. +- Передача данных в **pandas** DataFrame для анализа. +- Использование OCR для чтения рукописных форм (требуется другой движок или дополнительное обучение). +- Автоматизация пакетной обработки десятков отсканированных форм с помощью простого цикла `for`. + +Each of these extensions builds on the core concepts covered in this **python ocr tutorial**, so you’re well‑positioned to scale up. + +--- + +*Happy coding! If you hit any snags, drop a comment below—I'll be glad to help you fine‑tune the extraction.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/russian/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..445abe46 --- /dev/null +++ b/ocr/russian/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,284 @@ +--- +category: general +date: 2026-01-12 +description: Быстро выполняйте OCR для PNG‑файлов с помощью Python. Узнайте, как извлекать + текст из изображения и счета, а также загружать изображение для OCR с использованием + Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: ru +og_description: Запустите OCR на PNG мгновенно. Это руководство показывает, как извлечь + текст из изображения и счета, загрузить изображение для OCR и сохранить результаты + в формате JSON и CSV. +og_title: Запуск OCR на PNG – Полный учебник по Python +tags: +- OCR +- Python +- Image Processing +title: Run OCR on PNG – Complete Python Guide to Extract Text from Images +url: /ru/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Запуск OCR на PNG – Полное руководство Python по извлечению текста из изображений + +Когда‑то вам нужно было **запустить OCR на PNG**‑файлах, но вы не знали, какая библиотека даст чистый, структурированный результат? Вы не одиноки. Во многих реальных проектах — например, автоматизация обработки счетов или сканирование чеков — первый шаг — это **извлечение текста из изображения**, а PNG часто используется, потому что сохраняет без потерь. + +В этом руководстве мы пройдем практический пример с пакетом Aspose.OCR для Python. К концу вы узнаете, как **загрузить изображение для OCR**, получить каждую строку текста, превратить данные в аккуратный JSON‑объект и даже сохранить их в CSV для дальнейшей обработки. Без лишних слов, только готовое к использованию решение. + +## Что вы узнаете + +- Как установить и импортировать библиотеку Aspose.OCR. +- Точные шаги для **запуска OCR на PNG** и работы с объектом результата. +- Способы **извлечения текста из счета** и форматирования вывода в JSON или CSV. +- Советы по работе с изображениями низкого контраста, многоязычными документами и оценками уверенности. +- Полный пример кода, который можно скопировать и выполнить сразу. + +> **Prerequisite:** Python 3.8+ и базовое знакомство с pip. Если вы никогда не работали с Aspose, не переживайте — это руководство покрывает всё необходимое для старта. + +--- + +## Шаг 1 – Установить Aspose.OCR и подготовить окружение + +Прежде чем мы сможем **запустить OCR на PNG**, библиотека должна быть установлена в вашей системе. + +```bash +pip install aspose-ocr +``` + +> **Pro tip:** Используйте виртуальное окружение (`python -m venv venv`), чтобы изолировать зависимости. Это предотвращает конфликты версий, если вы работаете над несколькими проектами одновременно. + +После установки импортируйте необходимые модули: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Здесь мы подключаем `asposeocr` для основной работы и встроенную библиотеку `json` для последующей сериализации. + +--- + +## Шаг 2 – Создать OCR‑движок и задать язык + +OCR‑движок — это ядро, которое действительно читает пиксели. Для большинства английских счетов вам понадобится пакет английского языка: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Why this matters:** Указание языка сужает набор символов, что повышает точность и ускоряет обработку. Если понадобится поддержка нескольких языков, просто замените `ocr.Language.ENGLISH` на нужный enum. + +--- + +## Шаг 3 – Загрузить изображение для OCR + +Теперь мы **загружаем изображение для OCR**. Метод `Image.load` принимает путь к файлу и работает с PNG, JPEG, BMP и другими форматами. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Edge case:** Если PNG необычно большой (более 5 МБ), рассмотрите возможность предварительного изменения размера, чтобы снизить потребление памяти. Это можно сделать в одну строку с помощью Pillow: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## Шаг 4 – Запустить OCR на PNG и получить результат + +Когда движок готов и изображение загружено, пришло время **запустить OCR на PNG** и получить структурированный результат. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +Объект `ocr_result` содержит коллекцию элементов `OcrRegion`, каждый из которых имеет распознанный текст и оценку уверенности (0‑100). Здесь вы получаете детальные данные, необходимые для **извлечения текста из счета**. + +--- + +## Шаг 5 – Преобразовать результат в JSON и красиво вывести + +Большинство downstream‑систем любят JSON, поэтому мы превратим вывод OCR в красиво отформатированную строку. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Пример вывода + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Обратите внимание, что каждая строка содержит метрику уверенности — это удобно для фильтрации записей с низкой уверенностью, если вы планируете **извлекать текст из счета** автоматически. + +--- + +## Шаг 6 – Сохранить данные OCR в CSV (по одной строке текста + уверенность) + +CSV — идеальный формат для таблиц или быстрой импорта данных. Aspose предлагает однострочник для выгрузки всего в CSV‑файл. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +Сгенерированный CSV будет выглядеть так: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Теперь его можно открыть в Excel, Google Sheets или загрузить в базу данных. + +--- + +## Бонус – Обработка текста с низкой уверенностью и многостраничных PDF + +### Фильтрация по уверенности + +Если нужны только строки с высокой уверенностью, отфильтруйте JSON перед записью: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Многостраничные документы + +Aspose.OCR автоматически создаёт новую запись `page` для каждой страницы в многостраничном PNG или PDF. Пройдитесь по `ocr_data["pages"]`, чтобы обработать их все — дополнительный код не требуется. + +--- + +## Полный рабочий пример + +Ниже представлен **полный скрипт**, который можно скопировать, вставить и сразу запустить. Замените `YOUR_DIRECTORY` на папку, где хранится ваш PNG‑файл. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Запустите скрипт командой `python run_ocr.py`, и вы увидите дамп JSON в консоли, CSV‑файл на диске и отфильтрованный список записей с высокой уверенностью. + +--- + +## Часто задаваемые вопросы + +**Q: Можно ли использовать это для извлечения текста из отсканированного чека вместо счета?** +A: Конечно. Тот же процесс работает — просто укажите `image_path` на ваш PNG‑чек. Если чек на другом языке, поменяйте `engine.language` соответственно. + +**Q: Что делать, если мой PNG содержит повернутый текст?** +A: Aspose.OCR автоматически определяет ориентацию, но в упорных случаях вы можете вручную повернуть изображение с помощью Pillow перед передачей его движку. + +**Q: Нужна ли платная лицензия для Aspose.OCR?** +A: Библиотека предлагает бесплатный режим оценки с водяным знаком на выводе. Для продакшн‑использования потребуется лицензия, которую можно получить на сайте Aspose. + +--- + +## Заключение + +Мы рассмотрели всё, что нужно для **запуска OCR на PNG**‑файлах с помощью Python: установка SDK, загрузка изображения, извлечение структурированного текста и сохранение результата в JSON или CSV. Независимо от того, хотите ли вы **извлечь текст из изображения** для простого скрипта или **извлечь текст из счета** для автоматизированного бухгалтерского конвейера, приведённые шаги дают надёжную, готовую к продакшну основу. + +Дальше вы можете: + +- Интегрировать CSV‑вывод с базой данных для массового хранения счетов. +- Добавить пост‑обработку с помощью регулярных выражений для извлечения дат, сумм или ИНН. +- Использовать функцию `ocr_engine.recognize_barcode`, если в ваших счетах есть QR‑коды. + +Попробуйте, отрегулируйте пороги уверенности и наблюдайте, как ваш процесс обработки документов становится лёгким. Есть вопросы или интересный кейс? Оставляйте комментарий ниже — приятного OCR! + +![run OCR on PNG example](run-ocr-on-png.png "run OCR on PNG – визуальный пример результата OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/spanish/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..7c3eed0a --- /dev/null +++ b/ocr/spanish/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-01-12 +description: Extrae texto de una imagen en Python usando Aspose OCR. Aprende cómo + convertir una imagen escaneada a texto con código asíncrono en solo minutos. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: es +og_description: Extrae texto de una imagen con Python y Aspose OCR. Este tutorial + muestra cómo convertir una imagen escaneada a texto usando funciones asíncronas. +og_title: Extraer texto de una imagen con Python – Guía de OCR asíncrono +tags: +- python +- ocr +- async +title: Extraer texto de una imagen con Python – Guía de OCR asíncrono +url: /es/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extraer texto de una imagen con Python – Guía de OCR asíncrono + +¿Alguna vez necesitaste **extraer texto de una imagen con Python** pero te quedaste atascado en la parte del OCR? No eres el único. Muchos desarrolladores se topan con un muro cuando tienen un documento escaneado y quieren convertirlo en texto buscable sin volverse locos. + +En este tutorial recorreremos un ejemplo completo y ejecutable que muestra cómo **convertir una imagen escaneada a texto** usando la API asíncrona de Aspose OCR. Al final tendrás una única función que podrás insertar en cualquier proyecto, y comprenderás por qué el procesamiento async puede mantener tu aplicación responsiva incluso cuando el OCR tarda unos segundos. + +## Requisitos previos + +Antes de sumergirnos, asegúrate de tener: + +- Python 3.8+ instalado (las funciones async requieren al menos 3.7) +- Paquete `asposeocr` (`pip install asposeocr`) – es la librería que utilizaremos +- Un archivo de imagen escaneada (TIFF, PNG, JPEG – cualquier formato que Aspose OCR admita) +- Familiaridad básica con `asyncio` (si no la tienes, no te preocupes – explicaremos cada paso) + +No se requieren dependencias de sistema adicionales; Aspose OCR incluye todo lo necesario. + +![Diagrama que muestra el flujo de OCR asíncrono – extraer texto de una imagen con python](https://example.com/async-ocr-diagram.png "flujo de OCR asíncrono – extraer texto de una imagen con python") + +## Paso 1 – Configurar la función auxiliar asíncrona + +El corazón de la solución es una función `async` que carga una imagen, inicia el OCR y luego espera el resultado. Mantener la función asíncrona permite ejecutar otras corrutinas (p. ej., descargar más archivos) mientras el motor de OCR trabaja en segundo plano. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Por qué es importante:** Al devolver un `Future`, Aspose OCR realiza el trabajo pesado en un pool de hilos separado. `await` libera el bucle de eventos, de modo que tu aplicación sigue siendo ágil. Si alguna vez necesitas procesar muchas imágenes concurrentemente, simplemente puedes programar varias llamadas a `async_ocr` con `asyncio.gather`. + +## Paso 2 – Ejecutar la corrutina en el bucle de eventos + +Ahora que tenemos la función auxiliar, necesitamos ejecutarla. `asyncio.run` crea un bucle de eventos nuevo, ejecuta la corrutina y cierra todo de forma limpia. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Consejo profesional:** Si integras esto en una aplicación async más grande (p. ej., FastAPI), llamarías a `await async_ocr(...)` directamente en lugar de usar `asyncio.run`. + +## Paso 3 – Verificar la salida + +Al ejecutar el script, deberías ver algo como: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Si la salida se ve distorsionada, verifica que: + +1. La imagen sea clara y no esté excesivamente comprimida. +2. Has seleccionado el idioma correcto (`ocr.Language.ENGLISH` funciona para la mayoría de textos basados en alfabeto latino). +3. La ruta del archivo sea correcta y el archivo sea legible. + +## Paso 4 – Manejo de casos límite + +### Múltiples idiomas + +Si necesitas **convertir una imagen escaneada a texto** en un idioma distinto al inglés, simplemente cambia la propiedad del idioma: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Archivos grandes + +Para TIFFs muy grandes, considera redimensionar o convertir a un PNG de menor resolución antes de enviarlo al OCR. Esto reduce la presión de memoria y acelera el procesamiento. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Manejo de errores + +Envuelve la llamada al OCR en un bloque `try/except` para capturar errores de red o de licencia. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Paso 5 – Escalar: procesar muchas imágenes concurrentemente + +Como la función es async, puedes lanzar docenas de trabajos de OCR al mismo tiempo: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Este patrón mantiene la CPU ocupada mientras el motor de OCR trabaja en paralelo, reduciendo drásticamente el tiempo total de procesamiento. + +## Conclusión + +Ahora dispones de una solución sólida para **extraer texto de una imagen con Python** que aprovecha la API asíncrona de Aspose OCR. El ejemplo completo muestra cómo: + +1. Inicializar el motor OCR y seleccionar un idioma. +2. Lanzar el OCR de forma asíncrona con `process_async`. +3. Esperar el resultado sin bloquear el bucle de eventos. +4. Manejar inconvenientes comunes como archivos grandes y soporte multilingüe. + +Siéntete libre de adaptar el código a tus propios flujos—ya sea que estés construyendo un sistema de gestión documental, un indexador de búsqueda o una utilidad de línea de comandos sencilla. Los siguientes pasos podrían incluir: + +- Almacenar el texto extraído en una base de datos para búsqueda full‑text. +- Añadir generación de PDF (p. ej., usando `PyPDF2`) para crear PDFs buscables. +- Integrar con un framework web como FastAPI para ofrecer un servicio OCR RESTful. + +¡Feliz codificación y disfruta convirtiendo esas imágenes escaneadas en texto buscable y editable! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/spanish/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..a45284e9 --- /dev/null +++ b/ocr/spanish/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,216 @@ +--- +category: general +date: 2026-01-12 +description: Cómo procesar OCR por lotes rápidamente y extraer texto de archivos JPEG + en Python. Aprende el procesamiento por lotes paso a paso con un ejemplo completo + y ejecutable. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: es +og_description: Cómo procesar OCR por lotes en imágenes y extraer texto de archivos + JPEG. Esta guía le muestra una solución completa en Python, lista para ejecutar. +og_title: Cómo hacer OCR por lotes de imágenes – Tutorial rápido de Python +tags: +- OCR +- Python +- image processing +title: Cómo procesar OCR por lotes en imágenes – Guía rápida para extraer texto de + archivos JPEG +url: /es/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo procesar OCR por lotes en imágenes – Guía rápida para extraer texto de archivos JPEG + +¿Alguna vez te has preguntado **cómo procesar OCR por lotes en imágenes** sin escribir un script separado para cada archivo? No estás solo. En muchos proyectos — escaneo de facturas, digitalización de archivos o moderación de contenido — necesitamos extraer texto de decenas o cientos de archivos JPEG de una sola vez. La buena noticia es que puedes hacerlo con solo unas pocas líneas de Python, y tendrás un motor reutilizable que puedes integrar en cualquier canal. + +En este tutorial te mostraremos exactamente **cómo procesar OCR por lotes en imágenes**, luego recorreremos la extracción de texto de archivos JPEG, el manejo de casos límite y la verificación del resultado. Al final tendrás un script autónomo que puedes ejecutar contra cualquier carpeta de imágenes, y comprenderás por qué el procesamiento por lotes es importante para el rendimiento y la mantenibilidad. + +## Lo que aprenderás + +- Configurar un motor OCR sencillo y ajustarlo para inglés. +- Recopilar todos los archivos JPEG de un directorio con `pathlib`. +- Llamar al motor OCR una sola vez para procesar todo el lote. +- Mostrar una vista previa del texto reconocido para cada imagen. +- Consejos para manejar lotes grandes, diferentes idiomas y errores comunes. + +**Prerequisitos**: Python 3.8+, la biblioteca `ocr` (o cualquier wrapper compatible), y una carpeta de imágenes JPEG que quieras analizar. No se requieren servicios externos — todo se ejecuta localmente. + +--- + +## Paso 1: Inicializar el motor OCR – El núcleo de cómo procesar OCR por lotes en imágenes + +Antes de que podamos **procesar OCR por lotes en imágenes**, necesitamos un motor que sepa leer texto. En la mayoría de las bibliotecas creas un objeto motor, opcionalmente estableces el idioma y luego lo reutilizas para cada archivo. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Why this matters*: Inicializar el motor una sola vez evita la sobrecarga de cargar los modelos de idioma repetidamente. También te brinda un único lugar para ajustar configuraciones (p. ej., DPI, lista blanca de caracteres) que se aplicarán a todo el lote. + +> **Pro tip**: Si planeas procesar documentos multilingües, cambia `ocr.Language.ENGLISH` a `ocr.Language.MULTI` o carga varios paquetes de idioma antes de que comience el lote. + +--- + +## Paso 2: Recopilar todos los archivos JPEG – La parte de “Extraer texto de archivos JPEG” + +Ahora que el motor está listo, debemos indicarle qué imágenes procesar. Usar `pathlib` hace que el código sea independiente de la plataforma y conciso. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Why this matters*: Al recopilar la lista de archivos primero, podemos pasar toda la colección al motor OCR en una sola llamada — exactamente de lo que trata “cómo procesar OCR por lotes en imágenes”. Si tienes subcarpetas, puedes cambiar `glob("**/*.jpg")` para buscar recursivamente. + +> **Edge case**: Si tus imágenes tienen extensiones mixtas (`.jpeg`, `.JPG`), amplía el patrón glob: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Paso 3: Procesar todo el lote en una sola llamada – El verdadero poder del OCR por lotes + +La mayoría de las bibliotecas OCR modernas exponen un método `process_batch` (o con nombre similar) que acepta un iterable de rutas de archivo. Este es el corazón de **cómo procesar OCR por lotes en imágenes** de manera eficiente. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Why this matters*: Una única llamada por lote reduce el número de transiciones Python‑a‑C, mantiene el modelo de idioma cargado en memoria y a menudo permite paralelismo interno. El resultado es una lista de objetos, cada uno con el texto reconocido y sus puntuaciones de confianza. + +> **Performance note**: Para lotes muy grandes (miles de imágenes), considera dividir la lista en fragmentos más pequeños (p. ej., 200 archivos) para evitar un consumo excesivo de memoria. + +--- + +## Paso 4: Mostrar una vista previa del texto extraído – Validación rápida + +Una vez que el lote finaliza, es útil echar un vistazo a los primeros caracteres de cada resultado. Esto te ayuda a confirmar que el OCR está realmente extrayendo texto de tus archivos JPEG. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Why this matters*: Una vista previa corta te permite detectar fallos evidentes (p. ej., salida en blanco, caracteres corruptos) sin abrir cada archivo. Si notas problemas sistemáticos, puedes ajustar la configuración del motor y volver a ejecutar el lote. + +> **Common pitfall**: Olvidar eliminar los caracteres de salto de línea puede hacer que la vista previa se vea desordenada. La línea `replace("\n", " ")` lo limpia. + +--- + +## Ejemplo completo – Todos los pasos combinados + +A continuación tienes el script completo que puedes copiar‑pegar, ajustar la ruta del directorio y ejecutar. Demuestra todo el flujo de trabajo de **cómo procesar OCR por lotes en imágenes** de principio a fin. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Expected output** (sample): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Si la vista previa muestra texto con sentido, has extraído con éxito **texto de archivos JPEG** usando un enfoque por lotes. + +--- + +## Manejo de lotes grandes y escenarios avanzados + +### Dividir cargas de trabajo grandes +Cuando se trata de miles de imágenes, la memoria puede convertirse en un cuello de botella. Divide la lista en fragmentos más pequeños: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Cambiar de idioma +Si tus documentos contienen francés o español, cambia el idioma antes del lote: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Guardar resultados en disco +En lugar de imprimir, quizá quieras escribir cada resultado OCR en un archivo `.txt`: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Conclusión + +Ahora sabes **cómo procesar OCR por lotes en imágenes** y extraer de forma fiable **texto de archivos JPEG** usando un script compacto de Python. Al inicializar el motor una sola vez, recopilar todas las rutas JPEG, procesarlas en un único lote y previsualizar el resultado, logras velocidad y simplicidad. Desde aquí puedes ampliar el flujo — añadir soporte multilingüe, almacenar resultados en una base de datos o integrar el script en una canalización de procesamiento de documentos más grande. + +¿Listo para el siguiente paso? Prueba cambiar la biblioteca `ocr` por Tesseract, experimenta con diferentes pre‑procesamientos de imagen (umbralado, redimensionado) o alimenta el texto extraído a un modelo de procesamiento de lenguaje natural para categorización automática. El cielo es el límite, y ya tienes una base sólida sobre la que construir. + +¡Feliz codificación, y que tus lotes de OCR estén siempre libres de errores! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/spanish/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..ff85f580 --- /dev/null +++ b/ocr/spanish/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,145 @@ +--- +category: general +date: 2026-01-12 +description: Cómo detectar el idioma en imágenes usando Aspose OCR – aprende a extraer + texto de una imagen, manejar OCR de idiomas mixtos y usar OCR en Python. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: es +og_description: 'Cómo detectar el idioma en imágenes usando Aspose OCR: una guía paso + a paso para extraer texto de una imagen y manejar OCR de idiomas mixtos.' +og_title: Cómo detectar el idioma con OCR para texto mixto +tags: +- OCR +- Python +- Aspose +title: Cómo detectar el idioma con OCR para texto mixto +url: /es/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo detectar el idioma con OCR para texto mixto + +Detectar el idioma en imágenes usando Aspose OCR es un desafío común al trabajar con documentos multilingües. ¿Alguna vez te has preguntado **cómo extraer texto de una imagen** que contiene tanto inglés como francés en la misma página? En este tutorial recorreremos un ejemplo completo y ejecutable que muestra exactamente cómo usar OCR para identificar el idioma, extraer el texto y manejar escenarios de idioma mixto sin complicaciones. + +Cubrirémos todo lo que necesitas saber: configurar el motor Aspose OCR, indicarle qué idiomas considerar, cargar una imagen de factura de ejemplo, ejecutar el proceso OCR y, finalmente, imprimir el idioma detectado junto con el texto extraído. Al final podrás responder a la pregunta “cómo usar OCR para OCR de idioma mixto” en tus propios proyectos, ya sea que estés construyendo una canalización de facturación, un escáner de recibos o una herramienta de archivo de documentos. + +> **Prerequisitos** – Debes tener Python 3.8+ instalado, un conocimiento básico de pip y una licencia de Aspose OCR (la prueba gratuita funciona para esta demostración). No se requieren otras bibliotecas externas. + +--- + +## Cómo detectar el idioma con Aspose OCR + +El primer paso es crear una instancia del motor OCR y decirle qué idiomas debe buscar. Aspose OCR usa una máscara de bits para combinar idiomas, lo que facilita admitir inglés, francés, español o cualquier combinación que necesites. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Por qué es importante:** Inicializar el motor es la base. Sin él no puedes llamar a ningún método OCR, y el motor contiene toda la configuración que determina qué tan bien puede **detectar el idioma** más adelante. + +--- + +## Extraer texto de una imagen usando OCR + +Ahora necesitamos indicar al motor qué idiomas son posibles. Al establecer una máscara de bits `ENGLISH | FRENCH` habilitamos al motor para que seleccione automáticamente la mejor coincidencia para cada región de la imagen. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Por qué es importante:** Habilitar `auto_detect_language` es la clave de **cómo detectar el idioma** en un documento de idioma mixto. El motor escanea el texto, puntúa cada idioma y devuelve el que tiene mayor confianza. Si omites este paso tendrás que adivinar el idioma tú mismo, lo que anula el propósito del OCR de idioma mixto. + +--- + +## Configurar ajustes de OCR de idioma mixto + +Antes de proporcionar una imagen al motor, debemos cargarla. Aspose OCR trabaja con su propia clase `Image`, que abstrae el formato de archivo subyacente. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Consejo:** Mantén la resolución de la imagen alrededor de 300 dpi para obtener los mejores resultados. Resoluciones más bajas pueden hacer que la detección de idioma pase por alto caracteres sutiles, especialmente letras francesas acentuadas. + +--- + +## Ejecutar el proceso OCR y obtener resultados + +Con el motor configurado y la imagen cargada, finalmente podemos ejecutar el proceso OCR. El método `process` devuelve un objeto `OcrResult` que contiene tanto el código del idioma detectado como el texto completo extraído. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Salida esperada** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Si la imagen contiene secciones en francés, verás `FRENCH` como el idioma detectado y el texto francés correspondiente impreso. + +--- + +## Ejemplo de imagen (texto alternativo para SEO) + +![cómo detectar el idioma en OCR de idioma mixto](mixed_lang_invoice.png) + +*La captura de pantalla anterior muestra una factura de ejemplo que contiene texto en inglés y francés, ilustrando cómo el motor OCR puede **detectar el idioma** y extraer el contenido en una sola pasada.* + +--- + +## Errores comunes y consejos profesionales + +| Problema | Por qué ocurre | Cómo solucionar / mitigar | +|----------|----------------|---------------------------| +| **Escaneos borrosos o de baja resolución** | El motor no puede distinguir los caracteres, lo que lleva a una detección de idioma incorrecta. | Escanear a ≥300 dpi, aplicar nitidez a la imagen antes de OCR. | +| **Falta de idioma en la máscara de bits** | Si olvidas incluir un idioma, el motor usará la primera coincidencia por defecto, a menudo dando resultados inexactos. | Siempre lista todos los idiomas que esperas; puedes combinar muchos usando el operador `|`. | +| **Scripts mixtos (p.ej., latín + cirílico)** | Aspose OCR puede necesitar paquetes de idioma separados. | Instala paquetes de idioma adicionales y añádelos a la máscara. | +| **Archivos grandes que provocan picos de memoria** | Cargar una imagen enorme en memoria puede bloquear el script. | Usa `Image.resize` para reducir el tamaño manteniendo DPI, o procesa la imagen en mosaicos. | + +**Consejo profesional:** Después de obtener el texto bruto, ejecuta un rápido paso de post‑procesamiento para normalizar los espacios y saltos de línea. Esto hace que el análisis posterior (p.ej., extraer números de factura) sea mucho más sencillo. + +--- + +## Resumen: lo que has aprendido + +Ahora sabes **cómo detectar el idioma** en una imagen de idioma mixto usando Aspose OCR, y has visto un ejemplo completo de extremo a extremo que también muestra **cómo extraer texto de una imagen**. Configurando la máscara de bits de idioma, habilitando la detección automática y manejando el objeto de resultado, puedes procesar de forma fiable facturas, recibos o cualquier documento que mezcle inglés y francés (u otros idiomas). + +### Próximos pasos + +- Intenta añadir **cómo extraer texto** de PDFs convirtiendo cada página a una imagen primero. +- Experimenta con las otras palabras clave secundarias: explora toda la superficie de la API **cómo usar OCR**, como establecer zonas OCR para un procesamiento más rápido. +- Profundiza en casos más complejos de **OCR de idioma mixto**, como documentos que cambian entre tres o más idiomas. + +Siéntete libre de ajustar el código, probarlo con tus propias imágenes y dejar que el motor haga el trabajo pesado. Si encuentras algún problema, deja un comentario abajo—¡feliz codificación! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/spanish/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..9f2b60cf --- /dev/null +++ b/ocr/spanish/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,213 @@ +--- +category: general +date: 2026-01-12 +description: Aprende a hacer OCR de PDF en Python y a convertir PDFs en buscables + rápidamente. Convierte PDFs escaneados, extrae texto de PDFs y realiza OCR en PDFs + escaneados con Python usando Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: es +og_description: ¿Cómo hacer OCR de PDF en Python? Este tutorial paso a paso te muestra + cómo convertir archivos PDF escaneados en PDFs buscables y extraer texto con Aspose + OCR. +og_title: Cómo hacer OCR a un PDF y hacerlo buscable – Guía de Python +tags: +- OCR +- Python +- PDF processing +title: Cómo hacer OCR a un PDF y hacerlo buscable – Guía de Python +url: /es/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo OCR PDF y hacerlo buscable – Guía de Python + +¿Alguna vez te has preguntado **cómo OCR PDF** sin gastar una fortuna en software comercial? No estás solo. Muchos desarrolladores se topan con un obstáculo cuando necesitan convertir un contrato escaneado, una factura o cualquier PDF basado en imágenes en un documento buscable. ¿La buena noticia? Con unas pocas líneas de Python y Aspose OCR puedes convertir PDF escaneados, extraer texto PDF y, finalmente, hacer que el PDF sea buscable en minutos. + +En este tutorial repasaremos todo lo que necesitas: desde instalar la biblioteca, configurar el idioma, procesar un PDF escaneado, hasta guardar el resultado como un PDF buscable que contiene tanto la imagen original como una capa de texto oculta. Al final tendrás un script reutilizable que puedes incorporar en cualquier proyecto—sin necesidad de copiar‑pegar manualmente. + +--- + +## Lo que necesitarás + +- **Python 3.8+** (el código funciona en 3.9, 3.10 y versiones más recientes) +- Una licencia activa de **Aspose OCR for Python** (una prueba gratuita sirve para experimentar) +- Un archivo PDF escaneado (por ejemplo, `scanned_contract.pdf`) que deseas hacer buscable +- Familiaridad básica con la línea de comandos y entornos virtuales (opcional pero recomendado) + +> **Consejo profesional:** Si aún no tienes una licencia, regístrate para una prueba de 30 días en el sitio web de Aspose; la versión de prueba es totalmente funcional para propósitos de desarrollo. + +## Cómo OCR PDF con Aspose OCR (Palabra clave principal en H2) + +El primer paso es obtener el paquete correcto. Aspose OCR ofrece una API limpia y de alto nivel que abstrae los detalles de procesamiento de imágenes de bajo nivel. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +Una vez que el paquete está instalado, puedes comenzar a escribir el script. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **¿Por qué establecer el idioma?** +> La precisión del OCR depende en gran medida del modelo de idioma. Al indicar explícitamente al motor que espere texto en inglés, reduces los falsos positivos y aceleras el procesamiento. + +## Paso 2: Convertir PDF escaneado a un PDF buscable + +Ahora que el motor está listo, apúntalo a tu documento escaneado. El método `process_pdf` devuelve un objeto `PdfResult` que contiene tanto los datos de la imagen original como el texto reconocido. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Si necesitas **convertir PDF escaneados** en masa, simplemente recorre un directorio y llama a `process_pdf` para cada archivo. El motor maneja PDFs de varias páginas de forma nativa. + +## Paso 3: Guardar el resultado como un PDF buscable (Hacer PDF buscable) + +La pieza final del rompecabezas es persistir la versión buscable. Aspose OCR lo convierte en una sola línea: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +Cuando abras `contract_searchable.pdf` en cualquier visor de PDF, verás la imagen escaneada original, pero ahora puedes **buscar cualquier palabra** que el motor OCR haya reconocido. La capa de texto oculta es invisible al ojo pero totalmente indexable. + +### Script completo – Listo para ejecutar + +A continuación se muestra el ejemplo completo y ejecutable. Copia‑pega el código en un archivo llamado `make_searchable.py` y ajusta las rutas para que coincidan con tu entorno. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Salida esperada:** +Al ejecutar el script se imprime una línea de confirmación y se crea `contract_searchable.pdf`. Abre el archivo, presiona `Ctrl + F` y escribe cualquier palabra que aparezca en la imagen escaneada original—deberías ver coincidencias al instante. + +## Preguntas frecuentes y casos límite + +### 1. ¿Qué pasa si el PDF contiene varios idiomas? + +Puedes pasar una lista de idiomas al motor: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR intentará reconocer texto en ambos idiomas en la misma página. + +### 2. ¿Cómo manejo escaneos de baja resolución? + +Si las imágenes de origen están por debajo de 150 dpi, la precisión del OCR puede verse afectada. Pre‑procesa el PDF con una herramienta como `pdfimages` para extraer páginas, aumenta su resolución con Pillow y vuelve a alimentar las imágenes de mayor resolución a `process_pdf`. + +### 3. ¿Puedo extraer el texto plano sin crear un PDF buscable? + +Absolutamente. El objeto `PdfResult` expone una propiedad `text`: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Esto satisface el caso de uso **extract text pdf** cuando solo necesitas los caracteres sin procesar. + +### 4. ¿Hay una forma de procesar por lotes una carpeta de PDFs? + +Sí—envuelve la función `ocr_to_searchable` en un bucle simple: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Ahora puedes **convertir PDF escaneados** en masa con un solo comando. + +## Consejos de rendimiento + +- **Reutilizar el motor**: Crear un nuevo `OcrEngine` para cada archivo añade sobrecarga. Instáncialo una vez y reutilízalo en múltiples llamadas. +- **Procesamiento en paralelo**: Para lotes grandes, considera `concurrent.futures.ThreadPoolExecutor` de Python—Aspose OCR es seguro para hilos en operaciones de solo lectura. +- **Gestión de memoria**: Si procesas PDFs muy grandes (cientos de páginas), llama a `gc.collect()` después de cada archivo para liberar memoria. + +## Conclusión + +Hemos cubierto **cómo OCR PDF** en Python, convertido esas escaneos en **PDFs buscables**, e incluso te mostramos cómo **extract text PDF** directamente. Con Aspose OCR obtienes un motor fiable que maneja documentos multipágina, varios idiomas y reconocimiento de alta precisión—todo con solo unas pocas líneas de código. + +Pruébalo con tus propios contratos, facturas o documentos de investigación archivados. Una vez que domines lo básico, experimenta con las funciones avanzadas—como diccionarios personalizados, preprocesamiento de imágenes o integrar la salida en un índice de búsqueda de texto completo como Elasticsearch. + +¿Tienes más preguntas sobre **ocr scanned pdf python** o necesitas ayuda para solucionar un escaneo complicado? ¡Deja un comentario abajo y feliz codificación! + +--- + +![ejemplo de cómo OCR PDF](image-placeholder.png){alt="ejemplo de cómo OCR PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/spanish/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..943848a2 --- /dev/null +++ b/ocr/spanish/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-12 +description: Cómo realizar OCR de forma rápida y precisa. Aprende a ejecutar OCR en + un documento, extraer texto de un TIFF, cargar una imagen para OCR y establecer + el idioma de OCR en Python. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: es +og_description: Cómo realizar OCR en Python. Este tutorial te muestra cómo ejecutar + OCR en un documento, extraer texto de un tiff, cargar una imagen para OCR y establecer + el idioma del OCR. +og_title: Cómo realizar OCR en un documento TIFF – Guía completa +tags: +- OCR +- Python +- Image Processing +title: Cómo realizar OCR en un documento TIFF – Guía paso a paso +url: /es/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo realizar OCR en un documento TIFF – Guía completa + +¿Alguna vez te has preguntado **cómo realizar OCR** en un archivo TIFF escaneado sin pasar horas buscando la biblioteca adecuada? No estás solo. Muchos desarrolladores se topan con un obstáculo cuando necesitan extraer texto de imágenes TIFF, especialmente cuando el rendimiento y la configuración de idioma son importantes. + +En este tutorial recorreremos todo lo que necesitas saber: desde instalar el paquete OCR, cargar la imagen para OCR, establecer el idioma del OCR, hasta **ejecutar OCR en el documento** y obtener texto limpio. Al final tendrás un script listo‑para‑ejecutar que podrás incorporar en cualquier proyecto. + +> **Consejo:** Aunque el ejemplo usa un módulo genérico `ocr`, los mismos conceptos se aplican a Tesseract, EasyOCR o cualquier motor OCR moderno que exponga una API de Python. + +--- + +## Lo que necesitarás + +- Python 3.8+ (cualquier versión reciente funciona) +- Una biblioteca OCR que proporcione una clase `OcrEngine` (el ejemplo usa un paquete ficticio `ocr`; reemplázalo por el que realmente uses) +- Un archivo TIFF multipágina que quieras procesar (lo llamaremos `big_document.tif`) +- Una máquina con al menos 4 núcleos de CPU si planeas establecer el número de hilos + +Sin servicios externos, sin claves de nube — solo código local que se ejecuta en segundos. + +--- + +![cómo realizar OCR en un documento TIFF – vista previa del texto extraído](/images/ocr-example.png "cómo realizar OCR en un documento TIFF") + +*Texto alternativo de la imagen: cómo realizar OCR en un documento TIFF – vista previa del texto extraído.* + +--- + +## Paso 1: Instalar e importar la biblioteca OCR + +Lo primero: obtener la biblioteca en tu máquina. La mayoría de los paquetes OCR están en PyPI, así que un simple `pip install` basta. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Ahora importa las clases que necesitarás. Si usas Tesseract, la línea de importación será diferente, pero el resto del código permanece igual. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Por qué importa:* Importar los símbolos correctos desde el principio evita colisiones de espacio de nombres más adelante y hace que el script sea más fácil de leer. + +--- + +## Paso 2: Crear y configurar el motor OCR (establecer idioma OCR) + +Configurar el motor es donde **estableces el idioma OCR** para un reconocimiento preciso. El inglés es el predeterminado, pero puedes cambiar a francés, alemán o incluso modo multilingüe con una sola línea. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **¿Por qué 4 hilos?** La mayoría de los portátiles modernos tienen al menos cuatro núcleos, y limitar el número de hilos evita que el proceso OCR consuma toda la máquina — especialmente útil cuando el script se ejecuta en un servidor compartido. + +Si necesitas otro idioma, simplemente reemplaza `ocr.Language.ENGLISH` por `ocr.Language.FRENCH`, `ocr.Language.SPANISH`, etc. + +--- + +## Paso 3: Cargar la imagen para OCR (Load Image for OCR) + +Ahora **cargamos la imagen para OCR**. El método `Image.load` lee el archivo TIFF en memoria, manejando documentos multipágina automáticamente. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Caso límite:* Si el archivo es muy grande, podrías quedarte sin RAM. En ese escenario, considera cargar una página a la vez con `Image.load_page(page_number)` (si la biblioteca lo soporta). + +--- + +## Paso 4: Ejecutar OCR en el documento + +Con el motor listo y la imagen cargada, es momento de **ejecutar OCR en el documento**. El método `process` realiza el trabajo pesado y devuelve un objeto de resultado. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +Detrás de escena, el motor divide la imagen en bloques de texto, ejecuta el modelo de reconocimiento y une los resultados. La llamada es bloqueante, lo que significa que el script espera hasta que todo el TIFF se procese — perfecto para trabajos por lotes. + +--- + +## Paso 5: Extraer texto del TIFF y verificar la salida + +Finalmente, **extraemos texto del TIFF** accediendo al atributo `text` del resultado. Imprimamos los primeros 200 caracteres como una rápida comprobación de sanidad. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Salida esperada (ejemplo):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Si necesitas el texto completo, simplemente usa `ocr_result.text`. Para procesamiento posterior quizá quieras escribirlo en un archivo `.txt`: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## Ejemplo completo y funcional + +Juntando todo, aquí tienes un script listo‑para‑ejecutar. Sustituye el nombre del paquete ficticio por el que realmente instalaste. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Ejecuta el script con: + +```bash +python ocr_tiff_example.py +``` + +Deberías ver una vista previa impresa en la consola y un archivo llamado `extracted_text.txt` que contiene la transcripción completa. + +--- + +## Preguntas frecuentes y casos límite + +- **¿Qué pasa si el TIFF contiene varias páginas?** + La mayoría de los motores OCR tratan cada página como una imagen separada internamente. `ocr_result.text` incluirá un salto de línea entre páginas. Si necesitas manejar cada página por separado, itera con `Image.load_page(page_number)`. + +- **¿Puedo procesar un PNG o JPEG en lugar de TIFF?** + Por supuesto. El método `Image.load` suele aceptar cualquier formato soportado por Pillow o la biblioteca subyacente. Sólo cambia la extensión del archivo. + +- **Mi texto sale distorsionado — ¿debería cambiar el idioma?** + Sí. El paso **establecer idioma OCR** es crucial para documentos que no están en inglés. Asegúrate de que el paquete de idioma esté instalado (por ejemplo, `tesseract‑lang‑fra` para francés). + +- **¿Se me agota la memoria?** + Reduce `set_memory_limit` o procesa las páginas una a una. Algunos motores también permiten reducir la escala de la imagen antes del reconocimiento. + +--- + +## Conclusión + +Ahí lo tienes: una guía concisa y totalmente funcional sobre **cómo realizar OCR** en un archivo TIFF usando Python. Cubrimos todo, desde la instalación de la biblioteca, la configuración del motor (incluyendo **establecer idioma OCR**), **cargar la imagen para OCR**, **ejecutar OCR en el documento**, y finalmente **extraer texto del TIFF**. + +Siéntete libre de experimentar: ajusta el número de hilos, cambia de idioma o alimenta la salida OCR a una canalización de procesamiento de lenguaje natural. El cielo es el límite una vez que domines los conceptos básicos. + +¿Tienes más preguntas? Deja un comentario abajo, ¡y feliz codificación! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/spanish/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..73598664 --- /dev/null +++ b/ocr/spanish/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,179 @@ +--- +category: general +date: 2026-01-12 +description: cómo establecer el idioma en Aspose OCR Python y extraer texto de una + imagen usando un diccionario personalizado. Tutorial paso a paso para desarrolladores. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: es +og_description: cómo establecer el idioma en Aspose OCR Python y extraer texto de + una imagen con un diccionario personalizado. Aprende el flujo de trabajo completo + en minutos. +og_title: Cómo configurar el idioma en Aspose OCR Python – Guía completa +tags: +- OCR +- Python +- Aspose +- Image Processing +title: Cómo configurar el idioma en Aspose OCR Python – Guía completa +url: /es/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# cómo establecer el idioma en Aspose OCR Python – Guía completa + +¿Alguna vez te has preguntado **how to set language** al usar Aspose OCR en Python? No estás solo: muchos desarrolladores se encuentran con este problema cuando el modelo predeterminado en inglés no reconoce códigos de producto, números de serie o texto multilingüe. La buena noticia es que la solución es simple y poderosa. En este tutorial recorreremos la configuración del idioma, la adición de un diccionario personalizado, la extracción de texto de una imagen y, finalmente, el procesamiento de la imagen para obtener los mejores resultados de OCR. + +Cubriremos todo lo que necesitas saber: desde la instalación de la biblioteca hasta la ejecución de un ejemplo completo que imprime el texto extraído. Al final podrás **extract text from image** archivos con confianza, incluso cuando el contenido incluya códigos inusuales o idiomas mixtos. + +## Requisitos previos + +Antes de sumergirnos, asegúrate de tener: + +* Python 3.8+ instalado (el código usa f‑strings, por lo que versiones anteriores no funcionarán). +* Una licencia activa de Aspose OCR para Python o una clave de prueba gratuita. +* El paquete `asposeocr` instalado mediante `pip install asposeocr`. +* Una imagen de muestra (`product_label.png`) que contenga el texto que deseas leer. + +Si ya tienes esos elementos, genial—continuemos. Si no, obtén la prueba gratuita desde el sitio web de Aspose y ejecuta el comando de instalación; solo toma un minuto. + +## Paso 1: Importar el módulo Aspose OCR + +Lo primero que necesitas hacer es traer las clases OCR a tu script. Esta es la base para **how to set language** más adelante. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Consejo:** Mantén tus importaciones al inicio del archivo. Facilita la lectura del script, especialmente cuando vuelvas a él más tarde. + +## Paso 2: Cómo establecer el idioma + +Por defecto, Aspose OCR asume inglés. Si tu imagen contiene francés, alemán o cualquier otro idioma, deberás indicarle al motor qué idioma usar. Aquí es donde brilla la palabra clave principal. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +¿Por qué es importante? Los motores OCR dependen de modelos de caracteres específicos de cada idioma. Proveer el idioma correcto mejora la precisión de forma dramática, sobre todo para caracteres acentuados o ligaduras propias de cada lengua. + +> **Nota:** Si necesitas soportar varios idiomas simultáneamente, puedes pasar una lista como `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## Paso 3: Cómo agregar un diccionario (palabras definidas por el usuario) + +A veces el motor OCR interpreta mal códigos de producto como “AB‑1234”. Puedes aumentar la confianza alimentando un diccionario personalizado. Esto responde directamente a **how to add dictionary** en Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +El motor trata estas palabras como “conocidas” y las prioriza sobre caracteres de aspecto similar. Es especialmente útil para números SKU, códigos de serie o nombres de marca que no forman parte de un idioma natural. + +## Paso 4: Cómo procesar la imagen + +Ahora que el motor está configurado, necesitas cargar la imagen que deseas analizar. Esto aborda **how to process image** de forma limpia y reproducible. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +Si trabajas con PDFs, puedes convertir cada página a una imagen primero—Aspose OCR lo soporta de forma nativa. + +## Paso 5: Cómo extraer texto de la imagen + +Con todo listo, el paso final es ejecutar el OCR y obtener el texto. Este es el núcleo de **how to extract text** de una imagen. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +Al ejecutar el script, deberías ver algo como: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Si la salida se ve distorsionada, verifica que hayas configurado el idioma correcto y que tu diccionario personalizado contenga exactamente las cadenas que esperas. + +## Ejemplo completo en funcionamiento + +Uniendo todo, aquí tienes el script completo que puedes copiar y pegar en un archivo llamado `extract_label.py`. Asegúrate de reemplazar `YOUR_DIRECTORY` con la ruta real a tu imagen. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Salida esperada + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Si ves los códigos exactos que agregaste al diccionario, has dominado con éxito **how to set language**, **how to add dictionary** y **how to extract text from image** usando Aspose OCR. + +## Manejo de casos límite comunes + +| Situación | Qué hacer | +|-----------|------------| +| **La imagen está borrosa** | Pre‑procesa con `ocr.Image.apply_filter()` para afilar antes de llamar a `process()`. | +| **Múltiples idiomas en una sola imagen** | Establece `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **PDFs grandes** | Recorre cada página, conviértela a `ocr.Image` y llama a `process()` por página. | +| **Caracteres inesperados** | Agrégalos a la lista de palabras definidas por el usuario; Aspose OCR los trata como tokens de alta confianza. | + +## Referencia visual + +![cómo establecer el idioma en Aspose OCR ejemplo](image.png "Captura de pantalla que muestra cómo establecer el idioma en el ejemplo de Aspose OCR Python") + +*Texto alternativo:* **how to set language** captura de pantalla que ilustra la asignación de la propiedad de idioma en un IDE de Python. + +## Conclusión + +Ahora sabes **how to set language** en Aspose OCR Python, cómo **add dictionary** entradas, y los pasos exactos para **extract text from image** y **process image** archivos para obtener resultados óptimos. El ejemplo completo anterior puede integrarse en cualquier proyecto, ajustarse a diferentes idiomas y ampliarse para manejar procesamiento por lotes o entradas PDF. + +¿Listo para el próximo desafío? Prueba cambiar `ocr.Language.ENGLISH` por `ocr.Language.FRENCH` y observa el aumento de precisión en etiquetas en francés. O experimenta con el método `set_user_defined_words` para incluir todo un catálogo de productos—tu motor OCR tratará cada entrada como una coincidencia de alta confianza. + +¡Feliz codificación, y que tus resultados de OCR sean siempre cristalinos! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/spanish/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..0909f52c --- /dev/null +++ b/ocr/spanish/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,209 @@ +--- +category: general +date: 2026-01-12 +description: Procesa notas manuscritas en Python usando Aspose OCR – aprende cómo + extraer texto de imágenes jpg rápidamente. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: es +og_description: Procesa notas manuscritas en Python con Aspose OCR. Aprende cómo extraer + texto de imágenes jpg, reconocer OCR manuscrito y cargar imágenes para OCR. +og_title: Procesa notas manuscritas con Python – Tutorial completo de OCR +tags: +- OCR +- Python +- Aspose +title: Procesar notas manuscritas con Python – Guía de OCR manuscrita +url: /es/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Procesar notas manuscritas con Python – Guía de OCR manuscrito + +Si necesitas **procesar notas manuscritas** en Python, esta guía te muestra exactamente cómo hacerlo. Ya sea que las notas estén en un recibo escaneado, una foto de la pizarra del aula o una selfie rápida de una lista de tareas, aprenderás **cómo extraer texto** de esas imágenes sin sudar. + +Recorreremos cada paso: importar la biblioteca Aspose OCR, cargar un JPG, ejecutar el motor y manejar líneas de baja confianza. Al final tendrás un script listo para ejecutar que puede **reconocer texto de jpg** y entregarte cadenas limpias y útiles. + +## Qué obtendrás + +- Un ejemplo de código completo y ejecutable que funciona listo para usar. +- Comprensión de por qué cada línea es importante, no solo de lo que hace. +- Consejos para manejar escritura temblorosa y resultados de baja confianza. +- Orientación para ampliar el script a PDFs, múltiples imágenes o paquetes de idioma personalizados. + +*Requisitos previos*: Python 3.8+ instalado, una licencia válida de Aspose OCR (o una prueba gratuita), y un archivo de imagen llamado `handwritten_notes.jpg` en la carpeta de tu proyecto. + +--- + +![Ejemplo de procesamiento de notas manuscritas](https://example.com/handwritten-notes.png "procesar notas manuscritas") + +*Texto alternativo: procesar notas manuscritas – imagen de ejemplo que muestra texto manuscrito listo para OCR.* + +## Procesar notas manuscritas: Configuración del motor OCR + +### Por qué este paso es importante +El motor OCR es el cerebro detrás del proceso de reconocimiento. Elegir el idioma correcto e inicializar el objeto adecuadamente garantiza que el motor sepa que debe buscar caracteres en inglés y que pueda manejar las particularidades de la escritura a mano. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Consejo profesional:** Si anticipas notas en otro idioma, reemplaza `ocr.Language.ENGLISH` por el enum correspondiente (p. ej., `ocr.Language.FRENCH`). El motor cargará automáticamente el conjunto de caracteres necesario. + +--- + +## Cómo extraer texto de imágenes JPG + +### Cargar la imagen – el primer obstáculo +Antes de que el motor pueda trabajar, necesita una representación bitmap de tu JPG. Aspose ofrece un método estático `load` que lee el archivo en un objeto `Image`. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*¿Por qué no usar OpenCV o Pillow?* +Esas bibliotecas son excelentes para preprocesamiento, pero `Image.load` de Aspose garantiza el formato de píxel exacto que el motor OCR espera, eliminando una fuente común de desajustes de profundidad de color. + +--- + +## Reconocer texto de JPG con OCR manuscrito en Python + +### Ejecutar el motor OCR +Ahora que el motor y la imagen están listos, iniciamos el reconocimiento. El método `process` devuelve un objeto `OcrResult` que contiene una lista de objetos `Line`, cada uno con su propia puntuación de confianza. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**¿Qué ocurre detrás de escena?** +Aspose OCR ejecuta un modelo de deep‑learning entrenado con millones de muestras manuscritas. Segmenta la imagen en líneas, luego en caracteres y finalmente ensambla la cadena de texto más probable para cada línea. + +--- + +## Cargar imagen para OCR – Manejo de resultados de baja confianza + +### Por qué debes preocuparte por la confianza +El OCR manuscrito nunca es 100 % perfecto. Una puntuación de confianza inferior al 75 % suele indicar que el motor tuvo dificultades con el orden de los trazos o con el ruido de fondo. Al filtrar esas líneas, puedes decidir si solicitas verificación al usuario o aplicas preprocesamiento adicional a la imagen. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Salida típica** (tus resultados variarán): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Observa cómo el script separa limpiamente el texto fiable de los fragmentos temblorosos. Más adelante puedes enviar las líneas de baja confianza a una segunda pasada con filtros de mejora de imagen (p. ej., aumento de contraste) o presentarlas a un revisor humano. + +--- + +## Script completo – Listo para ejecutar + +A continuación tienes el programa completo, listo para copiar y pegar. Guárdalo como `handwritten_ocr.py` y ejecuta `python handwritten_ocr.py`. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Comportamiento esperado:** +- El script imprime cada línea con su porcentaje de confianza. +- Las líneas con más del 75 % aparecen como “Aceptadas”, mientras que el resto se marcan para revisión. +- No se requieren dependencias adicionales más allá de `asposeocr`. + +--- + +## Preguntas frecuentes y casos límite + +### ¿Qué pasa si mi imagen es PNG o BMP? +Aspose OCR detecta automáticamente el formato, por lo que solo necesitas cambiar la extensión del archivo en `image_path`. No se requieren cambios de código. + +### Mi escritura es extremadamente desordenada—¿cómo puedo mejorar la precisión? +1. **Preprocesar la imagen** – aumentar el contraste, eliminar sombras de fondo (OpenCV puede ayudar). +2. **Incrementar el umbral de confianza** – establecerlo en 80 % si solo deseas líneas casi perfectas. +3. **Entrenar un modelo personalizado** – Aspose ofrece la función “custom language pack” para estilos de escritura especializados. + +### ¿Puedo procesar varias imágenes en una sola ejecución? +Claro. Envuelve los pasos de carga y procesamiento en un `for` loop sobre una lista de rutas de archivo. Recuerda reutilizar la misma instancia de `ocr_engine` para mayor velocidad. + +### ¿Funciona en macOS/Linux? +Sí. Aspose OCR proporciona wheels para todas las plataformas principales. Simplemente `pip install asposeocr` y estarás listo. + +--- + +## Próximos pasos y temas relacionados + +- **Cómo extraer texto de PDFs** – una vez que tengas la canalización OCR, pasar páginas PDF a `ocr.Image.load` es un cambio de una sola línea. +- **Integración con una base de datos** – almacena cada línea aceptada en SQLite o PostgreSQL para notas buscables. +- **OCR en tiempo real en móvil** – combina este script con Flask o FastAPI para exponer un endpoint REST que las apps móviles puedan consumir. + +Cada una de estas extensiones se basa en los conceptos centrales que cubrimos: **procesar notas manuscritas**, **cómo extraer texto**, **reconocer texto de jpg** y **cargar imagen para OCR**. + +--- + +## Conclusión + +Ahora dispones de una solución sólida, de extremo a extremo, para **procesar notas manuscritas** usando Python y Aspose OCR. La guía mostró cómo configurar el motor, cargar un JPG, ejecutar el reconocimiento y manejar resultados de baja confianza, todo en un único script listo para copiar y pegar. + +Desde aquí, experimenta con diferentes técnicas de preprocesamiento de imágenes, eleva el umbral de confianza o escala la solución para procesar por lotes cientos de notas. El cielo es el límite, y el código que acabas de aprender es tu plataforma de lanzamiento. + +*¡Feliz codificación, y que tus notas manuscritas finalmente se conviertan en texto buscable!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/spanish/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..0b6a3931 --- /dev/null +++ b/ocr/spanish/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-12 +description: Tutorial de OCR en Python que muestra cómo extraer texto de tabla de + una imagen. Aprende a leer una tabla de una imagen y extraer texto seleccionado + con Aspose OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: es +og_description: Tutorial de OCR en Python que te enseña cómo extraer texto de tablas + de una imagen, leer tablas desde una imagen y extraer texto seleccionado usando + Aspose OCR. +og_title: 'Tutorial de OCR en Python: Extraer texto de tablas de imágenes' +tags: +- OCR +- Python +- AsposeOCR +title: 'Tutorial de OCR en Python: Extraer texto de tablas de imágenes' +url: /es/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tutorial de OCR en Python: Extraer texto de tabla de imágenes + +¿Alguna vez necesitaste un **tutorial de OCR en Python** que realmente te muestre cómo extraer una tabla de un formulario escaneado? No eres el único. La mayoría de los tutoriales se detienen en la extracción de texto genérica, dejándote adivinando cómo aislar esa cuadrícula ordenada de datos que te interesa. + +En esta guía recorreremos un escenario del mundo real: leer una tabla de una imagen, extraer solo el texto seleccionado que necesitas y, finalmente, imprimir los resultados. A lo largo del camino, añadiremos consejos sobre **cómo extraer tablas** de forma fiable, para que no tengas que reinventar la rueda cada vez. + +## Lo que aprenderás + +- Cómo configurar Aspose OCR para Python. +- Cómo definir una región rectangular que contiene una tabla. +- Los pasos exactos para **extraer texto de tabla** y **leer tabla de imagen**. +- Consejos para manejar varios idiomas o diseños de tabla irregulares. +- Un script completo y ejecutable que puedes incorporar a tu proyecto hoy. + +**Prerequisitos** +- Python 3.8 o superior. +- Familiaridad básica con conceptos de OCR (no se requiere experiencia profunda). +- Una imagen PNG o JPEG que contenga una tabla clara (la llamaremos `form_with_table.png`). + +Si tienes eso, vamos a sumergirnos—sin rodeos, solo código práctico. + +![python ocr tutorial example of table region](table_region_example.png){alt="ejemplo de tutorial de OCR python mostrando la región de la tabla"} + +## Paso 1: Instalar e Importar Aspose OCR + +Lo primero: necesitas la biblioteca Aspose OCR. El paquete está en PyPI, así que un solo comando `pip` hace el trabajo. + +```bash +pip install aspose-ocr +``` + +Ahora importa el módulo y cualquier ayuda que necesites. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Consejo profesional:* Mantén tus dependencias en un archivo `requirements.txt`. Facilita reproducir el entorno. + +## Paso 2: Inicializar el motor OCR (Núcleo del tutorial de OCR en Python) + +Crear el motor es el corazón de cualquier **tutorial de OCR en Python**. Aquí también establecemos el idioma predeterminado a inglés—siéntete libre de cambiarlo más tarde. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +¿Por qué establecer el idioma? La precisión del OCR puede aumentar drásticamente cuando el motor sabe qué caracteres esperar. Si trabajas con formularios multilingües, puedes establecer una lista de idiomas o sobrescribir por región (ver más adelante). + +## Paso 3: Cargar tu imagen + +Aspose OCR funciona con la mayoría de los formatos de imagen comunes. Simplemente indícale la ruta del archivo y tendrás un objeto `Image` listo para procesar. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Caso límite:* Las imágenes grandes (más de 5 MB) pueden ralentizar el procesamiento. Considera redimensionarlas o comprimirlas antes del OCR si el rendimiento se vuelve un problema. + +## Paso 4: Definir la región de la tabla (Leer tabla de imagen) + +Ahora llega la parte divertida: indicarle al motor *dónde* está la tabla. Proporcionas un `OcrRegion` con un `Rectangle` (x, y, ancho, alto). Las coordenadas son en píxeles, así que puede que necesites experimentar un poco. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +¿Por qué usar una región? Al limitar el OCR al área de la tabla, **extraemos texto seleccionado** más rápido y evitamos ruido de etiquetas o gráficos circundantes. También mejora la precisión porque el motor puede enfocarse en un diseño uniforme. + +## Paso 5: Ejecutar OCR en la región definida + +Con la región establecida, invocamos `process_region`. El método devuelve un objeto `OcrResult` que contiene el texto bruto, puntuaciones de confianza e incluso cajas delimitadoras si las necesitas más adelante. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +Si necesitas extraer múltiples tablas, simplemente repite los Pasos 4‑5 con diferentes rectángulos. + +## Paso 6: Mostrar el texto de tabla extraído + +Finalmente, imprime—o guarda—la representación textual de la tabla. Aspose OCR devuelve texto plano con saltos de línea que generalmente se alinean con las filas, lo que facilita el post‑procesamiento. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Salida esperada** (ejemplo): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +Ahora puedes alimentar esta cadena a analizadores `csv`, DataFrames de pandas o cualquier canal de análisis posterior. + +## Ejemplo completo y funcional + +Juntándolo todo, aquí tienes el script completo que puedes ejecutar de inmediato. Reemplaza `YOUR_DIRECTORY/form_with_table.png` con la ruta real a tu imagen. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Ejecuta el script con `python extract_table.py`. Si todo está alineado, verás la tabla impresa en tu consola. + +## Preguntas frecuentes y manejo de casos límite + +**¿Qué pasa si la tabla no es perfectamente rectangular?** +Puedes dividir la tabla en múltiples regiones superpuestas o usar un rectángulo más grande que cubra toda el área y luego post‑procesar el texto (p. ej., dividir por saltos de línea). + +**¿Puedo extraer solo columnas específicas?** +Una vez que tengas el texto completo de la tabla, usa `csv` o `pandas` de Python para recortar las columnas que te interesan. El paso de OCR devuelve todo lo que está dentro del rectángulo. + +**¿Cómo trabajar con tablas que no están en inglés?** +Establece `ocr_engine.language` (o `region.language`) al enum apropiado, como `ocr.Language.FRENCH` o combina varios idiomas usando `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**¿Hay una forma de obtener cajas delimitadoras para cada celda?** +Aspose OCR puede devolver `region_result.words` donde cada palabra incluye una caja delimitadora. Tendrías que mapear esas cajas a una cuadrícula—útil para análisis de diseño avanzado. + +## Consejos para mejorar la precisión + +- **Limpia la imagen**: Binaria o aumenta el contraste antes de pasarla al OCR. Bibliotecas como Pillow pueden ayudar. +- **Evita artefactos de compresión**: Guarda los escaneos como PNG cuando sea posible. +- **Cuida el DPI**: 300 dpi es un punto óptimo; valores más bajos pueden causar caracteres perdidos. +- **Prueba diferentes tamaños de rectángulo**: Los rectángulos ligeramente más grandes a menudo capturan caracteres sueltos que pertenecen a la tabla. + +## Próximos pasos + +Ahora que dominas **cómo extraer tablas** con Aspose OCR, podrías explorar: + +- Convertir el texto extraído a un archivo CSV con el módulo `csv` de Python. +- Alimentar los datos a un DataFrame de **pandas** para análisis. +- Usar OCR para leer formularios manuscritos (requiere un motor diferente o entrenamiento adicional). +- Automatizar el procesamiento por lotes de docenas de formularios escaneados usando un simple bucle `for`. + +Cada una de estas extensiones se basa en los conceptos centrales cubiertos en este **tutorial de OCR en Python**, por lo que estás bien posicionado para escalar. + +--- + +*¡Feliz codificación! Si encuentras algún problema, deja un comentario abajo—estaré encantado de ayudarte a afinar la extracción.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/spanish/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..54d4bbe6 --- /dev/null +++ b/ocr/spanish/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,265 @@ +--- +category: general +date: 2026-01-12 +description: Ejecute OCR en archivos PNG rápidamente con Python. Aprenda cómo extraer + texto de imágenes y facturas, y cargar la imagen para OCR usando Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: es +og_description: Ejecute OCR en PNG al instante. Esta guía muestra cómo extraer texto + de una imagen y una factura, cargar la imagen para OCR y guardar los resultados + como JSON y CSV. +og_title: Ejecutar OCR en PNG – Tutorial completo de Python +tags: +- OCR +- Python +- Image Processing +title: Ejecuta OCR en PNG – Guía completa de Python para extraer texto de imágenes +url: /es/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Ejecutar OCR en PNG – Guía completa de Python para extraer texto de imágenes + +¿Alguna vez necesitaste **run OCR on PNG** archivos pero no estabas seguro de qué biblioteca te daría resultados limpios y estructurados? No estás solo. En muchos proyectos del mundo real—piensa en automatización de facturas o escaneo de recibos—el primer paso es **extract text from image** archivos, y PNG es un formato común porque preserva calidad sin pérdida. + +En este tutorial recorreremos un ejemplo práctico usando el paquete Aspose.OCR para Python. Al final de la guía sabrás cómo **load image for OCR**, extraer cada línea de texto, convertir esos datos en un objeto JSON ordenado e incluso volcarlo a CSV para procesamiento posterior. Sin rodeos, solo una solución práctica y lista para ejecutar. + +## Lo que aprenderás + +- Cómo instalar e importar la biblioteca Aspose.OCR. +- Los pasos exactos para **run OCR on PNG** y manejar el objeto de resultado. +- Formas de **extract text from invoice** archivos y formatear la salida como JSON o CSV. +- Consejos para tratar imágenes de bajo contraste, documentos multilingües y puntuaciones de confianza. +- Un ejemplo completo de código copiar‑y‑pegar que puedes ejecutar hoy. + +> **Prerequisito:** Python 3.8+ y una familiaridad básica con pip. Si nunca has usado Aspose antes, no te preocupes—esta guía cubre todo lo que necesitas para comenzar. + +--- + +## Paso 1 – Instalar Aspose.OCR y preparar tu entorno + +Antes de que podamos **run OCR on PNG**, la biblioteca debe estar presente en tu sistema. + +```bash +pip install aspose-ocr +``` + +> **Consejo profesional:** Usa un entorno virtual (`python -m venv venv`) para mantener las dependencias aisladas. Previene conflictos de versiones si manejas varios proyectos. + +Una vez instalado, importa los módulos que necesitaremos: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Aquí importamos `asposeocr` para el trabajo pesado y la biblioteca incorporada `json` para la serialización posterior. + +## Paso 2 – Crear el motor OCR y establecer el idioma + +El motor OCR es el componente central que realmente lee los píxeles. Para la mayoría de facturas en inglés, querrás el paquete de idioma inglés: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Por qué es importante:** Especificar el idioma reduce el conjunto de caracteres, lo que aumenta la precisión y acelera el procesamiento. Si alguna vez necesitas manejar facturas multilingües, simplemente cambia `ocr.Language.ENGLISH` por el enum correspondiente. + +## Paso 3 – Cargar la imagen para OCR + +Ahora **load image for OCR**. El método `Image.load` acepta una ruta de archivo y funciona con PNG, JPEG, BMP y más. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Caso límite:** Si el PNG es inusualmente grande (más de 5 MB), considera redimensionarlo primero para mantener un uso de memoria razonable. Pillow puede hacerlo en una sola línea: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +## Paso 4 – Ejecutar OCR en PNG y capturar el resultado + +Con el motor listo y la imagen cargada, es hora de **run OCR on PNG** y obtener el resultado estructurado. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +El objeto `ocr_result` contiene una colección de elementos `OcrRegion`, cada uno con el texto reconocido y una puntuación de confianza (0‑100). Aquí obtienes los datos granulares necesarios para **extract text from invoice** líneas. + +## Paso 5 – Convertir el resultado a JSON y formatearlo + +La mayoría de los sistemas posteriores aman JSON, así que convertiremos la salida OCR en una cadena bien formateada. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Salida de ejemplo + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Observa cómo cada línea incluye una métrica de confianza—perfecta para filtrar entradas de baja confianza si planeas **extract text from invoice** automáticamente. + +## Paso 6 – Guardar los datos OCR como CSV (Una línea por texto + confianza) + +CSV es ideal para hojas de cálculo o importaciones rápidas de datos. Aspose ofrece una línea de código para volcar todo en un archivo CSV. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +El CSV generado se verá así: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Ahora puedes abrirlo en Excel, Google Sheets o ingresarlo a una base de datos. + +## Bonus – Manejo de texto de baja confianza y PDFs de varias páginas + +### Filtrado por confianza + +Si solo deseas líneas de alta certeza, filtra el JSON antes de escribirlo: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Documentos multipágina + +Aspose.OCR crea automáticamente una nueva entrada `page` para cada página en un PNG o PDF de varias páginas. Recorre `ocr_data["pages"]` para procesarlas todas—no se necesita código extra. + +## Ejemplo completo en funcionamiento + +A continuación está el **complete script** que puedes copiar, pegar y ejecutar inmediatamente. Reemplaza `YOUR_DIRECTORY` con la carpeta que contiene tu archivo PNG. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Ejecuta el script con `python run_ocr.py` y verás el volcado JSON en la consola, un archivo CSV en disco y una lista filtrada de entradas de alta confianza. + +## Preguntas frecuentes + +**Q: ¿Puedo usar esto para extraer texto de un recibo escaneado en lugar de una factura?** +A: Por supuesto. El mismo flujo de trabajo se aplica—simplemente apunta `image_path` a tu PNG de recibo. Si el recibo usa un idioma diferente, cambia `engine.language` en consecuencia. + +**Q: ¿Qué pasa si mi PNG contiene texto rotado?** +A: Aspose.OCR detecta automáticamente la orientación, pero para casos rebeldes puedes rotar manualmente la imagen con Pillow antes de pasarla al motor. + +**Q: ¿Necesito una licencia paga para Aspose.OCR?** +A: La biblioteca ofrece un modo de evaluación gratuito con una marca de agua en la salida. Para uso en producción necesitarás una licencia, que puedes obtener en el sitio web de Aspose. + +## Conclusión + +Hemos cubierto todo lo que necesitas para **run OCR on PNG** archivos usando Python: instalar el SDK, cargar la imagen, extraer texto estructurado y guardar el resultado como JSON o CSV. Ya sea que busques **extract text from image** para un script sencillo o **extract text from invoice** para una canalización contable automatizada, los pasos anteriores te brindan una base sólida y lista para producción. + +Próximamente, podrías explorar: + +- Integrar la salida CSV con una base de datos para almacenamiento masivo de facturas. +- Añadir post‑procesamiento con expresiones regulares para extraer fechas, montos o IDs fiscales. +- Usar la función `ocr_engine.recognize_barcode` si tus facturas incluyen códigos QR. + +Prueba, ajusta los umbrales de confianza y observa cómo tu flujo de procesamiento de documentos se vuelve una brisa. ¿Tienes más preguntas o un caso de uso interesante para compartir? Deja un comentario abajo—¡feliz OCR! + +![ejemplo de run OCR en PNG](run-ocr-on-png.png "run OCR on PNG – ejemplo visual del resultado OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/swedish/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..e6928cd3 --- /dev/null +++ b/ocr/swedish/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-01-12 +description: Extrahera text från bild i Python med Aspose OCR. Lär dig hur du konverterar + en skannad bild till text med asynkron kod på bara några minuter. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: sv +og_description: Extrahera text från bild i Python med Aspose OCR. Den här handledningen + visar hur man konverterar en skannad bild till text med hjälp av asynkrona funktioner. +og_title: Extrahera text från bild med Python – Asynkron OCR‑guide +tags: +- python +- ocr +- async +title: Extrahera text från bild med Python – Asynkron OCR‑guide +url: /sv/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrahera text från bild med Python – Asynkron OCR‑guide + +Har du någonsin behövt **extrahera text från bild med Python** skript men fastnat vid OCR‑delen? Du är inte ensam. Många utvecklare stöter på problem när de har ett skannat dokument och vill omvandla det till sökbar text utan att rycka upp håret. + +I den här handledningen går vi igenom ett komplett, körbart exempel som visar hur du **konverterar skannad bild till text** med Aspose OCR:s asynkrona API. När du är klar har du en enda funktion som du kan släppa in i vilket projekt som helst, och du förstår varför asynkron bearbetning kan hålla din app responsiv även när OCR tar några sekunder. + +## Förutsättningar + +Innan vi dyker ner, se till att du har: + +- Python 3.8+ installerat (de asynkrona funktionerna kräver minst 3.7) +- `asposeocr`‑paketet (`pip install asposeocr`) – detta är biblioteket vi använder +- En skannad bildfil (TIFF, PNG, JPEG – vad som helst som Aspose OCR stödjer) +- Grundläggande kunskap om `asyncio` (om du inte har det, oroa dig inte – vi förklarar varje steg) + +Inga ytterligare systemberoenden krävs; Aspose OCR paketerar allt du behöver. + +![Diagram som visar asynkron OCR‑flöde – extrahera text från bild med python](https://example.com/async-ocr-diagram.png "asynkron OCR‑flöde – extrahera text från bild med python") + +## Steg 1 – Skapa den asynkrona hjälpfunktionen + +Kärnan i lösningen är en `async`‑funktion som laddar en bild, startar OCR och sedan väntar på resultatet. Att hålla funktionen asynkron betyder att du kan köra andra koroutiner (t.ex. ladda ner fler filer) medan OCR‑motorn arbetar i bakgrunden. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Varför det är viktigt:** Genom att returnera ett `Future` gör Aspose OCR det tunga arbetet i en separat trådpott. `await` frigör händelseslingan, så din app förblir snabb. Om du någonsin behöver bearbeta många bilder samtidigt kan du helt enkelt schemalägga flera `async_ocr`‑anrop med `asyncio.gather`. + +## Steg 2 – Kör koroutinen i händelseslingan + +Nu när vi har en hjälpfunktion måste vi köra den. `asyncio.run` skapar en ny händelseslinga, kör koroutinen och stänger ner allt på ett snyggt sätt. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Proffstips:** Om du integrerar detta i en större asynkron applikation (t.ex. FastAPI) skulle du anropa `await async_ocr(...)` direkt istället för `asyncio.run`. + +## Steg 3 – Verifiera resultatet + +När du kör skriptet bör du se något i stil med: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Om resultatet ser förvrängt ut, dubbelkolla att: + +1. Bilden är tydlig och inte överkomprimerad. +2. Du har valt rätt språk (`ocr.Language.ENGLISH` fungerar för de flesta latinska texter). +3. Filsökvägen är korrekt och filen är läsbar. + +## Steg 4 – Hantera kantfall + +### Flera språk + +Om du behöver **konvertera skannad bild till text** på ett annat språk än engelska, ändra bara språk‑egenskapen: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Stora filer + +För mycket stora TIFF‑filer, överväg att ändra storlek eller konvertera till en lägre upplösning PNG innan du skickar den till OCR. Detta minskar minnesbelastningen och snabbar upp bearbetningen. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Felhantering + +Omslut OCR‑anropet med ett `try/except`‑block för att fånga nätverks‑ eller licensrelaterade fel. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Steg 5 – Skala upp: Bearbeta många bilder samtidigt + +Eftersom funktionen är async kan du skjuta iväg dussintals OCR‑jobb på en gång: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Detta mönster håller CPU:n sysselsatt medan OCR‑motorn arbetar parallellt, vilket dramatiskt minskar den totala bearbetningstiden. + +## Slutsats + +Du har nu en solid **extrahera text från bild med Python**‑lösning som utnyttjar Aspose OCR:s asynkrona API. Det kompletta exemplet visar hur du: + +1. Initierar OCR‑motorn och väljer ett språk. +2. Startar OCR asynkront med `process_async`. +3. Väntar på resultatet utan att blockera händelseslingan. +4. Hanterar vanliga fallgropar som stora filer och flerspråkigt stöd. + +Känn dig fri att anpassa koden till dina egna pipelines – oavsett om du bygger ett dokumenthanteringssystem, en sökindexerare eller ett enkelt kommandoradsverktyg. Nästa steg kan vara: + +- Att lagra den extraherade texten i en databas för fulltextsökning. +- Att lägga till PDF‑generering (t.ex. med `PyPDF2`) för att skapa sökbara PDF‑filer. +- Att integrera med ett webb‑ramverk som FastAPI för en REST‑baserad OCR‑tjänst. + +Lycka till med kodandet, och njut av att förvandla de skannade bilderna till sökbar, redigerbar text! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/swedish/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..f035055e --- /dev/null +++ b/ocr/swedish/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,214 @@ +--- +category: general +date: 2026-01-12 +description: Hur man batchar OCR‑bilder snabbt och extraherar text från JPEG‑filer + i Python. Lär dig steg‑för‑steg batch‑behandling med ett komplett körbart exempel. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: sv +og_description: Hur man batchar OCR på bilder och extraherar text från JPEG‑filer. + Denna guide leder dig genom en komplett, färdigkörbar Python‑lösning. +og_title: Hur man batchbearbetar OCR‑bilder – Snabb Python‑handledning +tags: +- OCR +- Python +- image processing +title: Hur man batch-OCR:ar bilder – Snabb guide för att extrahera text från JPEG-filer +url: /sv/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hur man batch‑OCR:ar bilder – Snabbguide för att extrahera text från JPEG‑filer + +Har du någonsin undrat **hur man batch‑OCR:ar bilder** utan att skriva ett separat skript för varje fil? Du är inte ensam. I många projekt—fakturaskanning, arkivdigitalisering eller innehållsmoderering—behöver vi hämta text från dussintals eller hundratals JPEG‑filer på en gång. Den goda nyheten är att du kan göra det med bara några rader Python, och du får en återanvändbar motor som du kan slänga in i vilken pipeline som helst. + +I den här handledningen visar vi dig exakt **hur man batch‑OCR:ar bilder**, går sedan igenom hur du extraherar text från JPEG‑filer, hanterar kantfall och verifierar resultatet. När du är klar har du ett självständigt skript som du kan köra mot vilken bildmapp som helst, och du förstår varför batch‑behandling är viktigt för prestanda och underhållbarhet. + +## Vad du kommer att lära dig + +- Ställa in en enkel OCR‑motor och konfigurera den för engelska. +- Samla alla JPEG‑filer från en katalog med `pathlib`. +- Anropa OCR‑motorn en gång för att bearbeta hela batchen. +- Visa en förhandsgranskning av den igenkända texten för varje bild. +- Tips för att hantera stora batcher, olika språk och vanliga fallgropar. + +**Förutsättningar**: Python 3.8+, `ocr`‑biblioteket (eller någon kompatibel wrapper) och en mapp med JPEG‑bilder som du vill analysera. Inga externa tjänster krävs—allt körs lokalt. + +--- + +## Steg 1: Initiera OCR‑motorn – Kärnan i hur man batch‑OCR:ar bilder + +Innan vi kan **batch‑OCR:a bilder** behöver vi en motor som kan läsa text. I de flesta bibliotek skapar du ett motor‑objekt, eventuellt ställer in språk, och återanvänder det för varje fil. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Varför detta är viktigt*: Att initiera motorn en gång undviker overheaden av att ladda språkmodeller upprepade gånger. Det ger dig också en enda plats att justera inställningar (t.ex. DPI, tecken‑whitelist) som gäller för hela batchen. + +> **Pro‑tips**: Om du planerar att bearbeta flerspråkiga dokument, byt `ocr.Language.ENGLISH` till `ocr.Language.MULTI` eller ladda flera språkpaket innan batchen startar. + +--- + +## Steg 2: Samla alla JPEG‑filer – Delmomentet “Extrahera text från JPEG‑filer” + +Nu när motorn är klar måste vi berätta vilka bilder den ska arbeta på. Att använda `pathlib` gör koden plattformsoberoende och koncis. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Varför detta är viktigt*: Genom att samla fil‑listan först kan vi skicka hela samlingen till OCR‑motorn i ett anrop—precis vad “hur man batch‑OCR:ar bilder” handlar om. Om du har undermappar kan du ändra `glob("**/*.jpg")` till en rekursiv sökning. + +> **Kantfall**: Om dina bilder har blandade filändelser (`.jpeg`, `.JPG`), utöka glob‑mönstret: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Steg 3: Bearbeta hela batchen i ett anrop – Den verkliga kraften i batch‑OCR + +De flesta moderna OCR‑bibliotek erbjuder en `process_batch`‑metod (eller liknande) som accepterar en iterabel av filsökvägar. Detta är hjärtat i **hur man batch‑OCR:ar bilder** effektivt. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Varför detta är viktigt*: Ett enda batch‑anrop minskar antalet Python‑till‑C‑övergångar, håller språkmodellen laddad i minnet och möjliggör ofta intern parallellisering. Resultatet blir en lista med objekt—varje objekt innehåller den igenkända texten och förtroendesiffror. + +> **Prestanda‑notering**: För mycket stora batcher (tusentals bilder) kan du överväga att dela listan i mindre delar (t.ex. 200 filer) för att undvika överdriven minnesanvändning. + +--- + +## Steg 4: Visa en förhandsgranskning av den extraherade texten – Snabb validering + +När batchen är klar är det användbart att kika på de första tecknen i varje resultat. Detta hjälper dig bekräfta att OCR faktiskt extraherar text från dina JPEG‑filer. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Varför detta är viktigt*: En kort förhandsgranskning låter dig upptäcka uppenbara fel (t.ex. tomt resultat, förvrängda tecken) utan att öppna varje fil. Om du märker systematiska problem kan du justera motorinställningarna och köra batchen igen. + +> **Vanlig fallgrop**: Att glömma att ta bort radbrytningar kan göra förhandsgranskningen rörig. raden `replace("\n", " ")` rensar upp detta. + +--- + +## Fullt fungerande exempel – Alla steg kombinerade + +Nedan är det kompletta skriptet som du kan kopiera‑klistra, justera sökvägen till katalogen och köra. Det demonstrerar hela **hur man batch‑OCR:ar bilder**‑arbetsflödet från början till slut. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Förväntad utskrift** (exempel): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Om förhandsgranskningen visar meningsfull text har du lyckats **extrahera text från JPEG‑filer** med ett batch‑tillvägagångssätt. + +--- + +## Hantera stora batcher och avancerade scenarier + +### Dela upp stora arbetsbelastningar +När du hanterar tusentals bilder kan minnet bli en flaskhals. Dela listan i mindre delar: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Byta språk +Om dina dokument innehåller franska eller spanska, byt språk innan batchen: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Spara resultat till disk +Istället för att skriva ut kan du vilja skriva varje OCR‑resultat till en `.txt`‑fil: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Slutsats + +Du vet nu **hur man batch‑OCR:ar bilder** och på ett pålitligt sätt **extrahera text från JPEG‑filer** med ett kompakt Python‑skript. Genom att initiera motorn en gång, samla alla JPEG‑sökvägar, bearbeta dem i en enda batch och förhandsgranska resultatet får du både hastighet och enkelhet. Därefter kan du utöka arbetsflödet—lägga till flerspråkigt stöd, lagra resultat i en databas eller integrera skriptet i en större dokument‑bearbetningspipeline. + +Redo för nästa steg? Prova att byta `ocr`‑biblioteket mot Tesseract, experimentera med olika bild‑förbehandlingar (tröskling, storleksändring) eller mata in den extraherade texten i en natural‑language‑processing‑modell för automatisk kategorisering. Himlen är gränsen, och du har nu en solid grund att bygga vidare på. + +Lycka till med kodandet, och må dina OCR‑batcher alltid vara felfria! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/swedish/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..5d238c3a --- /dev/null +++ b/ocr/swedish/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,145 @@ +--- +category: general +date: 2026-01-12 +description: Hur man upptäcker språk i bilder med Aspose OCR – lär dig att extrahera + text från en bild, hantera blandad språk‑OCR och använda OCR i Python. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: sv +og_description: Hur man upptäcker språk i bilder med Aspose OCR – en steg‑för‑steg‑guide + för att extrahera text från bild och hantera blandat språk‑OCR. +og_title: Hur man upptäcker språk med OCR för blandad text +tags: +- OCR +- Python +- Aspose +title: Hur man upptäcker språk med OCR för blandad text +url: /sv/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hur man upptäcker språk med OCR för blandad text + +Hur man upptäcker språk i bilder med Aspose OCR är en vanlig utmaning när man hanterar flerspråkiga dokument. Har du någonsin undrat **hur man extraherar text från bild** som innehåller både engelska och franska på samma sida? I den här handledningen går vi igenom ett komplett, körbart exempel som visar exakt hur du använder OCR för att identifiera språket, hämta ut texten och hantera blandade språk‑scenarier utan problem. + +Vi täcker allt du behöver veta: hur du sätter upp Aspose OCR‑motorn, talar om vilka språk den ska överväga, laddar en exempel‑faktura‑bild, kör OCR‑processen och slutligen skriver ut det upptäckta språket tillsammans med den extraherade texten. När du är klar kan du svara på frågan “hur man använder OCR för blandad språk‑OCR” i dina egna projekt, oavsett om du bygger en fakturerings‑pipeline, en kvittoscaner eller ett dokument‑arkiveringsverktyg. + +> **Förutsättningar** – Du bör ha Python 3.8+ installerat, grundläggande kunskap om pip och en Aspose OCR‑licens (gratis provversion fungerar för denna demo). Inga andra externa bibliotek krävs. + +--- + +## Hur man upptäcker språk med Aspose OCR + +Det första steget är att skapa en OCR‑motorsinstans och ange vilka språk den ska leta efter. Aspose OCR använder en bitmask för att kombinera språk, vilket gör det enkelt att stödja engelska, franska, spanska eller vilken kombination du än behöver. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Varför detta är viktigt:** Initieringen av motorn är grunden. Utan den kan du inte anropa några OCR‑metoder, och motorn innehåller all konfiguration som avgör hur väl den senare kan **upptäcka språk**. + +--- + +## Extrahera text från bild med OCR + +Nu måste vi låta motorn veta vilka språk som är möjliga. Genom att sätta en bitmask av `ENGLISH | FRENCH` aktiverar vi motorn att automatiskt välja den bästa matchen för varje region i bilden. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Varför detta är viktigt:** Att aktivera `auto_detect_language` är kärnan i **hur man upptäcker språk** i ett blandat språk‑dokument. Motorn skannar texten, poängsätter varje språk och returnerar det med högst förtroende. Om du hoppar över detta steg tvingas du gissa språket själv, vilket undergräver syftet med blandad språk‑OCR. + +--- + +## Konfigurera inställningar för blandad språk‑OCR + +Innan vi matar in en bild i motorn måste vi ladda den. Aspose OCR arbetar med sin egen `Image`‑klass, som abstraherar bort det underliggande filformatet. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Tips:** Håll bildens upplösning runt 300 dpi för bästa resultat. Lägre upplösningar kan göra att språkdetektionen missar subtila tecken, särskilt franska bokstäver med accenter. + +--- + +## Kör OCR‑processen och hämta resultat + +Med motorn konfigurerad och bilden laddad kan vi äntligen köra OCR‑processen. Metoden `process` returnerar ett `OcrResult`‑objekt som innehåller både den upptäckta språkkoden och den fullständiga extraherade texten. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Förväntad utskrift** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Om bilden innehåller franska avsnitt kommer du att se `FRENCH` som det upptäckta språket och den motsvarande franska texten skriven ut. + +--- + +## Bildexempel (Alt‑text för SEO) + +![hur man upptäcker språk i blandad språk OCR bild](mixed_lang_invoice.png) + +*Skärmbilden ovan visar en exempel‑faktura som innehåller både engelska och franska texter, vilket illustrerar hur OCR‑motorn kan **upptäcka språk** och extrahera innehållet i ett steg.* + +--- + +## Vanliga fallgropar och pro‑tips + +| Problem | Varför det händer | Hur man åtgärdar / mildrar | +|-------|----------------|------------------------| +| **Suddiga eller lågupplösta skanningar** | Motorn kan inte särskilja tecken, vilket leder till fel språkdetektering. | Skanna med ≥300 dpi, applicera bildskärpning före OCR. | +| **Saknat språk i bitmasken** | Om du glömmer att inkludera ett språk, kommer motorn att defaulta till den första matchen, ofta med felaktiga resultat. | Lista alltid alla språk du förväntar dig; du kan kombinera många med `|`‑operatorn. | +| **Blandade skript (t.ex. latin + kyrilliska)** | Aspose OCR kan behöva separata språkpaket. | Installera extra språkpaket och lägg till dem i masken. | +| **Stora filer som orsakar minnesspikar** | Att ladda en enorm bild i minnet kan krascha skriptet. | Använd `Image.resize` för att minska storleken samtidigt som DPI bevaras, eller bearbeta bilden i tile‑segment. | + +**Pro‑tips:** När du har den råa texten, kör ett snabbt efterbearbetningssteg för att normalisera blanksteg och radbrytningar. Detta gör efterföljande parsning (t.ex. extrahering av fakturanummer) mycket enklare. + +--- + +## Sammanfattning: Vad du har lärt dig + +Du vet nu **hur man upptäcker språk** i en bild med blandat språk med Aspose OCR, och du har sett ett komplett, end‑to‑end‑exempel som också visar **hur man extraherar text från bild**. Genom att konfigurera språk‑bitmasken, aktivera autodetektering och hantera resultatobjektet kan du på ett pålitligt sätt bearbeta fakturor, kvitton eller vilket dokument som helst som blandar engelska och franska (eller andra språk). + +### Nästa steg + +- Prova att lägga till **hur man extraherar text** från PDF‑filer genom att först konvertera varje sida till en bild. +- Experimentera med de andra sekundära nyckelorden: utforska hela **hur man använder OCR**‑API‑ytan, såsom att sätta OCR‑zoner för snabbare bearbetning. +- Fördjupa dig i mer komplexa **blandade språk‑OCR**‑fall, som dokument som växlar mellan tre eller fler språk. + +Känn dig fri att justera koden, testa den på dina egna bilder och låt motorn göra det tunga lyftet. Om du stöter på problem, lämna en kommentar nedan – lycka till med kodandet! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/swedish/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..e69027cb --- /dev/null +++ b/ocr/swedish/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: Lär dig hur du OCR:ar PDF i Python och gör PDF-filer sökbara snabbt. + Konvertera skannade PDF-filer, extrahera text från PDF och OCR:a skannade PDF-filer + i Python med Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: sv +og_description: Hur OCR:ar man PDF i Python? Denna steg‑för‑steg‑handledning visar + hur du konverterar skannade PDF-filer till sökbara PDF-filer och extraherar text + med Aspose OCR. +og_title: Hur man OCR:ar PDF och gör den sökbar – Pythonguide +tags: +- OCR +- Python +- PDF processing +title: Hur man OCR:ar PDF och gör den sökbar – Pythonguide +url: /sv/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hur man OCR‑ar PDF och gör dem sökbara – Python‑guide + +Har du någonsin funderat **hur man OCR‑ar PDF**‑filer utan att spendera en förmögenhet på kommersiell mjukvara? Du är inte ensam. Många utvecklare fastnar när de behöver omvandla ett skannat kontrakt, en faktura eller någon bild‑baserad PDF till ett sökbart dokument. Den goda nyheten? Med några rader Python och Aspose OCR kan du konvertera skannade PDF‑filer, extrahera text‑PDF och slutligen göra PDF‑en sökbar på några minuter. + +I den här handledningen går vi igenom allt du behöver: från att installera biblioteket, konfigurera språket, bearbeta en skannad PDF, till att spara resultatet som en sökbar PDF som innehåller både den ursprungliga bilden och ett dolt textlager. När du är klar har du ett återanvändbart skript som du kan slänga in i vilket projekt som helst – utan manuellt copy‑pasting. + +--- + +## Vad du behöver + +- **Python 3.8+** (koden fungerar på 3.9, 3.10 och nyare) +- En aktiv **Aspose OCR for Python**‑licens (en gratis provperiod räcker för experiment) +- En skannad PDF‑fil (t.ex. `scanned_contract.pdf`) som du vill göra sökbar +- Grundläggande kunskap om kommandoraden och virtuella miljöer (valfritt men rekommenderas) + +> **Proffstips:** Om du ännu inte har en licens, registrera dig för en 30‑dagars provperiod på Aspose‑webbplatsen; provversionen är fullt funktionell för utvecklingsändamål. + +--- + +## Hur man OCR‑ar PDF med Aspose OCR (Primärt nyckelord i H2) + +Det första steget är att skaffa rätt paket. Aspose OCR erbjuder ett rent, hög‑nivå API som döljer de lågnivå bildbehandlingsdetaljerna. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +När paketet är installerat kan du börja skriva skriptet. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Varför ange språk?** +> OCR‑noggrannheten beror starkt på språkmodellen. Genom att explicit tala om för motorn att förvänta sig engelsk text minskar du falska positiva resultat och påskyndar bearbetningen. + +--- + +## Steg 2: Konvertera skannad PDF till en sökbar PDF + +Nu när motorn är klar, peka den på ditt skannade dokument. Metoden `process_pdf` returnerar ett `PdfResult`‑objekt som innehåller både den ursprungliga bilddatan och den igenkända texten. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Om du behöver **konvertera skannade PDF**‑filer i bulk, loopa bara över en katalog och anropa `process_pdf` för varje fil. Motorn hanterar flersidiga PDF‑er direkt ur lådan. + +--- + +## Steg 3: Spara resultatet som en sökbar PDF (Gör PDF sökbar) + +Den sista pusselbiten är att persistera den sökbara versionen. Aspose OCR gör detta med en enda rad: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +När du öppnar `contract_searchable.pdf` i någon PDF‑visare ser du den ursprungliga skannade bilden, men du kan nu **söka efter vilket ord som helst** som OCR‑motorn har identifierat. Det dolda textlagret är osynligt för ögat men fullt indexerbart. + +--- + +### Fullt skript – Klart att köra + +Nedan är det kompletta, körbara exemplet. Kopiera‑klistra in det i en fil som heter `make_searchable.py` och justera sökvägarna så att de matchar din miljö. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Förväntad utskrift:** +När du kör skriptet skrivs en bekräftelserad på konsolen och `contract_searchable.pdf` skapas. Öppna filen, tryck `Ctrl + F` och skriv in ett ord som finns i den ursprungliga skannade bilden – du bör omedelbart få träffar. + +--- + +## Vanliga frågor & kantfall + +### 1. Vad händer om PDF‑en innehåller flera språk? + +Du kan skicka en lista med språk till motorn: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR kommer att försöka känna igen text på båda språken på samma sida. + +### 2. Hur hanterar jag lågupplösta skanningar? + +Om källbilderna är under 150 dpi kan OCR‑noggrannheten försämras. Förbehandla PDF‑en med ett verktyg som `pdfimages` för att extrahera sidor, skala upp dem med Pillow och mata in de högupplösta bilderna igen i `process_pdf`. + +### 3. Kan jag extrahera ren text utan att skapa en sökbar PDF? + +Absolut. `PdfResult`‑objektet exponerar en `text`‑egenskap: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Detta uppfyller **extract text pdf**‑användningsfallet när du bara behöver de råa tecknen. + +### 4. Finns det ett sätt att batch‑processa en mapp med PDF‑er? + +Ja – slå in funktionen `ocr_to_searchable` i en enkel loop: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Nu kan du **konvertera skannade pdf**‑filer i stor skala med ett enda kommando. + +--- + +## Prestandatips + +- **Återanvänd motorn**: Att skapa en ny `OcrEngine` för varje fil ger onödig overhead. Instansiera den en gång och återanvänd den för flera anrop. +- **Parallell bearbetning**: För stora batcher, överväg Python‑s `concurrent.futures.ThreadPoolExecutor` – Aspose OCR är trådsäker för enbart läsoperationer. +- **Minneshantering**: Om du bearbetar väldigt stora PDF‑er (hundratals sidor), anropa `gc.collect()` efter varje fil för att frigöra minne. + +--- + +## Slutsats + +Vi har gått igenom **hur man OCR‑ar PDF**‑filer i Python, omvandlat dessa skanningar till **sökbara PDF‑er**, och även visat hur du **extraherar text PDF** direkt. Med Aspose OCR får du en pålitlig motor som hanterar flersidiga dokument, flera språk och hög noggrannhet – allt med bara några rader kod. + +Prova själv på dina egna kontrakt, fakturor eller arkiverade forskningsartiklar. När du behärskar grunderna, experimentera med de avancerade funktionerna – som anpassade ordböcker, bildförbehandling eller att integrera resultatet i ett fulltext‑sökindex som Elasticsearch. + +Har du fler frågor om **ocr scanned pdf python** eller behöver hjälp med att felsöka en knepig skanning? Lämna en kommentar nedan, och lycka till med kodandet! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="exempel på hur man OCR‑ar PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/swedish/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..80306e7a --- /dev/null +++ b/ocr/swedish/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-01-12 +description: Hur man utför OCR snabbt och exakt. Lär dig att köra OCR på dokument, + extrahera text från tiff, ladda bild för OCR och ställa in OCR-språk i Python. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: sv +og_description: Hur man utför OCR i Python. Denna handledning visar hur du kör OCR + på ett dokument, extraherar text från tiff, laddar bild för OCR och ställer in OCR-språk. +og_title: Hur man utför OCR på ett TIFF‑dokument – Komplett guide +tags: +- OCR +- Python +- Image Processing +title: Hur man utför OCR på ett TIFF‑dokument – steg‑för‑steg‑guide +url: /sv/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hur man utför OCR på ett TIFF-dokument – Komplett guide + +Har du någonsin undrat **hur man utför OCR** på en skannad TIFF-fil utan att spendera timmar på att leta efter rätt bibliotek? Du är inte ensam. Många utvecklare stöter på problem när de behöver extrahera text från tiff-bilder, särskilt när prestanda och språkinställningar spelar roll. + +I den här handledningen går vi igenom allt du behöver veta: från att installera OCR‑paketet, ladda bilden för OCR, ange OCR‑språket, till slut **köra OCR på dokumentet** och hämta ren text. I slutet har du ett färdigt skript som du kan släppa in i vilket projekt som helst. + +> **Proffstips:** Även om exemplet använder en generisk `ocr`‑modul, gäller samma koncept för Tesseract, EasyOCR eller någon modern OCR‑motor som exponerar ett Python‑API. + +--- + +## Vad du behöver + +- Python 3.8+ (någon nyare version fungerar) +- Ett OCR‑bibliotek som tillhandahåller en `OcrEngine`‑klass (exemplet använder ett fiktivt `ocr`‑paket; ersätt det med ditt riktiga) +- En fler‑sidig TIFF‑fil som du vill bearbeta (vi kallar den `big_document.tif`) +- En maskin med minst 4 CPU‑kärnor om du planerar att ange trådräkning + +Inga externa tjänster, inga moln‑nycklar – bara lokal kod som körs på sekunder. + +![exempel på hur man utför OCR](/images/ocr-example.png "hur man utför OCR på ett TIFF-dokument") + +*Bildtext: hur man utför OCR på ett TIFF-dokument – förhandsgranskning av extraherad text.* + +--- + +## Steg 1: Installera och importera OCR‑biblioteket + +Först och främst: skaffa biblioteket till din maskin. De flesta OCR‑paket finns på PyPI, så ett enkelt `pip install` löser det. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Nu importerar vi de klasser du behöver. Om du använder Tesseract skulle import‑raden se annorlunda ut, men resten av koden förblir densamma. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Varför detta är viktigt:* Att importera rätt symboler tidigt förhindrar namnrymdskrockar senare och gör skriptet lättare att läsa. + +--- + +## Steg 2: Skapa och konfigurera OCR‑motorn (ange OCR‑språk) + +Att konfigurera motorn är där du **anger OCR‑språk** för korrekt igenkänning. Engelska är standard, men du kan byta till franska, tyska eller till och med flerspråkigt läge med en enda rad. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Varför 4 trådar?** De flesta moderna bärbara datorer har minst fyra kärnor, och att begränsa trådräkningen hindrar OCR‑processen från att ta hela maskinens resurser – särskilt användbart när skriptet körs på en delad server. + +Om du behöver ett annat språk, ersätt bara `ocr.Language.ENGLISH` med `ocr.Language.FRENCH`, `ocr.Language.SPANISH` osv. + +--- + +## Steg 3: Ladda bild för OCR (Load Image for OCR) + +Nu **laddar vi bild för OCR**. Metoden `Image.load` läser TIFF‑filen till minnet och hanterar automatiskt fler‑sidiga dokument. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Edge case:* Om filen är enorm kan du få slut på RAM. I så fall kan du överväga att ladda en sida i taget med `Image.load_page(page_number)` (om biblioteket stödjer det). + +--- + +## Steg 4: Kör OCR på dokumentet + +Med motorn redo och bilden laddad är det dags att **köra OCR på dokumentet**. Metoden `process` gör det tunga arbetet och returnerar ett resultatobjekt. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +Bakom kulisserna delar motorn upp bilden i textblock, kör igenkänningsmodellen och sätter ihop resultaten. Anropet är blockande, vilket betyder att skriptet väntar tills hela TIFF‑filen är bearbetad – perfekt för batch‑jobb. + +--- + +## Steg 5: Extrahera text från TIFF och verifiera resultatet + +Till sist **extraherar vi text från tiff** genom att läsa attributet `text` i resultatet. Låt oss skriva ut de första 200 tecknen som en snabb kontroll. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Förväntat resultat (exempel):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Om du behöver hela texten, använd helt enkelt `ocr_result.text`. För vidare bearbetning kan du skriva den till en `.txt`‑fil: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## Fullt fungerande exempel + +Sätter vi ihop allt får du ett färdigt skript. Byt ut platshållar‑paketnamnet mot det du faktiskt har installerat. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Kör skriptet med: + +```bash +python ocr_tiff_example.py +``` + +Du bör se en förhandsgranskning skriven till konsolen och en fil med namnet `extracted_text.txt` som innehåller hela transkriptionen. + +--- + +## Vanliga frågor & kantfall + +- **Vad händer om TIFF‑filen innehåller flera sidor?** + De flesta OCR‑motorer behandlar varje sida som en separat bild internt. `ocr_result.text` kommer att innehålla ett radbrytning mellan sidorna. Om du behöver hantera varje sida separat, iterera med `Image.load_page(page_number)`. + +- **Kan jag bearbeta en PNG eller JPEG istället för TIFF?** + Absolut. Metoden `Image.load` accepterar vanligtvis alla format som stöds av Pillow eller det underliggande biblioteket. Byt bara filändelsen. + +- **Min text är förvrängd – bör jag byta språk?** + Ja. Steget **ange OCR‑språk** är avgörande för icke‑engelska dokument. Se till att språkpaketet är installerat (t.ex. `tesseract‑lang‑fra` för franska). + +- **Slutar jag få slut på minne?** + Minska `set_memory_limit` eller bearbeta sidor en‑och‑en. Vissa motorer låter dig också skala ner bilden innan igenkänning. + +--- + +## Slutsats + +Där har du det – en kortfattad, fullt funktionell guide om **hur man utför OCR** på en TIFF‑fil med Python. Vi har gått igenom allt från installation av biblioteket, konfigurering av motorn (inklusive **ange OCR‑språk**), **ladda bild för OCR**, **köra OCR på dokumentet**, och slutligen **extrahera text från tiff**. + +Känn dig fri att experimentera: justera trådräkningen, byt språk, eller mata OCR‑resultatet in i en naturlig‑språk‑pipeline. Himlen är gränsen när du har bemästrat grunderna. + +Har du fler frågor? Lämna en kommentar nedan, och lycka till med kodandet! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/swedish/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..c41624ce --- /dev/null +++ b/ocr/swedish/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,180 @@ +--- +category: general +date: 2026-01-12 +description: hur man ställer in språk i Aspose OCR Python och extraherar text från + bild med ett anpassat lexikon. Steg‑för‑steg‑handledning för utvecklare. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: sv +og_description: hur man ställer in språk i Aspose OCR Python och extraherar text från + en bild med en anpassad ordlista. lär dig hela arbetsflödet på några minuter. +og_title: Hur man ställer in språk i Aspose OCR Python – Komplett guide +tags: +- OCR +- Python +- Aspose +- Image Processing +title: hur man ställer in språk i Aspose OCR Python – Komplett guide +url: /sv/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# hur man ställer in språk i Aspose OCR Python – Komplett guide + +Har du någonsin funderat **hur man ställer in språk** när du använder Aspose OCR i Python? Du är inte ensam – många utvecklare stöter på detta problem när standard‑engelska modellen inte känner igen produktkoder, serienummer eller flerspråkig text. Den goda nyheten är att lösningen är både enkel och kraftfull. I den här handledningen går vi igenom hur du konfigurerar språket, lägger till en anpassad ordlista, extraherar text från en bild och slutligen bearbetar bilden för bästa OCR‑resultat. + +Vi täcker allt du behöver veta: från installation av biblioteket till att köra ett komplett exempel som skriver ut den extraherade texten. När du är klar kommer du kunna **extrahera text från bild**‑filer med självförtroende, även när innehållet innehåller ovanliga koder eller blandade språk. + +## Förutsättningar + +Innan vi dyker ner, se till att du har: + +* Python 3.8+ installerat (koden använder f‑strings, så äldre versioner fungerar inte). +* En aktiv Aspose OCR för Python‑licens eller en gratis provnyckel. +* `asposeocr`‑paketet installerat via `pip install asposeocr`. +* En exempelbild (`product_label.png`) som innehåller den text du vill läsa. + +Om du redan har dessa delar, toppen – låt oss gå vidare. Om inte, hämta den kostnadsfria provversionen från Asposes webbplats och kör installationskommandot; det tar bara en minut. + +## Steg 1: Importera Aspose OCR‑modulen + +Det första du behöver göra är att importera OCR‑klasserna till ditt skript. Detta är grunden för **hur man ställer in språk** senare. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Proffstips:** Håll dina import‑satser högst upp i filen. Det gör skriptet lättare att skanna, särskilt när du återkommer senare. + +## Steg 2: Hur man ställer in språk + +Som standard antar Aspose OCR engelska. Om din bild innehåller franska, tyska eller något annat språk måste du tala om för motorn vilket språk som ska användas. Här kommer nyckelordet i spel. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Varför spelar detta roll? OCR‑motorer förlitar sig på språk‑specifika teckenmodeller. Att ange rätt språk förbättrar noggrannheten dramatiskt – särskilt för accentuerade tecken eller språk‑specifika ligaturer. + +> **Obs:** Om du behöver stödja flera språk samtidigt kan du skicka en lista som `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## Steg 3: Hur man lägger till ordlista (användardefinierade ord) + +Ibland missuppfattar OCR‑motorn produktkoder som “AB‑1234”. Du kan öka förtroendet genom att mata in en anpassad ordlista. Detta svarar direkt på **hur man lägger till ordlista** i Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +Motorn behandlar dessa ord som “kända” och kommer att föredra dem framför liknande tecken. Detta är särskilt praktiskt för SKU‑nummer, serienummer eller varumärkesnamn som inte ingår i ett naturligt språk. + +## Steg 4: Hur man bearbetar bild + +Nu när motorn är konfigurerad måste du ladda bilden du vill analysera. Detta adresserar **hur man bearbetar bild** på ett rent, repeterbart sätt. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +Om du arbetar med PDF‑filer kan du först konvertera varje sida till en bild – Aspose OCR stödjer detta direkt. + +## Steg 5: Hur man extraherar text från bild + +Med allt på plats är sista steget att köra OCR och hämta texten. Detta är kärnan i **hur man extraherar text** från en bild. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +När du kör skriptet bör du se något i stil med: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Om utskriften ser förvrängd ut, dubbelkolla att du har angett rätt språk och att din anpassade ordlista innehåller exakt de strängar du förväntar dig. + +## Komplett fungerande exempel + +Sätter vi ihop allt får du hela skriptet som du kan kopiera‑klistra in i en fil som heter `extract_label.py`. Glöm inte att ersätta `YOUR_DIRECTORY` med den faktiska sökvägen till din bild. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Förväntad utskrift + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Om du ser exakt de koder du lagt till i ordlistan har du framgångsrikt bemästrat **hur man ställer in språk**, **hur man lägger till ordlista** och **hur man extraherar text från bild** med Aspose OCR. + +## Hantera vanliga kantfall + +| Situation | Vad du ska göra | +|-----------|-----------------| +| **Bilden är suddig** | Förbehandla med `ocr.Image.apply_filter()` för att skärpa innan du anropar `process()`. | +| **Flera språk i en bild** | Sätt `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **Stora PDF‑filer** | Loopa igenom varje sida, konvertera till `ocr.Image` och anropa `process()` per sida. | +| **Oväntade tecken** | Lägg till dem i listan med användardefinierade ord; Aspose OCR behandlar dem som hög‑tillitstoken. | + +Dessa tips håller din OCR‑pipeline robust, även när indata inte är perfekt. + +## Visuell referens + +![how to set language in Aspose OCR example](image.png "Screenshot showing how to set language in Aspose OCR Python example") + +*Alt‑text:* **hur man ställer in språk** skärmdump som illustrerar språkegenskapsinställningen i en Python‑IDE. + +## Slutsats + +Du vet nu **hur man ställer in språk** i Aspose OCR Python, hur du **lägger till ordlista**‑poster, och de exakta stegen för att **extrahera text från bild** och **bearbeta bild**‑filer för optimala resultat. Det kompletta exemplet ovan kan klistras in i vilket projekt som helst, justeras för olika språk och utökas för batch‑behandling eller PDF‑inmatning. + +Redo för nästa utmaning? Prova att byta `ocr.Language.ENGLISH` mot `ocr.Language.FRENCH` och observera förbättringen i noggrannhet på franskspråkiga etiketter. Eller experimentera med `set_user_defined_words`‑metoden för att inkludera hela produktkatalogen – din OCR‑motor kommer att behandla varje post som en hög‑tillitsträff. + +Lycka till med kodandet, och må dina OCR‑resultat alltid vara kristallklara! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/swedish/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..b1ec3db6 --- /dev/null +++ b/ocr/swedish/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-01-12 +description: Bearbeta handskrivna anteckningar i Python med Aspose OCR – lär dig hur + du snabbt extraherar text från jpg‑bilder. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: sv +og_description: Bearbeta handskrivna anteckningar i Python med Aspose OCR. Lär dig + hur du extraherar text från jpg‑bilder, känner igen handskriven OCR och laddar bilder + för OCR. +og_title: Bearbeta handskrivna anteckningar med Python – Komplett OCR-handledning +tags: +- OCR +- Python +- Aspose +title: Bearbeta handskrivna anteckningar med Python – Guide för handskriven OCR +url: /sv/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Bearbeta handskrivna anteckningar med Python – Handwritten OCR Guide + +Om du behöver **bearbeta handskrivna anteckningar** i Python visar den här guiden exakt hur du gör. Oavsett om anteckningarna finns på ett skannat kvitto, ett foto av en klassrumsvit, eller ett snabbt selfie‑foto av en att‑göra‑lista, kommer du att lära dig **hur du extraherar text** från dessa bilder utan att svettas. + +Vi går igenom varje steg – import av Aspose OCR‑biblioteket, laddning av en JPG, körning av motorn och hantering av rader med låg förtroendegrad. I slutet har du ett färdigt skript som kan **recognize text from jpg**‑filer och ge dig rena, användbara strängar. + +## Vad du får + +- Ett komplett, körbart kodexempel som fungerar direkt ur lådan. +- Förståelse för varför varje rad är viktig, inte bara vad den gör. +- Tips för att hantera vinglig handstil och resultat med låg förtroendegrad. +- Vägledning för att utöka skriptet till PDF‑filer, flera bilder eller egna språkpaket. + +*Förutsättningar*: Python 3.8+ installerat, en giltig Aspose OCR‑licens (eller en gratis provversion) och en bildfil som heter `handwritten_notes.jpg` i din projektmapp. + +--- + +![Process handwritten notes example](https://example.com/handwritten-notes.png "processa handskrivna anteckningar") + +*Alt‑text: process handwritten notes – exempelbild som visar handskriven text redo för OCR.* + +## Process Handwritten Notes: Setting Up the OCR Engine + +### Varför detta steg är viktigt +OCR‑motorn är hjärnan bakom igenkänningsprocessen. Att välja rätt språk och initiera objektet korrekt säkerställer att motorn vet att den ska leta efter engelska tecken och att den kan hantera handskriftens egenheter. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Proffstips:** Om du förväntar dig anteckningar på ett annat språk, byt `ocr.Language.ENGLISH` mot rätt enum (t.ex. `ocr.Language.FRENCH`). Motorn laddar automatiskt den behövda teckenuppsättningen. + +--- + +## How to Extract Text from JPG Images + +### Laddar bilden – det första hindret +Innan motorn kan göra något arbete behöver den en bitmap‑representation av din JPG. Aspose erbjuder en bekväm statisk `load`‑metod som läser in filen till ett `Image`‑objekt. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Varför inte använda OpenCV eller Pillow?* +De biblioteken är bra för förbehandling, men Aspose’s `Image.load` garanterar exakt det pixelformat som OCR‑motorn förväntar sig, vilket eliminerar en vanlig källa till felaktiga färgdjup. + +--- + +## Recognize Text from JPG with Handwritten OCR Python + +### Kör OCR‑motorn +Nu när motorn och bilden är redo, startar vi igenkänningen. `process`‑metoden returnerar ett `OcrResult`‑objekt som innehåller en lista med `Line`‑objekt, var och en med sin egen förtroendegrad. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**Vad händer under huven?** +Aspose OCR kör en djup‑inlärningsmodell tränad på miljontals handskrivna prover. Den segmenterar bilden i rader, sedan tecken och samlar slutligen den mest sannolika textsträngen för varje rad. + +--- + +## Load Image for OCR – Handling Low‑Confidence Results + +### Varför du bör bry dig om förtroendegrad +Handskriven OCR är aldrig 100 % perfekt. En förtroendegrad under 75 % betyder vanligtvis att motorn hade problem med penseldragens ordning eller bakgrundsbrus. Genom att filtrera bort dessa rader kan du bestämma om du ska be en användare om verifiering eller tillämpa ytterligare bild‑förbehandling. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Typiskt utdata** (dina resultat kommer att variera): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Lägg märke till hur skriptet tydligt separerar pålitlig text från vingliga bitar. Du kan senare skicka rader med låg förtroendegrad till ett andra pass med bild‑förbättringsfilter (t.ex. kontrastökning) eller presentera dem för en mänsklig granskare. + +--- + +## Full Script – Ready to Run + +Nedan är hela programmet, redo för kopiering och inklistring. Spara det som `handwritten_ocr.py` och kör `python handwritten_ocr.py`. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Förväntat beteende:** +- Skriptet skriver ut varje rad med sin förtroendeprocent. +- Rader över 75 % visas som “Accepted”, medan resten flaggas för granskning. +- Inga extra beroenden krävs utöver `asposeocr`. + +--- + +## Common Questions & Edge Cases + +### Vad händer om min bild är en PNG eller BMP? +Aspose OCR upptäcker automatiskt formatet, så du kan helt enkelt ändra filändelsen i `image_path`. Ingen kodändring behövs. + +### Min handstil är extremt rörig – hur kan jag förbättra noggrannheten? +1. **Förbehandla bilden** – öka kontrast, ta bort bakgrundsskuggor (OpenCV kan hjälpa). +2. **Höj förtroendegränsen** – sätt den till 80 % om du bara vill ha nästan perfekta rader. +3. **Träna en egen modell** – Aspose erbjuder en “custom language pack”-funktion för specialiserade handstilsstilar. + +### Kan jag bearbeta flera bilder i ett kör? +Absolut. Lägg in laddnings‑ och bearbetningsstegen i en `for`‑loop över en lista med filsökvägar. Kom ihåg att återanvända samma `ocr_engine`‑instans för snabbare körning. + +### Fungerar detta på macOS/Linux? +Ja. Aspose OCR tillhandahåller wheels för alla större plattformar. Bara `pip install asposeocr` så är du klar. + +--- + +## Next Steps & Related Topics + +- **How to extract text from PDFs** – när du har OCR‑pipeline kan du mata PDF‑sidor till `ocr.Image.load` med en enda rad kod. +- **Integrating with a database** – lagra varje accepterad rad i SQLite eller PostgreSQL för sökbara anteckningar. +- **Real‑time OCR on mobile** – kombinera detta skript med Flask eller FastAPI för att exponera en REST‑endpoint som mobila appar kan anropa. + +Varje av dessa utökningar bygger på kärnkoncepten vi gått igenom: **process handwritten notes**, **how to extract text**, **recognize text from jpg**, och **load image for OCR**. + +--- + +## Conclusion + +Du har nu en solid, end‑to‑end‑lösning för **process handwritten notes** med Python och Aspose OCR. Guiden gick igenom hur du sätter upp motorn, laddar en JPG, kör igenkänning och hanterar resultat med låg förtroendegrad – allt i ett enda kopiera‑och‑klistra‑skript. + +Från och med nu kan du experimentera med olika bild‑förbehandlingstekniker, höja förtroendegränsen eller skala lösningen för att batch‑processa hundratals anteckningar. Himlen är gränsen, och koden du just lärt dig är din startplatta. + +*Happy coding, and may your handwritten notes finally become searchable text!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/swedish/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..a5c01797 --- /dev/null +++ b/ocr/swedish/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,237 @@ +--- +category: general +date: 2026-01-12 +description: Python OCR-handledning som visar hur man extraherar tabelltext från en + bild. Lär dig att läsa tabell från bild och extrahera vald text med Aspose OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: sv +og_description: Python OCR-handledning som lär dig hur du extraherar tabelltext från + en bild, läser tabell från bild och extraherar vald text med Aspose OCR. +og_title: 'Python OCR-handledning: Extrahera tabelltext från bilder' +tags: +- OCR +- Python +- AsposeOCR +title: 'Python OCR-handledning: Extrahera tabelltext från bilder' +url: /sv/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR‑tutorial: Extrahera tabelltext från bilder + +Har du någonsin behövt en **python ocr tutorial** som faktiskt visar hur du drar ut en tabell ur ett skannat formulär? Du är inte ensam. De flesta guider stannar vid generell textutvinning och lämnar dig att gissa hur du isolerar det snygga rutnätet av data du är intresserad av. + +I den här guiden går vi igenom ett verkligt scenario: läsa en tabell från en bild, extrahera endast den valda texten du behöver, och slutligen skriva ut resultaten. På vägen slänger vi in tips om **how to extract table** data på ett pålitligt sätt, så att du slipper uppfinna hjulet varje gång. + +## Vad du kommer att lära dig + +- Hur du sätter upp Aspose OCR för Python. +- Hur du definierar ett rektangulärt område som innehåller en tabell. +- De exakta stegen för att **extract table text** och **read table from image**. +- Tips för att hantera flera språk eller oregelbundna tabelllayouter. +- Ett komplett, körbart skript som du kan släppa in i ditt projekt idag. + +**Förutsättningar** +- Python 3.8 eller nyare. +- Grundläggande förståelse för OCR‑koncept (ingen djup expertis krävs). +- En PNG‑ eller JPEG‑bild som innehåller en tydlig tabell (vi kallar den `form_with_table.png`). + +Om du har detta, låt oss dyka in—utan onödig prat, bara handlingsbar kod. + +![python ocr tutorial example of table region](table_region_example.png){alt="python ocr tutorial exempel som visar tabellområde"} + +## Steg 1: Installera och importera Aspose OCR + +Först och främst: du behöver Aspose OCR‑biblioteket. Paketet finns på PyPI, så ett enda `pip`‑kommando räcker. + +```bash +pip install aspose-ocr +``` + +Importera sedan modulen och eventuella hjälpfunktioner du behöver. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro tip:* Håll dina beroenden i en `requirements.txt`‑fil. Det gör det enkelt att reproducera miljön. + +## Steg 2: Initiera OCR‑motorn (Python OCR Tutorial Core) + +Att skapa motorn är hjärtat i varje **python ocr tutorial**. Här sätter vi också standardspråket till engelska—byt gärna ut det senare. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Varför ange språk? OCR‑noggrannheten kan öka dramatiskt när motorn vet vilka tecken som förväntas. Om du arbetar med flerspråkiga formulär kan du antingen ange en lista med språk eller åsidosätta per område (se nedan). + +## Steg 3: Ladda din bild + +Aspose OCR fungerar med de flesta vanliga bildformat. Peka bara på filvägen så får du ett `Image`‑objekt redo för bearbetning. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Edge case:* Stora bilder (över 5 MB) kan göra bearbetningen långsam. Överväg att ändra storlek eller komprimera dem innan OCR om prestanda blir ett problem. + +## Steg 4: Definiera tabellområdet (Read Table from Image) + +Nu blir det roligt: berätta för motorn *var* tabellen finns. Du anger ett `OcrRegion` med en `Rectangle` (x, y, width, height). Koordinaterna är pixelbaserade, så du kan behöva experimentera lite. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Varför använda ett område? Genom att begränsa OCR till tabellområdet **extract selected text** snabbare och undviker brus från omgivande etiketter eller grafik. Det förbättrar också noggrannheten eftersom motorn kan fokusera på en enhetlig layout. + +## Steg 5: Kör OCR på det definierade området + +När området är satt anropar vi `process_region`. Metoden returnerar ett `OcrResult`‑objekt som innehåller råtext, förtroendescore och även begränsningsrutor om du behöver dem senare. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +Om du behöver extrahera flera tabeller, upprepa helt enkelt Steg 4‑5 med olika rektanglar. + +## Steg 6: Skriv ut den extraherade tabelltexten + +Till sist, skriv ut—eller spara—tabellens textrepresentation. Aspose OCR returnerar vanlig text med radbrytningar som vanligtvis matchar rader, vilket gör efterbearbetning enkel. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Förväntad utskrift** (exempel): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +Du kan nu föra in den här strängen i `csv`‑parsers, pandas DataFrames eller någon annan downstream‑analyspipeline. + +## Fullt fungerande exempel + +Sätter vi ihop allt får du det kompletta skriptet som du kan köra direkt. Byt ut `YOUR_DIRECTORY/form_with_table.png` mot den faktiska sökvägen till din bild. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Kör skriptet med `python extract_table.py`. Om allt stämmer ser du tabellen skriven i din konsol. + +## Vanliga frågor & Edge‑Case‑hantering + +**Vad händer om tabellen inte är perfekt rektangulär?** +Du kan dela tabellen i flera överlappande områden eller använda en större rektangel som täcker hela området och sedan efterbearbeta texten (t.ex. dela på radbrytningar). + +**Kan jag extrahera bara specifika kolumner?** +Efter att du har hela tabelltexten, använd Python‑s `csv` eller `pandas` för att skiva ut de kolumner du är intresserad av. OCR‑steget returnerar allt inom rektangeln. + +**Hur arbetar jag med icke‑engelska tabeller?** +Sätt `ocr_engine.language` (eller `region.language`) till rätt enum, t.ex. `ocr.Language.FRENCH` eller kombinera flera språk med `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**Finns det ett sätt att få begränsningsrutor för varje cell?** +Aspose OCR kan returnera `region_result.words` där varje ord innehåller en begränsningsruta. Du måste mappa dessa rutor tillbaka till ett rutnät—användbart för avancerad layoutanalys. + +## Tips för bättre noggrannhet + +- **Rensa bilden**: Binarisera eller öka kontrasten innan du skickar den till OCR. Bibliotek som Pillow kan hjälpa. +- **Undvik komprimeringsartefakter**: Spara skanningar som PNG när det är möjligt. +- **Tänk på DPI**: 300 dpi är en bra kompromiss; lägre värden kan leda till missade tecken. +- **Testa olika rektangelstorlekar**: Lite större rektanglar fångar ofta löst placerade tecken som tillhör tabellen. + +## Nästa steg + +Nu när du har bemästrat **how to extract table** data med Aspose OCR kan du utforska: + +- Konvertera den extraherade texten till en CSV‑fil med Python‑modulen `csv`. +- Ladda in data i en **pandas** DataFrame för analys. +- Använd OCR för att läsa handskrivna formulär (kräver en annan motor eller extra träning). +- Automatisera batch‑bearbetning av dussintals skannade formulär med en enkel `for`‑loop. + +Varje av dessa förlängningar bygger på kärnkoncepten i denna **python ocr tutorial**, så du är väl rustad för att skala upp. + +--- + +*Lycka till med kodandet! Om du stöter på problem, lämna en kommentar nedan—jag hjälper gärna till att finjustera extraktionen.* + +{{< /blocks/products/pf-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/swedish/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..fc0e7c4e --- /dev/null +++ b/ocr/swedish/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,283 @@ +--- +category: general +date: 2026-01-12 +description: Kör OCR på PNG-filer snabbt med Python. Lär dig hur du extraherar text + från bild och faktura, och laddar bild för OCR med Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: sv +og_description: Kör OCR på PNG direkt. Den här guiden visar hur du extraherar text + från bild och faktura, laddar bilden för OCR och sparar resultaten som JSON och + CSV. +og_title: Kör OCR på PNG – Fullständig Python-handledning +tags: +- OCR +- Python +- Image Processing +title: Kör OCR på PNG – Komplett Python-guide för att extrahera text från bilder +url: /sv/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Kör OCR på PNG – Komplett Python‑guide för att extrahera text från bilder + +Har du någonsin behövt **köra OCR på PNG**‑filer men varit osäker på vilket bibliotek som ger rena, strukturerade resultat? Du är inte ensam. I många verkliga projekt—tänk fakturautomatisk eller kvittoskanning—är första steget att **extrahera text från bild**‑filer, och PNG är ett vanligt format eftersom det bevarar förlustfri kvalitet. + +I den här handledningen går vi igenom ett praktiskt exempel med Aspose.OCR‑paketet för Python. I slutet av guiden vet du hur du **laddar bild för OCR**, hämtar varje textrad, omvandlar datan till ett prydligt JSON‑objekt och till och med sparar det som CSV för vidare bearbetning. Inga onödiga detaljer, bara en praktisk, färdig‑att‑köra lösning. + +## Vad du kommer att lära dig + +- Hur du installerar och importerar Aspose.OCR‑biblioteket. +- De exakta stegen för att **köra OCR på PNG** och hantera resultatobjektet. +- Sätt att **extrahera text från faktura**‑filer och formatera utdata som JSON eller CSV. +- Tips för att hantera lågkontrastbilder, flerspråkiga dokument och förtroendescore. +- Ett komplett, kopiera‑och‑klistra‑kodexempel som du kan köra idag. + +> **Förutsättning:** Python 3.8+ och grundläggande kunskap om pip. Om du aldrig har använt Aspose tidigare, oroa dig inte—denna guide täcker allt du behöver för att komma igång. + +--- + +## Steg 1 – Installera Aspose.OCR och förbered din miljö + +Innan vi kan **köra OCR på PNG** måste biblioteket finnas på ditt system. + +```bash +pip install aspose-ocr +``` + +> **Pro tip:** Använd ett virtuellt miljö (`python -m venv venv`) för att hålla beroenden isolerade. Det förhindrar versionskonflikter om du jonglerar flera projekt. + +När installationen är klar, importera de moduler vi kommer att behöva: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Här importerar vi `asposeocr` för den tunga lyftningen och det inbyggda `json`‑biblioteket för senare serialisering. + +--- + +## Steg 2 – Skapa OCR‑motorn och ange språk + +OCR‑motorn är kärnkomponenten som faktiskt läser pixlarna. För de flesta engelska fakturor vill du använda det engelska språkpaketet: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Varför detta är viktigt:** Att specificera språk begränsar teckenuppsättningen, vilket ökar noggrannheten och snabbar upp bearbetningen. Om du någonsin behöver hantera flerspråkiga fakturor, byt bara ut `ocr.Language.ENGLISH` mot rätt enum. + +--- + +## Steg 3 – Ladda bilden för OCR + +Nu **laddar vi bild för OCR**. Metoden `Image.load` accepterar en filsökväg och fungerar med PNG, JPEG, BMP och fler. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Edge case:** Om PNG‑filen är ovanligt stor (över 5 MB), överväg att skala ner den först för att hålla minnesanvändningen rimlig. Pillow kan göra det i en enda rad: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## Steg 4 – Kör OCR på PNG och fånga resultatet + +Med motorn redo och bilden laddad är det dags att **köra OCR på PNG** och hämta det strukturerade resultatet. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +`ocr_result`‑objektet innehåller en samling `OcrRegion`‑objekt, var och en med den igenkända texten och ett förtroendescore (0‑100). Här får du den granulära data som behövs för att **extrahera text från faktura**‑rader. + +--- + +## Steg 5 – Konvertera resultatet till JSON och pretty‑printa det + +De flesta downstream‑system älskar JSON, så vi omvandlar OCR‑utdata till en snyggt formaterad sträng. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Exempel på utdata + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Lägg märke till hur varje rad innehåller ett förtroendemått—perfekt för att filtrera bort lågt förtroende om du planerar att **extrahera text från faktura** automatiskt. + +--- + +## Steg 6 – Spara OCR‑data som CSV (En rad per text + förtroende) + +CSV är idealiskt för kalkylblad eller snabba dataimporter. Aspose erbjuder en end‑liner för att dumpa allt till en CSV‑fil. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +Den genererade CSV‑filen kommer att se ut så här: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Du kan nu öppna den i Excel, Google Sheets eller mata in den i en databas. + +--- + +## Bonus – Hantera låg‑förtroende‑text och flersidiga PDF‑er + +### Filtrering efter förtroende + +Om du bara vill ha rader med hög säkerhet, filtrera JSON innan du skriver ut den: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Flersidiga dokument + +Aspose.OCR skapar automatiskt ett nytt `page`‑objekt för varje sida i en flersidig PNG eller PDF. Loopa igenom `ocr_data["pages"]` för att bearbeta dem alla—ingen extra kod behövs. + +--- + +## Fullt fungerande exempel + +Nedan är **det kompletta skriptet** som du kan kopiera, klistra in och köra omedelbart. Ersätt `YOUR_DIRECTORY` med mappen som innehåller din PNG‑fil. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Kör skriptet med `python run_ocr.py` så ser du JSON‑dumpen i konsolen, en CSV‑fil på disk och en filtrerad lista med hög‑förtroende‑poster. + +--- + +## Vanliga frågor + +**Q: Kan jag använda detta för att extrahera text från ett skannat kvitto istället för en faktura?** +A: Absolut. Samma arbetsflöde gäller—pek bara `image_path` på ditt kvitto‑PNG. Om kvittot använder ett annat språk, byt `engine.language` därefter. + +**Q: Vad händer om min PNG innehåller roterad text?** +A: Aspose.OCR upptäcker automatiskt orientering, men för envisa fall kan du manuellt rotera bilden med Pillow innan du skickar den till motorn. + +**Q: Behöver jag en betald licens för Aspose.OCR?** +A: Biblioteket erbjuder ett gratis utvärderingsläge med ett vattenstämpel på utdata. För produktionsbruk behöver du en licens, som du kan skaffa från Aspose‑webbplatsen. + +--- + +## Slutsats + +Vi har gått igenom allt du behöver för att **köra OCR på PNG**‑filer med Python: installera SDK, ladda bilden, extrahera strukturerad text och spara resultatet som JSON eller CSV. Oavsett om du vill **extrahera text från bild** för ett enkelt skript eller **extrahera text från faktura** för en automatiserad bokföringspipeline, ger stegen ovan en solid, produktionsklar grund. + +Nästa steg kan vara att: + +- Integrera CSV‑utdata med en databas för masslagring av fakturor. +- Lägga till efterbehandling med reguljära uttryck för att plocka ut datum, belopp eller skatte‑ID. +- Använda `ocr_engine.recognize_barcode`‑funktionen om dina fakturor innehåller QR‑koder. + +Prova, justera förtroendetrösklarna och se ditt dokument‑bearbetningsflöde bli en barnlek. Har du fler frågor eller ett coolt användningsfall att dela? Kommentera nedan—lycka till med OCR! + +![Kör OCR på PNG‑exempel](run-ocr-on-png.png "Kör OCR på PNG – visuell exempel på OCR‑resultat") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/thai/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..c0c2e325 --- /dev/null +++ b/ocr/thai/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,190 @@ +--- +category: general +date: 2026-01-12 +description: ดึงข้อความจากรูปภาพด้วย Python โดยใช้ Aspose OCR. เรียนรู้วิธีแปลงภาพสแกนเป็นข้อความด้วยโค้ดแบบอะซิงโครนัสในเวลาเพียงไม่กี่นาที. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: th +og_description: ดึงข้อความจากภาพด้วย Python และ Aspose OCR. บทเรียนนี้แสดงวิธีแปลงภาพสแกนเป็นข้อความโดยใช้ฟังก์ชันแบบอะซิงค์. +og_title: การสกัดข้อความจากรูปภาพด้วย Python – คู่มือ OCR แบบอะซิงโครนัส +tags: +- python +- ocr +- async +title: ดึงข้อความจากภาพด้วย Python – คู่มือ OCR แบบอะซิงค์ +url: /th/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# สกัดข้อความจากรูปภาพด้วย Python – คู่มือ Async OCR + +เคยต้องการ **extract text from image Python** สคริปต์แต่รู้สึกติดขัดที่ส่วน OCR ไหม? คุณไม่ได้เป็นคนเดียว นักพัฒนาจำนวนมากเจออุปสรรคเมื่อมีเอกสารสแกนและต้องการแปลงเป็นข้อความที่ค้นหาได้โดยไม่ต้องบิดหัวของตัวเอง + +ในบทเรียนนี้เราจะเดินผ่านตัวอย่างที่สมบูรณ์และสามารถรันได้ ซึ่งจะแสดงให้คุณเห็นวิธี **convert scanned image to text** ด้วย Aspose OCR API แบบ asynchronous. เมื่อจบคุณจะมีฟังก์ชันเดียวที่สามารถนำไปใช้ในโปรเจกต์ใดก็ได้ และคุณจะเข้าใจว่าการประมวลผลแบบ async ทำให้แอปของคุณตอบสนองได้แม้ OCR จะใช้เวลาหลายวินาที + +## ข้อกำหนดเบื้องต้น + +- Python 3.8+ ติดตั้งแล้ว (ฟีเจอร์ async ต้องการอย่างน้อย 3.7) +- แพคเกจ `asposeocr` (`pip install asposeocr`) – นี่คือไลบรารีที่เราจะใช้ +- ไฟล์รูปสแกน (TIFF, PNG, JPEG – สิ่งใดที่ Aspose OCR รองรับ) +- ความคุ้นเคยพื้นฐานกับ `asyncio` (ถ้ายังไม่รู้ก็ไม่ต้องกังวล – เราจะอธิบายทุกขั้นตอน) + +ไม่มีการพึ่งพาระบบเพิ่มเติม; Aspose OCR รวมทุกอย่างที่คุณต้องการไว้แล้ว + +![แผนภาพแสดงกระบวนการ async OCR – สกัดข้อความจากรูปภาพด้วย Python](https://example.com/async-ocr-diagram.png "async OCR flow – extract text from image python") + +## ขั้นตอนที่ 1 – ตั้งค่า Asynchronous Helper Function + +หัวใจของวิธีแก้คือฟังก์ชัน `async` ที่โหลดรูปภาพ, เริ่ม OCR, แล้วรอผลลัพธ์ การทำฟังก์ชันเป็น async หมายความว่าคุณสามารถรัน coroutine อื่น ๆ (เช่น ดาวน์โหลดไฟล์เพิ่มเติม) ในขณะที่เอนจิน OCR ทำงานเบื้องหลัง + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Why this matters:** By returning a `Future`, Aspose OCR does the heavy lifting on a separate thread pool. `await` releases the event loop, so your app stays snappy. If you ever need to process many images concurrently, you can simply schedule several `async_ocr` calls with `asyncio.gather`. + +## ขั้นตอนที่ 2 – เรียกใช้ Coroutine ใน Event Loop + +ตอนนี้เรามี helper แล้ว เราต้องเรียกใช้มัน `asyncio.run` จะสร้าง event loop ใหม่, รัน coroutine, และปิดทุกอย่างอย่างเรียบร้อย + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Pro tip:** If you’re integrating this into a larger async application (e.g., FastAPI), you’d call `await async_ocr(...)` directly instead of `asyncio.run`. + +## ขั้นตอนที่ 3 – ตรวจสอบผลลัพธ์ + +เมื่อคุณรันสคริปต์ คุณควรเห็นอะไรประมาณนี้: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +หากผลลัพธ์ดูเป็นอักขระผสม, ให้ตรวจสอบอีกครั้งว่า: + +1. รูปภาพชัดเจนและไม่ได้บีบอัดเกินไป +2. คุณได้เลือกภาษาอย่างถูกต้อง (`ocr.Language.ENGLISH` ทำงานได้กับข้อความลาตินส่วนใหญ่) +3. เส้นทางไฟล์ถูกต้องและไฟล์สามารถอ่านได้ + +## ขั้นตอนที่ 4 – จัดการกรณีขอบ + +### หลายภาษา + +หากคุณต้องการ **convert scanned image to text** ในภาษาที่ไม่ใช่ภาษาอังกฤษ เพียงเปลี่ยนคุณสมบัติ language: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### ไฟล์ขนาดใหญ่ + +สำหรับ TIFF ขนาดใหญ่มาก ให้พิจารณาเปลี่ยนขนาดหรือแปลงเป็น PNG ความละเอียดต่ำก่อนส่งให้ OCR วิธีนี้ลดความกดดันของหน่วยความจำและเร่งการประมวลผล + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### การจัดการข้อผิดพลาด + +ห่อการเรียก OCR ด้วยบล็อก `try/except` เพื่อจับข้อผิดพลาดที่เกี่ยวกับเครือข่ายหรือใบอนุญาต + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## ขั้นตอนที่ 5 – ขยายการประมวลผล: ประมวลผลหลายรูปภาพพร้อมกัน + +เนื่องจากฟังก์ชันเป็น async คุณสามารถส่งงาน OCR หลายสิบงานพร้อมกันได้: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +รูปแบบนี้ทำให้ CPU ทำงานเต็มที่ในขณะที่เอนจิน OCR ทำงานแบบขนาน, ลดเวลาการประมวลผลโดยรวมอย่างมาก + +## สรุป + +คุณมีโซลูชัน **extract text from image Python** ที่แข็งแกร่งและใช้ Aspose OCR API แบบ asynchronous ตัวอย่างเต็มแสดงวิธี: + +1. เริ่มต้นเอนจิน OCR และเลือกภาษา +2. เรียก OCR อย่าง asynchronous ด้วย `process_async` +3. รอผลลัพธ์โดยไม่บล็อก event loop +4. จัดการกับปัญหาทั่วไปเช่นไฟล์ขนาดใหญ่และการสนับสนุนหลายภาษา + +คุณสามารถปรับโค้ดให้เข้ากับ pipeline ของคุณได้ ไม่ว่าจะเป็นระบบจัดการเอกสาร, ตัวสร้างดัชนีการค้นหา, หรือยูทิลิตี้บรรทัดคำสั่ง ขั้นตอนต่อไปอาจรวมถึง: + +- เก็บข้อความที่สกัดไว้ในฐานข้อมูลเพื่อการค้นหาแบบเต็มข้อความ +- เพิ่มการสร้าง PDF (เช่น ใช้ `PyPDF2`) เพื่อสร้าง PDF ที่ค้นหาได้ +- ผสานกับเว็บเฟรมเวิร์กอย่าง FastAPI เพื่อสร้างบริการ OCR แบบ RESTful + +ขอให้เขียนโค้ดอย่างสนุกและเพลิดเพลินกับการแปลงรูปสแกนให้เป็นข้อความที่ค้นหาและแก้ไขได้! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/thai/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..6abefead --- /dev/null +++ b/ocr/thai/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,214 @@ +--- +category: general +date: 2026-01-12 +description: วิธีทำ OCR รูปภาพเป็นชุดอย่างรวดเร็วและดึงข้อความจากไฟล์ JPEG ด้วย Python. + เรียนรู้การประมวลผลเป็นชุดแบบขั้นตอนต่อขั้นตอนพร้อมตัวอย่างที่สามารถรันได้ครบถ้วน. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: th +og_description: วิธีทำ OCR รูปภาพเป็นชุดและดึงข้อความจากไฟล์ JPEG คู่มือนี้จะพาคุณผ่านโซลูชัน + Python ที่สมบูรณ์พร้อมใช้งาน. +og_title: วิธีทำ OCR รูปภาพเป็นชุด – การสอน Python อย่างรวดเร็ว +tags: +- OCR +- Python +- image processing +title: วิธีทำ OCR รูปภาพเป็นชุด – คู่มือเร็วสำหรับการดึงข้อความจากไฟล์ JPEG +url: /th/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีทำ OCR รูปภาพเป็นชุด – คู่มือเร็วสำหรับการสกัดข้อความจากไฟล์ JPEG + +เคยสงสัย **วิธีทำ OCR รูปภาพเป็นชุด** โดยไม่ต้องเขียนสคริปต์แยกสำหรับแต่ละไฟล์หรือไม่? คุณไม่ได้เป็นคนเดียว ในหลายโครงการ—การสแกนใบแจ้งหนี้, การดิจิไทซ์เอกสารเก่า, หรือการตรวจสอบเนื้อหา—เราต้องดึงข้อความจากรูป JPEG หลายสิบหรือหลายร้อยไฟล์ในครั้งเดียว ข่าวดีคือคุณสามารถทำได้ด้วยเพียงไม่กี่บรรทัดของ Python และคุณจะได้เอ็นจิ้นที่นำกลับมาใช้ใหม่ได้ซึ่งสามารถใส่ลงในไพพ์ไลน์ใดก็ได้ + +ในบทแนะนำนี้เราจะสาธิต **วิธีทำ OCR รูปภาพเป็นชุด** อย่างละเอียด จากนั้นจะอธิบายขั้นตอนการสกัดข้อความจากไฟล์ JPEG, การจัดการกรณีขอบ, และการตรวจสอบผลลัพธ์ เมื่อจบคุณจะมีสคริปต์ที่ทำงานอิสระซึ่งสามารถรันกับโฟลเดอร์รูปภาพใดก็ได้ และคุณจะเข้าใจว่าการประมวลผลเป็นชุดสำคัญอย่างไรต่อประสิทธิภาพและการบำรุงรักษา + +## สิ่งที่คุณจะได้เรียนรู้ + +- ตั้งค่า OCR engine อย่างง่ายและกำหนดให้ใช้ภาษาอังกฤษ +- รวบรวมไฟล์ JPEG ทั้งหมดจากไดเรกทอรีด้วย `pathlib` +- เรียกใช้ OCR engine ครั้งเดียวเพื่อประมวลผลชุดทั้งหมด +- แสดงตัวอย่างข้อความที่ถูกจดจำสำหรับแต่ละรูปภาพ +- เคล็ดลับการจัดการชุดใหญ่, ภาษาอื่น ๆ, และข้อผิดพลาดทั่วไป + +**Prerequisites**: Python 3.8+, ไลบรารี `ocr` (หรือ wrapper ที่เข้ากันได้), และโฟลเดอร์ที่มีรูป JPEG ที่คุณต้องการวิเคราะห์ ไม่ต้องใช้บริการภายนอก—ทุกอย่างทำงานบนเครื่องของคุณ + +--- + +## Step 1: Initialise the OCR Engine – The Core of How to Batch OCR Images + +ก่อนที่เราจะ **ทำ OCR รูปภาพเป็นชุด** เราต้องมีเอ็นจิ้นที่รู้วิธีอ่านข้อความ ในไลบรารีส่วนใหญ่คุณจะสร้างอ็อบเจกต์ engine, ตั้งค่าภาษา (ถ้าต้องการ) แล้วใช้ซ้ำสำหรับทุกไฟล์ + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Why this matters*: การเริ่มต้นเอ็นจิ้นเพียงครั้งเดียวช่วยหลีกเลี่ยงค่าใช้จ่ายจากการโหลดโมเดลภาษาแบบซ้ำ ๆ อีกทั้งยังให้จุดเดียวที่คุณสามารถปรับตั้งค่า (เช่น DPI, รายการอักขระที่อนุญาต) ที่จะส่งผลต่อทั้งชุด + +> **Pro tip**: หากคุณวางแผนจะประมวลผลเอกสารหลายภาษา ให้เปลี่ยน `ocr.Language.ENGLISH` เป็น `ocr.Language.MULTI` หรือโหลดแพ็คภาษาเพิ่มเติมก่อนเริ่มชุด + +--- + +## Step 2: Gather All JPEG Files – The “Extract Text from JPEG Files” Part + +เมื่อเอ็นจิ้นพร้อมแล้ว เราต้องบอกให้มันรู้ว่าต้องทำงานกับรูปภาพใด ใช้ `pathlib` ทำให้โค้ดเป็นแบบข้ามแพลตฟอร์มและกระชับ + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Why this matters*: การรวบรวมรายการไฟล์ก่อนทำให้เราสามารถส่งคอลเลกชันทั้งหมดให้ OCR engine ในหนึ่งคำสั่ง—นี่คือสิ่งที่ “วิธีทำ OCR รูปภาพเป็นชุด” หมายถึง หากคุณมีโฟลเดอร์ย่อย สามารถเปลี่ยน `glob("**/*.jpg")` ให้ค้นหาแบบเรียกซ้ำได้ + +> **Edge case**: หากรูปของคุณมีส่วนขยายผสม (`.jpeg`, `.JPG`) ให้ขยายแพทเทิร์น glob เป็น: `image_dir.rglob("*.[jJ][pP][eE]?g")` + +--- + +## Step 3: Process the Whole Batch in One Call – The Real Power of Batch OCR + +ไลบรารี OCR สมัยใหม่ส่วนใหญ่มีเมธอด `process_batch` (หรือชื่อคล้ายกัน) ที่รับ iterable ของเส้นทางไฟล์ นี่คือหัวใจของ **วิธีทำ OCR รูปภาพเป็นชุด** อย่างมีประสิทธิภาพ + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Why this matters*: การเรียก batch เพียงครั้งเดียวลดจำนวนการเปลี่ยนจาก Python ไป C, ทำให้โมเดลภาษาอยู่ในหน่วยความจำตลอดเวลา และมักจะเปิดใช้การทำงานขนานภายใน ผลลัพธ์คือรายการอ็อบเจกต์—แต่ละอ็อบเจกต์มีข้อความที่จดจำและคะแนนความเชื่อมั่น + +> **Performance note**: สำหรับชุดขนาดใหญ่มาก (หลายพันรูป) ควรแบ่งรายการเป็นชิ้นย่อย (เช่น 200 ไฟล์) เพื่อหลีกเลี่ยงการใช้หน่วยความจำมากเกินไป + +--- + +## Step 4: Show a Preview of the Extracted Text – Quick Validation + +หลังจาก batch เสร็จสิ้น การดูตัวอย่างอักขระแรก ๆ ของแต่ละผลลัพธ์เป็นประโยชน์ ช่วยยืนยันว่า OCR กำลังสกัดข้อความจากไฟล์ JPEG ของคุณจริง ๆ + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Why this matters*: ตัวอย่างสั้น ๆ ทำให้คุณมองเห็นความล้มเหลวที่ชัดเจน (เช่น ผลลัพธ์ว่าง, ตัวอักษรเสีย) โดยไม่ต้องเปิดไฟล์ทุกไฟล์ หากพบปัญหาระบบ คุณสามารถปรับตั้งค่าเอ็นจิ้นและรัน batch ใหม่ได้ + +> **Common pitfall**: ลืมลบอักขระขึ้นบรรทัดใหม่ (`\n`) จะทำให้ตัวอย่างดูรกบรรทัด `replace("\n", " ")` จะแก้ให้เรียบร้อย + +--- + +## Full Working Example – All Steps Combined + +ด้านล่างเป็นสคริปต์เต็มที่คุณสามารถคัดลอก‑วาง, ปรับเส้นทางไดเรกทอรี, แล้วรันได้ มันแสดงขั้นตอน **วิธีทำ OCR รูปภาพเป็นชุด** ตั้งแต่ต้นจนจบ + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Expected output** (sample): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +หากตัวอย่างแสดงข้อความที่มีความหมาย คุณได้ **สกัดข้อความจากไฟล์ JPEG** ด้วยวิธี batch อย่างสำเร็จ + +--- + +## Handling Large Batches and Advanced Scenarios + +### Chunking Large Workloads +เมื่อจัดการกับหลายพันรูป หน่วยความจำอาจเป็นคอขวด แบ่งรายการเป็นชิ้นย่อย: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Switching Languages +หากเอกสารของคุณมีภาษาเฟรนช์หรือสเปน ให้เปลี่ยนภาษาก่อนเริ่ม batch: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Saving Results to Disk +แทนที่จะพิมพ์ผล คุณอาจต้องการบันทึกผล OCR แต่ละรายการเป็นไฟล์ `.txt`: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Conclusion + +คุณตอนนี้รู้ **วิธีทำ OCR รูปภาพเป็นชุด** และสามารถ **สกัดข้อความจากไฟล์ JPEG** อย่างมั่นคงด้วยสคริปต์ Python ขนาดกะทัดรัด โดยการเริ่มต้นเอ็นจิ้นครั้งเดียว, รวบรวมเส้นทาง JPEG ทั้งหมด, ประมวลผลใน batch เดียว, และแสดงตัวอย่างผลลัพธ์ คุณจะได้ความเร็วและความเรียบง่ายจากการทำงานนี้ จากนี้คุณสามารถขยาย workflow—เพิ่มการสนับสนุนหลายภาษา, เก็บผลลัพธ์ในฐานข้อมูล, หรือรวมสคริปต์เข้ากับไพพ์ไลน์การประมวลผลเอกสารขนาดใหญ่ได้ + +พร้อมก้าวต่อไปหรือยัง? ลองสลับไลบรารี `ocr` ไปใช้ Tesseract, ทดลองพรี‑โปรเซสภาพ (thresholding, resizing) ต่าง ๆ, หรือส่งข้อความที่สกัดไปยังโมเดลการประมวลผลภาษาธรรมชาติสำหรับการจัดประเภทอัตโนมัติ ไม่จำกัดแค่ฟังก์ชันที่คุณทำได้—คุณมีพื้นฐานที่แข็งแรงเพื่อสร้างต่อไป + +Happy coding, and may your OCR batches always be error‑free! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/thai/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..ba049a81 --- /dev/null +++ b/ocr/thai/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,145 @@ +--- +category: general +date: 2026-01-12 +description: วิธีตรวจจับภาษาภายในภาพด้วย Aspose OCR – เรียนรู้การดึงข้อความจากภาพ, + จัดการ OCR ภาษาผสมและใช้ OCR ใน Python. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: th +og_description: วิธีตรวจจับภาษาจากภาพด้วย Aspose OCR – คู่มือขั้นตอนต่อขั้นตอนในการดึงข้อความจากภาพและจัดการ + OCR ภาษาผสม +og_title: วิธีตรวจจับภาษาโดยใช้ OCR สำหรับข้อความผสม +tags: +- OCR +- Python +- Aspose +title: วิธีตรวจจับภาษาโดยใช้ OCR สำหรับข้อความผสม +url: /th/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีตรวจจับภาษาใน OCR สำหรับข้อความผสม + +การตรวจจับภาษาในภาพด้วย Aspose OCR เป็นความท้าทายทั่วไปเมื่อทำงานกับเอกสารหลายภาษา คุณเคยสงสัย **วิธีดึงข้อความจากภาพ** ที่มีทั้งภาษาอังกฤษและฝรั่งเศสในหน้าเดียวกันหรือไม่? ในบทแนะนำนี้เราจะเดินผ่านตัวอย่างที่ทำงานได้เต็มรูปแบบซึ่งจะแสดงให้คุณเห็นอย่างชัดเจนว่าต้องใช้ OCR อย่างไรเพื่อระบุภาษา ดึงข้อความออกมา และจัดการกับสถานการณ์ข้อความหลายภาษาโดยไม่ต้องลำบาก + +เราจะครอบคลุมทุกอย่างที่คุณต้องรู้: การตั้งค่า Aspose OCR engine, การบอกให้มันพิจารณาภาษาใดบ้าง, การโหลดภาพใบแจ้งหนี้ตัวอย่าง, การรันกระบวนการ OCR, และสุดท้ายการพิมพ์ภาษาที่ตรวจพบพร้อมกับข้อความที่ดึงออกมา เมื่อจบคุณจะสามารถตอบคำถาม “วิธีใช้ OCR สำหรับ OCR ภาษาผสม” ในโครงการของคุณ ไม่ว่าจะเป็นการสร้าง pipeline การออกใบแจ้งหนี้, ตัวสแกนใบเสร็จ, หรือเครื่องมือจัดเก็บเอกสาร + +> **Prerequisites** – คุณควรมี Python 3.8+ ติดตั้งอยู่, มีความคุ้นเคยพื้นฐานกับ pip, และมีลิขสิทธิ์ Aspose OCR (เวอร์ชันทดลองฟรีทำงานสำหรับการสาธิตนี้) ไม่จำเป็นต้องใช้ไลบรารีภายนอกอื่นใด + +--- + +## วิธีตรวจจับภาษาโดยใช้ Aspose OCR + +ขั้นตอนแรกคือการสร้างอินสแตนซ์ของ OCR engine และบอกให้มันรู้ว่าต้องมองหาภาษาอะไร Aspose OCR ใช้ bit‑mask เพื่อรวมหลายภาษา ทำให้การสนับสนุนภาษาอังกฤษ, ฝรั่งเศส, สเปน หรือการผสมใด ๆ ที่คุณต้องการเป็นเรื่องง่าย + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**ทำไมเรื่องนี้สำคัญ:** การเริ่มต้น engine เป็นพื้นฐาน หากไม่มีคุณจะเรียกใช้เมธอด OCR ใด ๆ ไม่ได้ และ engine จะถือการตั้งค่าทั้งหมดที่กำหนดว่า **การตรวจจับภาษา** จะทำได้ดีแค่ไหนในภายหลัง + +--- + +## ดึงข้อความจากภาพด้วย OCR + +ต่อไปเราต้องบอก engine ว่าภาษาใดเป็นไปได้ โดยตั้งค่า bit‑mask ของ `ENGLISH | FRENCH` เราจะทำให้ engine สามารถเลือกภาษาที่ตรงที่สุดสำหรับแต่ละส่วนของภาพโดยอัตโนมัติ + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**ทำไมเรื่องนี้สำคัญ:** การเปิด `auto_detect_language` คือหัวใจของ **วิธีตรวจจับภาษา** ในเอกสารหลายภาษา Engine จะสแกนข้อความ, ให้คะแนนแต่ละภาษา, และคืนค่าภาษาเดียวที่มีความมั่นใจสูงสุด หากข้ามขั้นตอนนี้คุณจะต้องเดาภาษาเอง ซึ่งทำให้ประโยชน์ของ OCR ภาษาผสมหายไป + +--- + +## ตั้งค่าการ OCR ภาษาผสม + +ก่อนที่เราจะส่งภาพให้ engine เราต้องโหลดภาพก่อน Aspose OCR ทำงานกับคลาส `Image` ของมันเอง ซึ่งทำให้ไม่ต้องกังวลเกี่ยวกับรูปแบบไฟล์พื้นฐาน + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Tip:** ควรรักษาความละเอียดภาพประมาณ 300 dpi เพื่อผลลัพธ์ที่ดีที่สุด ความละเอียดต่ำอาจทำให้การตรวจจับภาษาพลาดอักขระที่ละเอียด โดยเฉพาะอักษรฝรั่งเศสที่มีเครื่องหมายสำเนียง + +--- + +## รันกระบวนการ OCR และรับผลลัพธ์ + +เมื่อ engine ตั้งค่าเรียบร้อยและภาพถูกโหลดแล้ว เราก็สามารถรันกระบวนการ OCR ได้ เมธอด `process` จะคืนค่าอ็อบเจกต์ `OcrResult` ที่มีทั้งรหัสภาษาที่ตรวจพบและข้อความที่ดึงออกมาครบถ้วน + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**ผลลัพธ์ที่คาดหวัง** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +หากภาพมีส่วนที่เป็นภาษาฝรั่งเศส คุณจะเห็น `FRENCH` เป็นภาษาที่ตรวจพบและข้อความฝรั่งเศสที่สอดคล้องกันจะถูกพิมพ์ออกมา + +--- + +## ตัวอย่างภาพ (Alt Text สำหรับ SEO) + +![วิธีตรวจจับภาษาใน OCR ภาษาผสม](mixed_lang_invoice.png) + +*ภาพหน้าจอด้านบนแสดงใบแจ้งหนี้ตัวอย่างที่มีทั้งข้อความภาษาอังกฤษและฝรั่งเศส แสดงให้เห็นว่า OCR engine สามารถ **ตรวจจับภาษา** และดึงเนื้อหาออกมาได้ในขั้นตอนเดียว* + +--- + +## ข้อผิดพลาดทั่วไปและเคล็ดลับระดับมืออาชีพ + +| Issue | Why it Happens | How to Fix / Mitigate | +|-------|----------------|------------------------| +| **Blurry or low‑resolution scans** | Engine ไม่สามารถแยกอักขระได้ ทำให้การตรวจจับภาษาผิดพลาด | สแกนที่ ≥300 dpi, ใช้การทำให้คมภาพก่อน OCR | +| **Missing language in the bit‑mask** | หากลืมใส่ภาษาที่ต้องการ Engine จะเลือกภาษาตัวแรกที่ตรง ซึ่งมักให้ผลลัพธ์ไม่แม่นยำ | ระบุทุกภาษาที่คาดว่าจะเจอเสมอ; สามารถรวมหลายภาษาได้ด้วยตัวดำเนินการ `|` | +| **Mixed scripts (e.g., Latin + Cyrillic)** | Aspose OCR อาจต้องการ language pack แยกต่างหาก | ติดตั้ง language pack เพิ่มเติมและเพิ่มเข้าไปใน mask | +| **Large files causing memory spikes** | การโหลดภาพขนาดใหญ่เข้าสู่หน่วยความจำอาจทำให้สคริปต์ล่ม | ใช้ `Image.resize` เพื่อลดขนาดภาพโดยคง DPI, หรือประมวลผลเป็นส่วนย่อย (tiles) | + +**เคล็ดลับพิเศษ:** หลังจากได้ข้อความดิบแล้ว ให้รันขั้นตอน post‑processing อย่างรวดเร็วเพื่อทำให้ช่องว่างและการขึ้นบรรทัดใหม่เป็นมาตรฐาน สิ่งนี้ทำให้การแยกข้อมูลต่อไป (เช่น การดึงหมายเลขใบแจ้งหนี้) ง่ายขึ้นมาก + +--- + +## สรุป: สิ่งที่คุณได้เรียนรู้ + +คุณได้เรียนรู้ **วิธีตรวจจับภาษา** ในภาพหลายภาษาโดยใช้ Aspose OCR แล้ว และได้เห็นตัวอย่างครบวงจรที่แสดง **วิธีดึงข้อความจากภาพ** ด้วยการตั้งค่า bit‑mask ของภาษา, เปิดการตรวจจับอัตโนมัติ, และจัดการกับอ็อบเจกต์ผลลัพธ์ คุณจึงสามารถประมวลผลใบแจ้งหนี้, ใบเสร็จ, หรือเอกสารใด ๆ ที่ผสมภาษาอังกฤษและฝรั่งเศส (หรือภาษาอื่น) ได้อย่างมั่นใจ + +### ขั้นตอนต่อไป + +- ลองเพิ่ม **วิธีดึงข้อความ** จาก PDF โดยแปลงแต่ละหน้าเป็นภาพก่อน +- ทดลองใช้คีย์เวิร์ดรองอื่น ๆ: สำรวจ API **วิธีใช้ OCR** อย่างเต็มที่ เช่น การตั้งค่า OCR zones เพื่อเร่งประสิทธิภาพ +- ลงลึกในกรณี **OCR ภาษาผสม** ที่ซับซ้อนกว่า เช่น เอกสารที่สลับระหว่างสามหรือมากกว่าภาษา + +ปรับแต่งโค้ดของคุณ ทดลองกับภาพของคุณเอง แล้วปล่อยให้ engine ทำงานหนัก หากเจอปัญหาใด ๆ คอมเมนต์ไว้ด้านล่าง—ขอให้สนุกกับการเขียนโค้ด! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/thai/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..085b0365 --- /dev/null +++ b/ocr/thai/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,211 @@ +--- +category: general +date: 2026-01-12 +description: เรียนรู้วิธีทำ OCR PDF ด้วย Python และทำให้ PDF สามารถค้นหาได้อย่างรวดเร็ว + แปลง PDF สแกน, ดึงข้อความจาก PDF, และทำ OCR PDF สแกนด้วย Python โดยใช้ Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: th +og_description: วิธีทำ OCR PDF ด้วย Python? บทแนะนำขั้นตอนต่อขั้นตอนนี้จะแสดงวิธีแปลงไฟล์ + PDF ที่สแกนเป็น PDF ที่สามารถค้นหาได้และสกัดข้อความด้วย Aspose OCR. +og_title: วิธีทำ OCR PDF และทำให้ค้นหาได้ – คู่มือ Python +tags: +- OCR +- Python +- PDF processing +title: วิธีทำ OCR PDF ให้สามารถค้นหาได้ – คู่มือ Python +url: /th/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีทำ OCR PDF และทำให้ค้นหาได้ – คู่มือ Python + +เคยสงสัย **how to OCR PDF** ไฟล์โดยไม่ต้องจ่ายเงินจำนวนมากให้กับซอฟต์แวร์เชิงพาณิชย์หรือไม่? คุณไม่ได้เป็นคนเดียวที่มีความกังวลนี้ นักพัฒนาหลายคนเจออุปสรรคเมื่อต้องแปลงสัญญาที่สแกน, ใบแจ้งหนี้, หรือ PDF ที่เป็นรูปภาพให้เป็นเอกสารที่สามารถค้นหาได้ ข่าวดีคือ? ด้วยไม่กี่บรรทัดของ Python และ Aspose OCR คุณสามารถแปลง PDF ที่สแกน, ดึงข้อความจาก PDF, และทำให้ PDF สามารถค้นหาได้ภายในไม่กี่นาที + +ในบทแนะนำนี้เราจะพาคุณผ่านทุกขั้นตอนที่ต้องการ: ตั้งแต่การติดตั้งไลบรารี, การกำหนดภาษาที่ใช้, การประมวลผล PDF ที่สแกน, จนถึงการบันทึกผลลัพธ์เป็น PDF ที่สามารถค้นหาได้ซึ่งประกอบด้วยภาพต้นฉบับและชั้นข้อความที่ซ่อนอยู่ เมื่อเสร็จสิ้นคุณจะมีสคริปต์ที่นำกลับมาใช้ใหม่ได้และสามารถใส่ลงในโปรเจกต์ใดก็ได้—ไม่ต้องคัดลอก‑วางด้วยตนเอง + +--- + +## สิ่งที่คุณต้องเตรียม + +- **Python 3.8+** (โค้ดทำงานได้บน 3.9, 3.10 และรุ่นใหม่กว่า) +- ไลเซนส์ **Aspose OCR for Python** ที่ใช้งานได้ (คุณสามารถใช้เวอร์ชันทดลองฟรีเพื่อทดลอง) +- ไฟล์ PDF ที่สแกน (เช่น `scanned_contract.pdf`) ที่ต้องการทำให้ค้นหาได้ +- ความคุ้นเคยพื้นฐานกับบรรทัดคำสั่งและสภาพแวดล้อมเสมือน (ไม่บังคับแต่แนะนำ) + +> **เคล็ดลับ:** หากคุณยังไม่มีไลเซนส์ ให้ลงทะเบียนเพื่อรับการทดลองใช้งาน 30 วันบนเว็บไซต์ Aspose; เวอร์ชันทดลองทำงานเต็มรูปแบบสำหรับการพัฒนา + +## วิธีทำ OCR PDF ด้วย Aspose OCR (Primary Keyword in H2) + +ขั้นตอนแรกคือการติดตั้งแพคเกจที่เหมาะสม Aspose OCR มี API ระดับสูงที่ทำให้คุณไม่ต้องกังวลกับรายละเอียดการประมวลผลภาพระดับล่าง + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +เมื่อติดตั้งแพคเกจเรียบร้อยแล้ว คุณสามารถเริ่มเขียนสคริปต์ได้ + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **ทำไมต้องตั้งค่าภาษา?** +> ความแม่นยำของ OCR พึ่งพาโมเดลภาษามาก การบอกให้เอนจินคาดหวังข้อความภาษาอังกฤษอย่างชัดเจนจะช่วยลดผลบวกเท็จและเร่งความเร็วการประมวลผล + +## ขั้นตอนที่ 2: แปลง PDF ที่สแกนให้เป็น PDF ที่สามารถค้นหาได้ + +ตอนนี้เอนจินพร้อมแล้ว ให้ชี้ไปที่เอกสารที่สแกนของคุณ เมธอด `process_pdf` จะคืนค่าเป็นอ็อบเจกต์ `PdfResult` ซึ่งบรรจุข้อมูลภาพต้นฉบับและข้อความที่ถูกจดจำ + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +หากคุณต้องการ **convert scanned PDF** เป็นจำนวนมาก เพียงวนลูปผ่านไดเรกทอรีและเรียก `process_pdf` สำหรับแต่ละไฟล์ เอนจินจะจัดการ PDF หลายหน้าโดยอัตโนมัติ + +## ขั้นตอนที่ 3: บันทึกผลลัพธ์เป็น PDF ที่สามารถค้นหาได้ (Make PDF Searchable) + +ส่วนสุดท้ายของปริศนาคือการบันทึกเวอร์ชันที่ค้นหาได้ Aspose OCR ทำให้ขั้นตอนนี้เป็นบรรทัดเดียว + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +เมื่อคุณเปิด `contract_searchable.pdf` ในโปรแกรมอ่าน PDF ใด ๆ คุณจะเห็นภาพสแกนต้นฉบับ แต่ตอนนี้คุณสามารถ **search for any word** ที่เอนจิน OCR จดจำได้แล้ว ชั้นข้อความที่ซ่อนอยู่ไม่ปรากฏต่อสายตาแต่สามารถทำดัชนีได้เต็มที่ + +### สคริปต์เต็ม – พร้อมรัน + +ด้านล่างเป็นตัวอย่างที่สมบูรณ์และสามารถรันได้ คัดลอก‑วางลงในไฟล์ชื่อ `make_searchable.py` แล้วปรับเส้นทางให้ตรงกับสภาพแวดล้อมของคุณ + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**ผลลัพธ์ที่คาดหวัง:** +เมื่อรันสคริปต์จะแสดงบรรทัดยืนยันและสร้างไฟล์ `contract_searchable.pdf` เปิดไฟล์, กด `Ctrl + F` แล้วพิมพ์คำใดก็ได้ที่ปรากฏในภาพสแกนต้นฉบับ—you should see matches instantly. + +## คำถามที่พบบ่อย & กรณีขอบ + +### 1. ถ้า PDF มีหลายภาษา จะทำอย่างไร? + +คุณสามารถส่งรายการภาษาที่ต้องการให้เอนจินได้: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR จะพยายามจดจำข้อความในทั้งสองภาษาในหน้าเดียวกัน + +### 2. จะจัดการกับการสแกนที่ความละเอียดต่ำได้อย่างไร? + +หากภาพต้นฉบับมีความละเอียดต่ำกว่า 150 dpi ความแม่นยำของ OCR อาจลดลง ให้ทำการพรี‑โปรเซส PDF ด้วยเครื่องมือเช่น `pdfimages` เพื่อแยกหน้า, ขยายขนาดด้วย Pillow, แล้วส่งภาพที่ความละเอียดสูงกลับเข้า `process_pdf` + +### 3. สามารถดึงข้อความแบบธรรมดาโดยไม่ต้องสร้าง PDF ที่ค้นหาได้หรือไม่? + +ทำได้เลย อ็อบเจกต์ `PdfResult` มีคุณสมบัติ `text` ให้ใช้: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +วิธีนี้ตอบโจทย์ **extract text pdf** เมื่อคุณต้องการเพียงอักขระดิบเท่านั้น + +### 4. มีวิธีประมวลผลโฟลเดอร์ของ PDF เป็นชุดได้หรือไม่? + +มี—ห่อฟังก์ชัน `ocr_to_searchable` ไว้ในลูปง่าย ๆ: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +ตอนนี้คุณสามารถ **convert scanned pdf** เป็นจำนวนมากด้วยคำสั่งเดียว + +## เคล็ดลับด้านประสิทธิภาพ + +- **Reuse the engine**: การสร้าง `OcrEngine` ใหม่สำหรับแต่ละไฟล์เพิ่มภาระงาน ควรสร้างครั้งเดียวแล้วใช้ซ้ำหลายครั้ง +- **Parallel processing**: สำหรับชุดข้อมูลขนาดใหญ่ พิจารณาใช้ `concurrent.futures.ThreadPoolExecutor`—Aspose OCR รองรับการทำงานหลายเธรดสำหรับการอ่านอย่างเดียว +- **Memory management**: หากต้องประมวลผล PDF ขนาดใหญ่มาก (หลายร้อยหน้า) ให้เรียก `gc.collect()` หลังจากแต่ละไฟล์เพื่อคืนหน่วยความจำ + +## สรุป + +เราได้อธิบาย **how to OCR PDF** ด้วย Python, แปลงสแกนเหล่านั้นเป็น **searchable PDFs**, และแสดงวิธี **extract text PDF** โดยตรง ด้วย Aspose OCR คุณจะได้เอ็นจินที่เชื่อถือได้ซึ่งรองรับเอกสารหลายหน้า, หลายภาษา, และการจดจำที่แม่นยำ—ทั้งหมดด้วยไม่กี่บรรทัดของโค้ด + +ลองใช้กับสัญญา, ใบแจ้งหนี้, หรืองานวิจัยที่เก็บไว้ในรูปแบบสแกนของคุณ เมื่อคุณเชี่ยวชาญพื้นฐานแล้ว ลองสำรวจฟีเจอร์ขั้นสูง—เช่น พจนานุกรมกำหนดเอง, การพรี‑โปรเซสภาพ, หรือการรวมผลลัพธ์เข้าสู่ดัชนีการค้นหาเต็มข้อความอย่าง Elasticsearch + +มีคำถามเพิ่มเติมเกี่ยวกับ **ocr scanned pdf python** หรืออยากขอความช่วยเหลือในการแก้ปัญหาการสแกนที่ซับซ้อน? แสดงความคิดเห็นด้านล่าง แล้วขอให้สนุกกับการเขียนโค้ด! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="how to ocr pdf example"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/thai/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..b8b6ed52 --- /dev/null +++ b/ocr/thai/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: วิธีทำ OCR อย่างรวดเร็วและแม่นยำ เรียนรู้การรัน OCR บนเอกสาร ดึงข้อความจากไฟล์ + TIFF โหลดภาพสำหรับ OCR และตั้งค่าภาษา OCR ใน Python +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: th +og_description: วิธีทำ OCR ใน Python. บทเรียนนี้จะแสดงวิธีการรัน OCR บนเอกสาร, แยกข้อความจากไฟล์ + TIFF, โหลดภาพสำหรับ OCR และตั้งค่าภาษา OCR. +og_title: วิธีทำ OCR บนเอกสาร TIFF – คู่มือฉบับสมบูรณ์ +tags: +- OCR +- Python +- Image Processing +title: วิธีทำ OCR บนเอกสาร TIFF – คู่มือขั้นตอนโดยละเอียด +url: /th/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีทำ OCR บนไฟล์ TIFF – คู่มือฉบับสมบูรณ์ + +เคยสงสัย **วิธีทำ OCR** บนไฟล์ TIFF ที่สแกนแล้วโดยไม่ต้องเสียเวลาค้นหาไลบรารีที่เหมาะสมหรือไม่? คุณไม่ได้เป็นคนเดียวที่เจอปัญหานี้ นักพัฒนาหลายคนมักเจออุปสรรคเมื่อต้องดึงข้อความจากภาพ TIFF โดยเฉพาะเมื่อประสิทธิภาพและการตั้งค่าภาษาเป็นสิ่งสำคัญ + +ในบทเรียนนี้เราจะพาคุณผ่านทุกขั้นตอนที่ต้องรู้: ตั้งแต่การติดตั้งแพคเกจ OCR, การโหลดภาพสำหรับ OCR, การตั้งค่าภาษา OCR, จนถึง **การรัน OCR บนเอกสาร** และดึงข้อความที่สะอาดออกมา เมื่ออ่านจบคุณจะได้สคริปต์พร้อมใช้งานที่สามารถใส่ลงในโปรเจกต์ใดก็ได้ + +> **เคล็ดลับ:** แม้ตัวอย่างจะใช้โมดูล `ocr` ทั่วไป แนวคิดเดียวกันนี้ใช้ได้กับ Tesseract, EasyOCR หรือเครื่องมือ OCR สมัยใหม่ใด ๆ ที่มี Python API + +--- + +## สิ่งที่คุณต้องมี + +- Python 3.8+ (เวอร์ชันล่าสุดใดก็ได้) +- ไลบรารี OCR ที่มีคลาส `OcrEngine` (ตัวอย่างใช้แพคเกจ `ocr` สมมติ; แทนที่ด้วยแพคเกจจริงของคุณ) +- ไฟล์ TIFF แบบหลายหน้า ที่คุณต้องการประมวลผล (เราจะเรียกว่า `big_document.tif`) +- เครื่องที่มีคอร์ CPU อย่างน้อย 4 คอร์ หากคุณต้องการกำหนดจำนวนเธรด + +ไม่มีบริการภายนอก ไม่มีคีย์คลาวด์—แค่โค้ดที่ทำงานบนเครื่องของคุณในไม่กี่วินาที + +--- + +![how to perform ocr example](/images/ocr-example.png "how to perform OCR on a TIFF document") + +*Image alt text: how to perform OCR on a TIFF document – preview of extracted text.* + +--- + +## ขั้นตอนที่ 1: ติดตั้งและนำเข้าไลบรารี OCR + +เริ่มต้นด้วยการติดตั้งไลบรารีบนเครื่องของคุณ แพคเกจ OCR ส่วนใหญ่อยู่บน PyPI จึงใช้ `pip install` เพียงคำสั่งเดียวก็พอ + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +จากนั้นนำเข้าคลาสที่จำเป็น หากคุณใช้ Tesseract บรรทัด import จะต่างออกไป แต่โค้ดส่วนอื่นคงเดิม + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*ทำไมต้องทำเช่นนี้:* การนำเข้าสัญลักษณ์ที่ถูกต้องตั้งแต่ต้นช่วยป้องกันการชนกันของ namespace ในภายหลังและทำให้สคริปต์อ่านง่ายขึ้น + +--- + +## ขั้นตอนที่ 2: สร้างและกำหนดค่า OCR Engine (ตั้งค่าภาษา OCR) + +การกำหนดค่า engine คือจุดที่คุณ **ตั้งค่าภาษา OCR** เพื่อให้การจดจำแม่นยำ ภาษาอังกฤษเป็นค่าเริ่มต้น แต่คุณสามารถเปลี่ยนเป็นฝรั่งเศส, เยอรมัน หรือโหมดหลายภาษาได้ด้วยบรรทัดเดียว + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **ทำไมต้องใช้ 4 เธรด?** แล็ปท็อปสมัยใหม่ส่วนใหญ่มีคอร์อย่างน้อยสี่คอร์ การจำกัดจำนวนเธรดช่วยไม่ให้กระบวนการ OCR ใช้ทรัพยากรเครื่องทั้งหมด—เป็นประโยชน์เมื่อสคริปต์ทำงานบนเซิร์ฟเวอร์ที่แชร์ + +หากต้องการภาษาอื่น เพียงเปลี่ยน `ocr.Language.ENGLISH` เป็น `ocr.Language.FRENCH`, `ocr.Language.SPANISH` ฯลฯ + +--- + +## ขั้นตอนที่ 3: โหลดภาพสำหรับ OCR (Load Image for OCR) + +ต่อไปเราจะ **โหลดภาพสำหรับ OCR** เมธอด `Image.load` จะอ่านไฟล์ TIFF เข้าเมมโมรีและจัดการกับเอกสารหลายหน้าโดยอัตโนมัติ + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*กรณีขอบ:* หากไฟล์ใหญ่เกินไป คุณอาจหมด RAM ในสถานการณ์นั้น ให้ลองโหลดทีละหน้าโดยใช้ `Image.load_page(page_number)` (ถ้าไลบรารีรองรับ) + +--- + +## ขั้นตอนที่ 4: รัน OCR บนเอกสาร + +เมื่อ engine พร้อมและภาพถูกโหลดแล้ว ถึงเวลาที่ **รัน OCR บนเอกสาร** เมธอด `process` จะทำงานหนักและคืนค่าเป็นอ็อบเจกต์ผลลัพธ์ + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +เบื้องหลัง engine จะทำการแบ่งภาพเป็นบล็อกข้อความ, รันโมเดลจดจำ, แล้วรวมผลลัพธ์เข้าด้วยกัน การเรียกนี้เป็นแบบบล็อก หมายความว่าสคริปต์จะรอจนกว่าการประมวลผล TIFF ทั้งหมดเสร็จ—เหมาะกับงานแบบ batch + +--- + +## ขั้นตอนที่ 5: ดึงข้อความจาก TIFF และตรวจสอบผลลัพธ์ + +สุดท้ายเราจะ **ดึงข้อความจาก TIFF** โดยเข้าถึงแอตทริบิวต์ `text` ของผลลัพธ์ พิมพ์ 200 ตัวอักษรแรกเพื่อเช็คความถูกต้องอย่างรวดเร็ว + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**ผลลัพธ์ที่คาดหวัง (ตัวอย่าง):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +หากต้องการข้อความเต็มให้ใช้ `ocr_result.text` สำหรับการประมวลผลต่อไป คุณอาจต้องการบันทึกลงไฟล์ `.txt`: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## ตัวอย่างทำงานเต็มรูปแบบ + +รวมทุกอย่างเข้าด้วยกัน นี่คือสคริปต์พร้อมรันที่คุณสามารถใช้ได้ เพียงแทนที่ชื่อแพคเกจตัวอย่างด้วยแพคเกจที่คุณติดตั้งจริง + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +รันสคริปต์ด้วยคำสั่ง: + +```bash +python ocr_tiff_example.py +``` + +คุณควรเห็นตัวอย่างข้อความที่พิมพ์บนคอนโซลและไฟล์ชื่อ `extracted_text.txt` ที่มีการถอดข้อความทั้งหมด + +--- + +## คำถามที่พบบ่อย & กรณีขอบ + +- **ถ้า TIFF มีหลายหน้า จะทำอย่างไร?** + ส่วนใหญ่ OCR engine จะจัดการแต่ละหน้าเป็นภาพแยก `ocr_result.text` จะมีการขึ้นบรรทัดใหม่ระหว่างหน้า หากต้องการจัดการต่อหน้า ให้ใช้ `Image.load_page(page_number)` ในลูป + +- **สามารถประมวลผล PNG หรือ JPEG แทน TIFF ได้หรือไม่?** + ทำได้เลย เมธอด `Image.load` ส่วนใหญ่รองรับฟอร์แมตใดก็ได้ที่ Pillow หรือไลบรารีพื้นฐานรองรับ เพียงเปลี่ยนนามสกุลไฟล์ + +- **ข้อความออกมาดูเป็นอักขระแปลก ๆ ควรเปลี่ยนภาษาไหม?** + ควรทำเช่นนั้น ขั้นตอน **ตั้งค่าภาษา OCR** มีความสำคัญสำหรับเอกสารที่ไม่ใช่ภาษาอังกฤษ ตรวจสอบให้แน่ใจว่าติดตั้งแพ็คเกจภาษาที่ต้องการ (เช่น `tesseract‑lang‑fra` สำหรับฝรั่งเศส) + +- **หมดหน่วยความจำ?** + ลดค่า `set_memory_limit` หรือประมวลผลหน้าเป็นหน้า บาง engine ยังให้คุณลดขนาดภาพก่อนจดจำได้อีกด้วย + +--- + +## สรุป + +นี่คือคู่มือสั้น ๆ ที่ครบถ้วนเกี่ยวกับ **วิธีทำ OCR** บนไฟล์ TIFF ด้วย Python เราได้ครอบคลุมตั้งแต่การติดตั้งไลบรารี, การกำหนดค่า engine (รวมถึง **ตั้งค่าภาษา OCR**), **โหลดภาพสำหรับ OCR**, **รัน OCR บนเอกสาร**, และสุดท้าย **ดึงข้อความจาก TIFF** + +ลองปรับเปลี่ยนจำนวนเธรด, สลับภาษา, หรือส่งผลลัพธ์ OCR ไปยัง pipeline ประมวลผลภาษาธรรมชาติอื่น ๆ ความเป็นไปได้ไม่มีขีดจำกัดเมื่อคุณเชี่ยวชาญพื้นฐานเหล่านี้ + +มีคำถามเพิ่มเติม? แสดงความคิดเห็นด้านล่าง แล้วขอให้สนุกกับการเขียนโค้ด! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/thai/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..b08921a5 --- /dev/null +++ b/ocr/thai/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,178 @@ +--- +category: general +date: 2026-01-12 +description: วิธีตั้งค่าภาษาใน Aspose OCR Python และดึงข้อความจากภาพโดยใช้พจนานุกรมกำหนดเอง + ขั้นตอนโดยละเอียดสำหรับนักพัฒนา +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: th +og_description: วิธีตั้งค่าภาษาใน Aspose OCR Python และสกัดข้อความจากภาพด้วยพจนานุกรมที่กำหนดเอง + เรียนรู้กระบวนการทำงานทั้งหมดในไม่กี่นาที +og_title: วิธีตั้งค่าภาษาใน Aspose OCR Python – คู่มือฉบับสมบูรณ์ +tags: +- OCR +- Python +- Aspose +- Image Processing +title: วิธีตั้งค่าภาษาใน Aspose OCR Python – คู่มือเต็ม +url: /th/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีตั้งค่าภาษาใน Aspose OCR Python – คู่มือฉบับสมบูรณ์ + +เคยสงสัย **วิธีตั้งค่าภาษา** เมื่อใช้ Aspose OCR กับ Python หรือไม่? คุณไม่ได้อยู่คนเดียว—นักพัฒนาหลายคนเจอปัญหาเมื่อโมเดลภาษาอังกฤษเริ่มต้นไม่สามารถอ่านรหัสสินค้า หมายเลขซีเรียล หรือข้อความหลายภาษาได้ ข่าวดีคือวิธีแก้ง่ายและทรงพลัง ในบทแนะนำนี้เราจะพาคุณผ่านการกำหนดค่าภาษา การเพิ่มพจนานุกรมแบบกำหนดเอง การดึงข้อความจากรูปภาพ และสุดท้ายการประมวลผลรูปภาพเพื่อให้ได้ผลลัพธ์ OCR ที่ดีที่สุด + +เราจะครอบคลุมทุกอย่างที่คุณต้องรู้ ตั้งแต่การติดตั้งไลบรารีจนถึงการรันตัวอย่างเต็มที่พิมพ์ข้อความที่ดึงออกมา เมื่อจบคุณจะสามารถ **ดึงข้อความจากรูปภาพ** ได้อย่างมั่นใจ แม้เนื้อหาจะมีรหัสแปลกหรือหลายภาษา + +## ข้อกำหนดเบื้องต้น + +ก่อนที่เราจะดำดิ่งลงไป ตรวจสอบให้แน่ใจว่าคุณมี: + +* Python 3.8+ ติดตั้งแล้ว (โค้ดใช้ f‑strings ดังนั้นเวอร์ชันเก่าจะไม่ทำงาน) +* ไลเซนส์ Aspose OCR for Python ที่ใช้งานได้หรือคีย์ทดลองฟรี +* แพ็กเกจ `asposeocr` ติดตั้งผ่าน `pip install asposeocr` +* ตัวอย่างรูปภาพ (`product_label.png`) ที่มีข้อความที่คุณต้องการอ่าน + +ถ้าคุณมีทั้งหมดแล้ว เยี่ยม—ไปต่อกันเถอะ ถ้ายังไม่มี ให้รับทดลองฟรีจากเว็บไซต์ของ Aspose แล้วรันคำสั่งติดตั้ง; ใช้เวลาเพียงนาทีเดียว + +## ขั้นตอนที่ 1: นำเข้าโมดูล Aspose OCR + +สิ่งแรกที่คุณต้องทำคือดึงคลาส OCR เข้ามาในสคริปต์ของคุณ นี่คือพื้นฐานสำหรับ **วิธีตั้งค่าภาษา** ต่อไป + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **เคล็ดลับ:** เก็บการนำเข้าที่ส่วนบนของไฟล์ จะทำให้สคริปต์อ่านง่ายขึ้น โดยเฉพาะเมื่อคุณกลับมาดูใหม่ในภายหลัง + +## ขั้นตอนที่ 2: วิธีตั้งค่าภาษา + +โดยค่าเริ่มต้น Aspose OCR จะสมมติว่าเป็นภาษาอังกฤษ หากรูปของคุณมีข้อความเป็นภาษาฝรั่งเศส เยอรมัน หรือภาษาอื่นใด คุณต้องบอกให้เอนจินรู้ว่าจะใช้ภาษาอะไร นี่คือจุดที่คีย์เวิร์ดหลักทำงาน + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +ทำไมเรื่องนี้ถึงสำคัญ? เอนจิน OCR พึ่งพาโมเดลอักขระที่เฉพาะเจาะจงตามภาษา การระบุภาษาที่ถูกต้องจะเพิ่มความแม่นยำอย่างมาก—โดยเฉพาะกับอักขระที่มีสำเนียงหรือการเชื่อมตัวอักษรเฉพาะภาษา + +> **หมายเหตุ:** หากต้องการรองรับหลายภาษาในเวลาเดียวกัน สามารถส่งรายการเช่น `ocr.Language.ENGLISH | ocr.Language.SPANISH` + +## ขั้นตอนที่ 3: วิธีเพิ่มพจนานุกรม (คำที่กำหนดโดยผู้ใช้) + +บางครั้งเอนจิน OCR จะอ่านรหัสสินค้าอย่าง “AB‑1234” ผิด คุณสามารถเพิ่มความมั่นใจได้โดยใส่พจนานุกรมแบบกำหนดเอง ซึ่งตอบโดยตรงกับ **วิธีเพิ่มพจนานุกรม** ใน Aspose OCR + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +เอนจินจะถือคำเหล่านี้ว่าเป็น “รู้จัก” และจะให้ความสำคัญกับมันเหนืออักขระที่คล้ายกัน สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับหมายเลข SKU, รหัสซีเรียล หรือชื่อแบรนด์ที่ไม่ได้อยู่ในภาษาธรรมชาติ + +## ขั้นตอนที่ 4: วิธีประมวลผลรูปภาพ + +เมื่อเอนจินถูกตั้งค่าแล้ว คุณต้องโหลดรูปภาพที่ต้องการวิเคราะห์ นี่คือการตอบ **วิธีประมวลผลรูปภาพ** อย่างเป็นระบบและทำซ้ำได้ + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +หากคุณทำงานกับ PDF สามารถแปลงแต่ละหน้าเป็นรูปภาพก่อน—Aspose OCR รองรับโดยตรง + +## ขั้นตอนที่ 5: วิธีดึงข้อความจากรูปภาพ + +เมื่อทุกอย่างพร้อม ขั้นตอนสุดท้ายคือรัน OCR และดึงข้อความ นี่คือหัวใจของ **วิธีดึงข้อความ** จากรูปภาพ + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +เมื่อคุณรันสคริปต์ ควรเห็นผลลัพธ์ประมาณนี้: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +หากผลลัพธ์ดูเป็นอักขระผสมกัน ให้ตรวจสอบว่าคุณตั้งค่าภาษาอย่างถูกต้องและพจนานุกรมที่กำหนดเองมีสตริงที่ต้องการครบถ้วนหรือไม่ + +## ตัวอย่างการทำงานเต็มรูปแบบ + +รวมทุกอย่างเข้าด้วยกัน นี่คือสคริปต์เต็มที่คุณสามารถคัดลอก‑วางลงในไฟล์ชื่อ `extract_label.py` อย่าลืมเปลี่ยน `YOUR_DIRECTORY` ให้เป็นพาธจริงของรูปภาพของคุณ + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### ผลลัพธ์ที่คาดหวัง + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +หากคุณเห็นรหัสที่เพิ่มเข้าไปในพจนานุกรมอย่างแม่นยำ คุณได้เชี่ยวชาญ **วิธีตั้งค่าภาษา**, **วิธีเพิ่มพจนานุกรม**, และ **วิธีดึงข้อความจากรูปภาพ** ด้วย Aspose OCR แล้ว + +## การจัดการกรณีขอบที่พบบ่อย + +| สถานการณ์ | วิธีทำ | +|-----------|--------| +| **ภาพเบลอ** | ทำการประมวลผลล่วงหน้าด้วย `ocr.Image.apply_filter()` เพื่อทำให้คมก่อนเรียก `process()` | +| **หลายภาษาในภาพเดียว** | ตั้งค่า `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH` | +| **PDF ขนาดใหญ่** | วนลูปแต่ละหน้า แปลงเป็น `ocr.Image` และเรียก `process()` สำหรับแต่ละหน้า | +| **อักขระที่ไม่คาดคิด** | เพิ่มลงในรายการคำที่กำหนดโดยผู้ใช้; Aspose OCR จะถือว่ามันเป็นโทเคนที่มีความมั่นใจสูง | + +## อ้างอิงภาพ + +![ภาพหน้าจอแสดงวิธีตั้งค่าภาษาใน Aspose OCR example](image.png "ภาพหน้าจอแสดงวิธีตั้งค่าภาษาในตัวอย่าง Aspose OCR Python") + +*ข้อความแทนภาพ:* **วิธีตั้งค่าภาษา** ภาพหน้าจอที่แสดงการกำหนดคุณสมบัติ language ใน IDE ของ Python + +## สรุป + +คุณตอนนี้รู้แล้วว่า **วิธีตั้งค่าภาษา** ใน Aspose OCR Python, วิธี **เพิ่มพจนานุกรม** และขั้นตอนที่แม่นยำในการ **ดึงข้อความจากรูปภาพ** และ **ประมวลผลรูปภาพ** เพื่อผลลัพธ์ที่ดีที่สุด ตัวอย่างเต็มที่ให้ไว้ข้างต้นสามารถนำไปใช้ในโปรเจกต์ใดก็ได้ ปรับเปลี่ยนสำหรับภาษาต่าง ๆ และขยายเพื่อรองรับการประมวลผลเป็นชุดหรือไฟล์ PDF + +พร้อมรับความท้าทายต่อไปหรือยัง? ลองสลับ `ocr.Language.ENGLISH` เป็น `ocr.Language.FRENCH` แล้วสังเกตการเพิ่มความแม่นยำบนป้ายที่เป็นภาษาฝรั่งเศส หรือทดลองใช้เมธอด `set_user_defined_words` เพื่อใส่แคตตาล็อกสินค้าทั้งหมด—เอนจิน OCR ของคุณจะถือทุกรายการเป็นการจับคู่ที่มีความมั่นใจสูง + +ขอให้เขียนโค้ดอย่างสนุกสนานและผลลัพธ์ OCR ของคุณใสเหมือนคริสตัล! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/thai/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..2d632b1c --- /dev/null +++ b/ocr/thai/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-01-12 +description: ประมวลผลบันทึกมือใน Python ด้วย Aspose OCR – เรียนรู้วิธีดึงข้อความจากภาพ + jpg อย่างรวดเร็ว +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: th +og_description: ประมวลผลโน้ตที่เขียนด้วยมือใน Python ด้วย Aspose OCR. เรียนรู้วิธีดึงข้อความจากภาพ + jpg, จดจำการ OCR ของลายมือ, และโหลดภาพสำหรับ OCR. +og_title: ประมวลผลโน้ตมือเขียนด้วย Python – บทเรียน OCR ฉบับเต็ม +tags: +- OCR +- Python +- Aspose +title: ประมวลผลบันทึกมือด้วย Python – คู่มือ OCR สำหรับลายมือ +url: /th/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# ประมวลผลบันทึกมือด้วย Python – คู่มือ Handwritten OCR + +หากคุณต้อง **ประมวลผลบันทึกมือ** ด้วย Python คู่มือนี้จะแสดงให้คุณเห็นขั้นตอนทั้งหมด ไม่ว่าบันทึกจะอยู่บนใบเสร็จสแกน ภาพกระดานไวท์บอร์ดในห้องเรียน หรือเซลฟี่ของรายการสิ่งที่ต้องทำ คุณจะได้เรียนรู้ **วิธีดึงข้อความ** จากภาพเหล่านั้นอย่างง่ายดายโดยไม่ต้องเสียเวลา + +เราจะเดินผ่านทุกขั้นตอน—การนำเข้าไลบรารี Aspose OCR, การโหลดไฟล์ JPG, การเรียกใช้งานเอนจิน, และการจัดการกับบรรทัดที่ความเชื่อมั่นต่ำ สุดท้ายคุณจะได้สคริปต์ที่พร้อมรันเพื่อ **recognize text from jpg** และให้ผลลัพธ์เป็นสตริงที่สะอาดและพร้อมใช้งาน + +## สิ่งที่คุณจะได้รับ + +- ตัวอย่างโค้ดที่สมบูรณ์และสามารถรันได้ทันที +- ความเข้าใจว่าทำไมแต่ละบรรทัดถึงสำคัญ ไม่ใช่แค่ทำอะไร +- เคล็ดลับการจัดการกับลายมือที่สั่นและผลลัพธ์ที่ความเชื่อมั่นต่ำ +- แนวทางการขยายสคริปต์เพื่อรองรับ PDF, ภาพหลายไฟล์, หรือแพ็คเกจภาษาที่กำหนดเอง + +*Prerequisites*: Python 3.8+ ติดตั้งแล้ว, ใบอนุญาต Aspose OCR ที่ถูกต้อง (หรือทดลองใช้ฟรี), และไฟล์ภาพชื่อ `handwritten_notes.jpg` อยู่ในโฟลเดอร์โปรเจกต์ของคุณ + +--- + +![Process handwritten notes example](https://example.com/handwritten-notes.png "process handwritten notes") +*Alt text: process handwritten notes – ตัวอย่างภาพแสดงข้อความลายมือพร้อมสำหรับ OCR.* + +## Process Handwritten Notes: Setting Up the OCR Engine + +### ทำไมขั้นตอนนี้สำคัญ +OCR engine คือสมองของกระบวนการจดจำ การเลือกภาษาที่ถูกต้องและการเริ่มต้นอ็อบเจ็กต์อย่างเหมาะสมทำให้เอนจินรู้ว่าต้องมองหาอักขระภาษาอังกฤษและสามารถจัดการกับลักษณะพิเศษของลายมือได้ + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Pro tip:** หากคุณคาดว่าจะมีบันทึกในภาษาต่าง ๆ ให้เปลี่ยน `ocr.Language.ENGLISH` เป็น enum ที่เหมาะสม (เช่น `ocr.Language.FRENCH`) เอนจินจะโหลดชุดอักขระที่ต้องการโดยอัตโนมัติ + +--- + +## How to Extract Text from JPG Images + +### โหลดภาพ – อุปสรรคแรก +ก่อนที่เอนจินจะทำงานได้ มันต้องการการแสดงผลแบบบิตแมพของไฟล์ JPG ของคุณ Aspose มีเมธอดสแตติก `load` ที่อ่านไฟล์เข้าสู่อ็อบเจ็กต์ `Image` + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*ทำไมไม่ใช้ OpenCV หรือ Pillow?* +ไลบรารีเหล่านั้นดีสำหรับการพรีโปรเซส แต่ `Image.load` ของ Aspose รับประกันรูปแบบพิกเซลที่เอนจิน OCR คาดหวังอย่างแม่นยำ ลดแหล่งที่มาของความไม่ตรงกันของความลึกสี + +--- + +## Recognize Text from JPG with Handwritten OCR Python + +### รัน OCR engine +เมื่อเอนจินและภาพพร้อม เราจะเริ่มการจดจำ เมธอด `process` จะคืนค่าอ็อบเจ็กต์ `OcrResult` ที่มีรายการของอ็อบเจ็กต์ `Line` แต่ละอันพร้อมคะแนนความเชื่อมั่นของมัน + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**What’s happening under the hood?** +Aspose OCR ใช้โมเดล deep‑learning ที่ฝึกด้วยตัวอย่างลายมือหลายล้านรูป มันจะแบ่งภาพเป็นบรรทัด จากนั้นเป็นอักขระ และสุดท้ายประกอบสตริงข้อความที่เป็นไปได้ที่สุดสำหรับแต่ละบรรทัด + +--- + +## Load Image for OCR – Handling Low‑Confidence Results + +### ทำไมต้องใส่ใจคะแนนความเชื่อมั่น +Handwritten OCR ไม่เคยแม่นยำ 100 % คะแนนความเชื่อมั่นต่ำกว่า 75 % มักบ่งบอกว่าเอนจินประสบปัญหากับลำดับการเขียนหรือสัญญาณรบกวนพื้นหลัง โดยการกรองบรรทัดเหล่านั้น คุณสามารถตัดสินใจว่าจะขอให้ผู้ใช้ตรวจสอบหรือทำการพรีโปรเซสเพิ่มเติม + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Typical output** (ผลลัพธ์ของคุณอาจแตกต่าง): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +สังเกตว่าสคริปต์แยกข้อความที่เชื่อถือได้ออกจากส่วนที่สั่นได้อย่างชัดเจน คุณสามารถนำบรรทัดที่ความเชื่อมั่นต่ำไปผ่านการประมวลผลครั้งที่สองด้วยฟิลเตอร์เพิ่มคุณภาพภาพ (เช่น เพิ่มคอนทราสต์) หรือส่งให้ผู้ตรวจสอบมนุษย์ + +--- + +## Full Script – Ready to Run + +ด้านล่างเป็นโปรแกรมทั้งหมดพร้อมคัดลอก‑วาง บันทึกเป็น `handwritten_ocr.py` แล้วรันด้วยคำสั่ง `python handwritten_ocr.py` + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Expected behavior:** +- สคริปต์จะแสดงแต่ละบรรทัดพร้อมเปอร์เซ็นต์ความเชื่อมั่น +- บรรทัดที่ความเชื่อมั่นเหนือ 75 % จะปรากฏเป็น “Accepted” ส่วนที่เหลือจะถูกทำเครื่องหมายให้ตรวจสอบ +- ไม่ต้องมีการพึ่งพาไลบรารีเพิ่มเติมนอกจาก `asposeocr` + +--- + +## Common Questions & Edge Cases + +### ถ้าภาพของฉันเป็น PNG หรือ BMP? +Aspose OCR ตรวจจับรูปแบบโดยอัตโนมัติ คุณเพียงเปลี่ยนนามสกุลไฟล์ใน `image_path` เท่านั้น ไม่ต้องแก้ไขโค้ด + +### ลายมือของฉันยุ่งมาก—จะเพิ่มความแม่นยำได้อย่างไร? +1. **พรีโปรเซสภาพ** – เพิ่มคอนทราสต์, ลบเงาพื้นหลัง (OpenCV ช่วยได้) +2. **เพิ่มเกณฑ์ความเชื่อมั่น** – ตั้งเป็น 80 % หากต้องการบรรทัดที่เกือบสมบูรณ์ +3. **ฝึกโมเดลกำหนดเอง** – Aspose มีฟีเจอร์ “custom language pack” สำหรับสไตล์ลายมือเฉพาะ + +### สามารถประมวลผลหลายภาพในครั้งเดียวได้ไหม? +ทำได้แน่นอน ใส่ขั้นตอนการโหลดและประมวลผลไว้ใน `for` loop ที่วนผ่านรายการเส้นทางไฟล์ อย่าลืมใช้อินสแตนซ์ `ocr_engine` เดียวกันเพื่อความเร็ว + +### ทำงานบน macOS/Linux ได้หรือไม่? +ได้ Aspose OCR มี wheel สำหรับทุกแพลตฟอร์มหลัก เพียง `pip install asposeocr` แล้วคุณก็พร้อมใช้งาน + +--- + +## Next Steps & Related Topics + +- **How to extract text from PDFs** – เมื่อมี pipeline OCR แล้ว การโหลดหน้า PDF ด้วย `ocr.Image.load` เพียงบรรทัดเดียว +- **Integrating with a database** – เก็บบรรทัดที่ยอมรับไว้ใน SQLite หรือ PostgreSQL เพื่อให้ค้นหาโน้ตได้ง่าย +- **Real‑time OCR on mobile** – ผสานสคริปต์นี้กับ Flask หรือ FastAPI เพื่อเปิดให้บริการ REST endpoint ที่แอปมือถือเรียกใช้ได้ + +แต่ละหัวข้อขยายจากแนวคิดหลักที่เราได้ครอบคลุม: **process handwritten notes**, **how to extract text**, **recognize text from jpg**, และ **load image for OCR**. + +--- + +## Conclusion + +คุณมีโซลูชันครบวงจรสำหรับ **process handwritten notes** ด้วย Python และ Aspose OCR แล้ว คู่มือได้อธิบายการตั้งค่าเอนจิน, การโหลด JPG, การรันการจดจำ, และการจัดการผลลัพธ์ที่ความเชื่อมั่นต่ำ—all ในสคริปต์เดียวที่คัดลอก‑วางได้ + +ต่อจากนี้ลองทดลองเทคนิคพรีโปรเซสภาพต่าง ๆ ปรับเกณฑ์ความเชื่อมั่น หรือขยายให้ประมวลผลเป็นชุดหลายร้อยโน้ตได้ ไม่จำกัดอะไรเลย และโค้ดที่คุณเรียนรู้ตอนนี้คือจุดเริ่มต้นของคุณ + +*Happy coding, and may your handwritten notes finally become searchable text!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/thai/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..a3f3f269 --- /dev/null +++ b/ocr/thai/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,235 @@ +--- +category: general +date: 2026-01-12 +description: บทเรียน OCR ด้วย Python แสดงวิธีดึงข้อความตารางจากภาพ เรียนรู้การอ่านตารางจากภาพและดึงข้อความที่เลือกด้วย + Aspose OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: th +og_description: บทเรียน OCR ด้วย Python ที่สอนวิธีดึงข้อความตารางจากภาพ, อ่านตารางจากภาพและดึงข้อความที่เลือกโดยใช้ + Aspose OCR. +og_title: 'บทเรียน OCR ด้วย Python: การดึงข้อความตารางจากรูปภาพ' +tags: +- OCR +- Python +- AsposeOCR +title: 'บทเรียน OCR ด้วย Python: ดึงข้อความตารางจากรูปภาพ' +url: /th/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# บทแนะนำ Python OCR: ดึงข้อความตารางจากรูปภาพ + +เคยต้องการ **python ocr tutorial** ที่จริงจังแสดงวิธีดึงตารางออกจากแบบฟอร์มที่สแกนหรือไม่? คุณไม่ได้เป็นคนเดียว ส่วนใหญ่ของบทแนะนำจะหยุดที่การดึงข้อความทั่วไป ทำให้คุณต้องเดาว่าจะแยกกริดข้อมูลที่ต้องการอย่างไร + +ในคู่มือนี้ เราจะพาคุณผ่านสถานการณ์จริง: อ่านตารางจากรูปภาพ, ดึงข้อความที่เลือกที่คุณต้องการเท่านั้น, และสุดท้ายพิมพ์ผลลัพธ์ ระหว่างทางเราจะเพิ่มเคล็ดลับเกี่ยวกับ **how to extract table** อย่างเชื่อถือได้ เพื่อให้คุณไม่ต้องสร้างใหม่ทุกครั้ง + +## สิ่งที่คุณจะได้เรียนรู้ + +- วิธีตั้งค่า Aspose OCR สำหรับ Python. +- วิธีกำหนดพื้นที่สี่เหลี่ยมที่มีตาราง. +- ขั้นตอนที่แน่นอนเพื่อ **extract table text** และ **read table from image**. +- เคล็ดลับในการจัดการหลายภาษา หรือรูปแบบตารางที่ไม่เป็นระเบียบ. +- สคริปต์ที่สมบูรณ์และสามารถรันได้ที่คุณสามารถนำไปใช้ในโปรเจคของคุณวันนี้. + +**ข้อกำหนดเบื้องต้น** +- Python 3.8 หรือใหม่กว่า. +- ความคุ้นเคยพื้นฐานกับแนวคิด OCR (ไม่จำเป็นต้องเชี่ยวชาญลึก). +- รูปภาพ PNG หรือ JPEG ที่มีตารางชัดเจน (เราจะเรียกมันว่า `form_with_table.png`). + +ถ้าคุณมีทั้งหมดนี้แล้ว, มาเริ่มกันเลย—ไม่มีเรื่องฟุ่มเฟือย, มีโค้ดที่ทำได้จริงเท่านั้น + +![python ocr tutorial example of table region](table_region_example.png){alt="python ocr tutorial ตัวอย่างแสดงพื้นที่ตาราง"} + +## ขั้นตอนที่ 1: ติดตั้งและนำเข้า Aspose OCR + +สิ่งแรกที่ต้องทำ: คุณต้องการไลบรารี Aspose OCR แพคเกจนี้อยู่บน PyPI ดังนั้นคำสั่ง `pip` เพียงหนึ่งคำสั่งก็ทำได้ + +```bash +pip install aspose-ocr +``` + +ต่อไปให้นำเข้ามอดูลและตัวช่วยใด ๆ ที่คุณต้องการ + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*เคล็ดลับ:* เก็บ dependencies ของคุณในไฟล์ `requirements.txt` จะทำให้การสร้างสภาพแวดล้อมซ้ำง่ายมาก + +## ขั้นตอนที่ 2: เริ่มต้น OCR Engine (Python OCR Tutorial Core) + +การสร้าง engine คือหัวใจของ **python ocr tutorial** ใด ๆ ที่นี่เรายังตั้งค่าภาษาเริ่มต้นเป็น English—คุณสามารถเปลี่ยนได้ในภายหลัง + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +ทำไมต้องตั้งค่าภาษา? ความแม่นยำของ OCR สามารถเพิ่มขึ้นอย่างมากเมื่อ engine รู้ว่าตัวอักษรใดที่คาดหวัง หากคุณทำงานกับแบบฟอร์มหลายภาษา คุณสามารถตั้งค่ารายการภาษาหรือกำหนดทับต่อพื้นที่ (ดูต่อไป) + +## ขั้นตอนที่ 3: โหลดรูปภาพของคุณ + +Aspose OCR ทำงานกับรูปแบบภาพส่วนใหญ่ เพียงชี้ไปที่เส้นทางไฟล์ แล้วคุณจะได้อ็อบเจ็กต์ `Image` พร้อมสำหรับการประมวลผล + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*กรณีขอบ:* รูปภาพขนาดใหญ่ (มากกว่า 5 MB) อาจทำให้การประมวลผลช้าลง พิจารณาเปลี่ยนขนาดหรือบีบอัดก่อน OCR หากประสิทธิภาพเป็นปัญหา + +## ขั้นตอนที่ 4: กำหนดพื้นที่ตาราง (Read Table from Image) + +ต่อไปคือส่วนสนุก: บอก engine ว่า *ที่ไหน* ที่ตารางอยู่ คุณให้ `OcrRegion` พร้อม `Rectangle` (x, y, width, height) พิกัดเป็นหน่วยพิกเซล ดังนั้นคุณอาจต้องทดลองเล็กน้อย + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +ทำไมต้องใช้พื้นที่? การจำกัด OCR เฉพาะพื้นที่ตารางทำให้เรา **extract selected text** เร็วขึ้นและหลีกเลี่ยงสัญญาณรบกวนจากป้ายหรือกราฟิกรอบ ๆ อีกทั้งยังเพิ่มความแม่นยำเพราะ engine สามารถโฟกัสที่เลย์เอาต์ที่สม่ำเสมอ + +## ขั้นตอนที่ 5: รัน OCR บนพื้นที่ที่กำหนด + +เมื่อกำหนดพื้นที่แล้ว เราเรียก `process_region` เมธอดนี้คืนค่าอ็อบเจ็กต์ `OcrResult` ที่บรรจุข้อความดิบ, คะแนนความเชื่อมั่น, และแม้แต่กล่องขอบเขตหากคุณต้องการในภายหลัง + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +หากคุณต้องการดึงหลายตาราง เพียงทำซ้ำขั้นตอน 4‑5 ด้วยสี่เหลี่ยมต่าง ๆ + +## ขั้นตอนที่ 6: แสดงผลข้อความตารางที่ดึงมา + +สุดท้าย พิมพ์—หรือบันทึก—การแสดงผลข้อความของตาราง Aspose OCR คืนค่าข้อความธรรมดาพร้อมการขึ้นบรรทัดใหม่ที่มักสอดคล้องกับแถว ทำให้การประมวลผลต่อเนื่องง่าย + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**ผลลัพธ์ที่คาดหวัง** (example): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +คุณสามารถนำสตริงนี้ไปใช้กับตัวแยก `csv`, pandas DataFrames, หรือ pipeline การวิเคราะห์ต่อไปได้ + +## ตัวอย่างทำงานเต็มรูปแบบ + +รวมทุกอย่างเข้าด้วยกัน นี่คือสคริปต์เต็มที่คุณสามารถรันได้ทันที แทนที่ `YOUR_DIRECTORY/form_with_table.png` ด้วยเส้นทางจริงของรูปภาพของคุณ + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +รันสคริปต์ด้วย `python extract_table.py` หากทุกอย่างตรงกัน คุณจะเห็นตารางพิมพ์บนคอนโซล + +## คำถามทั่วไป & การจัดการกรณีขอบ + +**ถ้าตารางไม่เป็นสี่เหลี่ยมที่สมบูรณ์?** +คุณสามารถแบ่งตารางเป็นหลายพื้นที่ที่ทับซ้อนกันหรือใช้สี่เหลี่ยมใหญ่ที่ครอบคลุมทั้งพื้นที่แล้วทำการประมวลผลต่อข้อความ (เช่น แยกตามการขึ้นบรรทัดใหม่) + +**ฉันสามารถดึงเฉพาะคอลัมน์ที่ต้องการได้ไหม?** +หลังจากที่คุณมีข้อความตารางเต็ม ใช้ `csv` หรือ `pandas` ของ Python เพื่อตัดคอลัมน์ที่ต้องการ ขั้นตอน OCR เองจะคืนค่าทุกอย่างภายในสี่เหลี่ยม + +**ฉันจะทำงานกับตารางที่ไม่ใช่ภาษาอังกฤษอย่างไร?** +ตั้งค่า `ocr_engine.language` (หรือ `region.language`) ให้เป็น enum ที่เหมาะสม เช่น `ocr.Language.FRENCH` หรือรวมหลายภาษาโดยใช้ `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**มีวิธีใดบ้างที่จะได้กล่องขอบเขตของแต่ละเซลล์?** +Aspose OCR สามารถคืนค่า `region_result.words` ซึ่งแต่ละคำมีกล่องขอบเขต คุณต้องแมปกล่องเหล่านั้นกลับเป็นกริด—มีประโยชน์สำหรับการวิเคราะห์เลย์เอาต์ขั้นสูง + +## เคล็ดลับเพื่อความแม่นยำที่ดียิ่งขึ้น + +- **Clean the image**: ทำการไบนารีหรือเพิ่มคอนทราสต์ก่อนส่งให้ OCR ไลบรารีอย่าง Pillow ช่วยได้ +- **Avoid compression artifacts**: บันทึกการสแกนเป็น PNG เมื่อทำได้ +- **Mind DPI**: 300 dpi เป็นค่าที่เหมาะสม; ค่าต่ำกว่าสามารถทำให้พลาดอักขระ +- **Test different rectangle sizes**: สี่เหลี่ยมที่ใหญ่กว่านิดหน่อยมักจะจับอักขระที่หลุดออกจากตารางได้ + +## ขั้นตอนต่อไป + +ตอนนี้คุณได้เชี่ยวชาญการดึงข้อมูล **how to extract table** ด้วย Aspose OCR แล้ว คุณอาจสำรวจต่อไป: + +- แปลงข้อความที่ดึงมาเป็นไฟล์ CSV ด้วยโมดูล `csv` ของ Python +- ส่งข้อมูลเข้า **pandas** DataFrame เพื่อการวิเคราะห์ +- ใช้ OCR อ่านแบบฟอร์มที่เขียนด้วยมือ (ต้องใช้ engine ที่แตกต่างหรือการฝึกเพิ่มเติม) +- ทำอัตโนมัติการประมวลผลแบบแบตช์ของหลายสิบแบบฟอร์มสแกนโดยใช้ `for` loop ง่าย ๆ + +แต่ละส่วนขยายเหล่านี้สร้างบนแนวคิดหลักที่ครอบคลุมใน **python ocr tutorial** นี้ ทำให้คุณพร้อมที่จะขยายขนาดได้ + +*ขอให้เขียนโค้ดอย่างสนุก! หากคุณเจอปัญหาใด ๆ ฝากคอมเมนต์ด้านล่าง—ฉันยินดีช่วยคุณปรับการดึงข้อมูล* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/thai/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..5e7e9c43 --- /dev/null +++ b/ocr/thai/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,264 @@ +--- +category: general +date: 2026-01-12 +description: ทำ OCR บนไฟล์ PNG อย่างรวดเร็วด้วย Python. เรียนรู้วิธีดึงข้อความจากภาพและใบแจ้งหนี้ + และโหลดภาพสำหรับ OCR ด้วย Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: th +og_description: ทำ OCR บนไฟล์ PNG ได้ทันที. คู่มือนี้แสดงวิธีการดึงข้อความจากภาพและใบแจ้งหนี้, + โหลดภาพเพื่อทำ OCR, และบันทึกผลลัพธ์เป็น JSON และ CSV. +og_title: ทำ OCR บน PNG – บทเรียน Python เต็มรูปแบบ +tags: +- OCR +- Python +- Image Processing +title: เรียกใช้ OCR บน PNG – คู่มือ Python ฉบับเต็มสำหรับการดึงข้อความจากภาพ +url: /th/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# ทำ OCR บน PNG – คู่มือ Python ฉบับสมบูรณ์เพื่อดึงข้อความจากรูปภาพ + +เคยต้องการ **run OCR on PNG** ไฟล์แต่ไม่แน่ใจว่าห้องสมุดใดจะให้ผลลัพธ์ที่สะอาดและเป็นโครงสร้าง? คุณไม่ได้อยู่คนเดียว ในหลายโครงการจริง—เช่นการทำอัตโนมัติใบแจ้งหนี้หรือการสแกนใบเสร็จ—ขั้นตอนแรกคือการ **extract text from image** ไฟล์ และ PNG เป็นรูปแบบที่พบบ่อยเพราะรักษาคุณภาพแบบไม่มีการสูญเสีย + +ในบทแนะนำนี้ เราจะเดินผ่านตัวอย่างเชิงปฏิบัติด้วยแพคเกจ Aspose.OCR สำหรับ Python. เมื่อจบคู่มือคุณจะรู้วิธี **load image for OCR**, ดึงข้อความทุกบรรทัด, แปลงข้อมูลนั้นเป็นอ็อบเจกต์ JSON ที่เรียบร้อย, และแม้กระทั่งบันทึกเป็น CSV เพื่อการประมวลผลต่อไป ไม่มีเนื้อหาเกินความจำเป็น เพียงโซลูชันที่ใช้งานได้จริงและพร้อมรัน + +## สิ่งที่คุณจะได้เรียนรู้ + +- วิธีการติดตั้งและนำเข้าไลบรารี Aspose.OCR. +- ขั้นตอนที่แน่นอนเพื่อ **run OCR on PNG** และจัดการกับอ็อบเจกต์ผลลัพธ์. +- วิธีการ **extract text from invoice** ไฟล์และจัดรูปแบบผลลัพธ์เป็น JSON หรือ CSV. +- เคล็ดลับสำหรับการจัดการกับภาพที่คอนทราสต์ต่ำ, เอกสารหลายภาษา, และคะแนนความเชื่อมั่น. +- ตัวอย่างโค้ดที่ครบถ้วนพร้อมคัดลอก‑วางที่คุณสามารถรันได้ทันที + +> **Prerequisite:** Python 3.8+ และความคุ้นเคยพื้นฐานกับ pip. หากคุณไม่เคยใช้ Aspose มาก่อน ไม่ต้องกังวล—คู่มือนี้ครอบคลุมทุกอย่างที่คุณต้องการเพื่อเริ่มต้น + +--- + +## ขั้นตอนที่ 1 – ติดตั้ง Aspose.OCR และเตรียมสภาพแวดล้อมของคุณ + +ก่อนที่เราจะ **run OCR on PNG** ไลบรารีต้องถูกติดตั้งบนระบบของคุณก่อน + +```bash +pip install aspose-ocr +``` + +> **Pro tip:** ใช้ virtual environment (`python -m venv venv`) เพื่อแยกการพึ่งพาออกจากกัน จะช่วยป้องกันการชนกันของเวอร์ชันเมื่อคุณทำหลายโครงการพร้อมกัน + +เมื่อติดตั้งเสร็จแล้ว ให้นำเข้าโมดูลที่เราต้องการใช้: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +ที่นี่เรานำเข้า `asposeocr` เพื่อทำงานหนักและไลบรารี `json` ในตัวสำหรับการแปลงข้อมูลในภายหลัง + +## ขั้นตอนที่ 2 – สร้าง OCR Engine และตั้งค่าภาษา + +OCR engine คือส่วนประกอบหลักที่อ่านพิกเซลจริง ๆ สำหรับใบแจ้งหนี้ภาษาอังกฤษส่วนใหญ่ คุณจะต้องการแพ็คภาษาอังกฤษ: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Why this matters:** การระบุภาษา จะจำกัดชุดอักขระ ซึ่งช่วยเพิ่มความแม่นยำและเร่งการประมวลผล หากคุณต้องการจัดการใบแจ้งหนี้หลายภาษา เพียงเปลี่ยน `ocr.Language.ENGLISH` เป็น enum ที่เหมาะสม + +## ขั้นตอนที่ 3 – โหลดภาพสำหรับ OCR + +ตอนนี้เราจะ **load image for OCR** เมธอด `Image.load` รับพาธไฟล์และรองรับ PNG, JPEG, BMP, และอื่น ๆ + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Edge case:** หากไฟล์ PNG มีขนาดใหญ่ผิดปกติ (เกิน 5 MB) ควรปรับขนาดก่อนเพื่อให้การใช้หน่วยความจำอยู่ในระดับที่เหมาะสม Pillow สามารถทำได้ในบรรทัดเดียว: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +## ขั้นตอนที่ 4 – Run OCR on PNG และจับผลลัพธ์ + +เมื่อ engine พร้อมและภาพถูกโหลดแล้ว ถึงเวลาที่จะ **run OCR on PNG** และดึงผลลัพธ์ที่เป็นโครงสร้าง + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +อ็อบเจกต์ `ocr_result` มีคอลเลกชันของรายการ `OcrRegion` แต่ละรายการมีข้อความที่ถูกจดจำและคะแนนความเชื่อมั่น (0‑100) นี่คือที่ที่คุณจะได้ข้อมูลละเอียดที่จำเป็นสำหรับการ **extract text from invoice** + +## ขั้นตอนที่ 5 – แปลงผลลัพธ์เป็น JSON และพิมพ์อย่างสวยงาม + +ระบบส่วนใหญ่ที่ต่อจากนี้ชอบ JSON ดังนั้นเราจะเปลี่ยนผลลัพธ์ OCR ให้เป็นสตริงที่จัดรูปแบบอย่างสวยงาม + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### ตัวอย่างผลลัพธ์ + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +สังเกตว่าทุกบรรทัดมีเมตริกความเชื่อมั่น—เหมาะสำหรับกรองรายการที่ความเชื่อมั่นต่ำ หากคุณวางแผนจะ **extract text from invoice** โดยอัตโนมัติ + +## ขั้นตอนที่ 6 – บันทึกข้อมูล OCR เป็น CSV (หนึ่งบรรทัดต่อข้อความ + ความเชื่อมั่น) + +CSV เหมาะสำหรับสเปรดชีตหรือการนำเข้าข้อมูลอย่างรวดเร็ว Aspose มีคำสั่งหนึ่งบรรทัดเพื่อบันทึกทุกอย่างลงไฟล์ CSV + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +CSV ที่สร้างขึ้นจะมีลักษณะดังนี้: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +คุณสามารถเปิดไฟล์นี้ใน Excel, Google Sheets, หรือป้อนเข้าสู่ฐานข้อมูลได้แล้ว + +## โบนัส – การจัดการข้อความความเชื่อมั่นต่ำและ PDF หลายหน้า + +### การกรองตามความเชื่อมั่น + +หากคุณต้องการเฉพาะบรรทัดที่ความเชื่อมั่นสูง ให้กรอง JSON ก่อนบันทึกออก: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### เอกสารหลายหน้า + +Aspose.OCR จะสร้างรายการ `page` ใหม่อัตโนมัติสำหรับแต่ละหน้าใน PNG หรือ PDF ที่มีหลายหน้า ให้วนลูปผ่าน `ocr_data["pages"]` เพื่อประมวลผลทั้งหมด—ไม่ต้องเขียนโค้ดเพิ่มเติม + +## ตัวอย่างทำงานเต็มรูปแบบ + +ด้านล่างเป็น **complete script** ที่คุณสามารถคัดลอก, วาง, และรันได้ทันที แทนที่ `YOUR_DIRECTORY` ด้วยโฟลเดอร์ที่เก็บไฟล์ PNG ของคุณ + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +รันสคริปต์ด้วย `python run_ocr.py` แล้วคุณจะเห็นการ dump JSON ในคอนโซล, ไฟล์ CSV บนดิสก์, และรายการที่กรองแล้วของรายการความเชื่อมั่นสูง + +## คำถามที่พบบ่อย + +**Q: ฉันสามารถใช้วิธีนี้เพื่อดึงข้อความจากใบเสร็จสแกนแทนใบแจ้งหนี้ได้หรือไม่?** +A: แน่นอน กระบวนการเดียวกันใช้ได้—เพียงชี้ `image_path` ไปที่ PNG ของใบเสร็จของคุณ หากใบเสร็จใช้ภาษาต่างกัน ให้เปลี่ยน `engine.language` ตามนั้น + +**Q: ถ้า PNG ของฉันมีข้อความที่หมุน?** +A: Aspose.OCR จะตรวจจับการหมุนโดยอัตโนมัติ แต่ในกรณีที่ยาก คุณสามารถหมุนภาพด้วย Pillow ด้วยตนเองก่อนส่งให้ engine + +**Q: ฉันต้องมีไลเซนส์แบบชำระเงินสำหรับ Aspose.OCR หรือไม่?** +A: ไลบรารีมีโหมดประเมินผลฟรีพร้อมลายน้ำบนผลลัพธ์ สำหรับการใช้งานในผลิตภัณฑ์คุณจะต้องมีไลเซนส์ ซึ่งสามารถรับได้จากเว็บไซต์ของ Aspose + +## สรุป + +เราได้ครอบคลุมทุกอย่างที่คุณต้องการเพื่อ **run OCR on PNG** ด้วย Python: การติดตั้ง SDK, การโหลดภาพ, การดึงข้อความที่เป็นโครงสร้าง, และการบันทึกผลลัพธ์เป็น JSON หรือ CSV ไม่ว่าคุณจะต้องการ **extract text from image** สำหรับสคริปต์ง่าย ๆ หรือ **extract text from invoice** สำหรับสายงานบัญชีอัตโนมัติ ขั้นตอนข้างต้นให้พื้นฐานที่มั่นคงและพร้อมใช้งานในผลิตภัณฑ์ + +ต่อไปคุณอาจสำรวจ: + +- การรวมผลลัพธ์ CSV กับฐานข้อมูลเพื่อจัดเก็บใบแจ้งหนี้จำนวนมาก. +- การเพิ่มการประมวลผลหลังด้วย regular expressions เพื่อดึงวันที่, จำนวนเงิน, หรือรหัสภาษี. +- การใช้ฟีเจอร์ `ocr_engine.recognize_barcode` หากใบแจ้งหนี้ของคุณมี QR code + +ลองใช้ดู ปรับค่าขีดจำกัดความเชื่อมั่น และดูกระบวนการประมวลผลเอกสารของคุณกลายเป็นเรื่องง่าย หากมีคำถามเพิ่มเติมหรือกรณีการใช้งานที่น่าสนใจ อย่าลังเลที่จะแสดงความคิดเห็นด้านล่าง—ขอให้สนุกกับการ OCR! + +![ตัวอย่างการทำ OCR บน PNG](run-ocr-on-png.png "run OCR on PNG – ตัวอย่างภาพผลลัพธ์ OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/turkish/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..9a14a16a --- /dev/null +++ b/ocr/turkish/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,195 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR kullanarak Python ile görüntüden metin çıkarın. Tarama görüntüsünü + metne dönüştürmeyi, asenkron kodla sadece birkaç dakikada öğrenin. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: tr +og_description: Aspose OCR ile Python’da görüntüden metin çıkarma. Bu öğreticide, + taranmış görüntüyü asenkron fonksiyonlar kullanarak metne nasıl dönüştüreceğiniz + gösterilmektedir. +og_title: Görüntüden Metin Çıkarma Python – Asenkron OCR Kılavuzu +tags: +- python +- ocr +- async +title: Python ile Görüntüden Metin Çıkarma – Asenkron OCR Rehberi +url: /tr/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Görüntüden Metin Çıkarma Python – Async OCR Rehberi + +Hiç **extract text from image Python** betikleriyle çalışırken OCR kısmında takıldıysanız? Tek başınıza değilsiniz. Birçok geliştirici, taranmış bir belgeyi alınca ve bunu saçlarını çekmeden aranabilir metne dönüştürmek istediğinde bir duvara çarpar. + +Bu öğreticide, Aspose OCR’ın asenkron API’sini kullanarak **scanned image to text** nasıl dönüştüreceğinizi gösteren tam, çalıştırılabilir bir örnek üzerinden adım adım ilerleyeceğiz. Sonunda, herhangi bir projeye ekleyebileceğiniz tek bir fonksiyonunuz olacak ve OCR birkaç saniye sürse bile uygulamanızın yanıt verebilir kalmasını sağlayan async işleme nedenlerini anlayacaksınız. + +## Gereksinimler + +İlerlemeye başlamadan önce şunların yüklü olduğundan emin olun: + +- Python 3.8+ (async özellikleri en az 3.7 gerektirir) +- `asposeocr` paketi (`pip install asposeocr`) – kullanacağımız kütüphane +- Bir taranmış görüntü dosyası (TIFF, PNG, JPEG – Aspose OCR’ın desteklediği herhangi bir format) +- `asyncio` ile temel aşinalık (eğer yoksa endişelenmeyin – her adımı açıklayacağız) + +Ek sistem bağımlılıkları gerekmez; Aspose OCR ihtiyacınız olan her şeyi içinde barındırır. + +![Diagram showing async OCR flow – extract text from image python](https://example.com/async-ocr-diagram.png "async OCR flow – extract text from image python") + +## Adım 1 – Asenkron Yardımcı Fonksiyonu Oluşturma + +Çözümün kalbi, bir görüntüyü yükleyen, OCR’u başlatan ve ardından sonucu bekleyen bir `async` fonksiyonudur. Fonksiyonun asenkron kalması, OCR motoru arka planda çalışırken diğer coroutine’leri (ör. daha fazla dosya indirme) çalıştırabilmenizi sağlar. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Neden önemli:** Bir `Future` döndürerek Aspose OCR, ağır işi ayrı bir iş parçacığı havuzunda yapar. `await` olay döngüsünü serbest bırakır, böylece uygulamanız hızlı kalır. Birden çok görüntüyü aynı anda işlemek isterseniz, sadece birkaç `async_ocr` çağrısını `asyncio.gather` ile zamanlayabilirsiniz. + +## Adım 2 – Coroutine’ı Olay Döngüsünde Çalıştırma + +Yardımcı fonksiyon elimizde olduğuna göre, onu çalıştırmamız gerekiyor. `asyncio.run` yeni bir olay döngüsü oluşturur, coroutine’ı çalıştırır ve her şeyi temiz bir şekilde kapatır. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**İpucu:** Bunu daha büyük bir async uygulamaya (ör. FastAPI) entegre ediyorsanız, `asyncio.run` yerine doğrudan `await async_ocr(...)` çağırırsınız. + +## Adım 3 – Çıktıyı Doğrulama + +Betik çalıştırıldığında aşağıdakine benzer bir şey görmelisiniz: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Çıktı bozuk görünüyorsa, şu noktaları kontrol edin: + +1. Görüntü net ve aşırı sıkıştırılmış değil. +2. Doğru dili seçtiniz (`ocr.Language.ENGLISH` çoğu Latin temelli metin için çalışır). +3. Dosya yolu doğru ve dosya okunabilir. + +## Adım 4 – Kenar Durumlarını Ele Alma + +### Birden Çok Dil + +İngilizce dışındaki bir dilde **convert scanned image to text** yapmak istiyorsanız, sadece dil özelliğini değiştirin: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Büyük Dosyalar + +Çok büyük TIFF dosyaları için, OCR’a vermeden önce yeniden boyutlandırmayı veya daha düşük çözünürlüklü PNG’ye dönüştürmeyi düşünün. Bu, bellek baskısını azaltır ve işleme süresini hızlandırır. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Hata Yönetimi + +Ağ‑ile ilgili veya lisans hatalarını yakalamak için OCR çağrısını bir `try/except` bloğuna sarın. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Adım 5 – Ölçeklendirme: Birçok Görüntüyü Aynı Anda İşleme + +Fonksiyon async olduğu için aynı anda onlarca OCR işi başlatabilirsiniz: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Bu desen, OCR motoru paralel çalışırken CPU’yu meşgul tutar ve toplam işleme süresini büyük ölçüde azaltır. + +## Sonuç + +Artık Aspose OCR’ın asenkron API’sini kullanan sağlam bir **extract text from image Python** çözümünüz var. Tam örnek şu adımları gösteriyor: + +1. OCR motorunu başlatma ve dili seçme. +2. `process_async` ile OCR’u asenkron başlatma. +3. Olay döngüsünü engellemeden sonucu bekleme. +4. Büyük dosyalar ve çok‑dilli destek gibi yaygın sorunları ele alma. + +Kodu kendi veri akışlarınıza uyarlamaktan çekinmeyin— ister bir belge yönetim sistemi, bir arama indeksleyici ya da basit bir komut satırı aracı geliştirin. Bir sonraki adımlar şunlar olabilir: + +- Çıkarılan metni tam‑metin arama için bir veritabanına kaydetme. +- `PyPDF2` gibi bir kütüphane kullanarak aranabilir PDF’ler oluşturma. +- FastAPI gibi bir web çerçevesiyle RESTful OCR servisi entegrasyonu. + +İyi kodlamalar, taranmış görüntülerinizi aranabilir, düzenlenebilir metne dönüştürmenin tadını çıkarın! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/turkish/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..6e4dad88 --- /dev/null +++ b/ocr/turkish/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-01-12 +description: Python’da görüntüleri hızlı bir şekilde toplu OCR yapma ve JPEG dosyalarından + metin çıkarma. Tam çalışan bir örnekle adım adım toplu işleme öğrenin. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: tr +og_description: Görüntüleri toplu OCR ile işleme ve JPEG dosyalarından metin çıkarma. + Bu rehber, eksiksiz, hemen çalıştırılabilir bir Python çözümünü adım adım gösterir. +og_title: Görselleri Toplu OCR – Hızlı Python Öğreticisi +tags: +- OCR +- Python +- image processing +title: Görüntüleri Toplu OCR İşleme – JPEG Dosyalarından Metin Çıkarma İçin Hızlı + Kılavuz +url: /tr/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Görsellerde Toplu OCR Nasıl Yapılır – JPEG Dosyalarından Metin Çıkarma İçin Hızlı Kılavuz + +Her dosya için ayrı bir betik yazmadan **how to batch OCR images**'ı merak ettiniz mi? Yalnız değilsiniz. Birçok projede—fatura tarama, arşiv dijitalleştirme veya içerik denetimi—tek seferde onlarca ya da yüzlerce JPEG dosyasından metin çekmemiz gerekir. İyi haber şu ki, bunu sadece birkaç Python satırıyla yapabilirsiniz ve herhangi bir işlem hattına ekleyebileceğiniz yeniden kullanılabilir bir motor elde edersiniz. + +Bu öğreticide size tam olarak **how to batch OCR images**'ı göstereceğiz, ardından JPEG dosyalarından metin çıkarma, kenar durumlarını ele alma ve çıktıyı doğrulama adımlarını anlatacağız. Sonuna kadar, herhangi bir görüntü klasöründe çalıştırabileceğiniz bağımsız bir betiğe sahip olacak ve toplu işlem yapmanın performans ve bakım açısından neden önemli olduğunu anlayacaksınız. + +## Öğrenecekleriniz + +- Basit bir OCR motoru kurun ve İngilizce için yapılandırın. +- `pathlib` ile bir dizinden tüm JPEG dosyalarını toplayın. +- OCR motorunu bir kez çağırarak tüm toplu işlemi gerçekleştirin. +- Her görüntü için tanınan metnin önizlemesini gösterin. +- Büyük toplu işlemler, farklı diller ve yaygın tuzaklar için ipuçları. + +**Prerequisites**: Python 3.8+, `ocr` kütüphanesi (veya uyumlu bir sarmalayıcı), ve analiz etmek istediğiniz JPEG görüntülerinin bulunduğu bir klasör. Harici hizmetlere gerek yok—her şey yerel olarak çalışır. + +--- + +## Adım 1: OCR Motorunu Başlatma – How to Batch OCR Images'ın Temeli + +**batch OCR images**'a geçmeden önce, metni okuyabilen bir motora ihtiyacımız var. Çoğu kütüphanede bir motor nesnesi oluşturur, isteğe bağlı olarak dili ayarlarsınız ve ardından her dosya için yeniden kullanırsınız. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Why this matters*: Motoru bir kez başlatmak, dil modellerini tekrar tekrar yükleme yükünü önler. Ayrıca tüm toplu işleme uygulanacak ayarları (ör. DPI, karakter beyaz listesi) tek bir yerden ayarlamanızı sağlar. + +> **Pro tip**: Çok dilli belgeler işleyecekseniz, `ocr.Language.ENGLISH`'i `ocr.Language.MULTI` ile değiştirin veya toplu işlem başlamadan önce birden fazla dil paketini yükleyin. + +--- + +## Adım 2: Tüm JPEG Dosyalarını Toplama – “JPEG Dosyalarından Metin Çıkarma” Bölümü + +Motor hazır olduğuna göre, hangi görüntüler üzerinde çalışacağını ona söylememiz gerekiyor. `pathlib` kullanmak kodu platform bağımsız ve özlü hâle getirir. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Why this matters*: Dosya listesini önce toplayarak, tüm koleksiyonu OCR motoruna tek bir çağrıyla besleyebiliriz—tam da “how to batch OCR images”ın özüdür. Alt klasörleriniz varsa, `glob("**/*.jpg")`'ı yinelemeli arama için değiştirebilirsiniz. + +> **Edge case**: Görüntüleriniz karışık uzantılara sahipse (`.jpeg`, `.JPG`), glob desenini şu şekilde genişletin: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Adım 3: Tüm Toplu İşlemi Tek Bir Çağrıyla İşleme – Toplu OCR'ın Gerçek Gücü + +Modern OCR kütüphanelerinin çoğu, dosya yolu iterable'ı kabul eden bir `process_batch` (veya benzer isimli) metot sunar. Bu, **how to batch OCR images**'ı verimli bir şekilde yapmanın kalbidir. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Why this matters*: Tek bir toplu çağrı, Python‑to‑C geçiş sayısını azaltır, dil modelini bellekte tutar ve genellikle iç paralelleştirmeyi etkinleştirir. Sonuç, tanınan metin ve güven skorlarını içeren nesneler listesi olur. + +> **Performance note**: Çok büyük toplu işlemler (binlerce görüntü) için, aşırı bellek tüketimini önlemek amacıyla listeyi daha küçük parçalara (ör. 200 dosya) bölmeyi düşünün. + +--- + +## Adım 4: Çıkarılan Metnin Önizlemesini Gösterme – Hızlı Doğrulama + +Toplu işlem tamamlandıktan sonra, her sonucun ilk birkaç karakterine göz atmak faydalıdır. Bu, OCR'ın JPEG dosyalarınızdan gerçekten metin çıkardığını doğrulamanıza yardımcı olur. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Why this matters*: Kısa bir önizleme, her dosyayı açmadan bariz hataları (ör. boş çıktı, bozuk karakterler) fark etmenizi sağlar. Sistematik sorunlar fark ederseniz, motor ayarlarını değiştirip toplu işlemi yeniden çalıştırabilirsiniz. + +> **Common pitfall**: Yeni satır karakterlerini temizlemeyi unutmak, önizlemenin karışık görünmesine sebep olur. `replace("\n", " ")` satırı bunu temizler. + +--- + +## Tam Çalışan Örnek – Tüm Adımlar Birleştirildi + +Aşağıda, kopyalayıp yapıştırabileceğiniz, dizin yolunu ayarlayabileceğiniz ve çalıştırabileceğiniz tam betik yer alıyor. Bu, **how to batch OCR images** iş akışının baştan sona tümünü gösterir. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Expected output** (örnek): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Eğer önizleme anlamlı bir metin gösteriyorsa, toplu bir yaklaşım kullanarak **extracted text from JPEG files**'ı başarıyla gerçekleştirmişsiniz demektir. + +--- + +## Büyük Toplu İşlemler ve İleri Senaryoları Ele Alma + +### Büyük İş Yüklerini Parçalara Bölme + +Binlerce görüntüyle çalışırken bellek darboğazı olabilir. Listeyi daha küçük parçalara bölün: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Dilleri Değiştirme + +Belgeleriniz Fransızca veya İspanyolca içeriyorsa, toplu işlemden önce dili değiştirin: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Sonuçları Diske Kaydetme + +Yazdırmak yerine, her OCR sonucunu bir `.txt` dosyasına yazmak isteyebilirsiniz: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Sonuç + +Artık **how to batch OCR images** ve kompakt bir Python betiği kullanarak **extract text from JPEG files**'ı güvenilir bir şekilde yapabildiğinizi biliyorsunuz. Motoru bir kez başlatarak, tüm JPEG yollarını toplayarak, tek bir toplu işlemle işleyerek ve çıktıyı önizleyerek hem hız hem de basitlik elde edersiniz. Buradan iş akışını genişletebilir—çok dilli desteği ekleyebilir, sonuçları bir veritabanına kaydedebilir veya betiği daha büyük bir belge‑işleme hattına entegre edebilirsiniz. + +Bir sonraki adıma hazır mısınız? `ocr` kütüphanesini Tesseract ile değiştirmeyi deneyin, farklı görüntü ön‑işleme (eşikleme, yeniden boyutlandırma) yöntemleriyle deney yapın veya çıkarılan metni otomatik sınıflandırma için bir doğal‑dil‑işleme modeline besleyin. Gökyüzü sınırdır ve üzerine inşa edebileceğiniz sağlam bir temele sahipsiniz. + +Kodlamaktan keyif alın, ve OCR toplu işlemlerinizin her zaman hatasız olmasını dileriz! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/turkish/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..9308b112 --- /dev/null +++ b/ocr/turkish/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,145 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR kullanarak görüntülerde dili nasıl tespit edersiniz – görüntüden + metin çıkarmayı öğrenin, karışık dil OCR'ını yönetin ve Python’da OCR kullanın. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: tr +og_description: Aspose OCR kullanarak görüntülerde dili nasıl tespit edersiniz – görüntüden + metin çıkarmak ve karışık dil OCR'ını yönetmek için adım adım rehber. +og_title: Karışık Metin için OCR ile Dil Nasıl Tespit Edilir +tags: +- OCR +- Python +- Aspose +title: Karışık Metinlerde OCR ile Dil Nasıl Tespit Edilir +url: /tr/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Karışık Metinlerde OCR ile Dili Nasıl Algılayabilirsiniz + +Görsellerde Aspose OCR kullanarak dili algılamak, çok dilli belgelerle çalışırken yaygın bir zorluktur. Aynı sayfada hem İngilizce hem de Fransızca içeren bir **görüntüden metin nasıl çıkarılır** diye hiç merak ettiniz mi? Bu öğreticide, OCR'ı dili tanımlamak, metni çekmek ve karışık‑dil senaryolarını sorunsuz bir şekilde ele almak için nasıl kullanacağınızı tam olarak gösteren çalıştırılabilir bir örnek üzerinden adım adım ilerleyeceğiz. + +İhtiyacınız olan her şeyi kapsayacağız: Aspose OCR motorunu kurma, hangi dilleri dikkate alacağını belirtme, örnek bir fatura görüntüsü yükleme, OCR sürecini çalıştırma ve sonunda tespit edilen dili çıkarılan metinle birlikte yazdırma. Sonunda, “karışık dil OCR'ı nasıl kullanılır” sorusuna kendi projelerinizde yanıt verebileceksiniz; ister bir fatura iş akışı, bir fiş tarayıcısı ya da bir belge arşivleme aracı geliştirin. + +> **Önkoşullar** – Python 3.8+ yüklü olmalı, pip hakkında temel bilgiye sahip olmalı ve bir Aspose OCR lisansına (deneme sürümü bu demo için yeterli) sahip olmalısınız. Başka harici kütüphane gerekmez. + +--- + +## Aspose OCR ile Dili Nasıl Algılayabilirsiniz + +İlk adım, bir OCR motoru örneği oluşturmak ve hangi dilleri araması gerektiğini belirtmektir. Aspose OCR, dilleri birleştirmek için bir bit‑mask kullanır; bu sayede İngilizce, Fransızca, İspanyolca ya da ihtiyacınız olan herhangi bir kombinasyonu desteklemek kolaydır. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Neden önemli:** Motoru başlatmak temeldir. Bunu yapmadan hiçbir OCR metodunu çağıramazsınız ve motor, daha sonra **dili algılamak** için gerekli tüm yapılandırmayı tutar. + +--- + +## OCR Kullanarak Görüntüden Metin Çıkarma + +Şimdi motorun hangi dillerin mümkün olduğunu bilmesi gerekiyor. `ENGLISH | FRENCH` bit‑maskını ayarlayarak motorun görüntünün her bölgesi için en iyi eşleşmeyi otomatik olarak seçmesini sağlarız. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Neden önemli:** `auto_detect_language` özelliğini etkinleştirmek, karışık‑dil bir belgede **dili nasıl algılayacağınız** sorusunun özüdür. Motor metni tarar, her dili puanlar ve en yüksek güvene sahip olanı döndürür. Bu adımı atlayıp dili kendiniz tahmin etmeye çalışırsanız, karışık dil OCR'ının amacını boşa çıkarmış olursunuz. + +--- + +## Karışık Dil OCR Ayarlarını Yapılandırma + +Motoru bir görüntüye beslemeden önce, görüntüyü yüklememiz gerekir. Aspose OCR, temel dosya formatını soyutlayan kendi `Image` sınıfını kullanır. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **İpucu:** En iyi sonuçlar için görüntü çözünürlüğünü yaklaşık 300 dpi tutun. Daha düşük çözünürlükler, özellikle aksanlı Fransızca harflerde, dil algılamasının ince karakterleri kaçırmasına neden olabilir. + +--- + +## OCR Sürecini Çalıştırma ve Sonuçları Alma + +Motor yapılandırıldı ve görüntü yüklendi, artık OCR sürecini çalıştırabiliriz. `process` metodu, tespit edilen dil kodunu ve tam çıkarılan metni içeren bir `OcrResult` nesnesi döndürür. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Beklenen çıktı** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Görüntü Fransızca bölümler içeriyorsa, tespit edilen dil olarak `FRENCH` görür ve ilgili Fransızca metin ekrana yazdırılır. + +--- + +## Görsel Örneği (SEO için Alt Metin) + +![how to detect language in mixed language OCR image](mixed_lang_invoice.png) + +*Yukarıdaki ekran görüntüsü, hem İngilizce hem de Fransızca metin içeren örnek bir faturayı gösterir; OCR motorunun **dili algılayabildiğini** ve içeriği tek bir geçişte çıkarabildiğini ortaya koyar.* + +--- + +## Yaygın Tuzaklar ve Pro İpuçları + +| Sorun | Neden Oluşur | Nasıl Çözülür / Hafifletilir | +|-------|--------------|------------------------------| +| **Bulanık veya düşük‑çözünürlüklü taramalar** | Motor karakterleri ayırt edemez, bu da yanlış dil algılamasına yol açar. | ≥300 dpi tarayın, OCR'dan önce görüntü keskinleştirme uygulayın. | +| **Bit‑maskta eksik dil** | Bir dili eklemeyi unutursanız, motor ilk eşleşmeye döner ve genellikle hatalı sonuç verir. | Beklediğiniz her dili mutlaka listeleyin; `|` operatörüyle birden çok dili birleştirebilirsiniz. | +| **Karışık betikler (ör. Latin + Kiril)** | Aspose OCR ek dil paketlerine ihtiyaç duyabilir. | Ek dil paketlerini kurun ve maskeye ekleyin. | +| **Büyük dosyalar bellek dalgalanmalarına neden olur** | Devasa bir görüntüyü belleğe yüklemek script'in çökmesine yol açabilir. | DPI'yi koruyarak `Image.resize` ile ölçek küçültün veya görüntüyü parçalar halinde işleyin. | + +**Pro ipucu:** Ham metni aldıktan sonra, boşlukları ve satır sonlarını normalleştiren hızlı bir post‑işleme adımı çalıştırın. Bu, sonraki aşamalarda (ör. fatura numarası çıkarma) çok daha basit bir ayrıştırma sağlar. + +--- + +## Özet: Öğrendikleriniz + +Artık Aspose OCR kullanarak karışık‑dil bir görüntüde **dili nasıl algılayacağınızı** biliyorsunuz ve **görüntüden metin nasıl çıkarılır** sorusunun tam bir uçtan uca örneğini gördünüz. Dil bit‑maskını yapılandırarak, otomatik algılamayı etkinleştirerek ve sonuç nesnesini işleyerek, İngilizce ve Fransızca (veya diğer diller) karışımı içeren faturaları, fişleri veya herhangi bir belgeyi güvenilir bir şekilde işleyebilirsiniz. + +### Sonraki Adımlar + +- PDF'lerden **metin çıkarma** işlemini, her sayfayı önce bir görüntüye dönüştürerek deneyin. +- Diğer ikincil anahtar kelimeleri keşfedin: daha hızlı işleme için OCR bölgeleri ayarlama gibi tam **how to use OCR** API yüzeyini inceleyin. +- Üç veya daha fazla dil arasında geçiş yapan **karışık dil OCR** gibi daha karmaşık senaryolara dalın. + +Kodu istediğiniz gibi değiştirin, kendi görüntülerinizde test edin ve motorun ağır işi yapmasına izin verin. Herhangi bir sorunla karşılaşırsanız, aşağıya yorum bırakın—mutlu kodlamalar! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/turkish/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..217504e1 --- /dev/null +++ b/ocr/turkish/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,213 @@ +--- +category: general +date: 2026-01-12 +description: Python'da PDF'yi OCR'lamayı ve PDF'yi hızlıca aranabilir hâle getirmeyi + öğrenin. Tarama yapılan PDF'yi dönüştürün, metin PDF'sini çıkarın ve Aspose OCR + kullanarak Python'da taranmış PDF'yi OCR'layın. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: tr +og_description: Python'da PDF'yi OCR nasıl yapılır? Bu adım adım öğretici, taranmış + PDF dosyalarını aranabilir PDF'lere dönüştürmeyi ve Aspose OCR ile metin çıkarmayı + gösterir. +og_title: PDF'yi OCR'leyerek Aranabilir Hale Getirme – Python Rehberi +tags: +- OCR +- Python +- PDF processing +title: PDF'yi OCR'layarak Aranabilir Hale Getirme – Python Rehberi +url: /tr/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PDF'yi OCR'leyin ve Aranabilir Hale Getirin – Python Rehberi + +Ticari yazılımlara büyük bir bütçe harcamadan **PDF'yi OCR'leme** yollarını hiç merak ettiniz mi? Yalnız değilsiniz. Birçok geliştirici, taranmış bir sözleşme, fatura ya da herhangi bir görüntü‑tabanlı PDF'yi aranabilir bir belgeye dönüştürmek zorunda kaldığında bir duvara çarpar. İyi haber? Birkaç satır Python ve Aspose OCR ile taranmış PDF'yi dönüştürebilir, metin PDF'si çıkarabilir ve sonunda PDF'yi dakikalar içinde aranabilir hâle getirebilirsiniz. + +Bu öğreticide ihtiyacınız olan her şeyi adım adım göstereceğiz: kütüphaneyi kurmaktan, dili yapılandırmaya, taranmış bir PDF'yi işlemeye ve sonucun hem orijinal görüntüyü hem de gizli bir metin katmanını içeren aranabilir bir PDF olarak kaydedilmesine kadar. Sonunda, herhangi bir projeye ekleyebileceğiniz, manuel kopyala‑yapıştırma gerektirmeyen yeniden kullanılabilir bir betiğiniz olacak. + +--- + +## Gereksinimler + +- **Python 3.8+** (kod 3.9, 3.10 ve daha yeni sürümlerde çalışır) +- Aktif bir **Aspose OCR for Python** lisansı (deneme sürümü deneyler için yeterlidir) +- Aranabilir hâle getirmek istediğiniz taranmış bir PDF dosyası (ör. `scanned_contract.pdf`) +- Komut satırı ve sanal ortamlarla temel aşinalık (isteğe bağlı ancak önerilir) + +> **Pro ipucu:** Henüz bir lisansınız yoksa, Aspose web sitesinde 30‑günlük bir deneme kaydı oluşturun; deneme sürümü geliştirme amaçları için tam işlevseldir. + +## Aspose OCR ile PDF'yi OCR'leme (H2'de Birincil Anahtar Kelime) + +İlk adım doğru paketi edinmek. Aspose OCR, düşük seviyeli görüntü işleme detaylarını soyutlayan temiz, yüksek‑seviyeli bir API sunar. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +Paket kurulduktan sonra betiği yazmaya başlayabilirsiniz. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Dili neden ayarlamalısınız?** +> OCR doğruluğu büyük ölçüde dil modeline bağlıdır. Motoru açıkça İngilizce metin bekleyecek şekilde ayarlayarak yanlış pozitifleri azaltır ve işleme süresini hızlandırırsınız. + +## Adım 2: Taran PDF'yi Aranabilir PDF'ye Dönüştürme + +Motor hazır olduğuna göre, onu taranmış belgenize yönlendirin. `process_pdf` yöntemi, hem orijinal görüntü verisini hem de tanınan metni içeren bir `PdfResult` nesnesi döndürür. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Eğer **taran PDF** dosyalarını toplu olarak **dönüştürmeniz** gerekiyorsa, bir dizin üzerinde döngü kurup her dosya için `process_pdf` çağırmanız yeterlidir. Motor, çok sayfalı PDF'leri kutudan çıkar çıkmaz destekler. + +## Adım 3: Sonucu Aranabilir PDF Olarak Kaydetme (PDF'yi Aranabilir Hale Getirme) + +Bulmacanın son parçası, aranabilir sürümü kalıcı hâle getirmektir. Aspose OCR bunu tek satırda yapar: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +`contract_searchable.pdf` dosyasını herhangi bir PDF görüntüleyicide açtığınızda, orijinal taranmış görüntüyü göreceksiniz, ancak artık **OCR motorunun tanıdığı herhangi bir kelimeyi** arayabilirsiniz. Gizli metin katmanı göze görünmez ancak tamamen indekslenebilir. + +### Tam Script – Çalıştırmaya Hazır + +Aşağıda eksiksiz, çalıştırılabilir bir örnek bulacaksınız. `make_searchable.py` adlı bir dosyaya kopyalayıp yapıştırın ve ortamınıza uygun yolları ayarlayın. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Beklenen çıktı:** +Betik çalıştırıldığında bir onay satırı yazdırır ve `contract_searchable.pdf` oluşturur. Dosyayı açın, `Ctrl + F` tuşlarına basın ve orijinal taranmış görüntüde yer alan herhangi bir kelimeyi yazın—ankâra anında eşleşmeler görmelisiniz. + +## Yaygın Sorular ve Kenar Durumları + +### 1. PDF birden fazla dil içeriyorsa ne olur? + +Motora bir dil listesi geçirebilirsiniz: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR, aynı sayfadaki iki dili de tanımaya çalışacaktır. + +### 2. Düşük çözünürlüklü taramaları nasıl ele alırım? + +Kaynak görüntüler 150 dpi’nin altında ise OCR doğruluğu azalabilir. PDF'yi `pdfimages` gibi bir araçla sayfalara ayırın, Pillow ile ölçeklendirin ve daha yüksek çözünürlüklü görüntüleri `process_pdf`'a geri besleyin. + +### 3. Aranabilir PDF oluşturmadan düz metni çıkarabilir miyim? + +Kesinlikle. `PdfResult` nesnesi bir `text` özelliği sunar: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Bu, yalnızca ham karakterlere ihtiyacınız olduğunda **extract text pdf** kullanım senaryosunu karşılar. + +### 4. PDF klasörünü toplu işleme yapmanın bir yolu var mı? + +Evet—`ocr_to_searchable` fonksiyonunu basit bir döngü içinde sarın: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Artık tek bir komutla **taran pdf** dosyalarını toplu olarak **dönüştürebilirsiniz**. + +## Performans İpuçları + +- **Motoru yeniden kullanın**: Her dosya için yeni bir `OcrEngine` oluşturmak ek yük getirir. Bir kez örnekleyin ve birden çok çağrıda yeniden kullanın. +- **Paralel işleme**: Büyük toplular için Python’un `concurrent.futures.ThreadPoolExecutor`’ını düşünün—Aspose OCR, yalnızca okuma işlemleri için iş parçacığı‑güvenlidir. +- **Bellek yönetimi**: Çok sayfalı (yüzlerce sayfa) PDF'leri işliyorsanız, her dosyadan sonra `gc.collect()` çağırarak belleği boşaltın. + +## Sonuç + +Python’da **PDF'yi OCR'leme** yollarını ele aldık, bu taramaları **aranabilir PDF'lere** dönüştürdük ve hatta **extract text PDF**'yi doğrudan nasıl çıkaracağınızı gösterdik. Aspose OCR ile çok sayfalı belgeler, birden fazla dil ve yüksek doğruluklu tanıma gibi görevleri sadece birkaç satır kodla halledebileceğiniz güvenilir bir motor elde edersiniz. + +Kendi sözleşmeleriniz, faturalarınız veya arşivlenmiş araştırma makaleleriniz üzerinde deneyin. Temelleri kavradıktan sonra, özel sözlükler, görüntü ön işleme veya çıktıyı Elasticsearch gibi tam metin arama indeksine entegre etme gibi gelişmiş özelliklerle denemeler yapın. + +**ocr scanned pdf python** hakkında daha fazla sorunuz mu var ya da zor bir tarama için yardım mı gerekiyor? Aşağıya yorum bırakın, iyi kodlamalar! + +--- + +![ocr pdf örneği](image-placeholder.png){alt="ocr pdf örneği"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/turkish/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..50823aa4 --- /dev/null +++ b/ocr/turkish/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-12 +description: OCR'yi hızlı ve doğru bir şekilde nasıl gerçekleştireceğinizi öğrenin. + Belge üzerinde OCR çalıştırmayı, TIFF'ten metin çıkarmayı, OCR için görüntü yüklemeyi + ve Python'da OCR dilini ayarlamayı öğrenin. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: tr +og_description: Python'da OCR nasıl yapılır. Bu öğreticide belge üzerinde OCR çalıştırma, + tiff dosyasından metin çıkarma, OCR için görüntü yükleme ve OCR dilini ayarlama + yöntemlerini gösterir. +og_title: TIFF Belgesi Üzerinde OCR Nasıl Yapılır – Tam Rehber +tags: +- OCR +- Python +- Image Processing +title: TIFF Belgesinde OCR Nasıl Yapılır – Adım Adım Rehber +url: /tr/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# TIFF Belgesi Üzerinde OCR Nasıl Yapılır – Tam Kılavuz + +Doğru kütüphaneyi bulmak için saatler harcamadan taranmış bir TIFF dosyası üzerinde **OCR nasıl yapılır** diye hiç merak ettiniz mi? Yalnız değilsiniz. Birçok geliştirici, özellikle performans ve dil ayarları önemli olduğunda, tiff görüntülerinden metin çıkarmaya çalışırken bir duvara çarpar. + +Bu öğreticide, bilmeniz gereken her şeyi adım adım ele alacağız: OCR paketini kurmaktan, OCR için görüntüyü yüklemeye, OCR dilini ayarlamaya, son olarak **belge üzerinde OCR çalıştırmaya** ve temiz metin elde etmeye kadar. Sonunda, herhangi bir projeye ekleyebileceğiniz hazır‑çalıştır scriptine sahip olacaksınız. + +> **Pro ipucu:** Örnek, genel bir `ocr` modülü kullansa da, aynı kavramlar Tesseract, EasyOCR veya Python API'si sunan herhangi bir modern OCR motoru için geçerlidir. + +--- + +## Gereksinimler + +- Python 3.8+ (herhangi bir yeni sürüm çalışır) +- Bir `OcrEngine` sınıfı sağlayan OCR kütüphanesi (örnek, hayali bir `ocr` paketi kullanıyor; gerçek olanla değiştirin) +- İşlemek istediğiniz çok sayfalı bir TIFF dosyası (biz buna `big_document.tif` diyeceğiz) +- İş parçacığı sayısını ayarlamayı planlıyorsanız en az 4 CPU çekirdeğine sahip bir makine + +Harici hizmetler yok, bulut anahtarları yok—sadece saniyeler içinde çalışan yerel kod. + +![ocr örneği nasıl yapılır](/images/ocr-example.png "TIFF Belgesi Üzerinde OCR Nasıl Yapılır") + +*Görsel alt metni: TIFF belgesi üzerinde OCR nasıl yapılır – çıkarılan metnin önizlemesi.* + +--- + +## Adım 1: OCR Kütüphanesini Kurun ve İçe Aktarın + +İlk olarak: kütüphaneyi makinenize alın. Çoğu OCR paketi PyPI'de bulunur, bu yüzden basit bir `pip install` işinizi görür. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Şimdi ihtiyacınız olan sınıfları içe aktarın. Tesseract kullanıyorsanız, import satırı farklı görünebilir, ancak kodun geri kalanı aynı kalır. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Neden önemli:* Doğru sembolleri erken içe aktarmak, daha sonra isim alanı çakışmalarını önler ve scripti okumayı kolaylaştırır. + +--- + +## Adım 2: OCR Motorunu Oluşturun ve Yapılandırın (OCR Dilini Ayarlayın) + +Motoru yapılandırmak, doğru tanıma için **OCR dilini ayarladığınız** yerdir. İngilizce varsayılan dildir, ancak tek bir satırla Fransızca, Almanca veya çok dilli moda geçebilirsiniz. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Neden 4 iş parçacığı?** Çoğu modern dizüstü bilgisayar en az dört çekirdeğe sahiptir ve iş parçacığı sayısını sınırlamak, OCR sürecinin tüm makineyi tüketmesini önler—özellikle script paylaşılan bir sunucuda çalıştığında faydalıdır. + +Başka bir dile ihtiyacınız varsa, sadece `ocr.Language.ENGLISH` yerine `ocr.Language.FRENCH`, `ocr.Language.SPANISH` vb. kullanın. + +--- + +## Adım 3: OCR İçin Görüntüyü Yükleyin (OCR İçin Görüntüyü Yükleyin) + +Şimdi **OCR için görüntüyü yüklüyoruz**. `Image.load` yöntemi, TIFF dosyasını belleğe okur ve çok sayfalı belgeleri otomatik olarak işler. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Köşe durum:* Dosya çok büyükse, RAM tükenebilir. Bu durumda, `Image.load_page(page_number)` ile bir sayfayı bir seferde yüklemeyi düşünebilirsiniz (kütüphane destekliyorsa). + +--- + +## Adım 4: Belge Üzerinde OCR Çalıştırın + +Motor hazır ve görüntü yüklendiğine göre, **belge üzerinde OCR çalıştırma** zamanı geldi. `process` yöntemi ağır işi yapar ve bir sonuç nesnesi döndürür. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +Arka planda motor, görüntüyü metin bloklarına ayırır, tanıma modelini çalıştırır ve sonuçları birleştirir. Çağrı bloklayıcıdır, yani script tüm TIFF işlenene kadar bekler—toplu işler için mükemmeldir. + +--- + +## Adım 5: TIFF'ten Metni Çıkarın ve Çıktıyı Doğrulayın + +Son olarak, sonucu `text` özelliğine erişerek **tiff'ten metni çıkarıyoruz**. Hızlı bir doğrulama için ilk 200 karakteri yazdıralım. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Beklenen çıktı (örnek):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Tam metne ihtiyacınız varsa, sadece `ocr_result.text` kullanın. Sonraki işlemler için `.txt` dosyasına yazmak isteyebilirsiniz: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## Tam Çalışan Örnek + +Hepsini bir araya getirerek, işte hazır‑çalıştır scripti. Yer tutucu paket adını, aslında kurduğunuz paketle değiştirin. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Scripti şu şekilde çalıştırın: + +```bash +python ocr_tiff_example.py +``` + +Konsolda bir önizleme görmeli ve tam transkripsiyonu içeren `extracted_text.txt` adlı bir dosya oluşturulmuş olmalı. + +--- + +## Yaygın Sorular & Köşe Durumları + +- **TIFF birden fazla sayfa içeriyorsa ne olur?** + Çoğu OCR motoru, her sayfayı dahili olarak ayrı bir görüntü olarak işler. `ocr_result.text` sayfalar arasında bir yeni satır içerir. Sayfa bazlı işleme ihtiyacınız varsa, `Image.load_page(page_number)` ile yineleyin. + +- **TIFF yerine PNG veya JPEG işleyebilir miyim?** + Kesinlikle. `Image.load` yöntemi genellikle Pillow veya alt kütüphane tarafından desteklenen herhangi bir formatı kabul eder. Sadece dosya uzantısını değiştirin. + +- **Metnim bozuk çıktı—dili değiştirmeli miyim?** + Evet. **OCR dilini ayarlama** adımı, İngilizce dışındaki belgeler için kritiktir. Dil paketinin kurulu olduğundan emin olun (ör. Fransızca için `tesseract‑lang‑fra`). + +- **Bellek tükeniyor mu?** + `set_memory_limit` değerini düşürün veya sayfaları tek tek işleyin. Bazı motorlar, tanımadan önce görüntüyü küçültmenize de izin verir. + +--- + +## Sonuç + +İşte bu kadar—Python kullanarak bir TIFF dosyası üzerinde **OCR nasıl yapılır** konusundaki kısa ve tam işlevsel rehber. Kütüphaneyi kurmaktan, motoru yapılandırmaya (**OCR dilini ayarlama** dahil), **OCR için görüntüyü yükleme**, **belge üzerinde OCR çalıştırma** ve son olarak **tiff'ten metni çıkarma** konularını ele aldık. + +Denemekten çekinmeyin: iş parçacığı sayısını ayarlayın, dilleri değiştirin veya OCR çıktısını bir doğal dil işleme hattına besleyin. Temelleri kavradıktan sonra sınır yoktur. + +Daha fazla sorunuz mu var? Aşağıya yorum bırakın, iyi kodlamalar! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/turkish/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..bc03652d --- /dev/null +++ b/ocr/turkish/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,178 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR Python'da dili nasıl ayarlarsınız ve özel bir sözlük kullanarak + görüntüden metin çıkarırsınız. Geliştiriciler için adım adım öğretici. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: tr +og_description: Aspose OCR Python'da dili nasıl ayarlayacağınızı ve özel bir sözlükle + görüntüden metin nasıl çıkaracağınızı öğrenin. Tam iş akışını dakikalar içinde öğrenin. +og_title: Aspose OCR Python'da dili nasıl ayarlarsınız – Tam Kılavuz +tags: +- OCR +- Python +- Aspose +- Image Processing +title: Aspose OCR Python'da Dili Nasıl Ayarlarsınız – Tam Kılavuz +url: /tr/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Python’da dili nasıl ayarlarsınız – Tam Kılavuz + +Aspose OCR’u Python’da kullanırken **dili nasıl ayarlarsınız** merak ettiniz mi? Tek başınıza değilsiniz—birçok geliştirici, varsayılan İngilizce modelinin ürün kodlarını, seri numaralarını veya çok dilli metinleri tanımadığı durumlarla karşılaşıyor. İyi haber şu ki çözüm hem basit hem de güçlü. Bu öğreticide dili yapılandırmayı, özel bir sözlük eklemeyi, bir görüntüden metin çıkarmayı ve en iyi OCR sonuçları için görüntüyü işlemeyi adım adım göstereceğiz. + +Kütüphaneyi kurmaktan, çıkarılan metni ekrana yazdıran tam bir örnek çalıştırmaya kadar bilmeniz gereken her şeyi ele alacağız. Sonunda, içerik alışılmadık kodlar ya da karışık diller içerdiğinde bile **görüntüden metin çıkar** dosyalarından güvenle metin alabileceksiniz. + +## Önkoşullar + +* Python 3.8+ yüklü (kod f‑string kullanıyor, bu yüzden daha eski sürümler çalışmaz). +* Aktif bir Aspose OCR for Python lisansı veya ücretsiz deneme anahtarı. +* `asposeocr` paketini `pip install asposeocr` komutuyla kurun. +* Okumak istediğiniz metni içeren bir örnek görüntü (`product_label.png`). + +Bu öğelere zaten sahipseniz harika—devam edelim. Yoksa Aspose’un web sitesinden ücretsiz deneme sürümünü alın ve kurulum komutunu çalıştırın; sadece bir dakikanızı alır. + +## Adım 1: Aspose OCR modülünü içe aktarın + +Kodunuzda OCR sınıflarını kullanmak için ilk yapmanız gereken bunları içe aktarmaktır. Bu, **dili nasıl ayarlarsınız** için temel oluşturur. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Pro ipucu:** İçe aktarmaları dosyanın en üstünde tutun. Böylece scripti daha kolay tarayabilirsiniz, özellikle daha sonra geri döndüğünüzde. + +## Adım 2: Dili nasıl ayarlarsınız + +Varsayılan olarak Aspose OCR İngilizceyi varsayar. Görüntünüzde Fransızca, Almanca veya başka bir dil varsa, motorun hangi dili kullanacağını belirtmeniz gerekir. İşte bu noktada anahtar kelime devreye girer. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Bu neden önemli? OCR motorları dil‑özel karakter modellerine dayanır. Doğru dili sağlamak, doğruluğu büyük ölçüde artırır—özellikle aksanlı karakterler veya dile özgü ligatürler için. + +> **Not:** Aynı anda birden fazla dili desteklemeniz gerekiyorsa, `ocr.Language.ENGLISH | ocr.Language.SPANISH` gibi bir liste geçirebilirsiniz. + +## Adım 3: Sözlük nasıl eklenir (kullanıcı tanımlı kelimeler) + +Bazen OCR motoru “AB‑1234” gibi ürün kodlarını yanlış okur. Özel bir sözlük ekleyerek güveni artırabilirsiniz. Bu, Aspose OCR’da **sözlük nasıl eklenir** sorusuna doğrudan yanıt verir. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +Motor bu kelimeleri “bilinen” olarak kabul eder ve benzer görünümlü karakterlerden daha çok tercih eder. SKU numaraları, seri kodları veya doğal bir dilin parçası olmayan marka adları için özellikle kullanışlıdır. + +## Adım 4: Görüntüyü nasıl işlersiniz + +Motor yapılandırıldıktan sonra analiz etmek istediğiniz görüntüyü yüklemeniz gerekir. Bu, **görüntüyü nasıl işlersiniz** sorusuna temiz ve tekrarlanabilir bir yanıt sunar. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +PDF’lerle çalışıyorsanız, önce her sayfayı bir görüntüye dönüştürebilirsiniz—Aspose OCR bunu kutudan çıkar çıkmaz destekler. + +## Adım 5: Görüntüden metin nasıl çıkarılır + +Her şey ayarlandığında, son adım OCR’u çalıştırıp metni almaktır. Bu, bir görüntüden **metin nasıl çıkarılır** sorusunun özüdür. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +Scripti çalıştırdığınızda aşağıdakine benzer bir çıktı görmelisiniz: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Çıktı bozuk görünüyorsa, doğru dili ayarladığınızdan ve özel sözlüğünüzün beklediğiniz tam dizeleri içerdiğinden emin olun. + +## Tam Çalışan Örnek + +Hepsini bir araya getirdiğimizde, `extract_label.py` adlı bir dosyaya kopyalayıp yapıştırabileceğiniz tam script aşağıdadır. `YOUR_DIRECTORY` kısmını görüntünüzün gerçek yolu ile değiştirin. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Beklenen Çıktı + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Sözlüğe eklediğiniz tam kodları görüyorsanız, Aspose OCR kullanarak **dili nasıl ayarlarsınız**, **sözlük nasıl eklenir** ve **görüntüden metin nasıl çıkarılır** konularında başarıyla uzmanlaştınız demektir. + +## Yaygın Kenar Durumlarını Ele Alma + +| Durum | Ne Yapmalı | +|-----------|------------| +| **Image is blurry** | `ocr.Image.apply_filter()` ile ön‑işlem yaparak `process()` çağırmadan önce netleştirin. | +| **Multiple languages in one image** | `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH` ayarlayın. | +| **Large PDFs** | Her sayfayı döngü içinde `ocr.Image`‑a dönüştürün ve sayfa başına `process()` çağırın. | +| **Unexpected characters** | Bunları kullanıcı tanımlı kelimeler listesine ekleyin; Aspose OCR bunları yüksek güvenilirlikli token olarak değerlendirir. | + +Bu ipuçları, giriş verileri mükemmel olmasa bile OCR hattınızı sağlam tutar. + +## Görsel Referans + +![how to set language in Aspose OCR example](image.png "Screenshot showing how to set language in Aspose OCR Python example") + +*Alt metin:* **dili nasıl ayarlarsınız** ekran görüntüsü, Python IDE'sinde dil özelliği atamasını gösterir. + +## Sonuç + +Artık Aspose OCR Python’da **dili nasıl ayarlarsınız**, **sözlük nasıl eklenir** ve **görüntüden metin nasıl çıkarılır** ile **görüntüyü nasıl işlersiniz** konularını biliyorsunuz. Yukarıdaki tam örnek, herhangi bir projeye eklenebilir, farklı diller için uyarlanabilir ve toplu işleme ya da PDF girişleriyle genişletilebilir. + +Bir sonraki meydan okumaya hazır mısınız? `ocr.Language.ENGLISH` yerine `ocr.Language.FRENCH` kullanarak Fransızca etiketlerde doğruluk artışını gözlemleyin. Ya da `set_user_defined_words` metodunu deneyerek bütün bir ürün kataloğunu ekleyin—OCR motorunuz her girişi yüksek güvenilirlikli bir eşleşme olarak ele alacaktır. + +İyi kodlamalar, ve OCR sonuçlarınız her zaman kristal gibi net olsun! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/turkish/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..a8904c5b --- /dev/null +++ b/ocr/turkish/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,209 @@ +--- +category: general +date: 2026-01-12 +description: Aspose OCR kullanarak Python'da el yazısı notları işleyin – jpg görüntülerinden + metni hızlıca nasıl çıkaracağınızı öğrenin. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: tr +og_description: Aspose OCR ile Python’da el yazısı notları işleyin. JPG görüntülerinden + metin çıkarmayı, el yazısı OCR’yi tanımayı ve OCR için görüntüleri yüklemeyi öğrenin. +og_title: El Yazısı Notları Python ile İşleyin – Tam OCR Öğreticisi +tags: +- OCR +- Python +- Aspose +title: Python ile El Yazısı Notları İşleyin – El Yazısı OCR Rehberi +url: /tr/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python ile El Yazısı Notları İşleme – El Yazısı OCR Rehberi + +Python’da **el yazısı notları işlemek** istiyorsanız, bu rehber tam olarak nasıl yapılacağını gösteriyor. Notlar taranmış bir fişte, sınıf tahtası fotoğrafında ya da bir yapılacaklar listesinin hızlı selfie’sinde olsun, **görüntülerden metin çıkarma** işlemini zahmetsizce öğrenebileceksiniz. + +Aspose OCR kütüphanesini içe aktarmaktan JPG dosyasını yüklemeye, motoru çalıştırmaya ve düşük güvenilirlikli satırlarla başa çıkmaya kadar her adımı adım adım inceleyeceğiz. Sonunda **jpg dosyalarından metin tanıyan** ve temiz, kullanılabilir stringler veren hazır bir betiğe sahip olacaksınız. + +## Kazanacaklarınız + +- Kutudan çıktığı gibi çalışan tam bir kod örneği. +- Her satırın neden önemli olduğunu, sadece ne yaptığını değil, aynı zamanda nasıl çalıştığını anlayacaksınız. +- Titrek el yazısı ve düşük güvenilirlik sonuçlarıyla başa çıkma ipuçları. +- Betiği PDF’ler, birden fazla görüntü ya da özel dil paketleri için genişletme rehberi. + +*Önkoşullar*: Python 3.8+ yüklü, geçerli bir Aspose OCR lisansı (veya ücretsiz deneme), ve proje klasörünüzde `handwritten_notes.jpg` adlı bir görüntü dosyası. + +--- + +![Process handwritten notes example](https://example.com/handwritten-notes.png "process handwritten notes") + +*Alt metin: el yazısı notları işleme – OCR için hazır el yazısı metni gösteren örnek görüntü.* + +## El Yazısı Notları İşleme: OCR Motorunu Kurma + +### Bu adım neden önemli +OCR motoru, tanıma sürecinin beynidir. Doğru dili seçmek ve nesneyi doğru şekilde başlatmak, motorun İngilizce karakterleri araması gerektiğini ve el yazısının inceliklerini ele alabileceğini garantiler. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**İpucu:** Başka bir dilde notlar bekliyorsanız, `ocr.Language.ENGLISH` ifadesini uygun enum ile değiştirin (ör. `ocr.Language.FRENCH`). Motor otomatik olarak gerekli karakter setini yükleyecektir. + +--- + +## JPG Görüntülerden Metin Nasıl Çıkarılır + +### Görüntüyü yükleme – ilk engel +Motorun çalışabilmesi için JPG’nizin bir bitmap temsiline ihtiyacı vardır. Aspose, dosyayı bir `Image` nesnesine okuyan kullanışlı bir statik `load` metodu sunar. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*OpenCV ya da Pillow neden kullanılmaz?* +Bu kütüphaneler ön işleme için harikadır, ancak Aspose’un `Image.load` metodu OCR motorunun beklediği tam piksel formatını garanti eder ve renk derinliği uyuşmazlığı gibi yaygın sorunları ortadan kaldırır. + +--- + +## El Yazısı OCR Python ile JPG’den Metin Tanıma + +### OCR motorunu çalıştırma +Motor ve görüntü hazır olduğunda tanıma işlemini başlatırız. `process` metodu, her biri kendi güven puanına sahip `Line` nesnelerinin bir listesini içeren bir `OcrResult` nesnesi döndürür. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**Arka planda ne oluyor?** +Aspose OCR, milyonlarca el yazısı örneği üzerinde eğitilmiş bir derin öğrenme modeli çalıştırır. Görüntüyü satırlara, ardından karakterlere ayırır ve her satır için en olası metin dizesini birleştirir. + +--- + +## OCR İçin Görüntü Yükleme – Düşük Güvenilirlik Sonuçlarıyla Baş Etme + +### Güven puanına neden önem vermelisiniz +El yazısı OCR hiçbir zaman %100 mükemmel değildir. %75’in altındaki bir güven puanı, motorun çizgi sırasıyla ya da arka plan gürültüsüyle zorlandığını gösterir. Bu satırları filtreleyerek, bir kullanıcıdan doğrulama isteyip istemeyeceğinize ya da ek görüntü ön işleme uygulayıp uygulamayacağınıza karar verebilirsiniz. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Tipik çıktı** (sonuçlarınız farklı olabilir): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Görünüşe göre betik, güvenilir metni titrek parçalardan temiz bir şekilde ayırıyor. Daha sonra düşük güvenilirlikli satırları ikinci bir geçişte görüntü iyileştirme filtreleri (ör. kontrast artırma) ile işleyebilir ya da bir insan denetçiye sunabilirsiniz. + +--- + +## Tam Betik – Çalıştırmaya Hazır + +Aşağıda, kopyala‑yapıştır yapabileceğiniz tam program yer alıyor. `handwritten_ocr.py` olarak kaydedin ve `python handwritten_ocr.py` komutunu çalıştırın. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Beklenen davranış:** +- Betik, her satırı güven yüzdesiyle birlikte yazdırır. +- %75’in üzerindeki satırlar “Kabul Edildi” olarak gösterilir, geri kalanlar inceleme için işaretlenir. +- `asposeocr` dışındaki ek bağımlılık gerektirmez. + +--- + +## Yaygın Sorular & Kenar Durumları + +### Görüntüm PNG ya da BMP ise ne olur? +Aspose OCR formatı otomatik algılar, bu yüzden sadece `image_path` içindeki dosya uzantısını değiştirmeniz yeterlidir. Kodda başka bir değişiklik yapmanıza gerek yoktur. + +### El yazım çok dağınık – doğruluğu nasıl artırabilirim? +1. **Görüntüyü ön işleyin** – kontrastı artırın, arka plan gölgelerini kaldırın (OpenCV yardımcı olabilir). +2. **Güven eşiğini yükseltin** – sadece %80 ve üzeri satırları kabul etmek için eşiği artırın. +3. **Özel bir model eğitin** – Aspose, özel el yazısı stilleri için “custom language pack” özelliği sunar. + +### Tek bir çalıştırmada birden fazla görüntüyü işleyebilir miyim? +Kesinlikle. Dosya yolu listesi üzerinde bir `for` döngüsü ile yükleme ve işleme adımlarını tekrarlayın. Hız için aynı `ocr_engine` örneğini yeniden kullanın. + +### macOS/Linux’da çalışır mı? +Evet. Aspose OCR, tüm büyük platformlar için wheel paketleri sağlar. Tek yapmanız gereken `pip install asposeocr` ve hazırsınız. + +--- + +## Sonraki Adımlar & İlgili Konular + +- **PDF’lerden metin çıkarma** – OCR hattını kurduktan sonra PDF sayfalarını `ocr.Image.load` ile tek satırda işleyebilirsiniz. +- **Veritabanı entegrasyonu** – Kabul edilen her satırı SQLite ya da PostgreSQL’e kaydederek aranabilir notlar oluşturun. +- **Mobilde gerçek‑zaman OCR** – Bu betiği Flask ya da FastAPI ile bir REST uç noktasına bağlayarak mobil uygulamaların çağırmasını sağlayın. + +Bu uzantıların her biri, temel kavramlarımız üzerine inşa edilir: **el yazısı notları işleme**, **metin çıkarma**, **jpg’den metin tanıma** ve **OCR için görüntü yükleme**. + +--- + +## Sonuç + +Python ve Aspose OCR kullanarak **el yazısı notları işleme** için sağlam, uçtan uca bir çözümünüz artık elinizde. Rehber, motoru kurma, JPG yükleme, tanıma çalıştırma ve düşük güvenilirlikli sonuçları ele alma adımlarını tek bir kopyala‑yapıştır betiğinde gösterdi. + +Şimdi farklı görüntü ön işleme teknikleri deneyin, güven eşiğini yükseltin ya da çözümü yüzlerce notu toplu işlemek için ölçeklendirin. Gökyüzü sınırınız ve yeni öğrendiğiniz kod ise fırlatma platformunuz. + +*Kodlamaktan keyif alın, ve el yazısı notlarınız sonunda aranabilir metne dönüşsün!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/turkish/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..69310f77 --- /dev/null +++ b/ocr/turkish/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,238 @@ +--- +category: general +date: 2026-01-12 +description: Python OCR öğreticisi, bir görüntüden tablo metnini nasıl çıkaracağınızı + gösterir. Görüntüden tablo okumayı öğrenin ve Aspose OCR ile seçilen metni çıkarın. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: tr +og_description: Python OCR öğreticisi, bir görüntüden tablo metnini nasıl çıkaracağınızı, + görüntüden tablo okuyacağınızı ve Aspose OCR kullanarak seçili metni nasıl çıkaracağınızı + öğretir. +og_title: 'Python OCR Eğitimi: Görüntülerden Tablo Metnini Çıkar' +tags: +- OCR +- Python +- AsposeOCR +title: 'Python OCR Öğreticisi: Görsellerden Tablo Metnini Çıkarma' +url: /tr/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Python OCR Öğreticisi: Görüntülerden Tablo Metnini Çıkarma + +Hiç bir **python ocr tutorial**'a ihtiyacınız oldu mu ki taranmış bir formdan tablo çıkarmayı gerçekten gösteriyor? Tek başınıza değilsiniz. Çoğu öğretici genel metin çıkarımıyla durur, size ihtiyacınız olan düzenli veri ızgarasını nasıl izole edeceğinizi tahmin ettirir. + +Bu rehberde gerçek bir senaryoyu adım adım inceleyeceğiz: bir görüntüden tablo okuma, yalnızca ihtiyacınız olan seçili metni çıkarma ve sonunda sonuçları yazdırma. Yol boyunca **how to extract table** verisini güvenilir bir şekilde nasıl çıkaracağınıza dair ipuçları da ekleyeceğiz, böylece her seferinde tekerleği yeniden icat etmek zorunda kalmayacaksınız. + +## Öğrenecekleriniz + +- Aspose OCR'yi Python için nasıl kuracağınız. +- Tabloyu içeren dikdörtgen bir bölgeyi nasıl tanımlayacağınız. +- **extract table text** ve **read table from image** için tam adımlar. +- Çoklu dil veya düzensiz tablo düzenleriyle başa çıkma ipuçları. +- Bugün projenize ekleyebileceğiniz tam, çalıştırılabilir bir betik. + +**Önkoşullar** +- Python 3.8 ve üzeri. +- OCR kavramlarına temel aşinalık (derin uzmanlık gerekmez). +- Açık bir tablo içeren bir PNG veya JPEG görüntüsü (biz buna `form_with_table.png` diyeceğiz). + +Eğer bunlara sahipseniz, hadi başlayalım—gereksiz ayrıntı yok, sadece uygulanabilir kod. + +![python ocr tutorial example of table region](table_region_example.png){alt="python ocr öğreticisi örneği tablo bölgesini gösteriyor"} + +## Adım 1: Aspose OCR'yi Yükleyin ve İçe Aktarın + +İlk olarak: Aspose OCR kütüphanesine ihtiyacınız var. Paket PyPI'da, tek bir `pip` komutu işi halleder. + +```bash +pip install aspose-ocr +``` + +Şimdi modülü ve ihtiyacınız olacak yardımcıları içe aktarın. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Pro tip:* Bağımlılıkları bir `requirements.txt` dosyasında tutun. Ortamı yeniden oluşturmayı çok kolaylaştırır. + +## Adım 2: OCR Motorunu Başlatın (Python OCR Öğreticisi Çekirdeği) + +Motoru oluşturmak, herhangi bir **python ocr tutorial**'nin kalbidir. Burada ayrıca varsayılan dili İngilizce olarak ayarlıyoruz—daha sonra istediğiniz gibi değiştirebilirsiniz. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Neden dili ayarlıyoruz? Motor, hangi karakterleri bekleyeceğini bildiğinde OCR doğruluğu büyük ölçüde artar. Çok dilli formlarla çalışıyorsanız, bir dil listesi belirleyebilir veya bölge bazında geçersiz kılabilirsiniz (aşağıya bakın). + +## Adım 3: Görüntünüzü Yükleyin + +Aspose OCR, en yaygın görüntü formatlarıyla çalışır. Dosya yolunu gösterin, ardından işleme hazır bir `Image` nesnesine sahip olacaksınız. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Kenar durumu:* 5 MB üzerindeki büyük görüntüler işlem süresini yavaşlatabilir. Performans sorunları ortaya çıkarsa yeniden boyutlandırmayı veya sıkıştırmayı düşünün. + +## Adım 4: Tablo Bölgesini Tanımlayın (Görüntüden Tablo Okuma) + +Şimdi eğlenceli kısım: motoru tablonun *nerede* olduğunu söylemek. Bir `OcrRegion` ve içinde bir `Rectangle` (x, y, genişlik, yükseklik) sağlarsınız. Koordinatlar piksel tabanlıdır, bu yüzden biraz deneme yapmanız gerekebilir. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Neden bölge kullanıyoruz? OCR'yi sadece tablo alanıyla sınırlayarak **extract selected text** daha hızlı elde eder ve çevredeki etiket ya da grafik gürültüsünden kaçınırız. Ayrıca motor, tek tip bir düzen üzerine odaklanabildiği için doğruluk da artar. + +## Adım 5: Tanımlı Bölge Üzerinde OCR Çalıştırın + +Bölge ayarlandıktan sonra `process_region` metodunu çağırıyoruz. Metod, ham metin, güven puanları ve gerekirse daha sonra kullanabileceğiniz sınırlayıcı kutular içeren bir `OcrResult` nesnesi döndürür. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +Birden fazla tablo çıkarmanız gerekiyorsa, farklı dikdörtgenlerle Adım 4‑5'i tekrarlamanız yeterlidir. + +## Adım 6: Çıkarılan Tablo Metnini Çıktılayın + +Son olarak, tablonun metinsel temsilini yazdırın—ya da saklayın. Aspose OCR, genellikle satırlarla hizalanan satır sonlarıyla düz metin döndürür, bu da son‑işlemeyi oldukça basit hâle getirir. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Beklenen çıktı** (örnek): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +Bu dizeyi artık `csv` ayrıştırıcılarına, pandas DataFrame'lerine ya da herhangi bir sonraki analiz hattına besleyebilirsiniz. + +## Tam Çalışan Örnek + +Hepsini bir araya getirdiğimizde, hemen çalıştırabileceğiniz tam betik burada. `YOUR_DIRECTORY/form_with_table.png` ifadesini görüntünüzün gerçek yolu ile değiştirin. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Betik `python extract_table.py` komutuyla çalıştırın. Her şey uyumluysa, tablo konsola yazdırılacaktır. + +## Yaygın Sorular ve Kenar‑Durum İşleme + +**Tablo tam olarak dikdörtgen değilse ne olur?** +Tabloyu birden fazla üst üste binen bölgeye ayırabilir ya da tüm alanı kapsayan daha büyük bir dikdörtgen kullanıp ardından metni (ör. satır sonlarına göre bölerek) işleyebilirsiniz. + +**Sadece belirli sütunları çıkarabilir miyim?** +Tam tablo metnini elde ettikten sonra Python'un `csv` ya da `pandas` kütüphanelerini kullanarak ihtiyacınız olan sütunları dilimleyebilirsiniz. OCR adımı, dikdörtgen içindeki her şeyi döndürür. + +**İngilizce dışındaki tablolarla nasıl çalışırım?** +`ocr_engine.language` (veya `region.language`) değerini uygun enum ile ayarlayın; örneğin `ocr.Language.FRENCH` ya da `ocr.Language.ENGLISH | ocr.Language.SPANISH` gibi birden fazla dili birleştirebilirsiniz. + +**Her hücre için sınırlayıcı kutular alınabilir mi?** +Aspose OCR, `region_result.words` içinde her kelimenin sınırlayıcı kutusunu döndürebilir. Bu kutuları bir ızgaraya eşleştirmeniz gerekir—gelişmiş düzen analizi için faydalıdır. + +## Daha İyi Doğruluk İçin İpuçları + +- **Clean the image**: OCR'ye vermeden önce görüntüyü ikiliye çevirin ya da kontrastı artırın. Pillow gibi kütüphaneler yardımcı olur. +- **Avoid compression artifacts**: Mümkün olduğunca taramaları PNG olarak kaydedin. +- **Mind DPI**: 300 dpi ideal bir değerdir; daha düşük değerler karakter kaçırmaya yol açabilir. +- **Test different rectangle sizes**: Biraz daha büyük dikdörtgenler, tabloya ait kaçak karakterleri yakalama eğilimindedir. + +## Sonraki Adımlar + +Artık Aspose OCR ile **how to extract table** verisini ustaca kullandığınıza göre şunları keşfedebilirsiniz: + +- Çıkarılan metni Python'un `csv` modülüyle bir CSV dosyasına dönüştürmek. +- Veriyi analiz için bir **pandas** DataFrame'ine beslemek. +- El yazısı formları okumak için OCR kullanmak (farklı bir motor ya da ek eğitim gerektirir). +- Basit bir `for` döngüsüyle onlarca taranmış formun toplu işlenmesini otomatikleştirmek. + +Bu uzantıların her biri, bu **python ocr tutorial**'de ele alınan temel kavramlar üzerine inşa edildiği için ölçeklendirme konusunda sizi iyi bir konuma getirir. + +--- + +*Keyifli kodlamalar! Herhangi bir sorunla karşılaşırsanız, aşağıya yorum bırakın—çıkarma işlemini ince ayarlamanıza yardımcı olmaktan memnuniyet duyarım.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/turkish/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..c26e973a --- /dev/null +++ b/ocr/turkish/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,283 @@ +--- +category: general +date: 2026-01-12 +description: Python ile PNG dosyalarında OCR'ı hızlıca çalıştırın. Görüntü ve faturadan + metin nasıl çıkarılır öğrenin ve Aspose.OCR kullanarak OCR için görüntüyü yükleyin. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: tr +og_description: PNG üzerinde OCR'ı anında çalıştırın. Bu kılavuz, görüntü ve faturadan + metin nasıl çıkarılır, OCR için görüntü nasıl yüklenir ve sonuçların JSON ve CSV + olarak nasıl kaydedileceğini gösterir. +og_title: PNG Üzerinde OCR Çalıştırma – Tam Python Öğreticisi +tags: +- OCR +- Python +- Image Processing +title: PNG'de OCR Çalıştır – Görsellerden Metin Çıkarma İçin Tam Python Rehberi +url: /tr/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNG Üzerinde OCR Çalıştırma – Görüntülerden Metin Çıkarma İçin Tam Python Rehberi + +Hiç **PNG üzerinde OCR çalıştırma** ihtiyacı duydunuz ama hangi kütüphanenin temiz, yapılandırılmış sonuçlar vereceğinden emin değildiniz mi? Yalnız değilsiniz. Gerçek dünyadaki birçok projede—fatura otomasyonu veya makbuz tarama gibi—ilk adım **görüntüden metin çıkarma**dır ve PNG, kayıpsız kalitesini koruduğu için yaygın bir formattır. + +Bu öğreticide Aspose.OCR Python paketini kullanarak uygulamalı bir örnek üzerinden ilerleyeceğiz. Rehberin sonunda **OCR için görüntü yükleme**, her satırdaki metni çıkarma, bu veriyi düzenli bir JSON nesnesine dönüştürme ve hatta CSV’ye dökme konularını öğreneceksiniz. Gereksiz ayrıntı yok, sadece pratik ve hemen çalıştırılabilir bir çözüm. + +## Öğrenecekleriniz + +- Aspose.OCR kütüphanesini nasıl kurup içe aktaracağınızı. +- **PNG üzerinde OCR çalıştırma** ve sonuç nesnesini nasıl yöneteceğinizi. +- **Faturalardan metin çıkarma** ve çıktıyı JSON veya CSV olarak biçimlendirme yolları. +- Düşük kontrastlı görüntüler, çok dilli belgeler ve güven skorlarıyla başa çıkma ipuçları. +- Bugün çalıştırabileceğiniz tam bir kopyala‑yapıştır kod örneği. + +> **Önkoşul:** Python 3.8+ ve pip hakkında temel bir bilgi. Aspose ile hiç çalışmadıysanız endişelenmeyin—bu rehber başlamanız için ihtiyacınız olan her şeyi kapsıyor. + +--- + +## Adım 1 – Aspose.OCR’ı Kurun ve Ortamınızı Hazırlayın + +**PNG üzerinde OCR çalıştırma** öncesinde kütüphanenin sisteminizde bulunması gerekir. + +```bash +pip install aspose-ocr +``` + +> **Pro ipucu:** Bağımlılıkları izole tutmak için bir sanal ortam (`python -m venv venv`) kullanın. Bu, birden fazla projeyle uğraşırken sürüm çakışmalarını önler. + +Kurulum tamamlandıktan sonra ihtiyacımız olan modülleri içe aktarın: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +Burada ağır işi yapan `asposeocr` ve daha sonra serileştirme için yerleşik `json` kütüphanesini getiriyoruz. + +--- + +## Adım 2 – OCR Motorunu Oluşturun ve Dili Ayarlayın + +OCR motoru, pikselleri gerçekten okuyan çekirdek bileşendir. Çoğu İngilizce fatura için İngilizce dil paketini kullanmak isteyeceksiniz: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Neden önemli:** Dili belirtmek karakter kümesini daraltır, bu da doğruluğu artırır ve işleme süresini kısaltır. Çok dilli faturalarla çalışmanız gerektiğinde sadece `ocr.Language.ENGLISH` yerine uygun enum değerini kullanın. + +--- + +## Adım 3 – OCR İçin Görüntüyü Yükleyin + +Şimdi **OCR için görüntü yükleme** işlemini yapacağız. `Image.load` yöntemi bir dosya yolu alır ve PNG, JPEG, BMP ve daha fazlasını destekler. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Köşe durumu:** PNG dosyanız olağanüstü büyükse (5 MB’ın üzerindeyse), bellek kullanımını makul tutmak için önce yeniden boyutlandırmayı düşünün. Pillow bunu tek bir satırda yapabilir: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +--- + +## Adım 4 – PNG Üzerinde OCR Çalıştırın ve Sonucu Yakalayın + +Motor hazır ve görüntü yüklendi, şimdi **PNG üzerinde OCR çalıştırma** ve yapılandırılmış sonucu alma zamanı. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +`ocr_result` nesnesi, tanınan metin ve güven skoru (0‑100) içeren bir `OcrRegion` koleksiyonu barındırır. Bu, **faturalardan metin çıkarma** satırları için gereken ayrıntılı veriyi elde ettiğiniz yerdir. + +--- + +## Adım 5 – Sonucu JSON’a Dönüştürün ve Güzel Bir Şekilde Yazdırın + +Çoğu downstream sistem JSON’u sever, bu yüzden OCR çıktısını güzel biçimlendirilmiş bir dizeye dönüştüreceğiz. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Örnek Çıktı + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Her satırın bir güven metriği içerdiğine dikkat edin—bu, **faturalardan metin çıkarma** işlemini otomatikleştirirken düşük güvenli girdileri filtrelemek için mükemmeldir. + +--- + +## Adım 6 – OCR Verisini CSV Olarak Kaydedin (Metin + Güven İçin Bir Satır) + +CSV, elektronik tablolar veya hızlı veri içe aktarmaları için idealdir. Aspose, her şeyi bir CSV dosyasına dökmek için tek satırlık bir yöntem sunar. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +Oluşturulan CSV şu şekilde görünecek: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Artık Excel, Google Sheets’te açabilir ya da bir veritabanına besleyebilirsiniz. + +--- + +## Bonus – Düşük‑Güven Metin ve Çok‑Sayfalı PDF’lerle Baş Etme + +### Güven’e Göre Filtreleme + +Yalnızca yüksek güvenli satırları istiyorsanız, JSON’u dosyaya yazmadan önce filtreleyin: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Çok‑Sayfalı Belgeler + +Aspose.OCR, çok‑sayfalı PNG veya PDF’de her sayfa için otomatik olarak yeni bir `page` girdisi oluşturur. Tüm sayfaları işlemek için `ocr_data["pages"]` üzerinden döngü kurmanız yeterlidir—ekstra kod gerekmez. + +--- + +## Tam Çalışan Örnek + +Aşağıda **tam script** yer alıyor; kopyalayıp yapıştırarak hemen çalıştırabilirsiniz. `YOUR_DIRECTORY` kısmını PNG dosyanızın bulunduğu klasörle değiştirin. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Script’i `python run_ocr.py` ile çalıştırın; konsolda JSON dökümünü, diskte bir CSV dosyasını ve yüksek güvenli girdilerin filtrelenmiş listesini göreceksiniz. + +--- + +## Sıkça Sorulan Sorular + +**S: Bu yöntemi bir fatura yerine taranmış bir makbuzdan metin çıkarmak için kullanabilir miyim?** +C: Kesinlikle. Aynı iş akışı geçerli—tek yapmanız gereken `image_path`i makbuz PNG’nize yönlendirmek. Makbuz farklı bir dildeyse, `engine.language`ı ona göre değiştirin. + +**S: PNG’mde döndürülmüş (rotated) metin varsa ne olur?** +C: Aspose.OCR otomatik olarak yönü algılar, ancak inatçı durumlarda Pillow ile görüntüyü manuel olarak döndürüp motorun önüne verebilirsiniz. + +**S: Aspose.OCR için ücretli bir lisansa ihtiyacım var mı?** +C: Kütüphane, çıktıya bir filigran ekleyen ücretsiz bir değerlendirme moduna sahiptir. Üretim ortamında kullanmak için Aspose web sitesinden bir lisans almanız gerekir. + +--- + +## Sonuç + +Python kullanarak **PNG üzerinde OCR çalıştırma** için ihtiyacınız olan her şeyi ele aldık: SDK’yı kurma, görüntüyü yükleme, yapılandırılmış metin çıkarma ve sonucu JSON ya da CSV olarak kaydetme. İster basit bir script için **görüntüden metin çıkarma**, ister otomatik bir muhasebe hattı için **faturalardan metin çıkarma** yapıyor olun, yukarıdaki adımlar sağlam, üretim‑hazır bir temel sunar. + +İleride şunları keşfedebilirsiniz: + +- CSV çıktısını bir veritabanına entegre ederek toplu fatura depolama. +- Tarih, tutar veya vergi kimlik numarası gibi bilgileri çekmek için düzenli ifadelerle post‑processing. +- Faturalarınızda QR kodları varsa `ocr_engine.recognize_barcode` özelliğini kullanma. + +Deneyin, güven eşiğini ayarlayın ve belge‑işleme akışınızın ne kadar kolaylaştığını izleyin. Daha fazla sorunuz veya paylaşmak istediğiniz bir kullanım senaryonuz varsa aşağıya yorum bırakın—iyi OCRlamalar! + +![run OCR on PNG example](run-ocr-on-png.png "run OCR on PNG – visual example of OCR result") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md b/ocr/vietnamese/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md new file mode 100644 index 00000000..a93f6ac8 --- /dev/null +++ b/ocr/vietnamese/python-java/general/extract-text-from-image-python-async-ocr-guide/_index.md @@ -0,0 +1,193 @@ +--- +category: general +date: 2026-01-12 +description: Trích xuất văn bản từ hình ảnh bằng Python sử dụng Aspose OCR. Tìm hiểu + cách chuyển đổi hình ảnh đã quét thành văn bản với mã bất đồng bộ chỉ trong vài + phút. +draft: false +keywords: +- extract text from image python +- convert scanned image to text +language: vi +og_description: Trích xuất văn bản từ hình ảnh Python với Aspose OCR. Hướng dẫn này + cho thấy cách chuyển đổi hình ảnh đã quét thành văn bản bằng các hàm bất đồng bộ. +og_title: Trích xuất văn bản từ ảnh bằng Python – Hướng dẫn OCR bất đồng bộ +tags: +- python +- ocr +- async +title: Trích xuất văn bản từ hình ảnh bằng Python – Hướng dẫn OCR bất đồng bộ +url: /vi/python-java/general/extract-text-from-image-python-async-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Trích xuất văn bản từ hình ảnh Python – Hướng dẫn OCR bất đồng bộ + +Bạn đã bao giờ cần **extract text from image Python** trong các script nhưng gặp khó khăn ở phần OCR chưa? Bạn không phải là người duy nhất. Nhiều nhà phát triển gặp trở ngại khi có một tài liệu đã quét và muốn chuyển nó thành văn bản có thể tìm kiếm mà không phải đau đầu. + +Trong hướng dẫn này, chúng tôi sẽ hướng dẫn qua một ví dụ hoàn chỉnh, có thể chạy được, cho bạn thấy cách **convert scanned image to text** bằng API bất đồng bộ của Aspose OCR. Khi kết thúc, bạn sẽ có một hàm duy nhất có thể chèn vào bất kỳ dự án nào, và bạn sẽ hiểu tại sao xử lý bất đồng bộ có thể giữ cho ứng dụng của bạn phản hồi nhanh ngay cả khi OCR mất vài giây. + +## Yêu cầu trước + +- Python 3.8+ đã được cài đặt (các tính năng async yêu cầu ít nhất 3.7) +- Gói `asposeocr` (`pip install asposeocr`) – đây là thư viện chúng tôi sẽ sử dụng +- Tệp hình ảnh đã quét (TIFF, PNG, JPEG – bất kỳ định dạng nào Aspose OCR hỗ trợ) +- Kiến thức cơ bản về `asyncio` (nếu chưa, đừng lo – chúng tôi sẽ giải thích từng bước) + +Không cần phụ thuộc hệ thống bổ sung nào; Aspose OCR đã gói mọi thứ bạn cần. + +![Diagram showing async OCR flow – extract text from image python](https://example.com/async-ocr-diagram.png "async OCR flow – extract text from image python") + +## Bước 1 – Thiết lập hàm trợ giúp bất đồng bộ + +Trọng tâm của giải pháp là một hàm `async` tải hình ảnh, khởi động OCR, và sau đó chờ kết quả. Giữ hàm này bất đồng bộ có nghĩa là bạn có thể chạy các coroutine khác (ví dụ: tải xuống thêm tệp) trong khi engine OCR hoạt động ở nền. + +```python +import asposeocr as ocr +import asyncio + +async def async_ocr(image_path: str) -> str: + """ + Extracts text from the given image file using Aspose OCR asynchronously. + + Parameters + ---------- + image_path: str + Path to the scanned image (e.g., 'input.tif') + + Returns + ------- + str + Recognized plain‑text string + """ + # Initialize the OCR engine and set the language to English. + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Start the OCR operation. process_async returns a Future‑like object. + ocr_future = ocr_engine.process_async(ocr.Image.load(image_path)) + + # Here you could perform other async work – we just yield control. + await asyncio.sleep(0) + + # Await the OCR result and pull out the recognized text. + ocr_result = await ocr_future + return ocr_result.text +``` + +**Tại sao điều này quan trọng:** Bằng cách trả về một `Future`, Aspose OCR thực hiện công việc nặng trên một pool thread riêng. `await` giải phóng event loop, vì vậy ứng dụng của bạn vẫn phản hồi nhanh. Nếu bạn cần xử lý nhiều hình ảnh đồng thời, bạn có thể lên lịch nhiều lời gọi `async_ocr` bằng `asyncio.gather`. + +## Bước 2 – Chạy Coroutine trong Event Loop + +Bây giờ chúng ta đã có hàm trợ giúp, chúng ta cần thực thi nó. `asyncio.run` tạo một event loop mới, chạy coroutine, và tắt mọi thứ một cách sạch sẽ. + +```python +if __name__ == "__main__": + # Replace with the actual path to your scanned file. + image_file = "YOUR_DIRECTORY/input.tif" + + # Run the async OCR function and capture the output. + recognized_text = asyncio.run(async_ocr(image_file)) + + # Print the extracted text to the console. + print("=== OCR RESULT ===") + print(recognized_text) +``` + +**Mẹo chuyên nghiệp:** Nếu bạn tích hợp điều này vào một ứng dụng async lớn hơn (ví dụ: FastAPI), bạn sẽ gọi `await async_ocr(...)` trực tiếp thay vì `asyncio.run`. + +## Bước 3 – Xác minh đầu ra + +Khi bạn chạy script, bạn sẽ thấy một kết quả tương tự như: + +``` +=== OCR RESULT === +Lorem ipsum dolor sit amet, +consectetur adipiscing elit. +``` + +Nếu đầu ra bị rối, hãy kiểm tra lại rằng: + +1. Hình ảnh rõ ràng và không bị nén quá mức. +2. Bạn đã chọn ngôn ngữ đúng (`ocr.Language.ENGLISH` hoạt động cho hầu hết các văn bản dựa trên Latin). +3. Đường dẫn tệp đúng và tệp có thể đọc được. + +## Bước 4 – Xử lý các trường hợp đặc biệt + +### Nhiều ngôn ngữ + +Nếu bạn cần **convert scanned image to text** bằng ngôn ngữ khác ngoài tiếng Anh, chỉ cần thay đổi thuộc tính ngôn ngữ: + +```python +ocr_engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH, etc. +``` + +### Tệp lớn + +Đối với các tệp TIFF rất lớn, hãy cân nhắc thay đổi kích thước hoặc chuyển đổi sang PNG có độ phân giải thấp hơn trước khi đưa vào OCR. Điều này giảm áp lực bộ nhớ và tăng tốc xử lý. + +```python +# Example: downscale a huge image (requires Pillow) +from PIL import Image as PilImage + +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000)) # max dimension 2000px +pil_img.save("temp_resized.png") +ocr_future = ocr_engine.process_async(ocr.Image.load("temp_resized.png")) +``` + +### Xử lý lỗi + +Bao quanh lời gọi OCR bằng khối `try/except` để bắt các lỗi liên quan đến mạng hoặc giấy phép. + +```python +try: + ocr_result = await ocr_future +except ocr.OcrException as exc: + print(f"OCR failed: {exc}") + return "" +``` + +## Bước 5 – Mở rộng: Xử lý nhiều hình ảnh đồng thời + +Vì hàm này là async, bạn có thể khởi chạy hàng chục công việc OCR cùng lúc: + +```python +async def batch_ocr(image_paths): + tasks = [async_ocr(p) for p in image_paths] + return await asyncio.gather(*tasks) + +if __name__ == "__main__": + files = ["doc1.tif", "doc2.tif", "doc3.tif"] + results = asyncio.run(batch_ocr(files)) + for i, text in enumerate(results): + print(f"--- Result for {files[i]} ---") + print(text) +``` + +Mẫu này giữ CPU bận rộn trong khi engine OCR hoạt động song song, giảm đáng kể thời gian xử lý tổng cộng. + +## Kết luận + +Bây giờ bạn đã có một giải pháp **extract text from image Python** vững chắc, tận dụng API bất đồng bộ của Aspose OCR. Ví dụ hoàn chỉnh cho thấy cách: + +1. Khởi tạo engine OCR và chọn ngôn ngữ. +2. Khởi chạy OCR bất đồng bộ với `process_async`. +3. Chờ kết quả mà không chặn event loop. +4. Xử lý các vấn đề thường gặp như tệp lớn và hỗ trợ đa ngôn ngữ. + +Bạn có thể tự do điều chỉnh mã cho các pipeline của mình—cho dù bạn đang xây dựng hệ thống quản lý tài liệu, công cụ lập chỉ mục tìm kiếm, hoặc tiện ích dòng lệnh đơn giản. Các bước tiếp theo có thể bao gồm: + +- Lưu trữ văn bản đã trích xuất vào cơ sở dữ liệu để tìm kiếm toàn văn. +- Thêm tạo PDF (ví dụ: sử dụng `PyPDF2`) để tạo PDF có thể tìm kiếm. +- Tích hợp với framework web như FastAPI để cung cấp dịch vụ OCR dạng RESTful. + +Chúc lập trình vui vẻ, và tận hưởng việc biến những hình ảnh đã quét thành văn bản có thể tìm kiếm và chỉnh sửa! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md b/ocr/vietnamese/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md new file mode 100644 index 00000000..546ba0f4 --- /dev/null +++ b/ocr/vietnamese/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-01-12 +description: Cách thực hiện OCR hàng loạt hình ảnh nhanh chóng và trích xuất văn bản + từ các tệp JPEG trong Python. Học quy trình xử lý hàng loạt từng bước với một ví + dụ hoàn chỉnh có thể chạy được. +draft: false +keywords: +- how to batch OCR images +- extract text from JPEG files +language: vi +og_description: Cách thực hiện OCR hàng loạt cho hình ảnh và trích xuất văn bản từ + các tệp JPEG. Hướng dẫn này sẽ đưa bạn qua một giải pháp Python hoàn chỉnh, sẵn + sàng chạy. +og_title: Cách thực hiện OCR hàng loạt cho hình ảnh – Hướng dẫn nhanh Python +tags: +- OCR +- Python +- image processing +title: Cách thực hiện OCR hàng loạt cho ảnh – Hướng dẫn nhanh để trích xuất văn bản + từ tệp JPEG +url: /vi/python-java/general/how-to-batch-ocr-images-fast-guide-for-extracting-text-from/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách Batch OCR Hình Ảnh – Hướng Dẫn Nhanh Để Trích Xuất Văn Bản Từ Các Tệp JPEG + +Bạn đã bao giờ tự hỏi **cách batch OCR hình ảnh** mà không cần viết một script riêng cho mỗi tệp chưa? Bạn không phải là người duy nhất. Trong nhiều dự án—quét hoá đơn, số hoá tài liệu lưu trữ, hoặc kiểm duyệt nội dung—chúng ta cần lấy văn bản từ hàng chục hoặc hàng trăm tệp JPEG cùng một lúc. Tin tốt là bạn có thể làm điều này chỉ với vài dòng Python, và sẽ có một engine có thể tái sử dụng trong bất kỳ pipeline nào. + +Trong tutorial này chúng tôi sẽ chỉ cho bạn **cách batch OCR hình ảnh** một cách chi tiết, sau đó hướng dẫn cách trích xuất văn bản từ các tệp JPEG, xử lý các trường hợp đặc biệt, và xác minh kết quả. Khi hoàn thành, bạn sẽ có một script tự chứa có thể chạy trên bất kỳ thư mục hình ảnh nào, và bạn sẽ hiểu vì sao việc xử lý batch lại quan trọng đối với hiệu năng và khả năng bảo trì. + +## Những Điều Bạn Sẽ Học + +- Thiết lập một engine OCR đơn giản và cấu hình cho tiếng Anh. +- Thu thập tất cả các tệp JPEG từ một thư mục bằng `pathlib`. +- Gọi engine OCR một lần để xử lý toàn bộ batch. +- Hiển thị bản xem trước của văn bản đã nhận dạng cho mỗi hình ảnh. +- Mẹo xử lý các batch lớn, ngôn ngữ khác nhau, và các lỗi thường gặp. + +**Yêu cầu trước**: Python 3.8+, thư viện `ocr` (hoặc bất kỳ wrapper tương thích nào), và một thư mục chứa các ảnh JPEG bạn muốn phân tích. Không cần dịch vụ bên ngoài—mọi thứ chạy cục bộ. + +--- + +## Bước 1: Khởi Tạo Engine OCR – Cốt Lõi Của Cách Batch OCR Hình Ảnh + +Trước khi chúng ta có thể **batch OCR hình ảnh**, chúng ta cần một engine biết cách đọc văn bản. Trong hầu hết các thư viện, bạn tạo một đối tượng engine, tùy chọn đặt ngôn ngữ, và sau đó tái sử dụng nó cho mọi tệp. + +```python +import ocr +import pathlib + +# Create the OCR engine and set it to English (the most common case) +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +*Lý do quan trọng*: Khởi tạo engine một lần tránh việc tải lại các mô hình ngôn ngữ liên tục. Nó cũng cho bạn một nơi duy nhất để điều chỉnh các thiết lập (ví dụ: DPI, danh sách ký tự cho phép) sẽ áp dụng cho toàn bộ batch. + +> **Pro tip**: Nếu bạn dự định xử lý tài liệu đa ngôn ngữ, chuyển `ocr.Language.ENGLISH` thành `ocr.Language.MULTI` hoặc tải nhiều gói ngôn ngữ trước khi batch bắt đầu. + +--- + +## Bước 2: Thu Thập Tất Cả Các Tệp JPEG – Phần “Trích Xuất Văn Bản Từ Các Tệp JPEG” + +Bây giờ engine đã sẵn sàng, chúng ta cần chỉ cho nó biết những hình ảnh nào sẽ được xử lý. Sử dụng `pathlib` giúp code độc lập với nền tảng và ngắn gọn. + +```python +# Replace YOUR_DIRECTORY with the path that holds your JPEG files +image_dir = pathlib.Path("YOUR_DIRECTORY/") +image_paths = list(image_dir.glob("*.jpg")) # only JPEG files, case‑sensitive +``` + +*Lý do quan trọng*: Bằng cách thu thập danh sách tệp trước, chúng ta có thể truyền toàn bộ bộ sưu tập cho engine OCR trong một lần gọi—đúng là những gì **cách batch OCR hình ảnh** đề cập tới. Nếu bạn có các thư mục con, có thể đổi `glob("**/*.jpg")` thành tìm kiếm đệ quy. + +> **Trường hợp đặc biệt**: Nếu ảnh của bạn có hỗn hợp phần mở rộng (`.jpeg`, `.JPG`), mở rộng mẫu glob: `image_dir.rglob("*.[jJ][pP][eE]?g")`. + +--- + +## Bước 3: Xử Lý Toàn Bộ Batch Trong Một Lần Gọi – Sức Mạnh Thực Sự Của Batch OCR + +Hầu hết các thư viện OCR hiện đại cung cấp một phương thức `process_batch` (hoặc tên tương tự) nhận một iterable các đường dẫn tệp. Đây là trái tim của **cách batch OCR hình ảnh** một cách hiệu quả. + +```python +# Process every JPEG file in a single batch operation +ocr_results = ocr_engine.process_batch(image_paths) +``` + +*Lý do quan trọng*: Một lần gọi batch giảm số lần chuyển đổi Python‑to‑C, giữ mô hình ngôn ngữ luôn trong bộ nhớ, và thường cho phép song song nội bộ. Kết quả là một danh sách các đối tượng—mỗi đối tượng chứa văn bản đã nhận dạng và điểm tin cậy. + +> **Ghi chú hiệu năng**: Đối với các batch rất lớn (hàng nghìn ảnh), hãy cân nhắc chia danh sách thành các khối nhỏ hơn (ví dụ: 200 tệp) để tránh tiêu thụ bộ nhớ quá mức. + +--- + +## Bước 4: Hiển Thị Bản Xem Trước Văn Bản Đã Trích Xuất – Kiểm Tra Nhanh + +Sau khi batch hoàn thành, việc xem trước một vài ký tự đầu tiên của mỗi kết quả rất hữu ích. Điều này giúp bạn xác nhận OCR thực sự đã trích xuất văn bản từ các tệp JPEG. + +```python +for image_path, ocr_result in zip(image_paths, ocr_results): + # Show the image name and the first 100 characters of its recognised text + preview = ocr_result.text[:100].replace("\n", " ").strip() + print(f"{image_path.name}: {preview}...") +``` + +*Lý do quan trọng*: Một bản xem trước ngắn cho phép bạn nhanh chóng phát hiện các lỗi rõ ràng (ví dụ: đầu ra trống, ký tự lộn xộn) mà không cần mở từng file. Nếu bạn nhận thấy vấn đề hệ thống, có thể điều chỉnh cài đặt engine và chạy lại batch. + +> **Cạm bẫy thường gặp**: Quên loại bỏ ký tự xuống dòng có thể làm bản xem trước trở nên lộn xộn. Dòng `replace("\n", " ")` sẽ làm sạch chúng. + +--- + +## Ví Dụ Hoàn Chỉnh – Tất Cả Các Bước Kết Hợp + +Dưới đây là script hoàn chỉnh mà bạn có thể sao chép‑dán, điều chỉnh đường dẫn thư mục, và chạy. Nó minh họa toàn bộ quy trình **cách batch OCR hình ảnh** từ đầu đến cuối. + +```python +import ocr +import pathlib + +def batch_ocr_jpeg(folder: str): + """ + Process all JPEG files in `folder` and print a 100‑character preview + of the recognised text for each image. + """ + # Step 1 – Initialise OCR engine + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Step 2 – Gather JPEG paths + img_dir = pathlib.Path(folder) + jpeg_paths = list(img_dir.glob("*.jpg")) # add more patterns if needed + + if not jpeg_paths: + print("No JPEG files found in the specified directory.") + return + + # Step 3 – Batch process + results = engine.process_batch(jpeg_paths) + + # Step 4 – Display previews + for path, res in zip(jpeg_paths, results): + preview = res.text[:100].replace("\n", " ").strip() + print(f"{path.name}: {preview}...") + +if __name__ == "__main__": + # Replace with the path containing your JPEG images + batch_ocr_jpeg("YOUR_DIRECTORY/") +``` + +**Kết quả mong đợi** (ví dụ): + +``` +invoice_001.jpg: Invoice #001 Date: 2024-03-15 Total: $1,245.00 Bill To: Acme Corp... +receipt_202.jpg: Receipt 202 Store: QuickMart Total: $45.67 Date: 03/12/2024... +... +``` + +Nếu bản xem trước hiển thị văn bản có nghĩa, bạn đã **trích xuất văn bản từ các tệp JPEG** thành công bằng cách batch. + +--- + +## Xử Lý Các Batch Lớn và Các Kịch Bản Nâng Cao + +### Chia Nhỏ Khối Công Việc Lớn +Khi phải xử lý hàng nghìn ảnh, bộ nhớ có thể trở thành nút thắt. Hãy chia danh sách thành các khối nhỏ hơn: + +```python +from itertools import islice + +def chunked(iterable, size): + it = iter(iterable) + while True: + chunk = list(islice(it, size)) + if not chunk: + break + yield chunk + +for chunk in chunked(jpeg_paths, 200): # 200 files per batch + results = engine.process_batch(chunk) + # process results as shown earlier +``` + +### Thay Đổi Ngôn Ngữ +Nếu tài liệu của bạn chứa tiếng Pháp hoặc tiếng Tây Ban Nha, hãy thay đổi ngôn ngữ trước khi batch: + +```python +engine.language = ocr.Language.FRENCH # or ocr.Language.SPANISH +``` + +### Lưu Kết Quả Ra Đĩa +Thay vì in ra màn hình, bạn có thể ghi mỗi kết quả OCR vào một tệp `.txt`: + +```python +output_dir = pathlib.Path("ocr_output") +output_dir.mkdir(exist_ok=True) + +for path, res in zip(jpeg_paths, results): + txt_path = output_dir / f"{path.stem}.txt" + txt_path.write_text(res.text, encoding="utf-8") +``` + +--- + +## Kết Luận + +Bây giờ bạn đã biết **cách batch OCR hình ảnh** và đáng tin cậy **trích xuất văn bản từ các tệp JPEG** bằng một script Python gọn gàng. Bằng cách khởi tạo engine một lần, thu thập tất cả các đường dẫn JPEG, xử lý chúng trong một batch duy nhất, và xem trước kết quả, bạn đạt được cả tốc độ và sự đơn giản. Từ đây, bạn có thể mở rộng workflow—thêm hỗ trợ đa ngôn ngữ, lưu kết quả vào cơ sở dữ liệu, hoặc tích hợp script vào một pipeline xử lý tài liệu lớn hơn. + +Sẵn sàng cho bước tiếp theo? Hãy thử thay thế thư viện `ocr` bằng Tesseract, thử nghiệm các kỹ thuật tiền xử lý ảnh (ngưỡng, thay đổi kích thước), hoặc đưa văn bản đã trích xuất vào mô hình xử lý ngôn ngữ tự nhiên để tự động phân loại. Bầu trời là giới hạn, và bạn đã có nền tảng vững chắc để xây dựng. + +Chúc lập trình vui vẻ, và hy vọng các batch OCR của bạn luôn không lỗi! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md b/ocr/vietnamese/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md new file mode 100644 index 00000000..89a212f7 --- /dev/null +++ b/ocr/vietnamese/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/_index.md @@ -0,0 +1,133 @@ +--- +category: general +date: 2026-01-12 +description: Cách phát hiện ngôn ngữ trong hình ảnh bằng Aspose OCR – học cách trích + xuất văn bản từ hình ảnh, xử lý OCR đa ngôn ngữ và sử dụng OCR trong Python. +draft: false +keywords: +- how to detect language +- extract text from image +- how to extract text +- how to use OCR +- mixed language OCR +language: vi +og_description: Cách phát hiện ngôn ngữ trong hình ảnh bằng Aspose OCR – hướng dẫn + từng bước để trích xuất văn bản từ hình ảnh và xử lý OCR đa ngôn ngữ. +og_title: Cách phát hiện ngôn ngữ bằng OCR cho văn bản hỗn hợp +tags: +- OCR +- Python +- Aspose +title: Cách phát hiện ngôn ngữ bằng OCR cho văn bản hỗn hợp +url: /vi/python-java/general/how-to-detect-language-with-ocr-for-mixed-text/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách phát hiện ngôn ngữ bằng OCR cho văn bản hỗn hợp + +Việc phát hiện ngôn ngữ trong hình ảnh bằng Aspose OCR là một thách thức phổ biến khi làm việc với tài liệu đa ngôn ngữ. Bạn đã bao giờ tự hỏi **cách trích xuất văn bản từ hình ảnh** chứa cả tiếng Anh và tiếng Pháp trên cùng một trang chưa? Trong hướng dẫn này, chúng tôi sẽ đi qua một ví dụ hoàn chỉnh, có thể chạy được, cho bạn thấy chính xác cách sử dụng OCR để xác định ngôn ngữ, lấy văn bản ra và xử lý các trường hợp ngôn ngữ hỗn hợp một cách dễ dàng. + +Chúng tôi sẽ bao phủ mọi thứ bạn cần biết: thiết lập engine Aspose OCR, chỉ định các ngôn ngữ cần xem xét, tải một hình ảnh hoá đơn mẫu, chạy quy trình OCR, và cuối cùng in ra ngôn ngữ được phát hiện cùng với văn bản đã trích xuất. Khi kết thúc, bạn sẽ có thể trả lời câu hỏi “cách sử dụng OCR cho OCR ngôn ngữ hỗn hợp” trong các dự án của mình, dù bạn đang xây dựng một quy trình lập hoá đơn, một máy quét biên lai, hay một công cụ lưu trữ tài liệu. + +> **Yêu cầu trước** – Bạn nên có Python 3.8+ được cài đặt, quen thuộc cơ bản với pip, và có giấy phép Aspose OCR (bản dùng thử miễn phí hoạt động cho bản demo này). Không cần thư viện bên ngoài nào khác. + +--- + +## Cách phát hiện ngôn ngữ với Aspose OCR + +Bước đầu tiên là tạo một thể hiện của engine OCR và chỉ định các ngôn ngữ nó nên tìm kiếm. Aspose OCR sử dụng một bit‑mask để kết hợp các ngôn ngữ, giúp dễ dàng hỗ trợ tiếng Anh, tiếng Pháp, tiếng Tây Ban Nha, hoặc bất kỳ sự kết hợp nào bạn cần. + +```python +# Step 1: Import Aspose OCR and create an OCR engine instance +import asposeocr as ocr + +# Create the engine; this object will drive the whole process +ocr_engine = ocr.OcrEngine() +``` + +**Tại sao điều này quan trọng:** Khởi tạo engine là nền tảng. Nếu không có nó, bạn không thể gọi bất kỳ phương thức OCR nào, và engine chứa tất cả cấu hình quyết định khả năng **phát hiện ngôn ngữ** sau này. + +## Trích xuất văn bản từ hình ảnh bằng OCR + +Bây giờ chúng ta cần cho engine biết các ngôn ngữ có thể có. Bằng cách đặt một bit‑mask là `ENGLISH | FRENCH` chúng ta cho phép engine tự động chọn khớp tốt nhất cho mỗi vùng của hình ảnh. + +```python +# Step 2: Tell the engine which languages to consider and enable auto‑detection +ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.FRENCH # bit‑mask of possible languages +ocr_engine.auto_detect_language = True # let the engine pick the best match +``` + +**Tại sao điều này quan trọng:** Kích hoạt `auto_detect_language` là cốt lõi của **cách phát hiện ngôn ngữ** trong tài liệu ngôn ngữ hỗn hợp. Engine sẽ quét văn bản, chấm điểm mỗi ngôn ngữ và trả về ngôn ngữ có độ tin cậy cao nhất. Nếu bỏ qua bước này, bạn sẽ phải tự đoán ngôn ngữ, điều này làm mất mục đích của OCR ngôn ngữ hỗn hợp. + +## Cấu hình cài đặt OCR ngôn ngữ hỗn hợp + +Trước khi đưa hình ảnh vào engine, chúng ta phải tải nó. Aspose OCR làm việc với lớp `Image` riêng của nó, lớp này trừu tượng hoá định dạng tệp gốc. + +```python +# Step 3: Load the image that contains mixed‑language text +invoice_image = ocr.Image.load("YOUR_DIRECTORY/mixed_lang_invoice.png") +``` + +> **Mẹo:** Giữ độ phân giải hình ảnh khoảng 300 dpi để có kết quả tốt nhất. Độ phân giải thấp hơn có thể khiến việc phát hiện ngôn ngữ bỏ lỡ các ký tự tinh tế, đặc biệt là các chữ có dấu trong tiếng Pháp. + +## Chạy quy trình OCR và lấy kết quả + +Với engine đã được cấu hình và hình ảnh đã được tải, cuối cùng chúng ta có thể chạy quy trình OCR. Phương thức `process` trả về một đối tượng `OcrResult` chứa cả mã ngôn ngữ được phát hiện và toàn bộ văn bản đã trích xuất. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(invoice_image) + +# Step 5: Display the detected language and extracted text +print("Detected language:", ocr_result.language) # e.g. ENGLISH or FRENCH +print("Extracted text:", ocr_result.text) +``` + +**Kết quả mong đợi** + +``` +Detected language: ENGLISH +Extracted text: Invoice #12345 +Date: 01/02/2026 +Total: $1,250.00 +... +``` + +Nếu hình ảnh chứa các phần tiếng Pháp, bạn sẽ thấy `FRENCH` là ngôn ngữ được phát hiện và văn bản tiếng Pháp tương ứng được in ra. + +## Ví dụ hình ảnh (Alt Text cho SEO) + +![cách phát hiện ngôn ngữ trong OCR ngôn ngữ hỗn hợp](mixed_lang_invoice.png) + +*Ảnh chụp màn hình trên cho thấy một hoá đơn mẫu chứa cả văn bản tiếng Anh và tiếng Pháp, minh họa cách engine OCR có thể **phát hiện ngôn ngữ** và trích xuất nội dung trong một lần xử lý.* + +## Những khó khăn thường gặp và Mẹo chuyên nghiệp + +| Vấn đề | Tại sao lại xảy ra | Cách khắc phục / Giảm thiểu | +|-------|--------------------|-----------------------------| +| **Quét mờ hoặc độ phân giải thấp** | Engine không thể phân biệt các ký tự, dẫn đến việc phát hiện ngôn ngữ sai. | Quét ở ≥300 dpi, áp dụng làm nét hình ảnh trước khi OCR. | +| **Thiếu ngôn ngữ trong bit‑mask** | Nếu bạn quên thêm một ngôn ngữ, engine sẽ mặc định chọn khớp đầu tiên, thường cho kết quả không chính xác. | Luôn liệt kê mọi ngôn ngữ bạn mong đợi; bạn có thể kết hợp nhiều ngôn ngữ bằng toán tử `|`. | +| **Kịch bản hỗn hợp (ví dụ: Latin + Cyrillic)** | Aspose OCR có thể cần các gói ngôn ngữ riêng. | Cài đặt các gói ngôn ngữ bổ sung và thêm chúng vào mask. | +| **Tập tin lớn gây tăng đột biến bộ nhớ** | Việc tải một hình ảnh lớn vào bộ nhớ có thể làm script bị sập. | Sử dụng `Image.resize` để thu nhỏ trong khi giữ DPI, hoặc xử lý hình ảnh theo từng ô. | + +**Mẹo chuyên nghiệp:** Sau khi nhận được văn bản thô, thực hiện một bước xử lý hậu kỳ nhanh để chuẩn hoá khoảng trắng và ngắt dòng. Điều này làm cho việc phân tích sau (ví dụ: trích xuất số hoá đơn) trở nên đơn giản hơn nhiều. + +## Tổng kết: Những gì bạn đã học + +Bây giờ bạn đã biết **cách phát hiện ngôn ngữ** trong một hình ảnh ngôn ngữ hỗn hợp bằng Aspose OCR, và bạn đã thấy một ví dụ hoàn chỉnh, từ đầu đến cuối, cũng cho thấy **cách trích xuất văn bản từ hình ảnh**. Bằng cách cấu hình bit‑mask ngôn ngữ, bật tự động phát hiện, và xử lý đối tượng kết quả, bạn có thể xử lý một cách đáng tin cậy các hoá đơn, biên lai, hoặc bất kỳ tài liệu nào kết hợp tiếng Anh và tiếng Pháp (hoặc các ngôn ngữ khác). + +### Các bước tiếp theo + +- Thử thêm **cách trích xuất văn bản** từ PDF bằng cách chuyển mỗi trang thành hình ảnh trước. +- Thử nghiệm với các từ khóa phụ khác: khám phá toàn bộ API **cách sử dụng OCR**, chẳng hạn như thiết lập các vùng OCR để xử lý nhanh hơn. +- Đào sâu vào các trường hợp **OCR ngôn ngữ hỗn hợp** phức tạp hơn, như tài liệu chuyển đổi giữa ba hoặc nhiều ngôn ngữ. + +Bạn có thể tự do chỉnh sửa mã, thử nghiệm trên hình ảnh của mình, và để engine thực hiện công việc nặng. Nếu gặp bất kỳ vấn đề nào, hãy để lại bình luận bên dưới—chúc lập trình vui vẻ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md b/ocr/vietnamese/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md new file mode 100644 index 00000000..244b76c0 --- /dev/null +++ b/ocr/vietnamese/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-01-12 +description: Tìm hiểu cách OCR PDF trong Python và nhanh chóng làm cho PDF có thể + tìm kiếm. Chuyển đổi PDF đã quét, trích xuất văn bản PDF và OCR PDF đã quét bằng + Python sử dụng Aspose OCR. +draft: false +keywords: +- how to ocr pdf +- make pdf searchable +- convert scanned pdf +- extract text pdf +- ocr scanned pdf python +language: vi +og_description: Cách OCR PDF trong Python? Hướng dẫn từng bước này cho bạn biết cách + chuyển đổi các tệp PDF đã quét thành PDF có thể tìm kiếm và trích xuất văn bản bằng + Aspose OCR. +og_title: Cách OCR PDF và làm cho nó có thể tìm kiếm – Hướng dẫn Python +tags: +- OCR +- Python +- PDF processing +title: Cách OCR PDF và làm cho nó có thể tìm kiếm – Hướng dẫn Python +url: /vi/python-java/general/how-to-ocr-pdf-and-make-it-searchable-python-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách OCR PDF và Làm Cho Nó Có Thể Tìm Kiếm – Hướng Dẫn Python + +Bạn đã bao giờ tự hỏi **cách OCR PDF** mà không phải chi trả một khoản tiền lớn cho phần mềm thương mại chưa? Bạn không đơn độc. Nhiều nhà phát triển gặp khó khăn khi cần chuyển một hợp đồng đã quét, một hoá đơn, hoặc bất kỳ PDF dựa trên hình ảnh nào thành tài liệu có thể tìm kiếm. Tin tốt? Chỉ với vài dòng Python và Aspose OCR, bạn có thể chuyển đổi PDF đã quét, trích xuất văn bản PDF, và cuối cùng làm PDF có thể tìm kiếm trong vài phút. + +Trong hướng dẫn này, chúng tôi sẽ đi qua mọi thứ bạn cần: từ cài đặt thư viện, cấu hình ngôn ngữ, xử lý PDF đã quét, đến lưu kết quả dưới dạng PDF có thể tìm kiếm chứa cả hình ảnh gốc và lớp văn bản ẩn. Khi kết thúc, bạn sẽ có một script có thể tái sử dụng để đưa vào bất kỳ dự án nào—không cần sao chép thủ công. + +--- + +## Những Điều Cần Chuẩn Bị + +- **Python 3.8+** (code hoạt động trên 3.9, 3.10 và các phiên bản mới hơn) +- Một giấy phép **Aspose OCR for Python** đang hoạt động (bản dùng thử miễn phí đủ cho việc thử nghiệm) +- Một tệp PDF đã quét (ví dụ: `scanned_contract.pdf`) mà bạn muốn làm cho có thể tìm kiếm +- Kiến thức cơ bản về dòng lệnh và môi trường ảo (không bắt buộc nhưng nên có) + +> **Mẹo chuyên nghiệp:** Nếu bạn chưa có giấy phép, hãy đăng ký dùng thử 30 ngày trên trang web Aspose; phiên bản dùng thử hoạt động đầy đủ cho mục đích phát triển. + +--- + +## Cách OCR PDF với Aspose OCR (Từ Khóa Chính trong H2) + +Bước đầu tiên là lấy đúng gói. Aspose OCR cung cấp một API sạch, cấp cao, trừu tượng hoá các chi tiết xử lý ảnh cấp thấp. + +```bash +# Create a virtual environment (optional but tidy) +python -m venv venv +source venv/bin/activate # On Windows use `venv\Scripts\activate` + +# Install the Aspose OCR package +pip install aspose-ocr +``` + +Sau khi gói đã được cài đặt, bạn có thể bắt đầu viết script. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr + +# Step 2: Create an OCR engine instance and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Tại sao cần đặt ngôn ngữ?** +> Độ chính xác của OCR phụ thuộc mạnh vào mô hình ngôn ngữ. Bằng cách chỉ định rõ ràng cho engine mong đợi văn bản tiếng Anh, bạn giảm các kết quả sai và tăng tốc xử lý. + +--- + +## Step 2: Convert Scanned PDF to a Searchable PDF + +Bây giờ engine đã sẵn sàng, hãy chỉ nó tới tài liệu đã quét của bạn. Phương thức `process_pdf` trả về một đối tượng `PdfResult` chứa cả dữ liệu ảnh gốc và văn bản đã nhận dạng. + +```python +# Step 3: Process the scanned PDF to extract text +input_pdf_path = "YOUR_DIRECTORY/scanned_contract.pdf" +pdf_result = ocr_engine.process_pdf(input_pdf_path) +``` + +Nếu bạn cần **chuyển đổi PDF đã quét** hàng loạt, chỉ cần lặp qua một thư mục và gọi `process_pdf` cho mỗi tệp. Engine xử lý các PDF đa trang ngay từ đầu. + +--- + +## Step 3: Save the Result as a Searchable PDF (Make PDF Searchable) + +Phần cuối cùng của câu đố là lưu phiên bản có thể tìm kiếm. Aspose OCR làm điều này chỉ trong một dòng: + +```python +# Step 4: Define the output path for the searchable PDF +searchable_pdf_path = "YOUR_DIRECTORY/contract_searchable.pdf" + +# Step 5: Save the result as a searchable PDF (image + hidden text layer) +pdf_result.save_as_searchable_pdf(searchable_pdf_path) +``` + +Khi bạn mở `contract_searchable.pdf` trong bất kỳ trình xem PDF nào, bạn sẽ thấy ảnh quét gốc, nhưng bây giờ bạn có thể **tìm kiếm bất kỳ từ nào** mà engine OCR đã nhận dạng. Lớp văn bản ẩn không nhìn thấy bằng mắt nhưng hoàn toàn có thể lập chỉ mục. + +### Full Script – Ready to Run + +Dưới đây là ví dụ đầy đủ, có thể chạy được. Sao chép‑dán nó vào một tệp có tên `make_searchable.py` và điều chỉnh các đường dẫn cho phù hợp với môi trường của bạn. + +```python +# make_searchable.py +# ------------------------------------------------- +# Complete script to OCR a scanned PDF and make it searchable +# ------------------------------------------------- + +import os +import asposeocr as ocr + +def ocr_to_searchable(input_path: str, output_path: str, language=ocr.Language.ENGLISH): + """ + Convert a scanned PDF into a searchable PDF. + + Parameters + ---------- + input_path : str + Path to the scanned PDF file. + output_path : str + Destination path for the searchable PDF. + language : ocr.Language, optional + OCR language model (default is English). + """ + if not os.path.isfile(input_path): + raise FileNotFoundError(f"Input file not found: {input_path}") + + # Initialize OCR engine + engine = ocr.OcrEngine() + engine.language = language + + # Process the PDF (extracts images + hidden text) + result = engine.process_pdf(input_path) + + # Save as searchable PDF + result.save_as_searchable_pdf(output_path) + print(f"✅ Searchable PDF saved to: {output_path}") + +if __name__ == "__main__": + # Example usage – replace with your actual file locations + INPUT_PDF = "YOUR_DIRECTORY/scanned_contract.pdf" + OUTPUT_PDF = "YOUR_DIRECTORY/contract_searchable.pdf" + ocr_to_searchable(INPUT_PDF, OUTPUT_PDF) +``` + +**Expected output:** +Khi chạy script, nó sẽ in ra một dòng xác nhận và tạo ra `contract_searchable.pdf`. Mở tệp, nhấn `Ctrl + F`, và gõ bất kỳ từ nào xuất hiện trong ảnh quét gốc—bạn sẽ thấy các kết quả ngay lập tức. + +--- + +## Common Questions & Edge Cases + +### 1. What if the PDF contains multiple languages? + +Bạn có thể truyền một danh sách các ngôn ngữ cho engine: + +```python +engine.language = [ocr.Language.ENGLISH, ocr.Language.SPANISH] +``` + +Aspose OCR sẽ cố gắng nhận dạng văn bản trong cả hai ngôn ngữ trên cùng một trang. + +### 2. How do I handle low‑resolution scans? + +Nếu ảnh nguồn dưới 150 dpi, độ chính xác OCR có thể giảm. Tiền xử lý PDF bằng công cụ như `pdfimages` để trích xuất các trang, tăng độ phân giải chúng bằng Pillow, và đưa các ảnh có độ phân giải cao hơn trở lại `process_pdf`. + +### 3. Can I extract the plain text without creating a searchable PDF? + +Chắc chắn rồi. Đối tượng `PdfResult` cung cấp thuộc tính `text`: + +```python +plain_text = pdf_result.text +print(plain_text[:500]) # preview first 500 characters +``` + +Điều này đáp ứng nhu cầu **extract text pdf** khi bạn chỉ cần các ký tự thô. + +### 4. Is there a way to batch‑process a folder of PDFs? + +Có—đóng gói hàm `ocr_to_searchable` trong một vòng lặp đơn giản: + +```python +import glob + +for src in glob.glob("scans/*.pdf"): + dst = src.replace("scans/", "searchable/").replace(".pdf", "_searchable.pdf") + ocr_to_searchable(src, dst) +``` + +Bây giờ bạn có thể **chuyển đổi PDF đã quét** hàng loạt chỉ bằng một lệnh duy nhất. + +--- + +## Performance Tips + +- **Reuse the engine**: Tạo một `OcrEngine` mới cho mỗi tệp sẽ gây tốn tài nguyên. Khởi tạo một lần và tái sử dụng cho nhiều lần gọi. +- **Parallel processing**: Đối với các batch lớn, cân nhắc sử dụng `concurrent.futures.ThreadPoolExecutor` của Python—Aspose OCR an toàn với luồng cho các thao tác chỉ đọc. +- **Memory management**: Nếu bạn xử lý các PDF rất lớn (hàng trăm trang), gọi `gc.collect()` sau mỗi tệp để giải phóng bộ nhớ. + +--- + +## Conclusion + +Chúng ta đã bao quát **cách OCR PDF** trong Python, biến các bản quét thành **PDF có thể tìm kiếm**, và thậm chí chỉ ra cách **extract text PDF** trực tiếp. Với Aspose OCR, bạn có một engine đáng tin cậy xử lý tài liệu đa trang, đa ngôn ngữ và nhận dạng độ chính xác cao—tất cả chỉ với vài dòng code. + +Hãy thử trên các hợp đồng, hoá đơn hoặc tài liệu nghiên cứu đã lưu trữ của bạn. Khi đã nắm vững các kiến thức cơ bản, hãy khám phá các tính năng nâng cao—như từ điển tùy chỉnh, tiền xử lý ảnh, hoặc tích hợp kết quả vào chỉ mục tìm kiếm toàn văn như Elasticsearch. + +Có thêm câu hỏi về **ocr scanned pdf python** hoặc cần trợ giúp khắc phục một bản quét khó? Để lại bình luận bên dưới, và chúc bạn lập trình vui vẻ! + +--- + +![how to ocr pdf example](image-placeholder.png){alt="cách OCR pdf ví dụ"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md b/ocr/vietnamese/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md new file mode 100644 index 00000000..b5879bc9 --- /dev/null +++ b/ocr/vietnamese/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-12 +description: Cách thực hiện OCR nhanh chóng và chính xác. Học cách chạy OCR trên tài + liệu, trích xuất văn bản từ tiff, tải hình ảnh cho OCR và thiết lập ngôn ngữ OCR + trong Python. +draft: false +keywords: +- how to perform ocr +- run ocr on document +- extract text from tiff +- load image for ocr +- set OCR language +language: vi +og_description: Cách thực hiện OCR trong Python. Hướng dẫn này cho bạn biết cách chạy + OCR trên tài liệu, trích xuất văn bản từ tiff, tải hình ảnh để OCR và thiết lập + ngôn ngữ OCR. +og_title: Cách thực hiện OCR trên tài liệu TIFF – Hướng dẫn chi tiết +tags: +- OCR +- Python +- Image Processing +title: Cách thực hiện OCR trên tài liệu TIFF – Hướng dẫn từng bước +url: /vi/python-java/general/how-to-perform-ocr-on-a-tiff-document-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách Thực Hiện OCR trên Tài Liệu TIFF – Hướng Dẫn Đầy Đủ + +Bạn đã bao giờ tự hỏi **cách thực hiện OCR** trên một tệp TIFF đã quét mà không phải mất hàng giờ tìm kiếm thư viện phù hợp chưa? Bạn không phải là người duy nhất. Nhiều nhà phát triển gặp khó khăn khi cần trích xuất văn bản từ ảnh TIFF, đặc biệt khi hiệu năng và cài đặt ngôn ngữ quan trọng. + +Trong tutorial này chúng ta sẽ đi qua mọi thứ bạn cần biết: từ cài đặt gói OCR, tải ảnh để OCR, thiết lập ngôn ngữ OCR, cho tới **chạy OCR trên tài liệu** và lấy ra văn bản sạch. Khi hoàn thành, bạn sẽ có một script sẵn sàng chạy mà có thể đưa vào bất kỳ dự án nào. + +> **Mẹo chuyên nghiệp:** Mặc dù ví dụ sử dụng mô-đun `ocr` chung, cùng một khái niệm áp dụng cho Tesseract, EasyOCR, hoặc bất kỳ engine OCR hiện đại nào cung cấp API Python. + +--- + +## Những Gì Bạn Cần Chuẩn Bị + +- Python 3.8+ (bất kỳ phiên bản gần đây nào đều được) +- Thư viện OCR cung cấp lớp `OcrEngine` (ví dụ mẫu dùng gói `ocr` giả tưởng; hãy thay bằng gói thực tế của bạn) +- Một tệp TIFF đa trang mà bạn muốn xử lý (chúng ta sẽ gọi nó là `big_document.tif`) +- Một máy có ít nhất 4 lõi CPU nếu bạn dự định thiết lập số lượng luồng + +Không cần dịch vụ bên ngoài, không cần khóa cloud—chỉ cần code chạy cục bộ trong vài giây. + +--- + +![ví dụ cách thực hiện OCR](/images/ocr-example.png "cách thực hiện OCR trên tài liệu TIFF") + +*Văn bản thay thế ảnh: cách thực hiện OCR trên tài liệu TIFF – xem trước văn bản đã trích xuất.* + +--- + +## Bước 1: Cài Đặt và Nhập Thư Viện OCR + +Đầu tiên, hãy cài đặt thư viện vào máy của bạn. Hầu hết các gói OCR có trên PyPI, vì vậy một lệnh `pip install` đơn giản là đủ. + +```bash +pip install ocr‑engine # replace with the actual package name, e.g., pytesseract +``` + +Bây giờ nhập các lớp bạn sẽ cần. Nếu bạn dùng Tesseract, dòng import sẽ khác, nhưng phần còn lại của code vẫn giữ nguyên. + +```python +# Step 1: Import the OCR engine and image helper +import ocr # fictional package – swap with your real one +from ocr import OcrEngine, Image +``` + +*Lý do quan trọng:* Nhập đúng các ký hiệu ngay từ đầu giúp tránh xung đột namespace sau này và làm cho script dễ đọc hơn. + +--- + +## Bước 2: Tạo và Cấu Hình Engine OCR (Thiết Lập Ngôn Ngữ OCR) + +Cấu hình engine là nơi bạn **thiết lập ngôn ngữ OCR** để nhận dạng chính xác. Tiếng Anh là mặc định, nhưng bạn có thể chuyển sang tiếng Pháp, tiếng Đức, hoặc chế độ đa ngôn ngữ chỉ với một dòng. + +```python +# Step 2: Initialize the engine and set language +ocr_engine = OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # set OCR language to English +ocr_engine.set_thread_count(4) # limit processing to 4 CPU cores +ocr_engine.set_memory_limit(512 * 1024 * 1024) # 512 MB internal buffer +``` + +> **Tại sao lại dùng 4 luồng?** Hầu hết laptop hiện đại có ít nhất bốn lõi, và giới hạn số luồng giúp quá trình OCR không chiếm hết tài nguyên máy—đặc biệt hữu ích khi script chạy trên server chia sẻ. + +Nếu cần ngôn ngữ khác, chỉ cần thay `ocr.Language.ENGLISH` bằng `ocr.Language.FRENCH`, `ocr.Language.SPANISH`, v.v. + +--- + +## Bước 3: Tải Ảnh Để OCR (Load Image for OCR) + +Bây giờ chúng ta **tải ảnh để OCR**. Phương thức `Image.load` đọc tệp TIFF vào bộ nhớ, tự động xử lý tài liệu đa trang. + +```python +# Step 3: Load the TIFF image you want to process +image_path = "YOUR_DIRECTORY/big_document.tif" +image = Image.load(image_path) # load image for OCR +``` + +*Trường hợp đặc biệt:* Nếu tệp quá lớn, bạn có thể hết RAM. Khi đó, hãy cân nhắc tải từng trang một bằng `Image.load_page(page_number)` (nếu thư viện hỗ trợ). + +--- + +## Bước 4: Chạy OCR Trên Tài Liệu + +Với engine đã sẵn sàng và ảnh đã được tải, đã đến lúc **chạy OCR trên tài liệu**. Phương thức `process` thực hiện công việc nặng và trả về một đối tượng kết quả. + +```python +# Step 4: Execute OCR +ocr_result = ocr_engine.process(image) +``` + +Bên trong, engine sẽ chia ảnh thành các khối văn bản, chạy mô hình nhận dạng, và ghép các kết quả lại với nhau. Lệnh này là blocking, nghĩa là script sẽ chờ cho đến khi toàn bộ TIFF được xử lý—rất phù hợp cho các job batch. + +--- + +## Bước 5: Trích Xuất Văn Bản Từ TIFF và Kiểm Tra Kết Quả + +Cuối cùng, chúng ta **trích xuất văn bản từ TIFF** bằng cách truy cập thuộc tính `text` của kết quả. Hãy in ra 200 ký tự đầu tiên để kiểm tra nhanh. + +```python +# Step 5: Show a preview of the recognized text +preview = ocr_result.text[:200] # first 200 characters +print("Preview of OCR output:\n", preview) +``` + +**Kết quả mong đợi (ví dụ):** + +``` +Preview of OCR output: + In the United States, the Constitution guarantees the ... +``` + +Nếu bạn cần toàn bộ văn bản, chỉ cần dùng `ocr_result.text`. Đối với các bước xử lý tiếp theo, bạn có thể ghi nó vào file `.txt`: + +```python +with open("extracted_text.txt", "w", encoding="utf-8") as f: + f.write(ocr_result.text) +``` + +--- + +## Ví Dụ Hoàn Chỉnh + +Kết hợp tất cả lại, đây là một script sẵn sàng chạy. Thay tên gói placeholder bằng gói bạn đã cài đặt thực tế. + +```python +# -*- coding: utf-8 -*- +""" +How to Perform OCR on a TIFF Document – Complete Example +""" + +# Install the OCR library first: +# pip install ocr-engine # adjust to your actual package + +import ocr +from ocr import OcrEngine, Image + +def main(): + # 1️⃣ Initialize and configure the engine + engine = OcrEngine() + engine.language = ocr.Language.ENGLISH + engine.set_thread_count(4) + engine.set_memory_limit(512 * 1024 * 1024) + + # 2️⃣ Load the TIFF image + img_path = "YOUR_DIRECTORY/big_document.tif" + img = Image.load(img_path) + + # 3️⃣ Run OCR on the loaded image + result = engine.process(img) + + # 4️⃣ Show a short preview and save the full text + print("First 200 chars of OCR output:") + print(result.text[:200]) + + with open("extracted_text.txt", "w", encoding="utf-8") as out_file: + out_file.write(result.text) + + print("\n✅ Extraction complete – see 'extracted_text.txt' for full output.") + +if __name__ == "__main__": + main() +``` + +Chạy script bằng: + +```bash +python ocr_tiff_example.py +``` + +Bạn sẽ thấy một đoạn preview được in ra console và một file có tên `extracted_text.txt` chứa toàn bộ bản sao. + +--- + +## Câu Hỏi Thường Gặp & Trường Hợp Đặc Biệt + +- **Nếu TIFF chứa nhiều trang thì sao?** + Hầu hết các engine OCR xử lý mỗi trang như một ảnh riêng biệt. Thuộc tính `ocr_result.text` sẽ chứa ký tự xuống dòng giữa các trang. Nếu bạn cần xử lý từng trang, hãy lặp lại với `Image.load_page(page_number)`. + +- **Có thể xử lý PNG hoặc JPEG thay vì TIFF không?** + Chắc chắn rồi. Phương thức `Image.load` thường chấp nhận bất kỳ định dạng nào mà Pillow hoặc thư viện nền hỗ trợ. Chỉ cần đổi phần mở rộng file. + +- **Văn bản bị rối—có nên thay đổi ngôn ngữ không?** + Có. Bước **thiết lập ngôn ngữ OCR** rất quan trọng với tài liệu không phải tiếng Anh. Đảm bảo đã cài đặt gói ngôn ngữ (ví dụ, `tesseract‑lang‑fra` cho tiếng Pháp). + +- **Hết bộ nhớ?** + Giảm `set_memory_limit` hoặc xử lý từng trang một. Một số engine còn cho phép giảm kích thước ảnh trước khi nhận dạng. + +--- + +## Kết Luận + +Vậy là bạn đã có một hướng dẫn ngắn gọn, đầy đủ về **cách thực hiện OCR** trên tệp TIFF bằng Python. Chúng ta đã đi qua mọi bước: cài đặt thư viện, cấu hình engine (bao gồm **thiết lập ngôn ngữ OCR**), **tải ảnh để OCR**, **chạy OCR trên tài liệu**, và cuối cùng **trích xuất văn bản từ TIFF**. + +Hãy thoải mái thử nghiệm: điều chỉnh số luồng, chuyển đổi ngôn ngữ, hoặc đưa đầu ra OCR vào pipeline xử lý ngôn ngữ tự nhiên. Khi đã nắm vững nền tảng, bạn có thể mở rộng vô hạn. + +Có câu hỏi thêm? Hãy để lại bình luận bên dưới, chúc bạn lập trình vui vẻ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md b/ocr/vietnamese/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md new file mode 100644 index 00000000..df01b77f --- /dev/null +++ b/ocr/vietnamese/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/_index.md @@ -0,0 +1,180 @@ +--- +category: general +date: 2026-01-12 +description: Cách thiết lập ngôn ngữ trong Aspose OCR Python và trích xuất văn bản + từ hình ảnh bằng từ điển tùy chỉnh. Hướng dẫn từng bước cho các nhà phát triển. +draft: false +keywords: +- how to set language +- extract text from image +- how to extract text +- how to add dictionary +- how to process image +language: vi +og_description: cách thiết lập ngôn ngữ trong Aspose OCR Python và trích xuất văn + bản từ hình ảnh bằng từ điển tùy chỉnh. Học quy trình đầy đủ trong vài phút. +og_title: Cách thiết lập ngôn ngữ trong Aspose OCR Python – Hướng dẫn đầy đủ +tags: +- OCR +- Python +- Aspose +- Image Processing +title: Cách thiết lập ngôn ngữ trong Aspose OCR Python – Hướng dẫn đầy đủ +url: /vi/python-java/general/how-to-set-language-in-aspose-ocr-python-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# cách thiết lập ngôn ngữ trong Aspose OCR Python – Hướng dẫn đầy đủ + +Bạn đã bao giờ tự hỏi **cách thiết lập ngôn ngữ** khi sử dụng Aspose OCR trong Python chưa? Bạn không đơn độc—nhiều nhà phát triển gặp khó khăn này khi mô hình tiếng Anh mặc định không nhận diện được mã sản phẩm, số sê-ri, hoặc văn bản đa ngôn ngữ. Tin tốt là giải pháp vừa đơn giản vừa mạnh mẽ. Trong tutorial này, chúng ta sẽ hướng dẫn cấu hình ngôn ngữ, thêm từ điển tùy chỉnh, trích xuất văn bản từ hình ảnh, và cuối cùng xử lý hình ảnh để đạt kết quả OCR tốt nhất. + +Chúng ta sẽ bao quát mọi thứ bạn cần biết: từ cài đặt thư viện đến chạy một ví dụ đầy đủ in ra văn bản đã trích xuất. Khi hoàn thành, bạn sẽ có thể **trích xuất văn bản từ file hình ảnh** một cách tự tin, ngay cả khi nội dung chứa các mã bất thường hoặc ngôn ngữ hỗn hợp. + +## Yêu cầu trước + +Trước khi bắt đầu, hãy chắc chắn rằng bạn đã có: + +* Python 3.8+ được cài đặt (mã sử dụng f‑strings, vì vậy các phiên bản cũ hơn sẽ không hoạt động). +* Giấy phép Aspose OCR for Python hoạt động hoặc khóa dùng thử miễn phí. +* Gói `asposeocr` đã được cài đặt qua `pip install asposeocr`. +* Một hình ảnh mẫu (`product_label.png`) chứa văn bản bạn muốn đọc. + +Nếu bạn đã có những thứ trên, tuyệt vời—tiếp tục nhé. Nếu chưa, hãy lấy bản dùng thử miễn phí từ trang web của Aspose và chạy lệnh cài đặt; chỉ mất một phút. + +## Bước 1: Nhập mô-đun Aspose OCR + +Điều đầu tiên bạn cần làm là đưa các lớp OCR vào script của mình. Đây là nền tảng cho **cách thiết lập ngôn ngữ** sau này. + +```python +# Step 1: Import the Aspose OCR module +import asposeocr as ocr +``` + +> **Mẹo chuyên nghiệp:** Giữ các lệnh import ở đầu file. Điều này giúp script dễ đọc hơn, đặc biệt khi bạn quay lại sau. + +## Bước 2: Cách thiết lập ngôn ngữ + +Mặc định, Aspose OCR giả định là tiếng Anh. Nếu hình ảnh của bạn chứa tiếng Pháp, tiếng Đức, hoặc bất kỳ ngôn ngữ nào khác, bạn cần chỉ định cho engine ngôn ngữ nào sẽ sử dụng. Đây là nơi từ khóa chính phát huy tác dụng. + +```python +# Step 2: Create an OCR engine and set the recognition language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # change to ocr.Language.FRENCH, etc. +``` + +Tại sao lại quan trọng? Các engine OCR dựa vào các mô hình ký tự riêng cho từng ngôn ngữ. Cung cấp ngôn ngữ đúng sẽ cải thiện độ chính xác đáng kể—đặc biệt đối với các ký tự có dấu hoặc các ligature đặc thù của ngôn ngữ. + +> **Lưu ý:** Nếu bạn cần hỗ trợ nhiều ngôn ngữ đồng thời, có thể truyền danh sách như `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +## Bước 3: Cách thêm từ điển (từ người dùng định nghĩa) + +Đôi khi engine OCR đọc sai các mã sản phẩm như “AB‑1234”. Bạn có thể tăng độ tin cậy bằng cách cung cấp một từ điển tùy chỉnh. Điều này trả lời trực tiếp **cách thêm từ điển** trong Aspose OCR. + +```python +# Step 3: Supply product codes that must be recognized with higher confidence +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) +``` + +Engine sẽ coi những từ này là “đã biết” và sẽ ưu tiên chúng hơn các ký tự trông giống nhau. Điều này đặc biệt hữu ích cho các số SKU, mã sê-ri, hoặc tên thương hiệu không thuộc bất kỳ ngôn ngữ tự nhiên nào. + +## Bước 4: Cách xử lý hình ảnh + +Khi engine đã được cấu hình, bạn cần tải hình ảnh muốn phân tích. Điều này giải quyết **cách xử lý hình ảnh** một cách sạch sẽ, có thể lặp lại. + +```python +# Step 4: Load the image containing the product label +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") +``` + +Nếu bạn đang làm việc với PDF, có thể chuyển mỗi trang thành hình ảnh trước—Aspose OCR hỗ trợ tính năng này ngay từ đầu. + +## Bước 5: Cách trích xuất văn bản từ hình ảnh + +Với mọi thứ đã sẵn sàng, bước cuối cùng là chạy OCR và lấy văn bản. Đây là cốt lõi của **cách trích xuất văn bản** từ một hình ảnh. + +```python +# Step 5: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) + +# Step 6: Print the extracted text +print(ocr_result.text) +``` + +Khi bạn chạy script, bạn sẽ thấy kết quả tương tự như: + +``` +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Nếu đầu ra bị rối, hãy kiểm tra lại rằng bạn đã thiết lập đúng ngôn ngữ và từ điển tùy chỉnh chứa đúng các chuỗi bạn mong đợi. + +## Ví dụ làm việc đầy đủ + +Kết hợp tất cả lại, dưới đây là script hoàn chỉnh bạn có thể sao chép‑dán vào file có tên `extract_label.py`. Đừng quên thay `YOUR_DIRECTORY` bằng đường dẫn thực tế tới hình ảnh của bạn. + +```python +import asposeocr as ocr + +# Create OCR engine and set language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH # Change if needed + +# Add custom dictionary entries +ocr_engine.set_user_defined_words(["AB-1234", "ZX-9876", "SKU-001"]) + +# Load the target image +image = ocr.Image.load("YOUR_DIRECTORY/product_label.png") + +# Perform OCR +ocr_result = ocr_engine.process(image) + +# Output the result +print("=== OCR Extraction Result ===") +print(ocr_result.text) +``` + +### Kết quả mong đợi + +``` +=== OCR Extraction Result === +Product: AB-1234 +Batch: ZX-9876 +SKU: SKU-001 +``` + +Nếu bạn thấy các mã chính xác mà bạn đã thêm vào từ điển, bạn đã thành công trong việc nắm vững **cách thiết lập ngôn ngữ**, **cách thêm từ điển**, và **cách trích xuất văn bản từ hình ảnh** bằng Aspose OCR. + +## Xử lý các trường hợp phổ biến + +| Tình huống | Cách thực hiện | +|-----------|----------------| +| **Hình ảnh mờ** | Tiền xử lý bằng `ocr.Image.apply_filter()` để làm nét trước khi gọi `process()`. | +| **Nhiều ngôn ngữ trong một hình ảnh** | Đặt `ocr_engine.language = ocr.Language.ENGLISH | ocr.Language.SPANISH`. | +| **PDF lớn** | Lặp qua từng trang, chuyển thành `ocr.Image`, và gọi `process()` cho mỗi trang. | +| **Ký tự không mong muốn** | Thêm chúng vào danh sách từ người dùng định nghĩa; Aspose OCR sẽ coi chúng là token có độ tin cậy cao. | + +Những mẹo này giúp pipeline OCR của bạn luôn ổn định, ngay cả khi dữ liệu đầu vào không hoàn hảo. + +## Tham chiếu hình ảnh + +![how to set language in Aspose OCR example](image.png "Screenshot showing how to set language in Aspose OCR Python example") + +*Alt text:* **cách thiết lập ngôn ngữ** screenshot minh họa việc gán thuộc tính ngôn ngữ trong IDE Python. + +## Kết luận + +Bạn đã biết **cách thiết lập ngôn ngữ** trong Aspose OCR Python, cách **thêm từ điển** và các bước chính để **trích xuất văn bản từ hình ảnh** và **xử lý hình ảnh** để đạt kết quả tối ưu. Ví dụ đầy đủ ở trên có thể được đưa vào bất kỳ dự án nào, điều chỉnh cho các ngôn ngữ khác, và mở rộng để xử lý hàng loạt hoặc đầu vào PDF. + +Sẵn sàng cho thử thách tiếp theo? Hãy thử thay `ocr.Language.ENGLISH` bằng `ocr.Language.FRENCH` và quan sát sự cải thiện độ chính xác trên các nhãn tiếng Pháp. Hoặc thử nghiệm phương pháp `set_user_defined_words` để bao gồm toàn bộ danh mục sản phẩm—engine OCR của bạn sẽ coi mỗi mục là một khớp có độ tin cậy cao. + +Chúc lập trình vui vẻ, và hy vọng kết quả OCR của bạn luôn trong suốt như pha lê! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md b/ocr/vietnamese/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md new file mode 100644 index 00000000..aee6cffa --- /dev/null +++ b/ocr/vietnamese/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/_index.md @@ -0,0 +1,206 @@ +--- +category: general +date: 2026-01-12 +description: Xử lý ghi chú viết tay trong Python bằng Aspose OCR – tìm hiểu cách trích + xuất văn bản từ hình ảnh jpg một cách nhanh chóng. +draft: false +keywords: +- process handwritten notes +- how to extract text +- recognize text from jpg +- handwritten ocr python +- load image for ocr +language: vi +og_description: Xử lý ghi chú viết tay trong Python với Aspose OCR. Tìm hiểu cách + trích xuất văn bản từ hình ảnh jpg, nhận dạng OCR viết tay và tải hình ảnh để OCR. +og_title: Xử lý ghi chú viết tay bằng Python – Hướng dẫn OCR toàn diện +tags: +- OCR +- Python +- Aspose +title: Xử lý ghi chú viết tay bằng Python – Hướng dẫn OCR viết tay +url: /vi/python-java/general/process-handwritten-notes-with-python-handwritten-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Xử lý Ghi chú viết tay với Python – Hướng dẫn OCR viết tay + +Nếu bạn cần **xử lý ghi chú viết tay** trong Python, hướng dẫn này sẽ chỉ cho bạn cách thực hiện. Cho dù các ghi chú nằm trên biên lai đã quét, ảnh bảng trắng trong lớp học, hay một bức ảnh nhanh của danh sách việc cần làm, bạn sẽ học **cách trích xuất văn bản** từ những hình ảnh đó mà không gặp khó khăn. + +Chúng tôi sẽ hướng dẫn từng bước—nhập thư viện Aspose OCR, tải một tệp JPG, chạy engine, và xử lý các dòng có độ tin cậy thấp. Khi hoàn thành, bạn sẽ có một script sẵn sàng chạy có thể **nhận dạng văn bản từ jpg** và cung cấp cho bạn các chuỗi sạch, có thể sử dụng được. + +## Những gì bạn sẽ nhận được + +- Một mẫu mã hoàn chỉnh, có thể chạy ngay mà không cần cấu hình thêm. +- Hiểu tại sao mỗi dòng mã quan trọng, không chỉ biết nó làm gì. +- Mẹo xử lý chữ viết tay không ổn định và kết quả có độ tin cậy thấp. +- Hướng dẫn mở rộng script cho PDF, nhiều hình ảnh, hoặc gói ngôn ngữ tùy chỉnh. + +*Yêu cầu trước*: Python 3.8+ đã được cài đặt, giấy phép Aspose OCR hợp lệ (hoặc bản dùng thử miễn phí), và một tệp hình ảnh có tên `handwritten_notes.jpg` trong thư mục dự án của bạn. + +![Process handwritten notes example](https://example.com/handwritten-notes.png "process handwritten notes") +*Alt text: process handwritten notes – hình ảnh mẫu hiển thị văn bản viết tay đã sẵn sàng cho OCR.* + +## Xử lý Ghi chú viết tay: Cài đặt Engine OCR + +### Tại sao bước này quan trọng +Engine OCR là bộ não của quá trình nhận dạng. Việc chọn ngôn ngữ phù hợp và khởi tạo đối tượng đúng cách đảm bảo engine biết rằng nó cần tìm ký tự tiếng Anh và có thể xử lý những đặc điểm riêng của chữ viết tay. + +```python +# Step 1: Import the Aspose OCR library +import asposeocr as ocr + +# Step 2: Create an OCR engine instance +ocr_engine = ocr.OcrEngine() + +# Step 3: Tell the engine which language to expect +ocr_engine.language = ocr.Language.ENGLISH +``` + +**Mẹo chuyên nghiệp:** Nếu bạn dự đoán ghi chú bằng ngôn ngữ khác, hãy thay `ocr.Language.ENGLISH` bằng enum phù hợp (ví dụ, `ocr.Language.FRENCH`). Engine sẽ tự động tải bộ ký tự cần thiết. + +--- + +## Cách trích xuất văn bản từ hình ảnh JPG + +### Tải hình ảnh – rào cản đầu tiên +Trước khi engine có thể thực hiện bất kỳ công việc nào, nó cần một biểu diễn bitmap của tệp JPG của bạn. Aspose cung cấp phương thức tĩnh `load` tiện lợi để đọc tệp vào một đối tượng `Image`. + +```python +# Step 4: Load the image that contains handwritten notes +input_image = ocr.Image.load("YOUR_DIRECTORY/handwritten_notes.jpg") +``` + +*Why not use OpenCV or Pillow?* +Các thư viện đó rất tốt cho tiền xử lý, nhưng `Image.load` của Aspose đảm bảo định dạng pixel chính xác mà engine OCR yêu cầu, loại bỏ một nguồn thường gặp của độ sâu màu không khớp. + +--- + +## Nhận dạng văn bản từ JPG với Handwritten OCR Python + +### Chạy engine OCR +Bây giờ engine và hình ảnh đã sẵn sàng, chúng ta khởi động quá trình nhận dạng. Phương thức `process` trả về một đối tượng `OcrResult` chứa danh sách các đối tượng `Line`, mỗi dòng có điểm tin cậy riêng. + +```python +# Step 5: Run OCR processing on the loaded image +ocr_result = ocr_engine.process(input_image) +``` + +**Đi gì đang diễn ra bên trong?** +Aspose OCR chạy một mô hình deep‑learning được đào tạo trên hàng triệu mẫu chữ viết tay. Nó phân đoạn hình ảnh thành các dòng, sau đó thành ký tự, cuối cùng ghép lại chuỗi văn bản có khả năng cao nhất cho mỗi dòng. + +--- + +## Tải hình ảnh cho OCR – Xử lý kết quả có độ tin cậy thấp + +### Tại sao bạn nên quan tâm đến độ tin cậy +OCR viết tay không bao giờ đạt 100 % hoàn hảo. Điểm tin cậy dưới 75 % thường có nghĩa là engine gặp khó khăn với thứ tự nét hoặc nhiễu nền. Bằng cách lọc các dòng này, bạn có thể quyết định có nên yêu cầu người dùng xác nhận hay áp dụng tiền xử lý hình ảnh bổ sung. + +```python +# Step 6: Iterate over each recognized line and handle low‑confidence results +for recognized_line in ocr_result.lines: + if recognized_line.confidence < 75: # confidence threshold (0‑100) + print("Low‑confidence line:", recognized_line.text) + else: + print("Accepted:", recognized_line.text) +``` + +**Kết quả điển hình** (kết quả của bạn có thể khác): + +``` +Accepted: Meeting notes from 03/12 +Low‑confidence line: - Discuss budget $2k +Accepted: - Review project timeline +Low‑confidence line: - 5️⃣ tasks pending +``` + +Chú ý cách script tách rõ ràng văn bản đáng tin cậy khỏi các phần không ổn. Bạn có thể sau này đưa các dòng có độ tin cậy thấp vào một lần xử lý thứ hai với bộ lọc tăng cường hình ảnh (ví dụ, tăng độ tương phản) hoặc trình bày chúng cho người kiểm duyệt. + +--- + +## Toàn bộ Script – Sẵn sàng chạy + +Dưới đây là toàn bộ chương trình, sẵn sàng để sao chép‑dán. Lưu nó dưới tên `handwritten_ocr.py` và chạy `python handwritten_ocr.py`. + +```python +# -*- coding: utf-8 -*- +""" +Process Handwritten Notes with Aspose OCR – Complete Example +""" + +import asposeocr as ocr + +def main(): + # Initialize OCR engine and set language + ocr_engine = ocr.OcrEngine() + ocr_engine.language = ocr.Language.ENGLISH + + # Load the target image (replace with your actual path) + image_path = "YOUR_DIRECTORY/handwritten_notes.jpg" + input_image = ocr.Image.load(image_path) + + # Run OCR + ocr_result = ocr_engine.process(input_image) + + # Output handling + print("\n--- OCR Results ---") + for line in ocr_result.lines: + if line.confidence < 75: + print(f"Low‑confidence line ({line.confidence}%): {line.text}") + else: + print(f"Accepted ({line.confidence}%): {line.text}") + +if __name__ == "__main__": + main() +``` + +**Hành vi mong đợi:** +- Script in ra mỗi dòng cùng với phần trăm độ tin cậy. +- Các dòng trên 75 % hiển thị là “Accepted”, trong khi phần còn lại được đánh dấu để xem xét. +- Không cần phụ thuộc bổ sung nào ngoài `asposeocr`. + +--- + +## Câu hỏi thường gặp & Trường hợp đặc biệt + +### Nếu hình ảnh của tôi là PNG hoặc BMP thì sao? +Aspose OCR tự động phát hiện định dạng, vì vậy bạn chỉ cần thay đổi phần mở rộng tệp trong `image_path`. Không cần thay đổi mã. + +### Chữ viết tay của tôi rất lộn xộn—làm sao cải thiện độ chính xác? +1. **Tiền xử lý hình ảnh** – tăng độ tương phản, loại bỏ bóng nền (OpenCV có thể giúp). +2. **Tăng ngưỡng độ tin cậy** – đặt ở 80 % nếu bạn chỉ muốn các dòng gần như hoàn hảo. +3. **Huấn luyện mô hình tùy chỉnh** – Aspose cung cấp tính năng “custom language pack” cho các kiểu chữ viết tay chuyên biệt. + +### Tôi có thể xử lý nhiều hình ảnh trong một lần chạy không? +Chắc chắn. Đặt các bước tải và xử lý trong một vòng lặp `for` qua danh sách các đường dẫn tệp. Hãy nhớ tái sử dụng cùng một đối tượng `ocr_engine` để tăng tốc. + +### Điều này có hoạt động trên macOS/Linux không? +Có. Aspose OCR cung cấp các gói wheels cho mọi nền tảng chính. Chỉ cần `pip install asposeocr` và bạn đã sẵn sàng. + +--- + +## Các bước tiếp theo & Chủ đề liên quan + +- **Cách trích xuất văn bản từ PDF** – một khi bạn có pipeline OCR, việc đưa các trang PDF vào `ocr.Image.load` chỉ cần một dòng thay đổi. +- **Tích hợp với cơ sở dữ liệu** – lưu mỗi dòng được chấp nhận vào SQLite hoặc PostgreSQL để có thể tìm kiếm ghi chú. +- **OCR thời gian thực trên di động** – kết hợp script này với Flask hoặc FastAPI để mở một endpoint REST mà các ứng dụng di động có thể gọi. + +Mỗi phần mở rộng này dựa trên các khái niệm cốt lõi mà chúng tôi đã đề cập: **process handwritten notes**, **how to extract text**, **recognize text from jpg**, và **load image for OCR**. + +--- + +## Kết luận + +Bây giờ bạn đã có một giải pháp toàn diện, đầu‑tới‑cuối cho **process handwritten notes** bằng Python và Aspose OCR. Hướng dẫn đã đi qua việc cài đặt engine, tải JPG, chạy nhận dạng, và xử lý các kết quả có độ tin cậy thấp—tất cả trong một script sao chép‑dán duy nhất. + +Từ đây, hãy thử nghiệm các kỹ thuật tiền xử lý hình ảnh khác nhau, tăng ngưỡng độ tin cậy, hoặc mở rộng giải pháp để xử lý hàng trăm ghi chú theo lô. Không có giới hạn, và đoạn mã bạn vừa học là bệ phóng của bạn. + +*Chúc lập trình vui vẻ, và hy vọng các ghi chú viết tay của bạn cuối cùng sẽ trở thành văn bản có thể tìm kiếm!* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md b/ocr/vietnamese/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md new file mode 100644 index 00000000..366f0570 --- /dev/null +++ b/ocr/vietnamese/python-java/general/python-ocr-tutorial-extract-table-text-from-images/_index.md @@ -0,0 +1,235 @@ +--- +category: general +date: 2026-01-12 +description: Hướng dẫn OCR Python cho thấy cách trích xuất văn bản bảng từ hình ảnh. + Học cách đọc bảng từ hình ảnh và trích xuất văn bản đã chọn bằng Aspose OCR. +draft: false +keywords: +- python ocr tutorial +- extract table text +- read table from image +- extract selected text +- how to extract table +language: vi +og_description: Hướng dẫn OCR Python dạy bạn cách trích xuất văn bản bảng từ hình + ảnh, đọc bảng từ hình ảnh và trích xuất văn bản đã chọn bằng Aspose OCR. +og_title: 'Hướng dẫn OCR Python: Trích xuất văn bản bảng từ hình ảnh' +tags: +- OCR +- Python +- AsposeOCR +title: 'Hướng dẫn OCR Python: Trích xuất văn bản bảng từ hình ảnh' +url: /vi/python-java/general/python-ocr-tutorial-extract-table-text-from-images/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hướng Dẫn Python OCR: Trích Xuất Văn Bản Bảng Từ Hình Ảnh + +Bạn đã bao giờ cần một **python ocr tutorial** thực sự chỉ cho bạn cách lấy một bảng ra từ mẫu quét chưa? Bạn không phải là người duy nhất. Hầu hết các hướng dẫn chỉ dừng lại ở việc trích xuất văn bản chung, để bạn phải đoán cách tách lưới dữ liệu gọn gàng mà bạn quan tâm. + +Trong hướng dẫn này, chúng ta sẽ đi qua một kịch bản thực tế: đọc một bảng từ hình ảnh, trích xuất chỉ văn bản đã chọn mà bạn cần, và cuối cùng in ra kết quả. Trong quá trình này, chúng tôi sẽ cung cấp các mẹo về **how to extract table** một cách đáng tin cậy, để bạn không phải tự phát triển lại mỗi lần. + +## Những Điều Bạn Sẽ Học + +- Cách cài đặt Aspose OCR cho Python. +- Cách định nghĩa một vùng hình chữ nhật chứa bảng. +- Các bước chính xác để **extract table text** và **read table from image**. +- Mẹo xử lý đa ngôn ngữ hoặc bố cục bảng không đều. +- Một script hoàn chỉnh, có thể chạy được mà bạn có thể đưa vào dự án ngay hôm nay. + +**Yêu cầu trước** +- Python 3.8 hoặc mới hơn. +- Hiểu biết cơ bản về các khái niệm OCR (không cần chuyên môn sâu). +- Một hình ảnh PNG hoặc JPEG chứa bảng rõ ràng (chúng tôi sẽ gọi nó là `form_with_table.png`). + +Nếu bạn đã có những thứ này, hãy bắt đầu—không có phần thừa, chỉ có mã thực tế. + +![python ocr tutorial example of table region](table_region_example.png){alt="ví dụ tutorial python ocr hiển thị vùng bảng"} + +## Bước 1: Cài Đặt và Nhập Aspose OCR + +Đầu tiên: bạn cần thư viện Aspose OCR. Gói này có trên PyPI, vì vậy một lệnh `pip` duy nhất sẽ thực hiện công việc. + +```bash +pip install aspose-ocr +``` + +Bây giờ nhập mô-đun và bất kỳ trợ giúp nào bạn cần. + +```python +# Step 1: Import the Aspose OCR package +import asposeocr as ocr +``` + +*Mẹo chuyên nghiệp:* Giữ các phụ thuộc của bạn trong tệp `requirements.txt`. Điều này giúp tái tạo môi trường một cách dễ dàng. + +## Bước 2: Khởi Tạo Engine OCR (Python OCR Tutorial Core) + +Tạo engine là trung tâm của bất kỳ **python ocr tutorial** nào. Ở đây chúng tôi cũng đặt ngôn ngữ mặc định là tiếng Anh—bạn có thể thay đổi sau. + +```python +# Step 2: Create an OCR engine and set the default language +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +Tại sao phải đặt ngôn ngữ? Độ chính xác OCR có thể tăng đáng kể khi engine biết các ký tự nào sẽ xuất hiện. Nếu bạn đang xử lý các mẫu đa ngôn ngữ, bạn có thể đặt danh sách ngôn ngữ hoặc ghi đè theo vùng (xem phần sau). + +## Bước 3: Tải Hình Ảnh Của Bạn + +Aspose OCR hoạt động với hầu hết các định dạng ảnh phổ biến. Chỉ cần chỉ đến đường dẫn tệp, và bạn sẽ có một đối tượng `Image` sẵn sàng để xử lý. + +```python +# Step 3: Load the image that contains the form with the table +image_page = ocr.Image.load("YOUR_DIRECTORY/form_with_table.png") +``` + +*Trường hợp đặc biệt:* Ảnh lớn (hơn 5 MB) có thể làm chậm quá trình xử lý. Hãy cân nhắc thay đổi kích thước hoặc nén chúng trước khi OCR nếu hiệu năng trở thành vấn đề. + +## Bước 4: Định Nghĩa Vùng Bảng (Read Table from Image) + +Bây giờ là phần thú vị: cho engine biết *ở đâu* bảng nằm. Bạn cung cấp một `OcrRegion` với một `Rectangle` (x, y, width, height). Các tọa độ dựa trên pixel, vì vậy bạn có thể cần thử nghiệm một chút. + +```python +# Step 4: Define the rectangular area where the table is located +# (x, y, width, height) – adjust these values for your image +table_region = ocr.OcrRegion( + image_page, + ocr.Rectangle(120, 340, 800, 450) +) + +# Optional: override language for this specific region +table_region.language = ocr.Language.ENGLISH +``` + +Tại sao lại dùng vùng? Bằng cách giới hạn OCR chỉ trong khu vực bảng, chúng ta **extract selected text** nhanh hơn và tránh nhiễu từ các nhãn hoặc đồ họa xung quanh. Điều này cũng cải thiện độ chính xác vì engine có thể tập trung vào bố cục đồng nhất. + +## Bước 5: Chạy OCR trên Vùng Đã Định Nghĩa + +Với vùng đã thiết lập, chúng ta gọi `process_region`. Phương thức này trả về một đối tượng `OcrResult` chứa văn bản thô, điểm tin cậy, và thậm chí các hộp bao nếu bạn cần sau này. + +```python +# Step 5: Run OCR only on the defined region +region_result = ocr_engine.process_region(table_region) +``` + +Nếu bạn cần trích xuất nhiều bảng, chỉ cần lặp lại Các Bước 4‑5 với các hình chữ nhật khác nhau. + +## Bước 6: Xuất Văn Bản Bảng Đã Trích Xuất + +Cuối cùng, in—hoặc lưu—đại diện văn bản của bảng. Aspose OCR trả về văn bản thuần với các ngắt dòng thường phù hợp với các hàng, giúp xử lý sau trở nên đơn giản. + +```python +# Step 6: Output the extracted table text +print("Table text:\n", region_result.text) +``` + +**Kết quả mong đợi** (ví dụ): + +``` +Table text: + Item Qty Price + Apple 10 $1.20 + Banana 5 $0.80 + Orange 8 $1.00 +``` + +Bây giờ bạn có thể đưa chuỗi này vào các bộ phân tích `csv`, pandas DataFrames, hoặc bất kỳ pipeline phân tích nào phía sau. + +## Ví Dụ Hoạt Động Đầy Đủ + +Kết hợp tất cả lại, đây là script hoàn chỉnh bạn có thể chạy ngay. Thay thế `YOUR_DIRECTORY/form_with_table.png` bằng đường dẫn thực tế tới hình ảnh của bạn. + +```python +# -*- coding: utf-8 -*- +""" +Python OCR Tutorial: Extract Table Text from Images +--------------------------------------------------- +A self‑contained example that demonstrates how to read a table from an image +using Aspose OCR for Python. +""" + +# Install the library first: +# pip install aspose-ocr + +import asposeocr as ocr + +def extract_table(image_path, rect): + """ + Extracts text from a rectangular region that contains a table. + + :param image_path: Path to the PNG/JPEG image. + :param rect: Tuple (x, y, width, height) defining the table region. + :return: Plain‑text representation of the table. + """ + # Initialise OCR engine with English language + engine = ocr.OcrEngine() + engine.language = ocr.Language.ENGLISH + + # Load the image + img = ocr.Image.load(image_path) + + # Define the region (override language if needed) + region = ocr.OcrRegion(img, ocr.Rectangle(*rect)) + region.language = ocr.Language.ENGLISH # optional per‑region override + + # Process only this region + result = engine.process_region(region) + + return result.text + +if __name__ == "__main__": + # Adjust these coordinates to match your table location + table_rect = (120, 340, 800, 450) # x, y, width, height + + # Path to your image file + img_file = "YOUR_DIRECTORY/form_with_table.png" + + extracted_text = extract_table(img_file, table_rect) + print("=== Extracted Table Text ===") + print(extracted_text) +``` + +Chạy script bằng `python extract_table.py`. Nếu mọi thứ khớp, bạn sẽ thấy bảng được in ra console. + +## Câu Hỏi Thường Gặp & Xử Lý Trường Hợp Đặc Biệt + +**Nếu bảng không phải là hình chữ nhật hoàn hảo?** +Bạn có thể chia bảng thành nhiều vùng chồng lên nhau hoặc dùng một hình chữ nhật lớn hơn bao phủ toàn bộ khu vực và sau đó xử lý văn bản (ví dụ, tách theo ngắt dòng). + +**Tôi có thể trích xuất chỉ các cột cụ thể không?** +Sau khi có toàn bộ văn bản bảng, sử dụng `csv` hoặc `pandas` của Python để cắt ra các cột bạn quan tâm. Bước OCR tự nó trả về mọi thứ trong hình chữ nhật. + +**Làm thế nào để làm việc với các bảng không phải tiếng Anh?** +Đặt `ocr_engine.language` (hoặc `region.language`) thành enum phù hợp, chẳng hạn `ocr.Language.FRENCH` hoặc kết hợp nhiều ngôn ngữ bằng `ocr.Language.ENGLISH | ocr.Language.SPANISH`. + +**Có cách nào để lấy hộp bao cho mỗi ô không?** +Aspose OCR có thể trả về `region_result.words` trong đó mỗi từ có một hộp bao. Bạn sẽ cần ánh xạ các hộp này lại thành lưới—hữu ích cho phân tích bố cục nâng cao. + +## Mẹo Để Độ Chính Xác Tốt Hơn + +- **Làm sạch hình ảnh**: Nhị phân hoá hoặc tăng độ tương phản trước khi đưa vào OCR. Các thư viện như Pillow có thể giúp. +- **Tránh các artefact nén**: Lưu bản quét dưới dạng PNG khi có thể. +- **Chú ý DPI**: 300 dpi là mức lý tưởng; giá trị thấp hơn có thể gây mất ký tự. +- **Thử các kích thước hình chữ nhật khác nhau**: Hình chữ nhật hơi lớn hơn thường bắt được các ký tự lẻ tẻ thuộc bảng. + +## Các Bước Tiếp Theo + +Bây giờ bạn đã thành thạo **how to extract table** dữ liệu với Aspose OCR, bạn có thể khám phá: + +- Chuyển đổi văn bản đã trích xuất thành tệp CSV bằng mô-đun `csv` của Python. +- Đưa dữ liệu vào **pandas** DataFrame để phân tích. +- Sử dụng OCR để đọc các mẫu viết tay (cần engine khác hoặc đào tạo thêm). +- Tự động xử lý hàng loạt hàng chục mẫu quét bằng một vòng lặp `for` đơn giản. + +Mỗi phần mở rộng này dựa trên các khái niệm cốt lõi trong **python ocr tutorial** này, vì vậy bạn đã sẵn sàng để mở rộng. + +*Chúc lập trình vui vẻ! Nếu gặp bất kỳ khó khăn nào, hãy để lại bình luận bên dưới—tôi sẽ sẵn sàng giúp bạn tinh chỉnh quá trình trích xuất.* + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md b/ocr/vietnamese/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md new file mode 100644 index 00000000..7dd987d9 --- /dev/null +++ b/ocr/vietnamese/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/_index.md @@ -0,0 +1,264 @@ +--- +category: general +date: 2026-01-12 +description: Chạy OCR trên các tệp PNG nhanh chóng với Python. Tìm hiểu cách trích + xuất văn bản từ hình ảnh và hoá đơn, và tải hình ảnh để OCR bằng Aspose.OCR. +draft: false +keywords: +- run OCR on PNG +- extract text from image +- extract text from invoice +- load image for OCR +- Aspose OCR Python +- JSON to CSV conversion +language: vi +og_description: Chạy OCR trên PNG ngay lập tức. Hướng dẫn này chỉ cách trích xuất + văn bản từ hình ảnh và hoá đơn, tải hình ảnh để OCR, và lưu kết quả dưới dạng JSON + và CSV. +og_title: Chạy OCR trên PNG – Hướng dẫn Python đầy đủ +tags: +- OCR +- Python +- Image Processing +title: Chạy OCR trên PNG – Hướng dẫn Python toàn diện để trích xuất văn bản từ hình + ảnh +url: /vi/python-java/general/run-ocr-on-png-complete-python-guide-to-extract-text-from-im/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Chạy OCR trên PNG – Hướng Dẫn Python Đầy Đủ Để Trích Xuất Văn Bản Từ Hình Ảnh + +Bạn đã bao giờ cần **run OCR on PNG** nhưng không chắc thư viện nào sẽ cho kết quả sạch sẽ, có cấu trúc? Bạn không phải là người duy nhất. Trong nhiều dự án thực tế—như tự động hoá hoá đơn hoặc quét biên lai—bước đầu tiên là **extract text from image** và PNG là định dạng phổ biến vì nó giữ chất lượng không mất dữ liệu. + +Trong hướng dẫn này, chúng ta sẽ đi qua một ví dụ thực hành sử dụng gói Aspose.OCR cho Python. Khi kết thúc, bạn sẽ biết cách **load image for OCR**, lấy ra từng dòng văn bản, chuyển dữ liệu thành một đối tượng JSON gọn gàng, và thậm chí xuất ra CSV để xử lý tiếp theo. Không có phần thừa, chỉ có giải pháp thực tế, sẵn sàng chạy. + +## Những Điều Bạn Sẽ Học + +- Cách cài đặt và import thư viện Aspose.OCR. +- Các bước chính xác để **run OCR on PNG** và xử lý đối tượng kết quả. +- Cách **extract text from invoice** và định dạng đầu ra dưới dạng JSON hoặc CSV. +- Mẹo xử lý ảnh độ tương phản thấp, tài liệu đa ngôn ngữ và điểm tin cậy. +- Một mẫu mã hoàn chỉnh, sao chép‑dán mà bạn có thể chạy ngay hôm nay. + +> **Prerequisite:** Python 3.8+ và kiến thức cơ bản về pip. Nếu bạn chưa từng dùng Aspose, đừng lo—hướng dẫn này bao gồm mọi thứ bạn cần để bắt đầu. + +--- + +## Bước 1 – Cài Đặt Aspose.OCR và Chuẩn Bị Môi Trường + +Trước khi chúng ta có thể **run OCR on PNG**, thư viện cần phải được cài đặt trên hệ thống của bạn. + +```bash +pip install aspose-ocr +``` + +> **Pro tip:** Sử dụng môi trường ảo (`python -m venv venv`) để cô lập các phụ thuộc. Điều này ngăn xung đột phiên bản khi bạn làm việc với nhiều dự án. + +Sau khi cài đặt, import các module chúng ta sẽ cần: + +```python +# Step 1: Import the OCR and JSON modules +import asposeocr as ocr +import json +``` + +## Bước 2 – Tạo Engine OCR và Đặt Ngôn Ngữ + +The OCR engine is the core component that actually reads the pixels. For most English invoices, you’ll want the English language pack: + +```python +# Step 2: Create an OCR engine and set the language to English +ocr_engine = ocr.OcrEngine() +ocr_engine.language = ocr.Language.ENGLISH +``` + +> **Why this matters:** Việc chỉ định ngôn ngữ sẽ thu hẹp bộ ký tự, tăng độ chính xác và tốc độ xử lý. Nếu bạn cần xử lý hoá đơn đa ngôn ngữ, chỉ cần thay `ocr.Language.ENGLISH` bằng enum phù hợp. + +## Bước 3 – Tải Ảnh Để OCR + +Now we’ll **load image for OCR**. The `Image.load` method accepts a file path, and it works with PNG, JPEG, BMP, and more. + +```python +# Step 3: Load the image you want to analyze +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) +``` + +> **Edge case:** Nếu PNG quá lớn (hơn 5 MB), hãy cân nhắc giảm kích thước trước để giữ mức sử dụng bộ nhớ hợp lý. Pillow có thể thực hiện việc này trong một dòng: + +```python +# Optional: Resize large PNGs +from PIL import Image as PilImage +pil_img = PilImage.open(image_path) +pil_img.thumbnail((2000, 2000), PilImage.ANTIALIAS) +pil_img.save("temp_resized.png") +image = ocr.Image.load("temp_resized.png") +``` + +## Bước 4 – Thực Hiện OCR trên PNG và Lấy Kết Quả + +With the engine ready and the image loaded, it’s time to **run OCR on PNG** and retrieve the structured result. + +```python +# Step 4: Run the OCR process on the loaded image +ocr_result = ocr_engine.process(image) +``` + +`ocr_result` chứa một tập hợp các mục `OcrRegion`, mỗi mục có văn bản đã nhận dạng và điểm tin cậy (0‑100). Đây là nơi bạn có được dữ liệu chi tiết cần để **extract text from invoice**. + +## Bước 5 – Chuyển Kết Quả Sang JSON và In Đẹp + +Most downstream systems love JSON, so we’ll turn the OCR output into a nicely formatted string. + +```python +# Step 5: Convert the OCR result to a formatted JSON string and display it +json_str = ocr_result.to_json() +ocr_data = json.loads(json_str) + +# Pretty‑print with indentation +print(json.dumps(ocr_data, indent=2)) +``` + +### Kết Quả Mẫu + +```json +{ + "pages": [ + { + "regions": [ + { + "text": "Invoice #12345", + "confidence": 98.7, + "bounds": { "x": 50, "y": 20, "width": 200, "height": 30 } + }, + { + "text": "Date: 2025‑12‑01", + "confidence": 96.4, + "bounds": { "x": 50, "y": 60, "width": 180, "height": 25 } + }, + { + "text": "Total Amount: $1,250.00", + "confidence": 99.1, + "bounds": { "x": 50, "y": 300, "width": 250, "height": 30 } + } + ] + } + ] +} +``` + +Chú ý mỗi dòng đều có chỉ số tin cậy—rất phù hợp để lọc các mục có tin cậy thấp nếu bạn muốn **extract text from invoice** tự động. + +## Bước 6 – Lưu Dữ Liệu OCR Dưới Dạng CSV (Mỗi Dòng Một Văn Bản + Tin Cậy) + +CSV is ideal for spreadsheets or quick data imports. Aspose offers a one‑liner to dump everything into a CSV file. + +```python +# Step 6: Save the OCR result as a CSV file (each line → text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +ocr_result.save_as_csv(csv_path) +``` + +The generated CSV will look like this: + +``` +"Invoice #12345",98.7 +"Date: 2025-12-01",96.4 +"Total Amount: $1,250.00",99.1 +``` + +Bây giờ bạn có thể mở nó trong Excel, Google Sheets, hoặc nhập vào cơ sở dữ liệu. + +## Bonus – Xử Lý Văn Bản Tin Cậy Thấp và PDF Đa Trang + +### Lọc Theo Tin Cậy + +If you only want high‑certainty lines, filter the JSON before you write it out: + +```python +high_confidence = [ + region for page in ocr_data["pages"] + for region in page["regions"] + if region["confidence"] >= 95 +] +print(json.dumps(high_confidence, indent=2)) +``` + +### Tài Liệu Đa Trang + +Aspose.OCR tự động tạo một mục `page` mới cho mỗi trang trong PNG hoặc PDF đa trang. Lặp qua `ocr_data["pages"]` để xử lý tất cả—không cần mã bổ sung. + +## Ví Dụ Hoàn Chỉnh Hoạt Động + +Below is the **complete script** you can copy, paste, and run immediately. Replace `YOUR_DIRECTORY` with the folder that holds your PNG file. + +```python +import asposeocr as ocr +import json + +# 1️⃣ Initialize OCR engine +engine = ocr.OcrEngine() +engine.language = ocr.Language.ENGLISH + +# 2️⃣ Load the PNG image +image_path = "YOUR_DIRECTORY/invoice.png" +image = ocr.Image.load(image_path) + +# 3️⃣ Perform OCR +result = engine.process(image) + +# 4️⃣ Convert to JSON and pretty‑print +json_str = result.to_json() +data = json.loads(json_str) +print("=== OCR JSON Output ===") +print(json.dumps(data, indent=2)) + +# 5️⃣ Save as CSV (text + confidence) +csv_path = "YOUR_DIRECTORY/invoice_output.csv" +result.save_as_csv(csv_path) +print(f"\n✅ CSV saved to {csv_path}") + +# 6️⃣ (Optional) Filter high‑confidence lines +high_conf = [ + r for page in data["pages"] + for r in page["regions"] + if r["confidence"] >= 95 +] +print("\n=== High‑Confidence Regions ===") +print(json.dumps(high_conf, indent=2)) +``` + +Chạy script bằng `python run_ocr.py` và bạn sẽ thấy JSON được in ra console, một file CSV trên đĩa, và danh sách đã lọc các mục tin cậy cao. + +## Câu Hỏi Thường Gặp + +**Q: Tôi có thể dùng cách này để trích xuất văn bản từ biên lai quét thay vì hoá đơn không?** +A: Chắc chắn. Quy trình giống nhau—chỉ cần trỏ `image_path` tới file PNG biên lai của bạn. Nếu biên lai dùng ngôn ngữ khác, hãy đổi `engine.language` cho phù hợp. + +**Q: Nếu PNG của tôi chứa văn bản bị xoay thì sao?** +A: Aspose.OCR tự động phát hiện hướng, nhưng trong những trường hợp khó, bạn có thể tự quay ảnh bằng Pillow trước khi đưa vào engine. + +**Q: Tôi có cần giấy phép trả phí cho Aspose.OCR không?** +A: Thư viện cung cấp chế độ đánh giá miễn phí với watermark trên kết quả. Đối với sử dụng sản xuất, bạn sẽ cần giấy phép, có thể lấy từ trang web Aspose. + +## Kết Luận + +Chúng tôi đã bao quát mọi thứ bạn cần để **run OCR on PNG** bằng Python: cài đặt SDK, tải ảnh, trích xuất văn bản có cấu trúc, và lưu kết quả dưới dạng JSON hoặc CSV. Dù bạn muốn **extract text from image** cho một script đơn giản hay **extract text from invoice** cho quy trình kế toán tự động, các bước trên cung cấp nền tảng vững chắc, sẵn sàng cho sản xuất. + +Next, you might explore: + +- Kết hợp đầu ra CSV với cơ sở dữ liệu để lưu trữ hoá đơn hàng loạt. +- Thêm xử lý hậu kỳ bằng biểu thức chính quy để lấy ngày, số tiền, hoặc mã số thuế. +- Sử dụng tính năng `ocr_engine.recognize_barcode` nếu hoá đơn của bạn có mã QR. + +Hãy thử, điều chỉnh ngưỡng tin cậy, và xem quy trình xử lý tài liệu của bạn trở nên nhẹ nhàng. Có thêm câu hỏi hoặc trường hợp sử dụng thú vị? Để lại bình luận bên dưới—chúc OCR vui vẻ! + +![ví dụ chạy OCR trên PNG](run-ocr-on-png.png "run OCR on PNG – ví dụ hình ảnh kết quả OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file