diff --git a/ocr/arabic/net/ocr-configuration/_index.md b/ocr/arabic/net/ocr-configuration/_index.md index 3c687ed8..04a8b01c 100644 --- a/ocr/arabic/net/ocr-configuration/_index.md +++ b/ocr/arabic/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ url: /ar/net/ocr-configuration/ أطلق العنان لقدرات التعرف الضوئي على الحروف (OCR) القوية باستخدام Aspose.OCR لـ .NET. استخراج النص من الصور بسلاسة. ### [عملية OCRO مع القائمة في التعرف على الصور OCR](./ocr-operation-with-list/) أطلق العنان لإمكانات Aspose.OCR لـ .NET. قم بإجراء التعرف على الصور بتقنية التعرف الضوئي على الحروف (OCR) بسهولة باستخدام القوائم. تعزيز الإنتاجية واستخراج البيانات في تطبيقاتك. +### [كيفية التعرف الضوئي على الصورة في C# – دليل شامل مع دعم GPU](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +تعلم كيفية تنفيذ OCR للصور باستخدام C# مع دعم وحدة معالجة الرسومات لتسريع الأداء واستخراج النص بدقة. +### [التعرف على النص من الصورة باستخدام Aspose OCR – دليل كامل C#](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +تعلم كيفية استخراج النص من الصور باستخدام Aspose OCR في C# مع شرح شامل خطوة بخطوة. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/arabic/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..68287f7c --- /dev/null +++ b/ocr/arabic/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-01-09 +description: تعلم كيفية التعرف الضوئي على الأحرف (OCR) للصورة واستخراج النص من الصورة + باستخدام Aspose.OCR. يتضمن خطوات تحويل المستند الممسوح ضوئياً، تمكين وحدة معالجة + الرسومات، وقراءة الصورة باستخدام OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: ar +og_description: كيفية التعرف الضوئي على الحروف (OCR) للصورة بسرعة باستخدام Aspose.OCR. + اتبع هذا الدليل خطوة بخطوة لاستخراج نص الصورة، تحويل المستند الممسوح ضوئياً، وتمكين + وحدة معالجة الرسومات (GPU). +og_title: كيفية التعرف الضوئي على الأحرف في الصورة باستخدام C# – دليل معزز بالـ GPU +tags: +- OCR +- C# +- Aspose +- Image Processing +title: كيفية إجراء OCR على صورة في C# – دليل شامل مع دعم GPU +url: /ar/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية التعرف الضوئي على الأحرف (OCR) للصور في C# – دليل كامل مع دعم GPU + +هل تساءلت يومًا **how to OCR image** مباشرةً من تطبيق .NET الخاص بك؟ لست وحدك—المطورون يحتاجون باستمرار إلى استخراج النص من ملفات PDF وTIFF والصور، خاصةً عند التعامل مع مستندات ممسوحة ضوئيًا كبيرة. الخبر السار؟ باستخدام Aspose.OCR يمكنك **extract image text** ببضع أسطر فقط، ويمكنك أيضًا **enable GPU** لتسريع المعالجة. + +في هذا البرنامج التعليمي سنستعرض كل ما تحتاج معرفته: من تثبيت المكتبة، إلى تهيئة محرك OCR مع دعم fallback للـ GPU، ثم **reading image with OCR** وعرض النتيجة. في النهاية ستكون قادرًا على **convert scanned document** إلى سلاسل قابلة للتحرير—بدون الحاجة إلى خدمات خارجية. + +--- + +## ما ستحتاجه + +قبل أن نبدأ، تأكد من توفر ما يلي: + +- **.NET 6.0** أو أحدث (الكود يعمل على .NET Core و .NET Framework أيضًا). +- **رخصة** لـ Aspose.OCR أو مفتاح تقييم مؤقت (الإصدار التجريبي المجاني يكفي للاختبار). +- ملف صورة تريد معالجته—يفضل أن يكون TIFF أو PNG عالي الدقة. +- (اختياري) جهاز يدعم GPU إذا أردت رؤية تحسين السرعة؛ وإلا سيتراجع المحرك تلقائيًا إلى CPU. + +تغطية هذه المتطلبات يعني أنك ستتمكن من التركيز على سير عمل OCR الفعلي دون مواجهة عوائق لاحقًا. + +--- + +## الخطوة 1: تثبيت حزمة NuGet الخاصة بـ Aspose.OCR + +أولًا، أضف مكتبة Aspose.OCR إلى مشروعك. افتح الطرفية في مجلد الحل وشغّل الأمر التالي: + +```bash +dotnet add package Aspose.OCR +``` + +أو، إذا كنت تستخدم واجهة NuGet في Visual Studio، ابحث عن **Aspose.OCR** واضغط تثبيت. هذا الأمر الواحد يجلب جميع ملفات DLL الضرورية، بما في ذلك الثنائيات الأصلية للـ GPU عندما تكون متوفرة. + +> **نصيحة احترافية:** حافظ على تحديث الحزمة. الإصدارات الجديدة غالبًا ما تتضمن تحسينات في نماذج اللغة ودعم GPU أفضل. + +--- + +## الخطوة 2: استيراد المساحات الاسمية المطلوبة + +بعد تثبيت الحزمة، استدعِ المساحات الاسمية ذات الصلة. هذه الخطوة هي حيث نبدأ **how to OCR image** في الكود. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +هاتان السطران يمنحانك الوصول إلى الفئة `OcrEngine` وكائن الإعدادات الذي يتيح لك تفعيل استخدام GPU. بدونهما، لن يعرف المترجم ما معنى `OcrEngine`. + +--- + +## الخطوة 3: تهيئة محرك OCR وتفعيل GPU + +إذا تساءلت يومًا **how to enable GPU** لـ OCR، فهذه هي الإجابة. ننشئ كائن `OcrEngineSettings`، نضبط علم `UseGpu`، ثم نمرره إلى مُنشئ المحرك. يكتشف المحرك تلقائيًا ما إذا كان هناك GPU متوافق؛ إذا لم يكن موجودًا، يتراجع إلى CPU—وبالتالي لا تحتاج إلى معالجة أخطاء إضافية. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +لماذا نفعّل GPU أصلاً؟ بالنسبة للصور الكبيرة—مثل ملفات TIFF متعددة الصفحات أو المسحات عالية الدقة—يمكن أن ينخفض وقت المعالجة من عدة ثوانٍ إلى جزء من الثانية. إذا كنت تبني خط أنابيب معالجة دفعات، فإن هذا التحسين يضيف قيمة كبيرة. + +--- + +## الخطوة 4: تنفيذ OCR على الصورة المستهدفة + +هنا نصل إلى **read image with OCR** فعليًا. قدم مسار الملف إلى المحرك، وسيعيد النص المعترف به كسلسلة. يعمل هذا مع أي تنسيق نقطي يدعمه Aspose (PNG، JPEG، TIFF، BMP، إلخ). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +إذا كنت تحتاج إلى **convert scanned document** صفحةً بصفحة، ما عليك سوى التكرار على أسماء الملفات واستدعاء `RecognizeImage` لكل منها. الطريقة آمنة للاستخدام عبر الخيوط، لذا يمكنك حتى موازنة الحمل على معالج متعدد الأنوية. + +--- + +## الخطوة 5: عرض النص المستخرج أو حفظه + +أخيرًا، نطبع النتيجة. في تطبيق Console، يكفي `Console.WriteLine`. في سيناريو واقعي قد تكتب النص إلى قاعدة بيانات، ملف JSON، أو تدخله في فهرس بحث. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +السطر أعلاه يطبع ناتج OCR الخام. ستلاحظ فواصل أسطر، وبعض الأخطاء البسيطة، وربما بعض الأحرف العشوائية—هذا طبيعي في OCR. يمكن للمعالجة اللاحقة (مثل تنظيف regex) تحسين النتيجة إذا لزم الأمر. + +> **ملاحظة:** يدعم Aspose.OCR قواميس خاصة باللغات. إذا كنت تعالج نصوصًا غير إنجليزية، اضبط `ocrEngine.Settings.Language` وفقًا لذلك قبل استدعاء `RecognizeImage`. + +--- + +## مثال كامل يعمل + +لنجمع كل ما سبق في برنامج مستقل يمكنك نسخه ولصقه في مشروع Console جديد: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**الناتج المتوقع** (مقتطع لل brevity): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +شغّل البرنامج، وسترى النص المستخرج يظهر في نافذة الـ Console. إذا كان الـ GPU متاحًا، سيكون وقت المعالجة أقصر بكثير مقارنةً بالأجهزة التي تعتمد على CPU فقط. + +--- + +## المشكلات الشائعة وكيفية تجنّبها + +| المشكلة | السبب | الحل | +|-------|----------------|-----| +| **حروف غير مفهومة** | مصدر منخفض الدقة أو خلفية مشوشة. | عالج الصورة مسبقًا (زيادة DPI، تطبيق التث_binization) قبل OCR. | +| **GPU غير مستخدم** | لا يوجد برنامج تشغيل CUDA متوافق. | تحقق من نسخة البرنامج، أو اضبط `UseGpu = false` لإجبار الاستخدام على CPU. | +| **نفاد الذاكرة على TIFFs الكبيرة** | تحميل الملف بالكامل مرة واحدة. | استخدم `OcrEngineSettings.MaxMemoryUsage` لتقليل الاستهلاك، أو عالج الصفحات بشكل فردي. | +| **كشف لغة غير صحيح** | اللغة الافتراضية هي الإنجليزية. | اضبط `ocrEngine.Settings.Language = Language.YourLanguage;` قبل استدعاء `RecognizeImage`. | + +معالجة هذه الحالات تضمن بقاء تنفيذ **how to OCR image** قويًا عبر بيئات مختلفة. + +--- + +## توسيع الحل + +الآن بعد أن أصبحت قادرًا على **extract image text**، قد ترغب في: + +- **convert scanned document** إلى ملفات PDF قابلة للبحث عبر دمج طبقة OCR. +- تخزين النتائج في فهرس **Azure Cognitive Search** لاسترجاع سريع. +- ربط ناتج OCR بواجهة **translation API** إذا احتجت دعمًا متعدد اللغات. +- استخدام طريقة **GetBoundingBoxes** في Aspose.OCR لتحديد موقع كل كلمة على الصورة—مفيد لأدوات التمويه. + +جميع هذه الامتدادات تبنى على المبدأ الأساسي الذي غطيناه: تهيئة المحرك، إمداده بصورة، وقراءة النص. + +--- + +## الخلاصة + +استعرضنا مثالًا كاملاً من البداية إلى النهاية حول **how to OCR image** باستخدام Aspose.OCR في C#. من خلال تثبيت حزمة NuGet، استيراد المساحات الاسمية المناسبة، تفعيل GPU (أو الاعتماد على CPU)، واستدعاء `RecognizeImage`، يمكنك استخراج نص الصور بثقة، **convert scanned document**، و**read image with OCR** في أي تطبيق .NET. + +جرّبه على مجموعة من مسحاتك—جرب صيغ صور مختلفة، غيّر علم الـ GPU، ولاحظ الفرق في الأداء. عندما تكون جاهزًا، استكشف الميزات المتقدمة مثل قواميس اللغة أو استخراج إطارات الكلمات لجعل حلك أكثر ذكاءً. + +برمجة سعيدة، ولتكن خطوط 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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/arabic/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..80fe7665 --- /dev/null +++ b/ocr/arabic/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,206 @@ +--- +category: general +date: 2026-01-09 +description: التعرف على النص من الصورة باستخدام Aspose OCR في C#. تعلم كيفية تعطيل + التحميل التلقائي، استخراج النص الصيني من الصورة، وتعيين لغة OCR. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: ar +og_description: التعرف على النص من الصورة باستخدام Aspose OCR في C#. اتبع هذا الدليل + خطوة بخطوة لتعطيل التحميل التلقائي، واستخراج صورة نص صيني، وتعيين لغة OCR. +og_title: التعرف على النص من الصورة باستخدام Aspose OCR – دليل C# الكامل +tags: +- Aspose OCR +- C# +- Image Processing +title: التعرف على النص من الصورة باستخدام Aspose OCR – دليل C# الكامل +url: /ar/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# التعرف على النص من الصورة باستخدام Aspose OCR – دليل C# الكامل + +Ever needed to **recognize text from image** but were stuck on configuration details? You're not alone. Many developers hit a wall when the OCR engine tries to download language packs at runtime, or when they can't pull Chinese characters out of a sign photo. + +In this tutorial we’ll walk through a hands‑on solution that shows you how to **disable auto download**, **extract text image**, **extract Chinese text image**, and **set OCR language**—all with Aspose OCR for .NET. By the end you’ll have a single, runnable program that prints the recognized text straight to the console. + +## ما ستتعلمه + +- كيفية تثبيت وإضافة مرجع حزمة Aspose.OCR NuGet. +- لماذا إيقاف تحميل الموارد تلقائيًا مهم للبيئات غير المتصلة أو الآمنة. +- الخطوات الدقيقة لتوجيه المحرك إلى مجلد حزمة اللغة المحلي. +- كيفية اختيار اللغة الصحيحة (الصينية المبسطة) قبل معالجة الصورة. +- التحقق من المخرجات واستكشاف الأخطاء الشائعة. + +لا تحتاج إلى أي خبرة سابقة مع Aspose؛ فقط إعداد أساسي لـ C# وملف صورة ترغب في قراءته. + +## المتطلبات المسبقة + +| المتطلب | السبب | +|-------------|--------| +| .NET 6.0 أو أحدث (أو .NET Framework 4.7+) | Aspose.OCR يدعم هذه البيئات. | +| Visual Studio 2022 (أو أي بيئة تطوير تفضلها) | لإنشاء المشروع بسهولة وتصحيح الأخطاء. | +| ملف صورة يحتوي على نص صيني (مثال: `chinese-sign.jpg`) | للتوضيح **extract Chinese text image**. | +| نسخة محلية من حزم لغة Aspose OCR (تم تنزيلها مرة واحدة من بوابة Aspose) | مطلوب لأننا سنقوم **disable auto download**. | + +تأكد من أن ملفات ZIP الخاصة بحزمة اللغة موجودة في مجلد يمكنك الإشارة إليه، على سبيل المثال `C:\MyOCR\Resources`. + +## الخطوة 1: التعرف على النص من الصورة – تكوين محرك OCR + +أولاً وقبل كل شيء: نحتاج إلى كائن `OcrEngineSettings` يخبر Aspose أين يبحث عن الموارد. هذا هو الأساس لأي عملية **extract text image**. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +لماذا نضبط `AutoDownloadResources` إلى `false`؟ في بيئات الإنتاج غالبًا ما تعمل خلف جدران حماية، أو قد لا تريد تطبيقك الاتصال بالإنترنت أثناء التشغيل. تعطيل هذه الميزة يضمن أن المحرك سيستخدم فقط الملفات التي وضعتها في `ResourceFolder`، مما يسرّع أيضًا عملية التهيئة. + +## الخطوة 2: إنشاء محرك OCR باستخدام الإعدادات المحددة + +الآن بعد أن أصبحت الإعدادات جاهزة، نقوم بإنشاء كائن المحرك. هذه الخطوة هي التي ستظهر فيها قدرة **set OCR language** لاحقًا. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +كائن `OcrEngine` خفيف الوزن؛ لا يقوم بتحميل أي بيانات لغة فعليًا حتى تقوم بتعيين لغة. هذا التحميل المتأخر هو السبب في أنه يمكنك إنشاء المحرك بأمان حتى إذا كان مجلد الموارد فارغًا—لن يحدث أي عطل حتى تحاول **extract Chinese text image**. + +## الخطوة 3: ضبط لغة OCR – اختيار الصينية المبسطة + +Aspose يدعم العشرات من اللغات، كل واحدة في ملف ZIP. نظرًا لأن صورتنا النموذجية تحتوي على أحرف صينية مبسطة، نقوم بتعيين اللغة صراحةً قبل التعرف. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +إذا نسيت هذه الخطوة، سيعود المحرك إلى اللغة الإنجليزية وستحصل على مخرجات غير مفهومة. أيضًا، يجب أن يتطابق اسم اللغة مع اسم ملف ZIP داخل `ResourceFolder`. على سبيل المثال، يجب أن يكون `ChineseSimplified.zip` موجودًا. + +## الخطوة 4: استخراج النص من الصورة المستهدفة + +مع تكوين المحرك وتعيين اللغة، نتمكن أخيرًا من **recognize text from image**. تُعيد الطريقة سلسلة نصية عادية يمكنك تسجيلها أوزينها أو تمريرها إلى نظام آخر. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +الاتصال بـ `RecognizeImage` يقوم بكل الأعمال الثقيلة: المعالجة المسبقة، التجزئة، مطابقة الأحرف، وأخيرًا تجميع النتيجة. إذا كانت الصورة واضحة وحزمة اللغة صحيحة، سترى الأحرف الصينية مطبوعة في وحدة التحكم. + +> **نصيحة:** إذا كنت بحاجة لاستخراج جزء فقط من الصورة (مثلاً منطقة محددة)، استخدم النسخة المتعددة `RecognizeImage(string, Rectangle)` لتمرير مستطيل قص. + +## مثال كامل يعمل + +فيما يلي البرنامج الكامل الذي يمكنك نسخه ولصقه في مشروع وحدة تحكم جديد. يتضمن عبارات `using`، الإعدادات، اختيار اللغة، والإخراج النهائي. احفظه باسم `Program.cs`، استعد حزم NuGet، ثم شغّله. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### النتيجة المتوقعة + +إذا كان ملف `chinese-sign.jpg` يحتوي على العبارة “欢迎光临”، ستظهر وحدة التحكم شيئًا مشابهًا لـ: + +``` +=== Recognized Text === +欢迎光临 +``` + +قد يختلف التنسيق الدقيق حسب جودة الصورة، لكن يجب أن تكون الأحرف قابلة للقراءة. + +## المشكلات الشائعة & نصائح احترافية + +| العَرَض | السبب المحتمل | الحل | +|---------|--------------|-----| +| **تم إرجاع سلسلة فارغة** | لم يتم العثور على حزمة اللغة أو لا يزال `AutoDownloadResources` يحاول جلبها. | تحقق من مسار `ResourceFolder` وتأكد من وجود `ChineseSimplified.zip`. | +| **أحرف غير مفهومة** | الصورة غير واضحة أو ذات تباين منخفض. | قم بمعالجة الصورة مسبقًا (زيادة التباين، تحويل إلى ثنائي) قبل تمريرها إلى `RecognizeImage`. | +| **استثناء: `FileNotFoundException`** | مسار الصورة غير صحيح. | استخدم مسارًا مطلقًا أو ضع الصورة في دليل الإخراج للمشروع واشر إليها باستخدام `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`. | +| **بطء الأداء** | أبعاد الصورة كبيرة. | غيّر حجم الصورة إلى عرض معقول (مثلاً 1024 px) قبل التعرف. | + +**نصيحة احترافية:** احتفظ بحزم اللغة في مجلد تحت التحكم بالإصدار. عند ترقية Aspose.OCR، قد تحتوي الحزم الجديدة على تسميات مختلفة، مما قد يعطل استراتيجيتك **disable auto download** بصمت. + +## توسيع المثال + +الآن بعد أن يمكنك **recognize text from image**، قد ترغب في: + +- **معالجة دفعة** لمجلد من الصور (التكرار عبر الملفات، استدعاء `RecognizeImage` في كل مرة). +- **تصدير** النتائج إلى ملف CSV أو JSON للتحليلات اللاحقة. +- **دمج** OCR مع واجهات برمجة تطبيقات الترجمة لتحويل اللافتات الصينية إلى الإنجليزية مباشرة. + +جميع هذه السيناريوهات تعيد استخدام نفس الخطوات الأساسية: التكوين مرة واحدة، ضبط اللغة، واستدعاء `RecognizeImage`. التصميم النمطي يحافظ على شفرة نظيفة وسهلة الصيانة. + +## الخلاصة + +لقد تعلمت الآن كيفية **recognize text from image** باستخدام Aspose OCR في C#. من خلال **disable auto download** صراحةً، وتوجيه المحرك إلى مجلد موارد محلي، و**set OCR language** إلى الصينية المبسطة، يمكنك استخراج **extract Chinese text image** بأمان وأي لغة أخرى تزودها. + +الكود الكامل القابل للتنفيذ أعلاه يوضح سير عمل عملي يمكنك إدراجه في مشاريع حقيقية. من هنا، جرب جودة صور مختلفة، أضف معالجة الأخطاء، أو دمج المخرجات في نظام أكبر. الاحتمالات لا حصر لها تقريبًا. + +هل لديك أسئلة حول لغات أخرى، تحسين الأداء، أو النشر السحابي؟ لا تتردد في ترك تعليق—برمجة سعيدة! + +{{< /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/net/ocr-optimization/_index.md b/ocr/arabic/net/ocr-optimization/_index.md index 7c440b8b..64677e7b 100644 --- a/ocr/arabic/net/ocr-optimization/_index.md +++ b/ocr/arabic/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ url: /ar/net/ocr-optimization/ تعزيز دقة التعرف الضوئي على الحروف باستخدام Aspose.OCR لـ .NET. قم بتصحيح التهجئة وتخصيص القواميس وتحقيق التعرف على النص الخالي من الأخطاء دون عناء. ### [حفظ نتيجة الصفحات المتعددة كمستند في التعرف على الصور بتقنية التعرف الضوئي على الحروف (OCR).](./save-multipage-result-as-document/) أطلق العنان لإمكانات Aspose.OCR لـ .NET. احفظ نتائج التعرف الضوئي على الحروف (OCR) متعددة الصفحات بسهولة كمستندات باستخدام هذا الدليل الشامل خطوة بخطوة. +### [دليل c# OCR: التعرف على النص من الصورة مع المعالجة المسبقة](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +تعلم كيفية تحسين دقة التعرف على النص من الصور باستخدام المعالجة المسبقة في Aspose.OCR لـ .NET. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/arabic/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..caf47d1b --- /dev/null +++ b/ocr/arabic/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: دليل C# OCR يوضح كيفية التعرف على النص من الصورة ومعالجة الصورة مسبقًا + لـ OCR باستخدام فلاتر Aspose.OCR – دليل خطوة بخطوة. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: ar +og_description: دليل C# OCR يشرح لك كيفية التعرف على النص من الصورة ومعالجة الصورة + مسبقًا للتعرف الضوئي على الأحرف باستخدام فلاتر Aspose.OCR. يتضمن الكود الكامل. +og_title: دليل c# OCR – التعرف على النص من الصورة مع المعالجة المسبقة +tags: +- OCR +- C# +- Image Processing +title: 'دليل c# OCR: التعرف على النص من الصورة مع المعالجة المسبقة' +url: /ar/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# دليل c# OCR – التعرف على النص من الصورة مع المعالجة المسبقة + +هل تساءلت يومًا كيف **تتعرف على النص من الصورة** في تطبيق C# دون قضاء أسابيع في تعديل الفلاتر؟ لست وحدك. في هذا **دليل c# OCR** سنستعرض مثالًا كاملًا جاهزًا للتنفيذ لا يقرأ النص فقط بل **يعالج الصورة مسبقًا للـ OCR** لزيادة الدقة. + +سنستخدم مكتبة Aspose.OCR لأنها تأتي مع خط أنابيب فلاتر مريح يتيح لك إضافة خطوات تصحيح الميل، إزالة الضوضاء، وتعزيز التباين ببضع أسطر فقط. بنهاية هذا الدليل ستحصل على تطبيق كونسول يمكنه أخذ صورة PNG مائلة ومليئة بالضوضاء، تنظيفها، وإخراج النص المستخرج—كل ذلك مع شروحات واضحة لأهمية كل خطوة. + +## المتطلبات المسبقة + +| المتطلب | لماذا يهم | +|-------------|----------------| +| .NET 6 SDK (or later) | ميزات C# الحديثة وأداء أفضل | +| Visual Studio 2022 (or VS Code) | تصحيح سهل وIntelliSense مريح | +| NuGet package **Aspose.OCR** | يوفر `OcrEngine` وفئات الفلاتر | +| An input image (e.g., `skewed‑noisy.png`) | يوضح الحاجة إلى المعالجة المسبقة | + +إذا كان أي من هذه مفقودًا، قم بتثبيته أولًا. خطوة NuGet مغطاة في القسم التالي. + +## الخطوة 1: تثبيت Aspose.OCR عبر NuGet + +افتح الطرفية (أو Package Manager Console) وشغّل: + +```bash +dotnet add package Aspose.OCR +``` + +> **نصيحة احترافية:** استخدم العلامة `--version` لتثبيت إصدار محدد إذا كنت تحتاج إلى بنى قابلة لإعادة الإنتاج. + +الحزمة تأتي مع جميع الفلاتر التي سنحتاجها، لذا لا توجد DLLs إضافية مطلوبة. + +## الخطوة 2: تهيئة محرك OCR – قلب دليل c# OCR + +إنشاء المحرك سهل، لكن من المفيد فهم ما يحدث خلف الكواليس. الـ `OcrEngine` يحتفظ بخط أنابيب من **الفلاتر** التي تعالج الـ bitmap قبل تشغيل خوارزمية التعرف. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **لماذا التهيئة أولًا؟** المحرك يخزن موارد داخلية (مثل نماذج اللغة). إعادة استخدام نسخة واحدة عبر صور متعددة توفر الذاكرة وتسرّع عمليات التعرف اللاحقة. + +## الخطوة 3: معالجة الصورة مسبقًا للـ OCR – إضافة تصحيح الميل، إزالة الضوضاء، وتعزيز التباين + +معظم المسحات الواقعية ليست مثالية؛ فهي مائلة، مليئة بالبقع، أو مظلمة جدًا. لهذا السبب **معالجة الصورة للـ OCR** خطوة حاسمة. Aspose توفر ثلاثة فلاتر تعمل معًا بشكل ممتاز: + +| الفلتر | ما يفعله | حالة الاستخدام النموذجية | +|--------|--------------|------------------| +| `DeskewFilter` | يدور الصورة لتصحيح الميل | مستندات ممسوحة من ماسح ضوئي | +| `DenoiseFilter` | يزيل البكسلات المعزولة (ضوضاء “ملح وفلفل”) | صور بإضاءة منخفضة | +| `ContrastBoostFilter` | يزيد التباين لتوضيح حواف النص | مطبوعات باهتة أو لقطات منخفضة الدقة | + +الكود التالي يضيف كل فلتر إلى خط أنابيب المحرك: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **كيف يعمل:** عندما تستدعي `RecognizeImage` لاحقًا، سيقوم المحرك بتشغيل هذه الفلاتر الثلاثة بالتسلسل قبل تمرير الـ bitmap المنظف إلى نواة التعرف. + +### توضيح بصري (اختياري) + +إذا أدرجت صورة، تأكد أن نص alt يحتوي على الكلمة الرئيسية: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## الخطوة 4: التعرف على النص من الصورة – لحظة الحقيقة + +الآن بعد أن تم معالجة الصورة، يمكننا أخيرًا استخراج الأحرف. الطريقة تُعيد سلسلة نصية عادية، يمكنك تسجيلها، تخزينها، أو تمريرها إلى نظام آخر. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### النتيجة المتوقعة + +تشغيل العينة على مسح فاتورة نموذجي ينتج شيء مثل: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +إذا كان الإخراج غير مفهوم، تحقق من جودة الصورة وفكّر في تعديل `ContrastBoostFilter.Level` (القيم > 2.0 قد تكون مفرطة). + +## الخطوة 5: إخراج النتيجة والمعالجة اللاحقة الاختيارية + +تطبيق كونسول يمكنه ببساطة كتابة السلسلة، لكن العديد من المشاريع تحتاج إلى معالجة إضافية—مثل حذف الفراغات، إزالة فواصل الأسطر، أو إدخال النص في قاعدة بيانات. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### لماذا المعالجة اللاحقة؟ + +حتى مع معالجة مسبقة جيدة، غالبًا ما يضيف OCR فواصل أسطر عشوائية أو أحرف غير مرئية. سلسلة `Replace` سريعة يمكنها جعل البيانات أكثر قابلية للاستخدام لاحقًا. + +## الخطوة 6: مثال كامل جاهز للنسخ واللصق + +فيما يلي البرنامج **الكامل** الذي يمكنك تجميعه وتشغيله فورًا. يتضمن جميع عبارات using، إعداد الفلاتر، استدعاء OCR، ومعالجة الإخراج. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**كيفية تشغيله** + +1. احفظ الملف باسم `Program.cs` داخل مشروع كونسول جديد (`dotnet new console`). +2. استبدل `YOUR_DIRECTORY/skewed-noisy.png` بالمسار الحقيقي لصورتك التجريبية. +3. نفّذ `dotnet run`. يجب أن ترى ناتج OCR مطبوعًا في الطرفية. + +## المشكلات الشائعة والنصائح (التعرف على النص من الصورة بثقة) + +| المشكلة | ما الذي يجب التحقق منه | الحل | +|-------|----------------|-----| +| **حروف غير مفهومة** | الصورة مظلمة جدًا أو منخفضة الدقة | زيادة `ContrastBoostFilter.Level` أو استخدام مصدر بدقة أعلى | +| **خطوط مفقودة** | لم يصحح Deskew الزاوية بالكامل | دوّر الصورة يدويًا أولاً، أو اضبط تحمل `DeskewFilter` | +| **أداء بطيء** | معالجة العديد من الصور الكبيرة في حلقة | إعادة استخدام نفس كائن `OcrEngine` واستدعاء `ocrEngine.Clear()` بعد كل تشغيل | +| **لغة غير مدعومة** | النص ليس بالإنجليزية | عيّن `ocrEngine.Language = OcrLanguage.French` (أو لغة مدعومة أخرى) قبل التعرف | + +### حالة خاصة: معالجة ملفات PDF متعددة الصفحات + +إذا كنت بحاجة إلى OCR لملف PDF، حوّل كل صفحة إلى صورة (مثلاً باستخدام `Aspose.PDF`) ومرّرها واحدةً تلو الأخرى إلى نفس المحرك. يبقى خط أنابيب المعالجة المسبقة كما هو، مما يضمن نتائج متسقة عبر الصفحات. + +## الخلاصة + +في هذا **دليل c# OCR** غطينا كل ما تحتاجه **للتعرف على النص من الصورة** و**معالجة الصورة للـ OCR** باستخدام الفلاتر المدمجة في Aspose.OCR. من خلال تهيئة المحرك، إضافة خطوات تصحيح الميل، إزالة الضوضاء، وتعزيز التباين، وأخيرًا استدعاء `RecognizeImage`، ستحصل على استخراج نص نظيف وموثوق ببضع أسطر من الشيفرة فقط. + +لا تتردد في التجربة—استبدل فلترًا بآخر، اضبط مستوى التباين، أو دمج النتيجة في خط أنابيب بيانات أكبر. المفاهيم هنا تنطبق على أي مكتبة 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/net/text-recognition/_index.md b/ocr/arabic/net/text-recognition/_index.md index 58e5dde9..6a58d299 100644 --- a/ocr/arabic/net/text-recognition/_index.md +++ b/ocr/arabic/net/text-recognition/_index.md @@ -52,12 +52,25 @@ url: /ar/net/text-recognition/ ### [وضع اكتشاف المناطق بتقنية التعرف الضوئي على الحروف (OCR) في التعرف على الصور بتقنية التعرف الضوئي على الحروف (OCR).](./ocr-detect-areas-mode/) قم بتحسين تطبيقات .NET الخاصة بك باستخدام Aspose.OCR للتعرف الفعال على نص الصورة. استكشف وضع مناطق اكتشاف التعرف الضوئي على الحروف (OCR) للحصول على نتائج دقيقة. ### [التعرف على PDF في التعرف على الصور OCR](./recognize-pdf/) -أطلق العنان لإمكانات التعرف الضوئي على الحروف في .NET باستخدام Aspose.OCR. استخراج النص من ملفات PDF دون عناء. قم بالتنزيل الآن للحصول على تجربة تكامل سلسة. +أطلق العنان لإمكانات التعرف الضوئي على الحروف في .NET باستخدام Aspose.OCR. استخراج النص من ملفات PDF دون عناء. قم بتنزيل الآن للحصول على تجربة تكامل سلسة. ### [التعرف على الجدول في التعرف على الصور OCR](./recognize-table/) أطلق العنان لإمكانات Aspose.OCR لـ .NET من خلال دليلنا الشامل حول التعرف على الجداول في التعرف على الصور باستخدام OCR. +### [دليل OCR بلغة C# – استخراج النص الهندي من إيصالات PNG](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +تعلم كيفية استخراج النص الهندي من ملفات PNG باستخدام Aspose.OCR في تطبيقات C# خطوة بخطوة. +### [استخراج النص من PNG – دليل Aspose OCR كامل](./extract-text-from-png-complete-aspose-ocr-tutorial/) +تعلم كيفية استخراج النص من ملفات PNG باستخدام Aspose OCR خطوة بخطوة. +### [التعرف على النص في ملفات JPG باستخدام Aspose OCR – دليل كامل بلغة C#](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +دليل شامل يوضح كيفية التعرف على النص في صور JPG باستخدام Aspose OCR مع مثال كامل بلغة C#. +### [دليل OCR بلغة C# – استخراج النص من الصور وملفات DJVU](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +تعلم كيفية استخراج النص من الصور وملفات DJVU باستخدام Aspose.OCR في تطبيقات C# خطوة بخطوة. +### [استخراج النص من ملف TIFF باستخدام Aspose OCR C# – دليل كامل](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +تعلم خطوة بخطوة كيفية استخراج النص من ملفات TIFF باستخدام Aspose OCR في بيئة C#. +### [دليل OCR بلغة C# – استخراج النص من الصور باستخدام Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +تعلم كيفية استخراج النص من الصور باستخدام Aspose OCR في تطبيقات C# خطوة بخطوة. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/arabic/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..2f8589fb --- /dev/null +++ b/ocr/arabic/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,241 @@ +--- +category: general +date: 2026-01-09 +description: دليل C# OCR لقراءة النص من PNG، تحويل الصورة إلى نص، والتعرف على النص + الهندي في إيصال باستخدام Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: ar +og_description: دروس OCR بلغة C# تعلمك كيفية قراءة النص من PNG، تحويل الصورة إلى نص، + والتعرف على النص الهندي في إيصال باستخدام Aspose OCR. +og_title: دورة OCR بلغة C# – استخراج النص الهندي من إيصالات PNG +tags: +- OCR +- C# +- Aspose +- Image Processing +title: دورة OCR بلغة C# – استخراج النص الهندي من إيصالات PNG +url: /ar/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# دليل OCR بلغة C# – استخراج النص الهندي من إيصالات PNG + +هل تساءلت يومًا كيف **قراءة النص من ملفات PNG** في تطبيق C#؟ ربما لديك مجموعة من إيصالات الهندية وتحتاج إلى سحب المبالغ تلقائيًا. هذا بالضبط ما يتناوله دليل OCR بلغة C#—تحويل الصورة إلى نص قابل للبحث ببضع أسطر من الشيفرة. + +في هذا الدليل سنستعرض تثبيت Aspose OCR، تحميل إيصال PNG، التعرف على الأحرف الهندية، وأخيرًا طباعة السلسلة المستخرجة إلى وحدة التحكم. بنهاية القراءة ستكون قادرًا على **تحويل الصورة إلى نص**، **التعرف على النص الهندي**، وحتى **استخراج النص من إيصال** دون مغادرة بيئة التطوير المتكاملة. + +> **ملاحظة المتطلبات المسبقة:** تحتاج إلى ترخيص صالح لـ Aspose OCR (أو يمكنك استخدام النسخة التجريبية المجانية) وتثبيت .NET 6+ . إذا كنت جديدًا على NuGet، لا تقلق—سنغطي ذلك أيضًا. + +--- + +## ما ستحتاجه + +- **Visual Studio 2022** (أو أي محرر يدعم C#) +- **.NET 6 SDK** (أو أحدث) +- حزمة **Aspose.OCR** من NuGet + ```bash + dotnet add package Aspose.OCR + ``` +- صورة عينة لإيصال، مثل `hindi-receipt.png`، محفوظة في مجلد المشروع. + +وجود هذه المتطلبات يعني أنه يمكنك نسخ‑لصق الشيفرة النهائية والضغط على **F5** فورًا. + +--- + +## الخطوة 1: إعداد المشروع واستيراد المساحات الاسمية + +أولاً، أنشئ مشروع وحدة تحكم إذا لم يكن لديك واحد بالفعل: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +الآن افتح `Program.cs`. في الأعلى، استورد مساحات أسماء Aspose OCR حتى يعرف المترجم أين يجد الفئات: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **لماذا هذا مهم:** فئة `OcrEngine` موجودة في `Aspose.OCR`، بينما القيم المرتبطة باللغات موجودة في `Aspose.OCR.Settings`. نسيان أي منهما سيسبب خطأً في وقت التجميع. + +--- + +## الخطوة 2: تهيئة محرك OCR واختيار نموذج اللغة + +يحتاج محرك OCR إلى معرفة **أي لغة** يبحث عنها. توفر Aspose العديد من حزم اللغات؛ تحديد `OcrLanguage.Hindi` يخبر المحرك بتحميل (إذا كان مفقودًا) واستخدام نموذج اللغة الهندية. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **نصيحة محترف:** إذا كنت تخطط لمعالجة إيصالات بعدة لغات، يمكنك تبديل `Language` في وقت التشغيل أو حتى تمكين وضع `MultiLanguage`. + +--- + +## الخطوة 3: إمداد محرك OCR بصورة الإيصال PNG + +هنا نـ **قراءة النص من PNG**. قدم المسار الكامل (المسار النسبي إلى الملف التنفيذي يعمل جيدًا). تُعيد الطريقة سلسلة نصية عادية تحتوي على كل ما استطاع المحرك فك شفرةه. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +إذا كانت الصورة عالية الدقة والنص واضحًا، ستحصل على نتائج شبه مثالية. بالنسبة للماسحات الضوضائية، فكر في ما قبل المعالجة (مثل الثنائيات) – Aspose تقدم طرق `PreprocessImage` يمكنك استكشافها لاحقًا. + +--- + +## الخطوة 4: عرض أو حفظ النص المستخرج + +معظم المطورين يطبعون النتيجة إلى وحدة التحكم أثناء الاختبار. في سيناريو الإنتاج قد تكتب إلى قاعدة بيانات أو ملف CSV. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +تشغيل البرنامج مع عينة الإيصال يطبع شيئًا مشابهًا لـ: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +هذا هو الجزء المتعلق بـ **تحويل الصورة إلى نص** عمليًا—بدون الحاجة إلى كتابة يدوية. + +--- + +## مثال كامل يعمل (جاهز للنسخ‑اللصق) + +فيما يلي البرنامج الكامل المتكامل. الصقه في `Program.cs`، ضع `hindi-receipt.png` بجوار ملف `.exe` المُجمع، واضغط **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### النتيجة المتوقعة + +عندما تحتوي صورة الإيصال على أحرف هندية واضحة، ستعرض وحدة التحكم السطور المستخرجة مع الحفاظ على فواصل الأسطر. إذا فشل OCR في التعرف على كلمة ما، سترى جزءًا مشوشًا—إشارة لتحسين جودة الصورة أو تعديل ما قبل المعالجة. + +--- + +## الخطوة 5: ما بعد ذلك – استخراج النص من الإيصال برمجيًا + +إذا كان هدفك هو **استخراج النص من إيصال** (التاريخ، الإجمالي، رقم الفاتورة)، يمكنك معالجة سلسلة OCR باستخدام تعبيرات نمطية: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +هذا المقتطف الصغير يوضح كيفية تحويل مخرجات OCR الخام إلى بيانات منظمة—مثالي لتغذيتها إلى برنامج محاسبة. + +--- + +## الأخطاء الشائعة وكيفية تجنبها + +| المشكلة | لماذا يحدث | الحل | +|-------|----------------|-----| +| **إخراج فارغ** | مسار الصورة غير صحيح أو الملف لم يُنسخ إلى مجلد الإخراج. | استخدم `Path.GetFullPath` وتأكد من وجود الملف (`File.Exists`). | +| **حروف غير مفهومة** | PNG منخفض الدقة أو ألوان مضغوطة. | قم بزيادة حجم الصورة، اضبط DPI إلى 300+، أو استخدم `ocrEngine.ImagePreprocessor`. | +| **نموذج اللغة غير محمل** | لا يوجد اتصال بالإنترنت في التشغيل الأول. | حمّل نموذج الهندية مسبقًا عبر بوابة Aspose أو استضفه محليًا. | +| **بطء الأداء** | معالجة العديد من الصفحات في حلقة دون تحرير الموارد. | ضع `OcrEngine` داخل كتلة `using` أو أعد استخدام نسخة واحدة فقط. | + +--- + +## توضيح الصورة + +![c# ocr tutorial reading Hindi text from PNG receipt](https://example.com/placeholder-image.png "c# ocr tutorial – read text from png receipt") + +*تُظهر اللقطة إيصالًا هنديًا قبل وبعد تحويل OCR.* + +--- + +## ملخص ما تم تغطيته + +- إعداد تطبيق وحدة تحكم C# وإضافة حزمة Aspose OCR من NuGet. +- تهيئة `OcrEngine` بنموذج اللغة **recognize hindi text**. +- **قراءة النص من PNG** باستخدام `RecognizeImage`. +- **تحويل الصورة إلى نص** وطباعة النتيجة. +- عرض نمط بسيط لـ **استخراج النص من إيصال**. + +كل ذلك تم تقديمه في ملف واحد قابل للتنفيذ—بالضبط ما يجب أن يقدمه **دليل OCR بلغة C#**. + +--- + +## الخطوات التالية والمواضيع ذات الصلة + +1. **المعالجة الدفعية** – تكرار عبر مجلد من صور الإيصالات وتخزين النتائج في CSV. +2. **ما قبل المعالجة** – استكشف `ocrEngine.ImagePreprocessor` لإزالة الضوضاء، تصحيح الميل، أو تحسين التباين. +3. **OCR متعدد اللغات** – فعّل `OcrLanguage.Multilingual` للتعامل مع إيصالات تمزج بين الهندية والإنجليزية. +4. **التكامل** – ادفع البيانات المستخرجة إلى نموذج Entity Framework Core للتخزين المستمر. + +إذا أثارتك أي من هذه المواضيع، تفقد دليلنا حول **تحويل الصورة إلى نص في C#** و**استخراج البيانات المهيكلة من نتائج OCR**. + +--- + +### برمجة سعيدة! + +لا تتردد في ترك تعليق إذا واجهت أي صعوبات، أو مشاركة كيف قمت بتوسيع هذا **دليل OCR بلغة C#** في مشاريعك. تذكر، 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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/arabic/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..4ead28aa --- /dev/null +++ b/ocr/arabic/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,251 @@ +--- +category: general +date: 2026-01-09 +description: دورة تعليمية في C# للـ OCR تُظهر كيفية استخراج النص من ملفات الصور وتحويل + ملفات DJVU إلى نص باستخدام Aspose.OCR. تعلم استخراج النص خطوة بخطوة في دقائق. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: ar +og_description: دروس C# OCR تُظهر بسرعة كيفية استخراج النص من ملفات الصور وتحويل DJVU + إلى نص باستخدام Aspose.OCR. اتبع الدليل للحصول على حل عملي. +og_title: دليل c# OCR – استخراج النص من الصورة و DJVU +tags: +- OCR +- C# +- Aspose +title: 'دليل C# للتعرف الضوئي على الأحرف: استخراج النص من الصور وملفات DJVU' +url: /ar/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# دليل OCR بلغة C# – استخراج النص من الصور وملفات DJVU + +هل تساءلت يومًا كيف تستخرج النص من ملفات الصور دون أن تشعر بالإحباط؟ في هذا **c# OCR tutorial** سنستعرض مثالًا كاملًا وجاهزًا للتنفيذ ي استخراج النص من صورة عادية *و* مستند DJVU. + +إذا كنت تبحث أيضًا عن طريقة سريعة لـ **convert DJVU to text**، فأنت في المكان الصحيح—بدون محولات إضافية، فقط كود C# نقي. + +## ما ستتعلمه + +- كيفية إعداد مكتبة Aspose.OCR في مشروع .NET. +- الكود الدقيق الذي تحتاجه لـ **extract text from image** الملفات. +- طريقة مختصرة لـ **extracting text from DJVU** الملفات (نعم، نفس المحرك يقوم بذلك). +- المشكلات الشائعة (الملفات الكبيرة، الخطوط المفقودة، الترخيص) وكيفية تجنبها. + +كل ما تحتاجه هو .NET SDK حديث واتصال بالإنترنت للحصول على حزمة NuGet. لا حاجة لخبرة سابقة في OCR. + +## المتطلبات المسبقة + +| المتطلب | لماذا يهم | +|-------------|----------------| +| .NET 6.0 أو أحدث | Aspose.OCR تستهدف .NET Standard 2.0، لذا .NET 6+ يمنحك أفضل أداء. | +| Visual Studio 2022 (or VS Code) | بيئات التطوير المتكاملة تجعل إدارة الحزم سهلة، لكن أي محرر يعمل. | +| حزمة NuGet **Aspose.OCR** | هذا هو المحرك الذي يقوم بالعمل الشاق فعليًا. | +| صورة نموذجية (`sample.png`) وملف DJVU (`sample.djvu`) | سنستخدمهما لعرض كلا سيناريوهى الاستخراج. | + +يمكنك تثبيت الحزمة باستخدام الأمر التالي: + +```bash +dotnet add package Aspose.OCR +``` + +> **نصيحة احترافية:** إذا كنت على خادم CI، أضف `--no-restore` إلى خطوة البناء واستعد مرة واحدة في البداية لتسريع العملية. + +## الخطوة 1: تهيئة محرك OCR – قلب دليل c# OCR + +أول شيء نفعله هو إنشاء نسخة من `OcrEngine`. فكر فيه كتشغيل الماسح الضوئي في برنامجك. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +لماذا ننشئ محركًا جديدًا في كل مرة؟ لأن المحرك يحتفظ بالإعدادات (اللغة، وضع الكشف، إلخ). ببدء تشغيل جديد تتجنب تسرب الإعدادات القديمة بين التشغيلات. + +## الخطوة 2: تحميل وتعرف على صورة – كيفية استخراج النص من الصورة + +الآن سنقوم بتمرير صورة نقطية عادية (PNG، JPEG، BMP…) إلى المحرك. طريقة `RecognizeImage` تُعيد السلسلة المكتشفة. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +* **وجود الملف** – إذا كان المسار غير صحيح، تُطلق الطريقة استثناء `FileNotFoundException`. غلفها بـ `try/catch` إذا كنت تتوقع مسارات مقدمة من المستخدم. +* **جودة الصورة** – يعمل OCR بأفضل شكل على 300 dpi أو أعلى. قد تُنتج المسحات منخفضة الدقة مخرجات مشوشة. +* **دعم اللغة** – بشكل افتراضي، تفترض Aspose.OCR اللغة الإنجليزية. لتغيير ذلك، اضبط `ocrEngine.Language = Language.Spanish;` قبل `RecognizeImage`. + +## الخطوة 3: التعرف على النص من مستند DJVU – تحويل DJVU إلى نص + +DJVU هو تنسيق حاوية يمكنه احتواء عدة صفحات. يمكن لـ Aspose.OCR التعامل معه مباشرة؛ كل ما عليك هو الإشارة إلى الملف. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +في الخلفية، يستخرج المحرك كل صفحة كصورة ويشغل نفس خط أنابيب التعرف. لهذا لا تحتاج إلى خطوة منفصلة “convert DJVU to text”—محرك OCR يقوم بذلك لك. + +### معالجة ملفات DJVU متعددة الصفحات + +إذا كان DJVU يحتوي على عدة صفحات، فإن `RecognizeImage` يدمجها بترتيبها. إذا كنت تحتاج كل صفحة على حدة، يمكنك استخدام النسخة التي تُعيد `List`: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## الخطوة 4: ضبط المحرك بدقة للحصول على دقة أفضل – لماذا هذا مهم + +النتائج الافتراضية مقبولة، لكن يمكنك تحسينها بتعديل بعض الإعدادات: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +هذه العلامات مفيدة خصوصًا عندما **how to extract text** من ملفات PDF الممسوحة التي تم حفظها أولاً كـ DJVU. تشغيل كشف الاتجاه يوفر عليك تدوير الصور يدويًا. + +## الخطوة 5: التعامل مع الترخيص وأخطاء وقت التشغيل + +تأتي Aspose.OCR بإصدار تجريبي مجاني يضع علامة “Demo” على المخرجات بعد بضع صفحات. لإزالة العلامة المائية، أضف ملف الترخيص الخاص بك: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +إذا نسيت هذه الخطوة، سيظل المحرك يعمل، لكن النتيجة ستحتوي على كلمة “Demo”. كذلك، احذر من `OutOfMemoryException` عند معالجة ملفات DJVU الضخمة—فكر في معالجة كل صفحة على حدة كما هو موضح سابقًا. + +## مثال كامل قابل للتنفيذ + +فيما يلي برنامج وحدة تحكم مستقل يجمع كل شيء معًا. انسخه، عدل مسارات الملفات، واضغط **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**الناتج المتوقع** (بافتراض أن الملفات تحتوي على العبارة “Hello World”): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +إذا كان المصدر يحتوي على عدة أسطر، فستظهر تمامًا كما في المستند الأصلي. + +## أسئلة شائعة ومعالجة الحالات الخاصة + +* **ماذا لو كانت الصورة بالأبيض والأسود؟** + OCR يعمل جيدًا، لكن يمكنك تحسين التباين باستخدام `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +* **هل يمكن استخراج الأرقام فقط؟** + نعم—اضبط `ocrEngine.CharWhitelist = "0123456789";` قبل استدعاء `RecognizeImage`. + +* **هل هناك حد لحجم الملف؟** + المحرك يقرأ الملف بالكامل إلى الذاكرة. للملفات الأكبر من ~100 MB، عالجها صفحة بصفحة (انظر نسخة القائمة في الخطوة 3). + +* **كيف يختلف هذا عن Tesseract؟** + Aspose.OCR هي مكتبة تجارية تدعم DJVU مدمجًا ولا تحتاج إلى تبعيات أصلية، بينما يتطلب Tesseract ملفات ثنائية أصلية وأدوات تحويل DJVU منفصلة. + +## الخلاصة + +لقد أكملت للتو **c# OCR tutorial** الذي يوضح كيفية **extract text from image** الملفات وتحويل DJVU إلى نص بسلاسة باستخدام Aspose.OCR. يغطي المثال كل شيء من تثبيت الحزمة إلى الترخيص، من استخراج صورة صفحة واحدة إلى معالجة DJVU متعددة الصفحات، وحتى نصائح لتحسين الدقة. + +بعد ذلك، قد تستكشف **how to extract text** من ملفات PDF، دمج خطوة OCR في واجهة برمجة تطبيقات ويب، أو تجربة حزم اللغات للمستندات متعددة اللغات. السماء هي الحد—فقط تذكر النقاط الأساسية: اضبط المحرك، وزّده بملف، واقرأ السلسلة المستخرجة. + +هل لديك المزيد من الأسئلة؟ اترك تعليقًا، جرّب الكود على مستنداتك الخاصة، وتمنياتنا لك ببرمجة سعيدة! + +![لقطة شاشة من دليل c# OCR تُظهر مخرجات وحدة التحكم](/images/csharp-ocr-tutorial.png "دليل c# 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/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/arabic/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..000781f0 --- /dev/null +++ b/ocr/arabic/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-09 +description: دروس C# OCR تُظهر كيفية استخراج النص من ملفات الصور، التعرف على النص + من PNG، تحويل الصورة إلى سلسلة نصية، واكتشاف اللغة تلقائيًا باستخدام Aspose.OCR. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: ar +og_description: دليل C# OCR يشرح لك كيفية استخراج النص من الصور، التعرف على النص من + ملفات PNG، تحويل الصور إلى سلاسل نصية، واكتشاف اللغة تلقائيًا باستخدام Aspose OCR. +og_title: دليل c# OCR – استخراج النص من الصور +tags: +- C# +- OCR +- Aspose +- Image Processing +title: دورة C# OCR – استخراج النص من الصور باستخدام Aspose OCR +url: /ar/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# دليل c# ocr – استخراج النص من الصور باستخدام Aspose OCR + +هل احتجت إلى **دليل c# ocr** يعمل فعليًا على ملف PNG حقيقي؟ ربما تقوم بإنشاء ماسح فواتير، أو معالج نماذج متعدد اللغات، أو مجرد فضول حول كيفية تحويل صورة نص إلى سلسلة قابلة للبحث. مهما كان السبب، فأنت في المكان الصحيح. + +في هذا الدليل سنوضح لك خطوة بخطوة كيفية **استخراج النص من ملف صورة**، **التعرف على النص من png**، **تحويل الصورة إلى سلسلة**، وحتى **اكتشاف اللغة تلقائيًا** — كل ذلك باستخدام مكتبة Aspose.OCR. لا مراجع غامضة، مجرد مثال كامل قابل للتنفيذ يمكنك نسخه ولصقه في Visual Studio. + +## ما الذي ستحتاجه + +- .NET 6.0 أو أحدث (الكود يعمل مع .NET Core و .NET Framework أيضًا) +- إشارة NuGet إلى `Aspose.OCR` (الإصدار 23.9 أو أحدث) +- ملف صورة (`mixed‑script.png` في هذا المثال) موجود في مكان يمكن للتطبيق قراءته +- فهم أساسي للغة C# (إذا كتبت برنامج "Hello World"، فأنت جاهز) + +> **نصيحة محترف:** إذا لم يكن لديك ترخيص بعد، تقدم Aspose ترخيصًا مؤقتًا مجانيًا للاختبار. ما عليك سوى وضع ملف `.lic` بجوار الملف التنفيذي. + +## الخطوة 1 – تثبيت حزمة Aspose.OCR عبر NuGet + +أولاً، أضف المكتبة إلى مشروعك. افتح Package Manager Console وشغّل: + +```powershell +Install-Package Aspose.OCR +``` + +أو، إذا كنت تفضّل الواجهة الرسومية، انقر بزر الماوس الأيمن على *Dependencies → Manage NuGet Packages* وابحث عن **Aspose.OCR**. + +## الخطوة 2 – إعداد محرك OCR (c# ocr tutorial core) + +الآن سننشئ كائن `OcrEngine`، نحدده لاكتشاف اللغة تلقائيًا، ونشير به إلى ملف PNG الخاص بنا. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### لماذا نعيّن `Language = OcrLanguage.AutoDetect` + +اكتشاف اللغة تلقائيًا يحفظك من التخمين ما إذا كانت الصورة تحتوي على الإنجليزية، الروسية، العربية، أو مزيج منها. إنه الخيار الأكثر مرونة لسيناريو **detect language automatically**، ويعمل مباشرةً لمعظم النصوص التي تدعمها Aspose. + +## الخطوة 3 – تشغيل التطبيق والتحقق من المخرجات + +قم بترجمة البرنامج وتشغيله (`dotnet run` أو اضغط **F5** في Visual Studio). إذا تم ربط كل شيء بشكل صحيح، سترى شيئًا مشابهًا لـ: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +تثبت هذه النتيجة أننا نجحنا في **استخراج النص من الصورة**، **التعرف على النص من png**، و**تحويل الصورة إلى سلسلة** — كل ذلك في مقتطف واحد مختصر. + +## الخطوة 4 – تنويعات شائعة وحالات حافة + +### معالجة صور متعددة + +إذا كنت بحاجة لمعالجة مجلد يحتوي على PNGs، غلف استدعاء التعرف داخل حلقة `foreach`: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### تحديد لغة ثابتة + +أحيانًا تعرف اللغة مسبقًا (مثلاً الإنجليزية فقط). يمكنك استبدال `AutoDetect` بـ `OcrLanguage.English` لتسريع المعالجة: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### التعامل مع مسحات منخفضة الجودة + +توفر Aspose.OCR خيارات ما قبل المعالجة (تقليل الضوضاء، تصحيح الميل). لتصحيح سريع: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### حفظ النتيجة إلى ملف + +بدلاً من الطباعة على وحدة التحكم، قد ترغب في كتابة النص المستخرج إلى ملف `.txt`: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## الخطوة 5 – مثال كامل جاهز للتنفيذ (نسخ‑لصق) + +فيما يلي **البرنامج الكامل** بما في ذلك المعالجة المسبقة الاختيارية ومنطق حفظ الملف. لا تتردد في تعديل المسارات. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### النتيجة المتوقعة + +تشغيل البرنامج على PNG يحتوي على الإنجليزية، الروسية، والعربية ينتج: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +إذا كانت الصورة فارغة أو غير قابلة للقراءة، يُعيد المحرك سلسلة فارغة — عالج هذه الحالة بالتحقق من `string.IsNullOrWhiteSpace(extractedText)` قبل المتابعة. + +## الأسئلة المتكررة (FAQs) + +**س: هل يدعم Aspose.OCR النص المكتوب بخط اليد؟** +ج: يركز على OCR المطبع. للكتابة اليدوية تحتاج نموذج ML مخصص أو خدمة مثل Azure Computer Vision. + +**س: هل يمكن تشغيله على Linux/macOS؟** +ج: بالتأكيد. Aspose.OCR متعدد المنصات؛ فقط قم بتثبيت .NET runtime لنظامك. + +**س: ماذا لو أردت معالجة ملفات PDF بدلاً من PNGs؟** +ج: حوّل كل صفحة PDF إلى صورة أولًا (مثلاً باستخدام `Aspose.PDF`) ثم مرّر الصورة إلى محرك OCR. + +## الخلاصة + +لقد أتممنا الآن **دليل c# ocr** الذي يشرح لك **استخراج النص من ملفات الصورة**، **التعرف على النص من png**، **تحويل الصورة إلى سلسلة**، و**اكتشاف اللغة تلقائيًا** باستخدام Aspose.OCR. الكود قصير، المفاهيم واضحة، ويمكنك توسيعه لمعالجة دفعات، إعدادات لغة مخصصة، أو دمجه في واجهة برمجة تطبيقات ويب. + +ما الخطوة التالية؟ جرّب إمداد مخرجات OCR إلى فهرس بحث، أو إلى خدمة ترجمة، أو دمجها مع Azure Cognitive Services للحصول على خطوط بيانات أكثر غنى. السماء هي الحد بمجرد إتقانك أساسيات تحويل الصورة إلى نص في C#. + +برمجة سعيدة، ولا تنس تجربة جودة صور مختلفة — محرك OCR سيشكرك! + +![دليل c# ocr – مثال على ناتج OCR على PNG متعدد النصوص](placeholder-image.png "دليل c# 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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/arabic/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..bd7ec387 --- /dev/null +++ b/ocr/arabic/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-01-09 +description: استخراج النص من PNG بسرعة باستخدام Aspose OCR. تعلم كيفية قراءة نص الصورة، + تحسين دقة OCR، والحصول على نتائج نظيفة في C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: ar +og_description: استخراج النص من PNG بسرعة باستخدام Aspose OCR. تعلم كيفية قراءة نص + الصورة، تحسين دقة OCR، والحصول على نتائج نظيفة في C#. +og_title: استخراج النص من PNG – دليل Aspose OCR الكامل +tags: +- Aspose OCR +- C# +- Image Processing +title: استخراج النص من PNG – دليل Aspose OCR الكامل +url: /ar/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# استخراج النص من PNG – دليل Aspose OCR الكامل + +هل احتجت يوماً إلى **استخراج النص من PNG** لكن النتائج كانت مليئة بالخرابيش؟ لست وحدك. في العديد من المشاريع الواقعية – الفواتير، الإيصالات، أو النماذج الممسوحة ضوئياً – جودة مخرجات OCR يمكن أن تكون الفاصل بين نجاح أو فشل خطوط الأتمتة. + +في هذا الدليل سنظهر لك طريقة **خطوة‑بخطوة** لقراءة نص الصورة باستخدام Aspose OCR، مع إضافة قاموس مخصص **لتحسين دقة OCR**، وتنظيف الضوضاء، وأخيراً طباعة سلسلة نصية مرتبة. بنهاية الدليل ستحصل على تطبيق C# Console جاهز للتشغيل يستخرج النص من صور PNG بثبات. + +> **ما ستحصل عليه** +> * عينة كود كاملة قابلة للتنفيذ. +> * فهم لماذا القاموس المخصص مهم. +> * نصائح للتعامل مع الحالات الخاصة مثل المسحات منخفضة التباين. + +## المتطلبات المسبقة + +- .NET 6 SDK أو أحدث (الكود يستهدف .NET 6، لكن .NET 5 يعمل أيضاً). +- Visual Studio 2022 أو أي محرر تفضله. +- صورة **PNG** تريد معالجتها – على سبيل المثال `invoice.png`. +- حزمة **Aspose.OCR** من NuGet (`dotnet add package Aspose.OCR`). + +لا توجد ملفات إعداد إضافية مطلوبة؛ كل شيء موجود في ملف `.cs` واحد. + +## الخطوة 1 – تثبيت وإضافة مرجع Aspose OCR + +أولاً، احصل على المكتبة في مشروعك. افتح الطرفية في مجلد الحل وشغّل: + +```bash +dotnet add package Aspose.OCR +``` + +هذا السطر الواحد يجلب أحدث نسخة مستقرة (اعتباراً من يناير 2026، النسخة 23.9). الحزمة تتضمن الفئة `OcrEngine` التي سنستخدمها طوال الدليل. + +## الخطوة 2 – تهيئة محرك OCR + +إنشاء كائن `OcrEngine` هو الأساس. فكر فيه كتشغيل ماسح ضوئي جاهز لتفسير البكسلات. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **نصيحة محترف:** إذا كنت تخطط لمعالجة العديد من الصور داخل حلقة، أعد استخدام نفس كائن `OcrEngine`. فهو يخزن موارد داخلية في الذاكرة ويسرّع الاستدعاءات اللاحقة. + +## الخطوة 3 – تعزيز الدقة باستخدام قاموس مخصص + +OCR الافتراضي جيد، لكنه قد يتعثر مع كلمات خاصة بالمجال مثل “Aspose”، “OCR”، أو “SDK”. إضافة هذه المصطلحات إلى **قاموس مخصص** تخبر المحرك أن هذه السلاسل صالحة، مما يقلل الأخطاء. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### لماذا يساعد القاموس المخصص + +- **النماذج الإحصائية** وراء OCR تعطي وزنًا كبيرًا للأنماط اللغوية الشائعة. الكلمات غير الشائعة تحصل على احتمالية منخفضة وقد تُستبدل بأحرف تشبهها. +- من خلال إدراجها صراحةً، تتجاوز تخمينات النموذج. +- هذا مفيد بشكل خاص ل**قراءة نص الصورة** التي تحتوي على رموز منتجات، اختصارات، أو أسماء علامات تجارية. + +## الخطوة 4 – التعرف على النص من ملف PNG + +الآن نمرر مسار الصورة إلى المحرك. طريقة `RecognizeImage` تُعيد سلسلة خام لا تزال تحتوي على رموز غير معروفة (مثل “#@!”) لم يتمكن المحرك من تعيينها. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **حالة حافة:** إذا لم يُعثر على الملف، فإن `RecognizeImage` تُطلق استثناء `FileNotFoundException`. لذا احرص على وضع الاستدعاء داخل كتلة try‑catch في الكود الإنتاجي. + +## الخطوة 5 – تنظيف النتيجة باستخدام `CleanText` + +Aspose OCR يأتي مع أداة مساعدة تُزيل الأحرف التي يُصنّفها كـ “غير معروفة”. هذه الخطوة حاسمة لمشاريع **استخراج النص من الصورة** حيث يتوقع المعالج اللاحق وجود أحرف أبجدية رقمية وعلامات ترقيم أساسية فقط. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +طريقة `CleanText` تُعيد أيضًا تطبيع نهايات الأسطر، مما يجعل المخرجات آمنة للتخزين في قواعد البيانات أو تمريرها إلى خدمات أخرى. + +## الخطوة 6 – إخراج النص المنظف + +أخيراً، اعرض أو احفظ النتيجة. في تطبيق Console، يكفي استدعاء `Console.WriteLine`. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +عند تشغيل البرنامج، يجب أن ترى كتلة نصية مرتبة تعكس محتوى `invoice.png`. إذا احتوت الصورة على كلمة “Aspose”، يضمن القاموس المخصص ظهورها بشكل صحيح بدلاً من شيء مثل “A5p0se”. + +## مثال كامل يعمل + +بدمج كل ما سبق، إليك ملف `Program.cs` الكامل الذي يمكنك نسخه‑لصقه في مشروع Console جديد: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**الناتج المتوقع** (بافتراض أن PNG يحتوي على فاتورة بسيطة): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +إذا رأيت رموزاً غريبة، تحقق من جودة الصورة أو وسّع القاموس المخصص بإضافة المزيد من المصطلحات. + +## إضافي: التعامل مع المسحات منخفضة الجودة + +أحياناً تكون PNGات ممسوحة بدقة 72 dpi أو تحتوي على ضوضاء ضغط عالية. إليك بعض الحيل السريعة **لتحسين دقة OCR** دون مغادرة C#: + +1. **معالجة مسبقة للصورة** باستخدام مكتبة مثل `SixLabors.ImageSharp` – زيادة التباين، التحويل إلى تدرج رمادي، أو تطبيق تمويه خفيف لتقليل الضوضاء. +2. **تعيين خاصية `Resolution`** على `OcrEngine` (مثال: `ocrEngine.Resolution = 300;`) لإخبار المحرك بأن يتعامل مع الصورة كأنها ذات دقة أعلى. +3. **تمكين حزم اللغات** إذا كنت تتعامل مع نص غير إنجليزي (`ocrEngine.Language = Language.English;`). + +يمكن إضافة جميع هذه الأساليب قبل استدعاء `RecognizeImage`. + +## الأسئلة المتكررة + +- **هل يعمل هذا مع صيغ صور أخرى؟** + نعم. `RecognizeImage` تقبل JPEG، BMP، TIFF، وحتى PDF (كحاوية صور). الخطوات نفسها تُطبق. + +- **هل يمكن استخراج النص من عدة PNGs في مجلد؟** + بالتأكيد. غلف المنطق الأساسي داخل حلقة `foreach (var file in Directory.GetFiles(folder, "*.png"))` واحفظ كل نتيجة في قائمة أو اكتبها إلى ملفات منفصلة. + +- **ماذا لو احتجت إحداثيات النص؟** + Aspose OCR يوفر أيضاً كائنات `OcrResult` التي تشمل مربعات الإحاطة. استخدم `ocrEngine.RecognizeImageToResult(imagePath)` لهذا السيناريو المتقدم. + +## الخلاصة + +لقد استعرضنا حلًا **متكاملاً من البداية إلى النهاية** لـ **استخراج النص من PNG** باستخدام Aspose OCR. من خلال تهيئة المحرك، إضافة **قاموس مخصص**، تنظيف المخرجات الخام، ومعالجة بعض المشكلات الشائعة، يمكنك قراءة نص الصورة بثقة وتحسين دقة OCR في تطبيقات C# الخاصة بك. + +هل أنت مستعد للخطوة التالية؟ جرّب استبدال PNG بإيصال ممسوح، أضف المزيد من الكلمات الخاصة بمجالك إلى القاموس، أو دمج الناتج مع قاعدة بيانات لمعالجة الفواتير تلقائيًا. السماء هي الحد عندما تجمع بين Aspose OCR وإيكولوجية .NET الغنية. + +برمجة سعيدة، ولتكن OCR دائمًا دقيقة! + +![مثال استخراج النص من PNG](/images/extract-text-from-png.png "استخراج النص من PNG – عرض Aspose 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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/arabic/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..4606753f --- /dev/null +++ b/ocr/arabic/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,259 @@ +--- +category: general +date: 2026-01-09 +description: استخراج النص من ملفات TIFF باستخدام Aspose OCR في C#. تعلم كيفية الحصول + على أول 50 حرفًا من كل نتيجة في هذا الدليل خطوة بخطوة. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: ar +og_description: استخراج النص من ملف TIFF باستخدام Aspose OCR في C#. يوضح هذا الدليل + كيفية الحصول على أول 50 حرفًا من كل نتيجة OCR، خطوة بخطوة. +og_title: استخراج النص من ملف TIFF باستخدام Aspose OCR – دليل C# الكامل +tags: +- Aspose OCR +- C# +- TIFF processing +title: استخراج النص من ملف TIFF باستخدام Aspose OCR C# – دليل كامل +url: /ar/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# استخراج النص من TIFF – دليل Aspose OCR الكامل بلغة C# + +هل احتجت يومًا إلى **استخراج النص من TIFF** من الصور لكن لم تكن متأكدًا من أي مكتبة تثق بها؟ لست وحدك. يواجه العديد من المطورين صعوبة عندما يحاولون استخراج نص قابل للبحث من ملفات TIFF متعددة الصفحات، خاصةً عندما تكون الأداء مهمة. + +في هذا **aspose ocr c# tutorial** سنستعرض مثالًا جاهزًا للتنفيذ لا يقتصر فقط على استخراج النص الكامل بل يوضح لك أيضًا كيفية **الحصول على أول 50 حرفًا** من كل صفحة للحصول على معاينات سريعة. في النهاية ستحصل على برنامج مستقل يمكنك إدراجه في أي مشروع .NET. + +## ما ستحتاجه + +- .NET 6 (أو أي نسخة حديثة من .NET) – الكود يُترجم مع .NET Core و .NET Framework على حد سواء. +- رخصة Aspose.OCR for .NET سارية (يمكنك البدء بتجربة مجانية). +- مجلد يحتوي على ملف أو أكثر بامتداد `.tif` تريد معالجته. +- Visual Studio أو VS Code أو أي بيئة تطوير تفضلها – المثال مكتوب بلغة C# بسيطة لذا اختيار المحرر غير مهم. + +> **نصيحة احترافية:** إذا كنت تعمل على خادم CI، أضف حزمة Aspose.OCR NuGet (`Aspose.OCR`) إلى ملف المشروع؛ المكتبة مُدارة بالكامل ولا تعتمد على مكونات أصلية. + +## الخطوة 1: تثبيت حزمة Aspose OCR NuGet + +أولًا، لنُدخل محرك OCR إلى المشروع. افتح الطرفية في مجلد الحل الخاص بك وشغّل الأمر التالي: + +```bash +dotnet add package Aspose.OCR +``` + +## الخطوة 2: تهيئة محرك OCR + +الآن نقوم بإنشاء نسخة من `OcrEngine`. فكر فيها كـ “العقل” الذي سيقرأ كل صفحة من TIFF. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +لماذا ننشئ المحرك مرة واحدة فقط؟ لأن `RecognizeImages` يمكنه قبول مجموعة من مسارات الملفات، مما يسمح للمحرك بإعادة استخدام الذاكرة الداخلية وتسريع معالجة الدفعات بشكل كبير. + +## الخطوة 3: جمع جميع ملفات TIFF في استدعاء واحد + +بدلاً من التجول في الدليل بنفسك، نترك .NET يتولى العملية الثقيلة. تُعيد طريقة `Directory.GetFiles` كائنًا من نوع `IEnumerable` يمكننا تمريره مباشرةً إلى استدعاء OCR. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **ماذا لو كانت صوري JPEG أو PNG؟** فقط غيّر نمط البحث (`"*.jpg"` أو `"*.*"`). Aspose OCR يعمل مع جميع صيغ الرسوم النقطية الشائعة. + +## الخطوة 4: تشغيل OCR على المجموعة الكاملة + +هذه هي السطر السحري الذي يعالج كل ملف في طلب واحد. تُعيد الطريقة قاموسًا حيث المفتاح هو مسار الملف والقيمة هي كائن `OcrResult` يحتوي على النص المُعترف به. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +لماذا المعالجة على دفعات؟ لأنها تقلل من الحمل الناتج عن تحميل محرك OCR مرارًا، وعلى الأجهزة متعددة النوى يقوم Aspose بتوازي العمل داخليًا، مما يمنحك زيادة ملحوظة في السرعة. + +## الخطوة 5: عرض معاينة – الحصول على أول 50 حرفًا + +معظم سيناريوهات واجهة المستخدم تحتاج فقط إلى مقتطف، وليس المستند بالكامل. سنستخرج أول 50 حرفًا (أو أقل إذا كانت الصفحة قصيرة) ونطبعها بجانب اسم الملف. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +السطر `Math.Min(50, fullText.Length)` يضمن أننا لا نتجاوز حدود السلسلة – وهو تدبير صغير يمنع حدوث `ArgumentOutOfRangeException` عندما يكون نتيجة OCR أقصر من 50 حرفًا. + +### النتيجة المتوقعة في وحدة التحكم + +بافتراض أن لديك ملفي TIFF (`invoice1.tif` و `receipt2.tif`) قد تُظهر وحدة التحكم التالي: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +كل سطر ينتهي بثلاث نقاط (`...`) للدلالة على أن المعاينة هي مجرد بداية كتلة نصية أطول. + +## الخطوة 6: التعامل مع الحالات الحدية والمشكلات الشائعة + +### ملفات فارغة أو تالفة + +إذا تعذر قراءة ملف، لا يزال `RecognizeImages` يُعيد إدخالًا مع خاصية `Text` فارغة. يمكنك تصفية هذه الإدخالات: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### دفعات كبيرة + +معالجة آلاف ملفات TIFF قد تستهلك الكثير من الذاكرة. في هذه الحالات، استخدم النسخة التي تقبل `Stream` لكل صورة، أو عالج القائمة على دفعات أصغر: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### دعم اللغة والخطوط + +إذا كانت مستنداتك تحتوي على أحرف غير لاتينية، اضبط اللغة قبل استدعاء `RecognizeImages`: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +هذا التعديل الصغير يمكنه تحسين الدقة بشكل كبير. + +## الخطوة 7: مثال كامل جاهز للتنفيذ (انسخه‑الصقه) + +فيما يلي البرنامج الكامل الذي يمكنك لصقه في مشروع وحدة تحكم جديد (`dotnet new console`) وتشغيله كما هو (فقط استبدل `YOUR_DIRECTORY/Batch` بالمسار الفعلي). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +شغّل البرنامج باستخدام `dotnet run`. يجب أن ترى معاينة مختصرة لكل ملف TIFF، مما يؤكد أنك نجحت في **استخراج النص من TIFF** باستخدام Aspose OCR. + +## الأسئلة المتكررة (FAQ) + +**س: هل يعمل هذا مع ملفات TIFF متعددة الصفحات؟** +ج: نعم. Aspose OCR يعامل كل صفحة كصورة منفصلة داخليًا، لذا فإن ملف TIFF متعدد الصفحات ينتج سلسلة موحدة واحدة لكل ملف. يمكنك تقسيمها لاحقًا إذا لزم الأمر. + +**س: ما مدى دقة OCR مباشرةً بعد التثبيت؟** +ج: بالنسبة للماسحات النظيفة وعالية الدقة (300 DPI أو أعلى) يمكنك توقع دقة >95 % للنص الإنجليزي. المعالجة المسبقة (إزالة الميل، التحويل إلى ثنائي) يمكن أن تزيد الدقة أكثر. + +**س: هل يمكنني تصدير النتائج إلى ملف CSV؟** +ج: بالتأكيد. استبدل `Console.WriteLine` بـ `StreamWriter` واكتب صفوفًا بصيغة `fileName,preview`. تذكر أن تهرب الفواصل في نص المعاينة. + +## الخطوات التالية والمواضيع ذات الصلة + +- **Persist OCR results** – خزن النص الكامل في قاعدة بيانات لأرشفة قابلة للبحث. +- **Combine with PDF conversion** – استخدم Aspose.PDF لإدراج النص المستخرج مرة أخرى في ملفات PDF قابلة للبحث. +- **Batch processing on Azure Functions** – قم بتوسيع معالجة OCR باستخدام Azure Functions دون الحاجة لإدارة الخوادم. + +جميع هذه الإضافات ترتبط بالفكرة الأساسية لـ **استخراج النص من TIFF** بكفاءة، مع الاستمرار في تمكينك من **الحصول على أول 50 حرفًا** للحصول على معاينات سريعة في واجهة المستخدم. + +--- + +*برمجة سعيدة! إذا واجهت أي مشاكل، اترك تعليقًا أدناه – سأبذل قصارى جهدي لمساعدتك في تحسين خط أنابيب OCR.* + +![Extract text from TIFF using Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extract text from TIFF using Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/arabic/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..9ce5eb1f --- /dev/null +++ b/ocr/arabic/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,238 @@ +--- +category: general +date: 2026-01-09 +description: التعرف على النص في ملفات JPG بسرعة باستخدام Aspose OCR في C#. تعلم كيفية + استخراج النص من الصورة، وتحويل الصورة إلى JSON و EPUB في دليل واحد. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: ar +og_description: التعرف على النص في ملف JPG باستخدام Aspose OCR. يوضح هذا الدليل كيفية + استخراج النص من الصورة، وتحويل الصورة إلى JSON و EPUB، وإنشاء ملف ePub من صورة. +og_title: التعرف على النص في ملف JPG – دليل C# الكامل +tags: +- Aspose OCR +- C# +- Image Processing +title: التعرف على النص في ملفات JPG باستخدام Aspose OCR – دليل C# الكامل +url: /ar/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# التعرف على النص في JPG – دليل C# كامل + +هل احتجت يومًا إلى **التعرف على النص في ملفات JPG** لكن لم تكن متأكدًا أي مكتبة تختار؟ لست وحدك. يواجه العديد من المطورين نفس المشكلة عندما يحاولون استخراج الكلمات من صورة فوتوغرافية أو مستند ممسوح ضوئيًا للمرة الأولى. + +الخبر السار؟ مع Aspose OCR يمكنك **استخراج النص من صورة** ببضع أسطر من كود C#، ثم **تحويل الصورة إلى JSON** أو حتى **تحويل الصورة إلى EPUB**—كل ذلك دون مغادرة بيئة التطوير المتكاملة الخاصة بك. + +في هذا الدرس سنستعرض سير العمل بالكامل: من تثبيت حزم NuGet المناسبة، مرورًا بالتعرف على النص في JPG، إلى حفظ النتيجة كملف JSON منظم وكمستند ePub. في النهاية ستتمكن من **إنشاء ePub من صورة** برمجيًا، وهو خدعة مفيدة لمنصات التعلم الإلكتروني، المكتبات الرقمية، أو أي تطبيق يحتاج إلى كتب إلكترونية قابلة للبحث. + +--- + +## ما ستحتاجه + +- **.NET 6+** (أو .NET Framework 4.6+). يعمل الكود على أي بيئة تشغيل حديثة. +- حزمة NuGet **Aspose.OCR** – محرك OCR الأساسي. +- حزمة NuGet **Aspose.Publishing** – مطلوبة لتنسيق الإخراج ePub. +- ملف صورة باسم `input.jpg` موجود في مكان ما على قرصك (استبدل المسار بمسارك الخاص). +- محرر نصوص أو بيئة تطوير (Visual Studio، VS Code، Rider—اختر ما يناسبك). + +هذا كل ما تحتاجه. لا خدمات إضافية، لا واجهات برمجة تطبيقات خارجية، فقط مكتبتان وملف JPG. + +--- + +## الخطوة 1: إعداد المشروع **للتعرف على النص في JPG** + +أولًا، أنشئ تطبيقًا جديدًا من نوع console (أو أضف إلى مشروع موجود). ثم أضف الحزمتين Aspose عبر مدير حزم NuGet: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **نصيحة احترافية:** إذا كنت تستخدم Visual Studio، انقر بزر الماوس الأيمن على المشروع → *Manage NuGet Packages* → ابحث عن *Aspose.OCR* و*Aspose.Publishing*، ثم اضغط **Install**. + +هذه الحزم تجلب لك كل ما تحتاجه **لاستخراج النص من صورة** وإنتاج ملف ePub لاحقًا. + +--- + +## الخطوة 2: **استخراج النص من صورة** باستخدام Aspose OCR + +الآن سنكتب الكود الذي يقرأ ملف JPG ويستخرج الأحرف منه. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**لماذا يعمل هذا:** `OcrEngine` ي abstract كل عمليات ما قبل معالجة الصورة، واكتشاف اللغة، وتقسيم الأحرف. كل ما عليك هو توجيهه إلى ملف وستحصل على كائن `OcrResult` يحتوي على النص العادي (`ocrResult.Text`) ومجموعة غنية من البيانات الوصفية. + +--- + +## الخطوة 3: **تحويل الصورة إلى JSON** – تصدير نتيجة OCR + +إذا كنت بحاجة لتخزين مخرجات OCR بتنسيق منظم (لـ APIs، قواعد البيانات، أو المعالجة اللاحقة)، تجعل لك Aspose عملية تسلسل النتيجة إلى JSON أمرًا سهلًا. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +الـ JSON الناتج يبدو تقريبًا هكذا (مقتطع للتبسيط): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**متى تستخدمه:** JSON مثالي إذا كنت تُرسل بيانات OCR إلى خدمة ويب، تخزنها في قاعدة NoSQL، أو تحتاج إلى تمثيل قابل للنقل يمكن تحليله بأي لغة برمجة. + +--- + +## الخطوة 4: **تحويل الصورة إلى EPUB** – حفظها ككتاب إلكتروني + +تضيف Aspose Publishing دعمًا لعدة تنسيقات كتب إلكترونية، بما في ذلك EPUB. عبر استدعاء `Save` على كائن `OcrResult` يمكنك توليد ملف ePub متوافق بالكامل يحتوي على النص المستخرج، وربما الصورة الأصلية. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**ما ستحصل عليه:** ePub يمكنك فتحه بأي قارئ (Calibre، Apple Books، Adobe Digital Editions). الملف يتضمن النص المستخرج كمحتوى قابل للبحث، بالإضافة إلى الصورة الأصلية كطبقة خلفية—مثالي لإنشاء خطوط **إنشاء ePub من صورة**. + +--- + +## الخطوة 5: مثال كامل يعمل – من JPG إلى JSON & EPUB + +بجمع كل ما سبق، إليك البرنامج الكامل الجاهز للتنفيذ. انسخه إلى `Program.cs`، عدل مسارات الملفات، ثم اضغط **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +شغّل البرنامج وسترى ثلاثة أشياء: + +1. النص المستخرج يُطبع في وحدة التحكم. +2. ملف `output.json` يحتوي على بيانات OCR المنظمة. +3. ملف `output.epub` يمكنك فتحه بأي قارئ كتب إلكترونية. + +--- + +## أسئلة شائعة وحالات خاصة + +- **ماذا لو كانت الصورة PNG أو BMP؟** + يدعم Aspose OCR معظم صيغ الصور النقطية (PNG، BMP، TIFF، GIF). فقط غيّر امتداد الملف في `inputPath`؛ سيعمل الكود نفسه. + +- **هل يمكن تحديد لغة غير الإنجليزية؟** + نعم. عيّن `ocrEngine.Language = OcrLanguage.French;` (أو أي لغة مدعومة) قبل استدعاء `RecognizeImage`. + +- **ماذا عن ملفات PDF متعددة الصفحات؟** + بالنسبة للـ PDFs، يجب أولًا تحويل كل صفحة إلى صورة (يمكن لـ Aspose.PDF القيام بذلك) ثم تمرير كل صورة إلى `RecognizeImage`. يمكن دمج كائنات `OcrResult` الناتجة قبل تصديرها إلى JSON أو EPUB. + +- **أحصل على درجات ثقة منخفضة. كيف أحسن الدقة؟** + عالج الصورة مسبقًا: زد التباين، أصلح الانحراف، أو حوّلها إلى تدرج رمادي. يوفر Aspose OCR أيضًا `PreprocessOptions` يمكنك تعديلها. + +--- + +## الخلاصة + +أصبح لديك الآن وصفة شاملة من الطرف إلى الطرف **للتعرف على النص في ملفات JPG** باستخدام Aspose OCR، ثم **تحويل الصورة إلى JSON** لسلاسل البيانات و**تحويل الصورة إلى EPUB** لإنشاء كتب إلكترونية قابلة للبحث. النهج خفيف الوزن، يتطلب حزمتين فقط من NuGet، ويعمل على جميع بيئات .NET الحديثة. + +من هنا يمكنك: + +- دمج مخرجات JSON في فهرس بحث (Azure Cognitive Search، Elastic). +- معالجة مجموعة من الصور دفعيًا وإنشاء مكتبة من كتب ePub. +- توسيع سير العمل بواجهات ترجمة لإنشاء كتب متعددة اللغات تلقائيًا. + +جرّبه، واختبر جودة الصور المختلفة، ودع محرك OCR يقوم بالعمل الشاق. برمجة سعيدة! + +--- + +![لقطة شاشة لإخراج التعرف على النص في JPG](placeholder-image.png "مثال على التعرف على النص في 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/net/ocr-configuration/_index.md b/ocr/chinese/net/ocr-configuration/_index.md index 8d3e1997..62a00295 100644 --- a/ocr/chinese/net/ocr-configuration/_index.md +++ b/ocr/chinese/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ url: /zh/net/ocr-configuration/ 使用 Aspose.OCR for .NET 解锁强大的 OCR 功能。无缝地从图像中提取文本。 ### [OCR 图像识别中的 OCROperation 与列表](./ocr-operation-with-list/) 释放 Aspose.OCR for .NET 的潜力。使用列表轻松执行 OCR 图像识别。提高应用程序的生产力和数据提取。 +### [C# 中的 OCR 图像处理 – 完整指南(支持 GPU)](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +了解 +### [使用 Aspose OCR 识别图像文本 – 完整 C# 指南](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +使用 Aspose OCR 在 C# 中完整实现图像文本识别的步骤指南。 + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/chinese/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..b3d5723f --- /dev/null +++ b/ocr/chinese/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,197 @@ +--- +category: general +date: 2026-01-09 +description: 学习如何使用 Aspose.OCR 对图像进行 OCR 并提取图像文字。包括将扫描文档转换、启用 GPU,以及使用 OCR 读取图像的步骤。 +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: zh +og_description: 如何使用 Aspose.OCR 快速进行图像 OCR。请按照本分步教程提取图像文字、转换扫描文档并启用 GPU。 +og_title: 如何在 C# 中进行图像 OCR – GPU 加速指南 +tags: +- OCR +- C# +- Aspose +- Image Processing +title: 如何在 C# 中进行图像 OCR – 完整指南(支持 GPU) +url: /zh/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 C# 中进行图像 OCR – 带 GPU 支持的完整指南 + +是否曾想过直接在 .NET 应用中 **how to OCR image** 文件?你并不是唯一一个——开发者经常需要从 PDF、TIFF 和照片中提取文本,尤其是在处理大型扫描文档时。好消息是?使用 Aspose.OCR,你只需几行代码就能 **extract image text**,甚至可以 **enable GPU** 加速以获得更快的处理速度。 + +在本教程中,我们将逐步讲解你需要了解的所有内容:从安装库、初始化带 GPU 回退的 OCR 引擎,到最终 **reading image with OCR** 并显示结果。完成后,你将能够将 **convert scanned document** 图像转换为可编辑的字符串——无需外部服务。 + +--- + +## 你需要的准备 + +- **.NET 6.0** 或更高版本(代码同样适用于 .NET Core 和 .NET Framework)。 +- Aspose.OCR 的 **license** 或临时评估密钥(免费试用可用于测试)。 +- 你想要处理的图像文件——最好是高分辨率的 TIFF 或 PNG。 +- (可选)如果想看到加速效果,可使用支持 GPU 的机器;否则引擎会优雅地回退到 CPU。 + +满足这些前提条件后,你就可以专注于实际的 OCR 工作流,而不会在后期遇到阻碍。 + +--- + +## 步骤 1:安装 Aspose.OCR NuGet 包 + +首先——将 Aspose.OCR 库添加到项目中。打开解决方案文件夹中的终端并运行: + +```bash +dotnet add package Aspose.OCR +``` + +或者,如果你使用 Visual Studio 的 NuGet UI,只需搜索 **Aspose.OCR** 并点击安装。此单个命令会拉取所有必需的 DLL,包括可用时的本机 GPU 二进制文件。 + +> **Pro tip:** 保持包的最新版本。新版本通常包含语言模型改进和更好的 GPU 支持。 + +--- + +## 步骤 2:导入所需的命名空间 + +现在包已安装,将相关命名空间引入作用域。此步骤是我们在代码中开始 **how to OCR image** 的地方。 + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +这两行代码让你能够访问 `OcrEngine` 类以及用于切换 GPU 使用的设置对象。若没有它们,编译器将不知道 `OcrEngine` 是什么。 + +--- + +## 步骤 3:初始化 OCR 引擎并启用 GPU + +如果你曾经询问过 **how to enable GPU** 用于 OCR,这就是答案。我们创建一个 `OcrEngineSettings` 实例,切换 `UseGpu` 标志,并将其传递给引擎构造函数。引擎会自动检测是否存在兼容的 GPU;如果没有,则回退到 CPU——因此你无需额外的错误处理。 + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +为什么要启用 GPU?对于大图像——比如多页 TIFF 或高分辨率扫描——处理时间可以从数秒降至毫秒级。如果你在构建批处理流水线,这种速度提升会迅速累积。 + +--- + +## 步骤 4:对目标图像执行 OCR + +这里就是我们实际 **read image with OCR** 的地方。提供文件路径,引擎会返回识别后的文本字符串。这适用于 Aspose 支持的任何光栅格式(PNG、JPEG、TIFF、BMP 等)。 + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +如果你需要逐页 **convert scanned document**,只需遍历文件名并对每个调用 `RecognizeImage`。该方法是线程安全的,因此你甚至可以在多核 CPU 上并行处理工作负载。 + +--- + +## 步骤 5:显示或持久化提取的文本 + +最后,我们输出结果。在控制台应用中,`Console.WriteLine` 就能完成。实际场景中,你可能会将文本写入数据库、JSON 文件,或导入搜索索引。 + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +上述代码行打印原始 OCR 输出。你会注意到换行、偶尔的误识别以及可能出现的杂散字符——这在 OCR 中很常见。若有需要,可通过后处理(例如正则表达式清理)来整理文本。 + +> **Note:** Aspose.OCR 还支持特定语言的词典。如果你处理非英文文本,请在调用 `RecognizeImage` 前相应设置 `ocrEngine.Settings.Language`。 + +--- + +## 完整工作示例 + +将所有内容整合在一起,下面是一个可直接复制粘贴到新控制台项目中的完整程序: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Expected output**(为简洁起见已截断): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +运行程序后,你应该会在控制台窗口看到提取的文本。如果 GPU 可用,处理时间将明显比仅使用 CPU 的机器更短。 + +--- + +## 常见陷阱及避免方法 + +| Issue | Why It Happens | Fix | +|-------|----------------|-----| +| **乱码字符** | 低分辨率来源或噪声背景。 | 在 OCR 前预处理图像(提升 DPI,进行二值化)。 | +| **GPU 未使用** | 未安装兼容的 CUDA 驱动。 | 核实驱动版本,或将 `UseGpu = false` 强制使用 CPU。 | +| **大 TIFF 文件内存不足** | 一次性加载整个文件。 | 使用 `OcrEngineSettings.MaxMemoryUsage` 限制占用,或逐页处理。 | +| **语言检测错误** | 默认语言为英语。 | 在调用 `RecognizeImage` 前设置 `ocrEngine.Settings.Language = Language.YourLanguage;`。 | + +处理这些边缘情况可确保你的 **how to OCR image** 实现能够在不同环境中保持稳健。 + +--- + +## 扩展解决方案 + +既然你已经可以 **extract image text**,你可能想要: + +- **Convert scanned document** PDF 为可搜索的 PDF,通过嵌入 OCR 层。 +- 将结果存储在 **Azure Cognitive Search** 索引中,以实现快速检索。 +- 将 OCR 输出链到 **translation API**,如果需要多语言支持。 +- 使用 **Aspose.OCR** 的 `GetBoundingBoxes` 方法定位图像上每个单词出现的位置——对编辑工具非常有用。 + +--- + +## 结论 + +我们已经完整演示了在 C# 中使用 Aspose.OCR 进行 **how to OCR image** 的端到端示例。通过安装 NuGet 包、导入正确的命名空间、启用 GPU(或回退到 CPU),并调用 `RecognizeImage`,你可以可靠地 **extract image text**、**convert scanned document** 页面,并在任何 .NET 应用中 **read image with OCR**。 + +尝试对几张自己的扫描件进行实验——使用不同的图像格式、切换 GPU 标志,观察性能变化。当你准备好后,可探索语言词典或边界框提取等高级功能,使你的解决方案更智能。 + +祝编码愉快,愿你的 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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/chinese/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..f47e2fb5 --- /dev/null +++ b/ocr/chinese/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,204 @@ +--- +category: general +date: 2026-01-09 +description: 使用 Aspose OCR 在 C# 中识别图像文字。了解如何禁用自动下载、提取中文文本图像以及设置 OCR 语言。 +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: zh +og_description: 使用 Aspose OCR 在 C# 中识别图像文字。请按照本分步教程禁用自动下载、提取中文文本图像并设置 OCR 语言。 +og_title: 使用 Aspose OCR 从图像识别文本 – 完整 C# 指南 +tags: +- Aspose OCR +- C# +- Image Processing +title: 使用 Aspose OCR 从图像识别文本 – 完整 C# 指南 +url: /zh/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 使用 Aspose OCR 从图像识别文本 – 完整 C# 指南 + +是否曾经需要**从图像识别文本**却在配置细节上卡住?你并不孤单。许多开发者在 OCR 引擎尝试在运行时下载语言包,或无法从标志照片中提取中文字符时会遇到障碍。 + +在本教程中,我们将一步步演示一个实用方案,教你如何**禁用自动下载**、**提取文本图像**、**提取中文文本图像**以及**设置 OCR 语言**——全部使用 Aspose OCR for .NET。完成后,你将拥有一个可直接运行的程序,能够将识别的文本打印到控制台。 + +## 你将学到 + +- 如何安装并引用 Aspose.OCR NuGet 包。 +- 为什么在离线或安全环境中关闭自动资源下载很重要。 +- 将引擎指向本地语言包文件夹的具体步骤。 +- 在处理图像前如何选择正确的语言(简体中文)。 +- 验证输出并排查常见问题。 + +不需要任何 Aspose 经验;只需一个基本的 C# 环境和一张你想读取的图像文件。 + +## 前提条件 + +| 要求 | 原因 | +|-------------|--------| +| .NET 6.0 or later (or .NET Framework 4.7+) | Aspose.OCR 支持这些运行时。 | +| Visual Studio 2022 (or any IDE you like) | 便于创建项目和调试。 | +| An image file containing Chinese text (e.g., `chinese-sign.jpg`) | 用于演示**提取中文文本图像**。 | +| Local copy of Aspose OCR language packs (downloaded once from the Aspose portal) | 因为我们将**禁用自动下载**。 | + +确保语言包 ZIP 文件放在可引用的文件夹中,例如 `C:\MyOCR\Resources`。 + +## 步骤 1:从图像识别文本 – 配置 OCR 引擎 + +首先,我们需要一个 `OcrEngineSettings` 对象,用于告诉 Aspose 资源的查找位置。这是任何**提取文本图像**操作的基础。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +为什么将 `AutoDownloadResources` 设置为 `false`?在生产环境中,你常常位于防火墙后,或根本不希望应用在运行时访问互联网。禁用此功能可确保引擎仅使用你放在 `ResourceFolder` 中的文件,同时加快初始化速度。 + +## 步骤 2:使用指定设置创建 OCR 引擎 + +设置准备好后,我们实例化引擎。此步骤是后续**设置 OCR 语言**功能发挥作用的地方。 + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +`OcrEngine` 对象体积轻巧;在分配语言之前它并不会实际加载任何语言数据。这种惰性加载使得即使资源文件夹为空也可以安全创建引擎——直到你尝试**提取中文文本图像**时才会使用语言数据。 + +## 步骤 3:设置 OCR 语言 – 选择简体中文 + +Aspose 支持数十种语言,每种语言都打包为 ZIP 文件。由于我们的示例图像包含简体中文字符,我们在识别前显式设置语言。 + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +如果忘记此步骤,引擎默认使用英文,输出将会乱码。另外,请注意语言名称必须与 `ResourceFolder` 中的 ZIP 文件名匹配。例如,需存在 `ChineseSimplified.zip`。 + +## 步骤 4:从目标图像提取文本 + +在引擎配置好并设置语言后,我们终于可以**从图像识别文本**。该方法返回普通字符串,你可以记录、存储或传递给其他系统。 + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +`RecognizeImage` 的调用完成所有繁重工作:预处理、分割、字符匹配,最后组装结果。如果图像清晰且语言包正确,你将在控制台看到中文字符。 + +> **提示:** 如果只需提取图像的某一部分(例如特定区域),请使用重载 `RecognizeImage(string, Rectangle)` 并传入裁剪矩形。 + +## 完整工作示例 + +下面是完整的程序代码,你可以复制粘贴到新的控制台项目中。它包含 `using` 语句、设置、语言选择以及最终输出。将其保存为 `Program.cs`,恢复 NuGet 包后运行。 + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### 预期输出 + +如果 `chinese-sign.jpg` 包含短语 “欢迎光临”,控制台将显示类似如下内容: + +``` +=== Recognized Text === +欢迎光临 +``` + +具体格式可能因图像质量而异,但字符应当可辨认。 + +## 常见问题 & 专业技巧 + +| 症状 | 可能原因 | 解决方案 | +|---------|--------------|-----| +| **空字符串返回** | 未找到语言包或 `AutoDownloadResources` 仍在尝试获取它 | 检查 `ResourceFolder` 路径并确保存在 `ChineseSimplified.zip`。 | +| **乱码字符** | 图像模糊或对比度低 | 在将图像传入 `RecognizeImage` 前进行预处理(提高对比度、二值化)。 | +| **异常:`FileNotFoundException`** | 图像路径错误 | 使用绝对路径,或将图像放在项目的输出目录中,并使用 `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")` 引用。 | +| **性能延迟** | 图像尺寸过大 | 在识别前将图像调整到合理宽度(例如 1024 px)。 | + +**专业提示:** 将语言包保存在受版本控制的文件夹中。升级 Aspose.OCR 时,新包可能采用不同的命名约定,这可能会悄然破坏你的**禁用自动下载**策略。 + +## 扩展示例 + +既然你已经能够**从图像识别文本**,你可能想要: + +- **批量处理** 文件夹中的图像(遍历文件,每次调用 `RecognizeImage`)。 +- **导出** 结果为 CSV 或 JSON 文件,以供后续分析。 +- **结合** OCR 与翻译 API,将中文标志实时转换为英文。 + +所有这些场景都复用相同的核心步骤:一次配置,设置语言,然后调用 `RecognizeImage`。模块化设计使代码保持简洁且易于维护。 + +## 结论 + +你刚刚学习了如何在 C# 中使用 Aspose 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/net/ocr-optimization/_index.md b/ocr/chinese/net/ocr-optimization/_index.md index d78ff613..12b2e565 100644 --- a/ocr/chinese/net/ocr-optimization/_index.md +++ b/ocr/chinese/net/ocr-optimization/_index.md @@ -50,9 +50,12 @@ url: /zh/net/ocr-optimization/ 使用 Aspose.OCR for .NET 提高 OCR 准确性。轻松纠正拼写、自定义词典并实现无差错的文本识别。 ### [在 OCR 图像识别中将多页结果保存为文档](./save-multipage-result-as-document/) 释放 Aspose.OCR for .NET 的潜力。借助这份全面的分步指南,轻松将多页 OCR 结果保存为文档。 +### [c# OCR 教程:使用预处理识别图像中的文本](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +通过预处理步骤提升 OCR 准确性,使用 Aspose.OCR for .NET 从图像中识别文本。 + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/chinese/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..6d6de289 --- /dev/null +++ b/ocr/chinese/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: C# OCR 教程,展示如何使用 Aspose.OCR 过滤器识别图像中的文本并对图像进行 OCR 预处理——一步一步的指南。 +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: zh +og_description: c# OCR 教程,逐步指导您使用 Aspose.OCR 滤镜从图像中识别文本并进行图像预处理以进行 OCR。包含完整代码。 +og_title: c# OCR 教程 – 使用预处理从图像中识别文本 +tags: +- OCR +- C# +- Image Processing +title: C# OCR 教程:使用预处理从图像中识别文本 +url: /zh/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR 教程 – 使用预处理识别图像中的文本 + +是否曾想过在 C# 应用中 **从图像中识别文本**,却不想花数周时间调试滤镜?你并不孤单。在本 **c# OCR 教程** 中,我们将演示一个完整、可直接运行的示例,它不仅读取文本,还会 **对图像进行 OCR 预处理**,以提升准确率。 + +我们将使用 Aspose.OCR 库,因为它自带了便捷的过滤管线,让你只需几行代码即可插入去倾斜、去噪和对比度提升等步骤。阅读完本指南后,你将拥有一个控制台应用,能够处理倾斜、噪声较多的 PNG,进行清理后输出提取的字符串,并配有每一步为何重要的清晰解释。 + +## 前置条件 + +在开始之前,请确保你具备以下条件: + +| 前置条件 | 为什么重要 | +|----------|------------| +| .NET 6 SDK(或更高) | 支持现代 C# 特性并提供更佳性能 | +| Visual Studio 2022(或 VS Code) | 便捷的调试和 IntelliSense | +| NuGet 包 **Aspose.OCR** | 提供 `OcrEngine` 与过滤器类 | +| 输入图像(例如 `skewed‑noisy.png`) | 用于演示预处理的必要性 | + +如果缺少任何项,请先安装。NuGet 步骤将在下一节说明。 + +## 第一步:通过 NuGet 安装 Aspose.OCR + +打开终端(或包管理器控制台),运行: + +```bash +dotnet add package Aspose.OCR +``` + +> **小技巧:** 如需可复现的构建,可使用 `--version` 参数锁定到特定版本。 + +该包已包含我们需要的所有过滤器,无需额外的 DLL。 + +## 第二步:初始化 OCR 引擎 – 本 c# OCR 教程的核心 + +创建引擎非常直接,但了解其内部工作原理也很重要。`OcrEngine` 持有一个 **过滤器** 管线,在识别算法运行前对位图进行处理。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **为何先初始化?** 引擎会缓存内部资源(如语言模型)。在多张图像之间复用同一实例可节省内存并加快后续识别速度。 + +## 第三步:为 OCR 预处理图像 – 添加去倾斜、去噪和对比度提升 + +现实中的扫描件往往不完美;它们可能倾斜、出现斑点或过暗。这就是 **为 OCR 预处理图像** 成为关键步骤的原因。Aspose 提供了三个配合良好的过滤器: + +| 过滤器 | 功能说明 | 常见使用场景 | +|--------|----------|--------------| +| `DeskewFilter` | 将图像旋转以校正倾斜 | 扫描仪生成的文档 | +| `DenoiseFilter` | 去除孤立像素(“盐与胡椒”噪声) | 低光环境拍摄的照片 | +| `ContrastBoostFilter` | 提高对比度,强化文字边缘 | 褪色的打印件或低分辨率捕获 | + +下面的代码将每个过滤器添加到引擎的管线中: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **工作原理:** 当你随后调用 `RecognizeImage` 时,引擎会依次执行这三个过滤器,然后将处理后的位图传递给识别核心。 + +### 可视化示例(可选) + +如果嵌入图像,请确保 alt 文本包含主要关键词: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## 第四步:从图像中识别文本 – 真正的考验 + +图像预处理完成后,终于可以提取字符了。该方法返回普通字符串,你可以将其记录、存储或传递给其他系统。 + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### 预期输出 + +对典型的发票扫描运行示例后,可能得到如下结果: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +如果输出乱码,请检查图像质量,并考虑调高 `ContrastBoostFilter.Level`(值大于 2.0 可能过于激进)。 + +## 第五步:输出结果并进行可选的后处理 + +控制台应用可以直接写出字符串,但许多项目需要额外处理——比如去除空白、删除换行,或将文本写入数据库。 + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### 为何需要后处理? + +即使预处理做得很好,OCR 仍可能产生多余的换行或不可见字符。快速的 `Replace` 链可以让下游数据更加可用。 + +## 第六步:完整工作示例 – 复制粘贴即用 + +以下是 **完整** 程序,你可以立即编译运行。它包含所有 using 语句、过滤器设置、OCR 调用以及结果处理。 + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**运行方式** + +1. 在新建的控制台项目中(`dotnet new console`)将文件保存为 `Program.cs`。 +2. 将 `YOUR_DIRECTORY/skewed-noisy.png` 替换为实际的测试图像路径。 +3. 执行 `dotnet run`。你应该会在终端看到 OCR 输出。 + +## 常见坑点与技巧(可靠地从图像中识别文本) + +| 问题 | 检查要点 | 解决方案 | +|------|----------|----------| +| **乱码字符** | 图像过暗或分辨率低 | 提高 `ContrastBoostFilter.Level` 或使用更高分辨率的源图像 | +| **缺失行** | 去倾斜未完全校正角度 | 先手动旋转图像,或调节 `DeskewFilter` 容差 | +| **性能慢** | 循环处理大量大图像 | 重用同一 `OcrEngine` 实例,并在每次运行后调用 `ocrEngine.Clear()` | +| **不支持的语言** | 文本非英文 | 在识别前设置 `ocrEngine.Language = OcrLanguage.French`(或其他支持的语言) | + +### 边缘案例:处理多页 PDF + +如果需要 OCR PDF,可先将每页转换为图像(例如使用 `Aspose.PDF`),然后逐页送入同一引擎。预处理管线保持不变,确保跨页结果一致。 + +## 结论 + +在本 **c# OCR 教程** 中,我们涵盖了使用 Aspose.OCR 内置过滤器 **从图像中识别文本** 并 **进行 OCR 预处理** 的全部要点。通过初始化引擎、添加去倾斜、去噪和对比度提升步骤,最后调用 `RecognizeImage`,只需几行代码即可获得干净、可靠的文本提取。 + +欢迎尝试——替换不同的过滤器、调节对比度级别,或将结果集成到更大的数据流水线。这里的概念同样适用于其他 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/net/text-recognition/_index.md b/ocr/chinese/net/text-recognition/_index.md index 9a3154c2..5f52fa98 100644 --- a/ocr/chinese/net/text-recognition/_index.md +++ b/ocr/chinese/net/text-recognition/_index.md @@ -55,9 +55,21 @@ url: /zh/net/text-recognition/ 使用 Aspose.OCR 释放 .NET 中 OCR 的潜力。轻松从 PDF 中提取文本。立即下载以获得无缝集成体验。 ### [OCR图像识别中的识别表](./recognize-table/) 通过我们关于 OCR 图像识别中表格识别的综合指南,释放 Aspose.OCR for .NET 的潜力。 +### [C# OCR 教程 – 从 PNG 收据中提取印地语文本](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +使用 Aspose.OCR for .NET,学习如何在 C# 中从 PNG 格式的收据图像提取印地语文本。 +### [从 PNG 中提取文本 – 完整 Aspose OCR 教程](./extract-text-from-png-complete-aspose-ocr-tutorial/) +使用 Aspose.OCR 在 C# 中完整地提取 PNG 图像中的文本,提供详细的分步指南。 +### [使用 Aspose OCR 识别 JPG 文本 – 完整 C# 指南](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +使用 Aspose.OCR 在 C# 中完整地识别 JPG 图像中的文本,提供详细的分步指南。 +### [使用 Aspose OCR 识别 TIFF 文本 – 完整 C# 指南](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +使用 Aspose.OCR for .NET,在 C# 中完整演示如何从 TIFF 图像提取文本,提供详细分步指南。 +### [C# OCR 教程 – 使用 Aspose OCR 从图像中提取文本](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +使用 Aspose.OCR 在 C# 中完整演示如何从图像中提取文本,提供详细的分步指南。 +### [C# OCR 教程 – 从图像和 DJVU 文件中提取文本](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/chinese/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..8e19b6e3 --- /dev/null +++ b/ocr/chinese/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,213 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR 教程:从 PNG 读取文本,将图像转换为文字,并使用 Aspose OCR 识别收据上的印地语文本。 +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: zh +og_description: c# OCR 教程,教你如何从 PNG 读取文本,将图像转换为文本,并使用 Aspose OCR 识别收据上的印地语文本。 +og_title: C# OCR 教程 – 从 PNG 收据中提取印地语文本 +tags: +- OCR +- C# +- Aspose +- Image Processing +title: C# OCR 教程 – 从 PNG 收据中提取印地语文本 +url: /zh/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr 教程 – 从 PNG 收据中提取印地语文本 + +有没有想过如何在 C# 应用程序中 **读取 PNG** 文件中的文本?也许你有一堆印地语收据,需要自动提取金额。这正是本 c# ocr 教程要解决的——只需几行代码即可将图像转换为可搜索的文本。 + +在本指南中,我们将演示如何安装 Aspose OCR、加载 PNG 收据、识别印地语字符,最后将提取的字符串打印到控制台。完成后,你将能够 **convert image to text**、**recognize Hindi text**,甚至 **extract text from receipt** 图像,而无需离开 IDE。 + +> **先决条件说明:** 你需要一份有效的 Aspose OCR 许可证(或使用免费试用版)并已安装 .NET 6+。如果你是 NuGet 新手,别担心——我们也会介绍。 + +## 你需要的工具 + +- **Visual Studio 2022**(或任何兼容 C# 的编辑器) +- **.NET 6 SDK**(或更高版本) +- **Aspose.OCR** NuGet 包 + ```bash + dotnet add package Aspose.OCR + ``` +- 示例收据图像,例如 `hindi-receipt.png`,保存在项目文件夹中。 + +准备好这些后,你就可以复制粘贴最终代码并立即按 **F5** 运行。 + +## 步骤 1:设置项目并导入命名空间 + +首先,如果还没有控制台项目,请创建一个: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +现在打开 `Program.cs`。在文件顶部,导入 Aspose OCR 命名空间,以便编译器知道类所在位置: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **为什么重要:** `OcrEngine` 位于 `Aspose.OCR`,而语言相关的枚举在 `Aspose.OCR.Settings` 中。忘记导入任意一个都会导致编译时错误。 + +## 步骤 2:初始化 OCR 引擎并选择语言模型 + +OCR 引擎需要知道要识别的 **语言**。Aspose 提供了众多语言包;指定 `OcrLanguage.Hindi` 会让引擎下载(如果缺失)并使用印地语模型。 + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **专业提示:** 如果你计划处理多语言收据,可以在运行时切换 `Language`,甚至启用 `MultiLanguage` 模式。 + +## 步骤 3:将 PNG 收据提供给引擎 + +这里是 **read text from PNG** 的地方。提供完整路径(相对于可执行文件的相对路径也可以)。该方法返回一个普通字符串,包含引擎能够识别的所有内容。 + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +如果图像分辨率高且文字清晰,你将获得接近完美的结果。对于噪声较多的扫描图像,可考虑预处理(例如二值化)——Aspose 提供了 `PreprocessImage` 方法,可在后续探索。 + +## 步骤 4:显示或持久化提取的文本 + +大多数开发者在测试时会直接将结果输出到控制台。在生产环境中,你可能会将其写入数据库或 CSV 文件。 + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +使用示例收据运行程序时,会打印类似如下内容: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +这就是 **convert image to text** 的实际效果——无需手动转录。 + +## 完整工作示例(可复制粘贴) + +下面是完整的、独立的程序。将其粘贴到 `Program.cs`,把 `hindi-receipt.png` 放在编译后的 `.exe` 同目录下,然后按 **Ctrl + F5** 运行。 + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### 预期输出 + +当收据图像包含清晰的印地语字符时,控制台会显示提取的行,并保留换行。如果 OCR 未能识别某个单词,你会看到乱码片段——这提示需要提升图像质量或调整预处理。 + +## 步骤 5:进一步——以编程方式从收据中提取文本 + +如果你的目标是 **extract text from receipt**(日期、总额、发票号)等字段,可以使用正则表达式对 OCR 字符串进行后处理: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +这段小代码展示了如何将原始 OCR 输出转换为结构化数据——非常适合导入会计软件。 + +## 常见陷阱及规避方法 + +| **问题** | **原因** | **解决方案** | +|----------|----------|--------------| +| **空白输出** | 图片路径错误或文件未复制到输出文件夹。 | 使用 `Path.GetFullPath` 并确认文件存在(`File.Exists`)。 | +| **乱码字符** | PNG 分辨率低或颜色被压缩。 | 放大图像,将 DPI 设置为 300+,或使用 `ocrEngine.ImagePreprocessor`。 | +| **语言模型未下载** | 首次运行时没有网络连接。 | 通过 Aspose 门户预先下载印地语模型,或在本地托管。 | +| **性能延迟** | 在循环中处理大量页面而未释放资源。 | 将 `OcrEngine` 包裹在 `using` 块中,或复用同一个实例。 | + +## 图片示例 + +![c# ocr 教程读取 PNG 收据中的印地语文本](https://example.com/placeholder-image.png "c# ocr 教程 – 从 png 收据读取文本") + +*该截图展示了 OCR 转换前后的印地语收据。* + +## 回顾:我们覆盖的内容 + +- 设置 C# 控制台应用并添加 Aspose OCR NuGet 包。 +- 使用 **recognize hindi text** 语言模型初始化 `OcrEngine`。 +- 使用 `RecognizeImage` **read text from PNG**。 +- **convert image to text** 并打印结果。 +- 演示了一个简单模式以 **extract text from receipt** 字段。 + +## 后续步骤及相关主题 + +1. **Batch processing** – 循环遍历收据图像文件夹并将结果存储为 CSV。 +2. **Pre‑processing** – 探索 `ocrEngine.ImagePreprocessor` 用于去噪、倾斜校正或对比度增强。 +3. **Multi‑language OCR** – 启用 `OcrLanguage.Multilingual` 以处理混合印地语和英语的收据。 +4. **Integration** – 将提取的数据推送到 Entity Framework Core 模型以实现持久化存储。 + +如果你对上述任意内容感兴趣,请查看我们的 **convert image to text in C#** 和 **extract structured data from OCR results** 教程。 + +### 祝编码愉快! + +如果遇到任何问题,欢迎留言,或分享你在项目中如何扩展此 **c# ocr tutorial**。记住,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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/chinese/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..fbae9098 --- /dev/null +++ b/ocr/chinese/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,251 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR 教程,展示如何使用 Aspose.OCR 从图像文件提取文本并将 DJVU 转换为文本。几分钟内即可学习分步提取。 +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: zh +og_description: c# OCR 教程,快速演示如何使用 Aspose.OCR 从图像文件提取文本并将 DJVU 转换为文本。请按照指南获取可行的解决方案。 +og_title: c# OCR 教程 – 从图像和 DJVU 中提取文本 +tags: +- OCR +- C# +- Aspose +title: C# OCR 教程:从图像和 DJVU 文件中提取文本 +url: /zh/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR 教程 – 从图像和 DJVU 文件中提取文本 + +是否曾经想过如何在不抓狂的情况下从图像文件中提取文本?在本 **c# OCR 教程** 中,我们将演示一个完整的、可直接运行的示例,能够从普通图片 *以及* DJVU 文档中提取文本。 + +如果你也在寻找一种快速的 **将 DJVU 转换为文本** 的方法,你来对地方了——无需额外的转换器,只需纯 C# 代码。 + +## 你将学到 + +- 如何在 .NET 项目中设置 Aspose.OCR 库。 +- 提取图像文本所需的完整代码 **extract text from image**。 +- 一种简洁的 **extracting text from DJVU** 文件的方法(是的,同一个引擎即可)。 +- 常见的陷阱(大文件、缺少字体、授权)以及如何避免它们。 + +你只需要一个最新的 .NET SDK 和网络连接来获取 NuGet 包。无需任何 OCR 经验。 + +## 前提条件 + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6.0 或更高 | Aspose.OCR 目标是 .NET Standard 2.0,因此 .NET 6+ 能提供最佳性能。 | +| Visual Studio 2022(或 VS Code) | IDE 让包管理变得轻松,但任何编辑器都可以使用。 | +| NuGet 包 **Aspose.OCR** | 这就是实际执行繁重任务的引擎。 | +| 示例图像 (`sample.png`) 和 DJVU 文件 (`sample.djvu`) | 我们将使用它们来演示两种提取场景。 | + +你可以使用以下命令安装该包: + +```bash +dotnet add package Aspose.OCR +``` + +> **技巧提示:** 如果你在 CI 服务器上构建,请在构建步骤中添加 `--no-restore`,并在开始时一次性恢复,以加快速度。 + +## 步骤 1:初始化 OCR 引擎 – c# OCR 教程的核心 + +我们首先要做的是创建一个 `OcrEngine` 实例。可以把它想象成在软件中打开扫描仪。 + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +为什么每次都创建新的引擎?因为引擎会保存配置(语言、检测模式等)。重新创建可以避免旧设置在不同运行之间泄漏。 + +## 步骤 2:加载并识别图像 – 如何从图像中提取文本 + +现在我们将把普通位图(PNG、JPEG、BMP…)输入到引擎中。`RecognizeImage` 方法返回检测到的字符串。 + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +需要注意的几点: + +* **文件存在性** – 如果路径错误,方法会抛出 `FileNotFoundException`。如果预期用户提供路径,请使用 `try/catch` 包裹。 +* **图像质量** – OCR 在 300 dpi 或更高时效果最佳。低分辨率扫描可能导致输出乱码。 +* **语言支持** – 默认情况下 Aspose.OCR 假设英文。若要更改,需在 `RecognizeImage` 之前设置 `ocrEngine.Language = Language.Spanish;`。 + +## 步骤 3:识别 DJVU 文档中的文本 – 将 DJVU 转换为文本 + +DJVU 是一种可以容纳多页的容器格式。Aspose.OCR 能直接处理,只需指向该文件即可。 + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +在内部,引擎会将每页提取为图像并运行相同的识别流水线。这就是为什么你不需要单独的 “将 DJVU 转换为文本” 步骤——OCR 引擎已经为你完成。 + +### 处理多页 DJVU 文件 + +如果你的 DJVU 包含多页,`RecognizeImage` 会按顺序将它们连接起来。若需要每页单独处理,可使用返回 `List` 的重载: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## 步骤 4:微调引擎以提升准确率 – 为什么这很重要 + +开箱即用的结果尚可,但通过调整几个设置可以进一步提升。 + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +这些标志在 **how to extract text** 从先保存为 DJVU 的扫描 PDF 时尤为有用。开启方向检测可免去手动旋转图像的步骤。 + +## 步骤 5:处理授权和运行时错误 + +Aspose.OCR 附带免费试用版,在输出几页后会加上 “Demo” 水印。要去除水印,请添加你的授权文件: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +如果忘记此步骤,引擎仍可工作,但结果中会出现 “Demo”。另外,处理超大 DJVU 文件时要留意 `OutOfMemoryException`——可考虑如前所示逐页处理。 + +## 完整、可运行的示例 + +下面是一个独立的控制台程序,整合了所有步骤。复制粘贴,调整文件路径,然后点击 **Run**。 + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**预期输出**(假设文件中包含短语 “Hello World”): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +如果源文件包含多行,它们将与原始文档完全一致地显示。 + +## 常见问题与边缘案例处理 + +* **如果图像是黑白的怎么办?** + OCR 能正常工作,但可以通过 `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;` 提高对比度。 + +* **我只能提取数字吗?** + 可以——在调用 `RecognizeImage` 前设置 `ocrEngine.CharWhitelist = "0123456789";`。 + +* **文件大小有上限吗?** + 引擎会将整个文件读取到内存中。对于大于约 100 MB 的文件,请采用逐页处理(参见步骤 3 的列表重载)。 + +* **这与 Tesseract 有何不同?** + Aspose.OCR 是商业库,内置 DJVU 支持且无本地依赖,而 Tesseract 需要本地二进制文件和单独的 DJVU 转换工具。 + +## 结论 + +你刚刚完成了一个 **c# OCR 教程**,展示了如何使用 Aspose.OCR **从图像文件中提取文本** 并无缝 **将 DJVU 转换为文本**。示例涵盖了从包安装到授权、从单页图像提取到多页 DJVU 处理,甚至包括提升准确率的技巧。 + +接下来,你可以探索 **how to extract text** 从 PDF 中提取文本、将 OCR 步骤集成到 Web API,或尝试多语言文档的语言包。可能性无限——只需记住关键要点:设置引擎、提供文件、读取返回的字符串。 + +还有其他问题吗?留下评论,在自己的文档上尝试代码,祝编码愉快! + +![c# OCR 教程截图显示控制台输出](/images/csharp-ocr-tutorial.png "c# 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/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/chinese/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..870bb0b2 --- /dev/null +++ b/ocr/chinese/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-01-09 +description: C# OCR 教程,展示如何从图像文件中提取文本,识别 PNG 中的文字,将图像转换为字符串,并使用 Aspose.OCR 自动检测语言。 +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: zh +og_description: C# OCR 教程,逐步指导您从图像中提取文本、识别 PNG 文件中的文本、将图像转换为字符串,并使用 Aspose OCR 自动检测语言。 +og_title: C# OCR 教程 – 从图像中提取文本 +tags: +- C# +- OCR +- Aspose +- Image Processing +title: C# OCR 教程 – 使用 Aspose OCR 从图像中提取文本 +url: /zh/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr 教程 – 使用 Aspose OCR 从图像中提取文本 + +是否曾经需要一个 **c# ocr 教程** 能够在真实的 PNG 文件上工作?也许你在构建收据扫描器、多语言表单处理器,或仅仅好奇如何把文字图片转换为可搜索的字符串。无论何种情况,你来对地方了。 + +在本指南中,我们将一步步演示如何 **从图像中提取文本**、**识别 png 中的文字**、**将图像转换为字符串**,甚至 **自动检测语言**——全部使用 Aspose.OCR 库。没有模糊的引用,只有完整可运行的示例,你可以直接复制粘贴到 Visual Studio 中。 + +## 你需要准备的环境 + +- .NET 6.0 或更高版本(代码同样适用于 .NET Core 和 .NET Framework) +- 对 `Aspose.OCR` 的 NuGet 引用(版本 23.9 或更新) +- 一张图像文件(本例中的 `mixed‑script.png`),放在程序能够读取的位置 +- 对 C# 的基本了解(只要写过 “Hello World” 就可以) + +> **专业提示:** 如果你还没有许可证,Aspose 提供免费临时许可证用于测试。只需将 `.lic` 文件放在可执行文件旁边即可。 + +## 第一步 – 安装 Aspose.OCR NuGet 包 + +首先,将库添加到项目中。打开 **Package Manager Console**,运行: + +```powershell +Install-Package Aspose.OCR +``` + +或者,如果你更喜欢使用 UI,右键点击 *Dependencies → Manage NuGet Packages* 并搜索 **Aspose.OCR**。 + +## 第二步 – 准备 OCR 引擎(c# ocr 教程核心) + +现在我们创建一个 `OcrEngine` 实例,设置自动语言检测,并指向我们的 PNG 文件。 + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### 为什么要设置 `Language = OcrLanguage.AutoDetect` + +自动语言检测可以免去你猜测图像中是英文、俄文、阿拉伯文还是混合语言的麻烦。它是 **自动检测语言** 场景下最灵活的选项,并且对 Aspose 支持的大多数脚本开箱即用。 + +## 第三步 – 运行应用并验证输出 + +编译并运行程序(`dotnet run` 或在 Visual Studio 中按 **F5**)。如果一切配置正确,你会看到类似如下的输出: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +该输出证明我们成功 **从图像中提取文本**、**识别 png 中的文字**,并 **将图像转换为字符串**——全部在一个简洁的代码片段中完成。 + +## 第四步 – 常见变体与边缘情况 + +### 处理多个图像 + +如果需要处理一个 PNG 目录,可以将识别调用包装在 `foreach` 循环中: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### 指定固定语言 + +有时你已经知道语言(例如仅英文),可以将 `AutoDetect` 替换为 `OcrLanguage.English` 以加快处理速度: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### 处理低质量扫描 + +Aspose.OCR 提供预处理选项(降噪、去倾斜)。快速修复示例: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### 将结果保存到文件 + +如果不想打印到控制台,可以将提取的文本写入 `.txt` 文件: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## 第五步 – 完整可运行示例(复制粘贴即用) + +下面是 **完整程序**,包括可选的预处理和文件输出逻辑。请根据需要自行修改路径。 + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### 预期输出 + +在包含英文、俄文和阿拉伯文的 PNG 上运行程序会得到: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +如果图像为空白或无法识别,引擎会返回空字符串——在继续处理前请通过检查 `string.IsNullOrWhiteSpace(extractedText)` 来处理这种情况。 + +## 常见问答(FAQs) + +**问:Aspose.OCR 支持手写文字吗?** +答:它主要针对印刷体 OCR。手写文字需要专门的机器学习模型或类似 Azure Computer Vision 的服务。 + +**问:我可以在 Linux/macOS 上运行吗?** +答:完全可以。Aspose.OCR 是跨平台的,只需为你的操作系统安装 .NET 运行时。 + +**问:如果我要处理 PDF 而不是 PNG,怎么办?** +答:先将每页 PDF 转换为图像(例如使用 `Aspose.PDF`),然后将图像传给 OCR 引擎。 + +## 结论 + +我们刚刚完成了一个 **c# ocr 教程**,带你通过 Aspose.OCR 实现 **从图像中提取文本**、**识别 png 中的文字**、**将图像转换为字符串**,以及 **自动检测语言**。代码简洁,概念清晰,你可以进一步扩展为批量处理、自定义语言设置,甚至集成到 Web API 中。 + +下一步?尝试将 OCR 输出写入搜索索引,或送入翻译服务,或与 Azure Cognitive Services 结合,构建更丰富的数据管道。一旦掌握了 C# 中图像转文本的基础,可能性无限。 + +祝编码愉快,别忘了尝试不同的图像质量——你的 OCR 引擎会感谢你的! + +![c# ocr tutorial – example of OCR output on a mixed‑script PNG](placeholder-image.png "c# ocr tutorial – OCR result screenshot") + +{{< /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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/chinese/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..7d1f174e --- /dev/null +++ b/ocr/chinese/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-01-09 +description: 使用 Aspose OCR 快速提取 PNG 文本。了解如何读取图像文字、提升 OCR 准确率,并在 C# 中获得干净的结果。 +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: zh +og_description: 使用 Aspose OCR 快速从 PNG 提取文本。了解如何读取图像文字、提升 OCR 准确率,并在 C# 中获得干净的结果。 +og_title: 从 PNG 提取文本 – 完整的 Aspose OCR 教程 +tags: +- Aspose OCR +- C# +- Image Processing +title: 从 PNG 中提取文本 – 完整的 Aspose OCR 教程 +url: /zh/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 从 PNG 提取文本 – 完整 Aspose OCR 教程 + +是否曾经需要**从 PNG 中提取文本**但结果却充斥着乱码?你并不孤单。在许多真实项目中——发票、收据或扫描表单——OCR 输出的质量可能决定自动化流水线的成败。 + +在本指南中,我们将向你展示一种**逐步**使用 Aspose OCR 读取图像文本的方法,加入自定义词典以**提升 OCR 准确率**,清理噪声,最终打印整洁的字符串。完成后,你将拥有一个可直接运行的 C# 控制台应用,可靠地从 PNG 图像中提取文本。 + +> **你将收获** +> * 一个完整、可运行的代码示例。 +> * 对自定义词典重要性的理解。 +> * 处理低对比度扫描等边缘情况的技巧。 + +## 前置条件 + +- .NET 6 SDK 或更高版本(代码面向 .NET 6,但 .NET 5 也可运行)。 +- Visual Studio 2022 或任意你喜欢的编辑器。 +- 你想要处理的**PNG**图像,例如 `invoice.png`。 +- **Aspose.OCR** NuGet 包(`dotnet add package Aspose.OCR`)。 + +无需额外的配置文件;所有内容都在单个 `.cs` 文件中。 + +## 第一步 – 安装并引用 Aspose OCR + +首先,将库拉入项目。在解决方案文件夹的终端中运行: + +```bash +dotnet add package Aspose.OCR +``` + +这行命令会获取最新的稳定版本(截至 2026 年 1 月,版本 23.9)。该包包含我们在整个教程中使用的 `OcrEngine` 类。 + +## 第二步 – 初始化 OCR 引擎 + +创建 `OcrEngine` 实例是基础。可以把它想象成打开了一台准备解释像素的扫描仪。 + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **专业提示**:如果你计划在循环中处理大量图像,请复用同一个 `OcrEngine` 实例。它会缓存内部资源,从而加快后续调用。 + +## 第三步 – 使用自定义词典提升准确率 + +开箱即用的 OCR 已经相当不错,但在面对诸如 “Aspose”、 “OCR” 或 “SDK” 之类的领域专用词时仍可能出错。将这些词加入**自定义词典**,告诉引擎这些字符串是有效的,从而降低误识别。 + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### 为什么自定义词典有帮助 + +- OCR 背后的**统计模型**对常见语言模式权重很高。罕见词的概率低,可能被相似字符替代。 +- 明确列出这些词后,你就覆盖了模型的猜测。 +- 对于包含产品代码、缩写或品牌名称的**读取图像文本**场景尤为实用。 + +## 第四步 – 从 PNG 文件识别文本 + +现在将图像路径传给引擎。`RecognizeImage` 方法返回的原始字符串仍可能包含引擎无法映射的未知标记(例如 “#@!”)。 + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **边缘情况**:如果文件未找到,`RecognizeImage` 会抛出 `FileNotFoundException`。在生产代码中请使用 try‑catch 包裹调用。 + +## 第五步 – 使用 `CleanText` 清理结果 + +Aspose OCR 附带的帮助方法会剔除它标记为“未知”的字符。这一步对**从图像中提取文本**的项目至关重要,因为下游解析器通常只接受字母数字和基本标点。 + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +`CleanText` 方法还会规范化换行符,使输出安全地存入数据库或传递给其他服务。 + +## 第六步 – 输出清理后的文本 + +最后,显示或保存结果。在控制台应用中,`Console.WriteLine` 就能完成任务。 + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +运行程序后,你应该会看到一段整洁的文本,内容与 `invoice.png` 的实际文字相匹配。如果图像中出现 “Aspose”,自定义词典会确保它正确显示,而不是类似 “A5p0se” 的错误。 + +## 完整工作示例 + +将所有内容整合在一起,下面是可以直接复制到新控制台项目中的完整 `Program.cs`: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**预期输出**(假设 PNG 包含一张简单的发票): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +如果看到杂乱的符号,请检查图像质量或在自定义词典中添加更多词条。 + +## 额外技巧:处理低质量扫描 + +有时 PNG 以 72 dpi 扫描或存在严重压缩伪影。以下是几种**提升 OCR 准确率**的快速技巧,无需离开 C#: + +1. 使用 `SixLabors.ImageSharp` 等库**预处理图像**——提升对比度、转换为灰度或轻度模糊以降低噪声。 +2. 在 `OcrEngine` 上**设置 `Resolution` 属性**(例如 `ocrEngine.Resolution = 300;`),告诉引擎将图像视为更高分辨率。 +3. **启用语言包**,如果处理非英文文本(`ocrEngine.Language = Language.English;`)。 + +上述三种方法都可以在调用 `RecognizeImage` 之前加入。 + +## 常见问题 + +- **这能用于其他图像格式吗?** + 能。`RecognizeImage` 支持 JPEG、BMP、TIFF,甚至 PDF(作为图像容器)。使用步骤相同。 + +- **我能一次性从文件夹中的多个 PNG 提取文本吗?** + 完全可以。将核心逻辑包装在 `foreach (var file in Directory.GetFiles(folder, "*.png"))` 循环中,并将每个结果存入列表或写入单独文件。 + +- **如果需要获取文本坐标怎么办?** + Aspose OCR 还提供包含边界框的 `OcrResult` 对象。使用 `ocrEngine.RecognizeImageToResult(imagePath)` 可实现该高级场景。 + +## 结论 + +我们已经完整演示了使用 Aspose OCR **从 PNG 文件中提取文本**的**端到端**解决方案。通过初始化引擎、加入**自定义词典**、清理原始输出并处理常见坑点,你可以在自己的 C# 应用中可靠地**读取图像文本**并**提升 OCR 准确率**。 + +准备好下一步了吗?尝试将 PNG 换成扫描收据,向词典中添加更多领域专用词,或将输出集成到数据库实现自动化发票处理。当 Aspose OCR 与 .NET 丰富生态结合时,可能性无限。 + +祝编码愉快,愿你的 OCR 永远精准无误! + +![从 PNG 提取文本示例](/images/extract-text-from-png.png "从 PNG 提取文本 – Aspose 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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/chinese/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..53a8d342 --- /dev/null +++ b/ocr/chinese/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,259 @@ +--- +category: general +date: 2026-01-09 +description: 使用 Aspose OCR 在 C# 中提取 TIFF 文件的文本。了解如何在本分步教程中获取每个结果的前 50 个字符。 +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: zh +og_description: 使用 Aspose OCR 在 C# 中从 TIFF 提取文本。本指南逐步展示如何获取每个 OCR 结果的前 50 个字符。 +og_title: 使用 Aspose OCR 从 TIFF 提取文本 – 完整 C# 指南 +tags: +- Aspose OCR +- C# +- TIFF processing +title: 使用 Aspose OCR C# 从 TIFF 提取文本 – 完整教程 +url: /zh/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 从 TIFF 中提取文本 – 完整 Aspose OCR C# 教程 + +是否曾经需要 **从 TIFF 图像中提取文本**,却不确定该使用哪个库?你并不孤单。许多开发者在尝试从多页 TIFF 中提取可搜索文本时会卡住,尤其是对性能有要求的时候。 + +在本 **aspose ocr c# tutorial** 中,我们将演示一个可直接运行的示例,它不仅可以提取完整文本,还会展示如何 **获取每页的前 50 个字符** 以便快速预览。完成后,你将拥有一个可直接放入任何 .NET 项目的独立程序。 + +## 你需要准备的环境 + +- .NET 6(或任何近期的 .NET 版本)——代码可在 .NET Core 和 .NET Framework 上编译。 +- 有效的 Aspose.OCR for .NET 许可证(可先使用免费试用版)。 +- 包含一个或多个 `.tif` 文件的文件夹,用于处理。 +- Visual Studio、VS Code 或任意你喜欢的 IDE——示例为纯 C#,编辑器选择并不影响。 + +> **专业提示:** 如果你在 CI 服务器上运行,直接在项目文件中添加 Aspose.OCR NuGet 包 (`Aspose.OCR`);该库为完全托管的,不依赖本机组件。 + +## 第一步:安装 Aspose OCR NuGet 包 + +首先,把 OCR 引擎引入项目。打开解决方案文件夹的终端,运行: + +```bash +dotnet add package Aspose.OCR +``` + +该命令会拉取最新的稳定版本(截至 2026 年 1 月为 23.9),并自动更新你的 `.csproj`。无需手动管理 DLL。 + +## 第二步:初始化 OCR 引擎 + +接下来创建 `OcrEngine` 实例。把它想象成读取每页 TIFF 的“大脑”。 + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +为什么只实例化一次引擎?因为 `RecognizeImages` 可以接受文件路径集合,让引擎复用内部缓冲区,从而显著加速批量处理。 + +## 第三步:一次性获取所有 TIFF 文件 + +我们不手动遍历目录,而是让 .NET 完成繁重工作。`Directory.GetFiles` 方法返回 `IEnumerable`,可以直接喂给 OCR 调用。 + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **如果我的图像是 JPEG 或 PNG 呢?** 只需更改搜索模式(`"*.jpg"` 或 `"*.*"`)。Aspose OCR 支持所有常见的光栅格式。 + +## 第四步:对整个集合执行 OCR + +下面这行代码一次性处理所有文件。该方法返回一个字典,键为文件路径,值为包含识别文本的 `OcrResult` 对象。 + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +为什么采用批处理?它减少了重复加载 OCR 引擎的开销,并且在多核机器上,Aspose 会内部并行化工作,带来明显的速度提升。 + +## 第五步:显示预览 – 获取前 50 个字符 + +大多数 UI 场景只需要片段,而不是完整文档。我们将提取前 50 个字符(如果页面较短则更少),并将其与文件名一起打印。 + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +`Math.Min(50, fullText.Length)` 这行代码确保不会超出字符串范围——这是一个小小的防护,防止在 OCR 结果短于 50 字符时抛出 `ArgumentOutOfRangeException`。 + +### 预期的控制台输出 + +假设目录中有两个 TIFF 文件(`invoice1.tif` 和 `receipt2.tif`),控制台可能显示: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +每行以省略号(`...`)结尾,表示预览仅为更长文本块的开头。 + +## 第六步:处理边缘情况和常见陷阱 + +### 空文件或损坏文件 + +如果文件无法读取,`RecognizeImages` 仍会返回一个 `Text` 属性为空的条目。你可以过滤掉这些条目: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### 大批量处理 + +处理成千上万的 TIFF 可能会占用大量内存。此时可以使用接受 `Stream` 的重载,或将列表分成更小的块处理: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### 语言与字体支持 + +如果文档包含非拉丁字符,请在调用 `RecognizeImages` 前设置语言: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +这个小改动可以显著提升识别准确率。 + +## 第七步:完整可运行示例(复制粘贴即用) + +下面是完整程序代码,你可以将其粘贴到新建的控制台项目(`dotnet new console`)中直接运行(只需将 `YOUR_DIRECTORY/Batch` 替换为实际路径)。 + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +使用 `dotnet run` 运行程序。你应该会看到每个 TIFF 文件的简要预览,证明你已经成功 **从 TIFF 中提取文本**,并使用 Aspose OCR 完成了整个过程。 + +## 常见问题解答 (FAQ) + +**问:这能处理多页 TIFF 吗?** +答:可以。Aspose OCR 在内部将每页视为独立图像,因此多页 TIFF 会产生每个文件对应的单个合并字符串。需要时可以自行拆分。 + +**问:开箱即用的 OCR 准确率如何?** +答:对于干净的高分辨率扫描(300 DPI 及以上),英文文本的准确率可超过 95%。通过预处理(去倾斜、二值化)可以进一步提升。 + +**问:我可以把结果输出为 CSV 文件吗?** +答:完全可以。将 `Console.WriteLine` 替换为 `StreamWriter`,写入 `fileName,preview` 行即可。记得对预览文本中的逗号进行转义。 + +## 后续步骤与相关主题 + +- **持久化 OCR 结果** – 将完整文本存入数据库,实现可搜索的档案。 +- **结合 PDF 转换** – 使用 Aspose.PDF 将提取的文本嵌入可搜索的 PDF 中。 +- **在 Azure Functions 上批处理** – 在无需管理服务器的情况下横向扩展 OCR 工作负载。 + +所有这些扩展都围绕着 **高效从 TIFF 中提取文本** 的核心思想,同时仍然让你 **获取前 50 个字符** 以便快速 UI 预览。 + +--- + +*祝编码愉快!如果遇到任何奇怪的问题,欢迎在下方留言,我会尽力帮助你微调 OCR 流程。* + +![使用 Aspose OCR 从 TIFF 提取文本](https://example.com/images/extract-text-from-tiff.png "使用 Aspose OCR 从 TIFF 提取文本") + +{{< /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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/chinese/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..dde5ce05 --- /dev/null +++ b/ocr/chinese/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,237 @@ +--- +category: general +date: 2026-01-09 +description: 使用 Aspose OCR 在 C# 中快速识别 jpg 文本。学习如何从图像提取文字,将图像转换为 JSON 和 EPUB,一站式教程。 +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: zh +og_description: 使用 Aspose OCR 识别 JPG 中的文本。本指南展示了如何从图像提取文本、将图像转换为 JSON 和 EPUB,以及如何从图像创建 + ePub。 +og_title: 在 JPG 中识别文字 – 完整 C# 教程 +tags: +- Aspose OCR +- C# +- Image Processing +title: 使用 Aspose OCR 识别 JPG 中的文本 – 完整 C# 指南 +url: /zh/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 在 JPG 中识别文本 – 完整 C# 指南 + +是否曾经需要 **在 jpg 中识别文本**,却不确定该选用哪个库?你并不孤单。许多开发者在首次尝试从照片或扫描文档中提取文字时都会遇到同样的难题。 + +好消息是?使用 Aspose OCR,你只需几行 C# 代码即可 **从图像中提取文本**,随后还能立即 **将图像转换为 JSON**,甚至 **将图像转换为 EPUB**——全部在 IDE 中完成,无需离开编辑环境。 + +在本教程中,我们将完整演示整个工作流:从安装合适的 NuGet 包、在 JPG 中识别文本,到将结果保存为结构化的 JSON 和 ePub 文档。结束时,你将能够 **从图像创建 epub**,这对电子学习平台、数字图书馆或任何需要可搜索电子书的应用都非常实用。 + +--- + +## 你需要准备的环境 + +- **.NET 6+**(或 .NET Framework 4.6+)。代码可在任意近期运行时上运行。 +- **Aspose.OCR** NuGet 包 —— 核心 OCR 引擎。 +- **Aspose.Publishing** NuGet 包 —— 用于生成 ePub 输出格式。 +- 一张名为 `input.jpg` 的图像文件,放置在磁盘的任意位置(请自行替换路径)。 +- 文本编辑器或 IDE(Visual Studio、VS Code、Rider——随你喜欢)。 + +就这些。无需额外服务、外部 API,只需几个库和一张 JPG 文件。 + +--- + +## 第一步:设置项目以 **在 jpg 中识别文本** + +首先,新建一个控制台应用程序(或在已有项目中添加)。然后通过 NuGet 包管理器添加这两个 Aspose 包: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **小技巧:** 如果使用 Visual Studio,右键点击项目 → *Manage NuGet Packages* → 搜索 *Aspose.OCR* 与 *Aspose.Publishing*,随后点击 **Install**。 + +这些包包含了 **从图像中提取文本** 所需的一切,并在后续生成 ePub 文件。 + +--- + +## 第二步:使用 Aspose OCR **从图像中提取文本** + +接下来我们编写代码,实际读取 JPG 并提取其中的字符。 + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**工作原理说明:** `OcrEngine` 把所有低层的图像预处理、语言检测和字符分割都抽象掉。你只需指向文件,它就会返回一个 `OcrResult` 对象,里面包含纯文本字符串(`ocrResult.Text`)以及丰富的元数据。 + +--- + +## 第三步:**将图像转换为 JSON** – 导出 OCR 结果 + +如果需要以结构化格式存储 OCR 输出(用于 API、数据库或后续处理),Aspose 能轻松将结果序列化为 JSON。 + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +生成的 JSON 大致如下(为简洁起见已截断): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**适用场景:** 当你将 OCR 数据送入 Web 服务、存入 NoSQL 数据库,或需要一种任何语言都能解析的可移植表示时,JSON 是理想选择。 + +--- + +## 第四步:**将图像转换为 EPUB** – 保存为电子书 + +Aspose Publishing 为多种电子书格式提供支持,包括 EPUB。只需在 `OcrResult` 上调用 `Save`,即可生成符合规范的 ePub 文件,文件中包含识别的文本以及(可选的)原始图像。 + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**你将得到:** 一个可以在任意阅读器(Calibre、Apple Books、Adobe Digital Editions)中打开的 ePub。文件将提取的文本作为可搜索内容,同时保留源图像作为背景层——非常适合构建 **从图像创建 epub** 的流水线。 + +--- + +## 第五步:完整示例 – 从 JPG 到 JSON 与 EPUB + +将上述所有步骤整合在一起,下面是完整的、可直接运行的程序。将其复制粘贴到 `Program.cs`,根据实际情况调整文件路径,然后按 **F5** 运行。 + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +运行程序后,你应该会看到三件事: + +1. 控制台中打印出识别的文本。 +2. 一个名为 `output.json` 的文件,包含结构化的 OCR 数据。 +3. 一个名为 `output.epub` 的文件,可在任意电子书阅读器中打开。 + +--- + +## 常见问题与边缘情况 + +- **如果图像是 PNG 或 BMP 呢?** + Aspose OCR 支持大多数光栅格式(PNG、BMP、TIFF、GIF)。只需在 `inputPath` 中更改文件扩展名,代码即可复用。 + +- **能指定除英语之外的语言吗?** + 可以。在调用 `RecognizeImage` 之前设置 `ocrEngine.Language = OcrLanguage.French;`(或任意受支持语言)。 + +- **多页 PDF 怎么处理?** + 对于 PDF,首先将每页转换为图像(可使用 Aspose.PDF),然后将每张图像喂给 `RecognizeImage`。得到的多个 `OcrResult` 对象可以在导出为 JSON 或 EPUB 前合并。 + +- **我得到的置信度分数很低,如何提升准确率?** + 对图像进行预处理:提升对比度、去倾斜或转换为灰度。Aspose OCR 还提供 `PreprocessOptions` 可供调节。 + +--- + +## 结论 + +现在,你已经掌握了一套完整的 **在 jpg 中识别文本** 的方案,使用 Aspose OCR **从图像中提取文本**,随后 **将图像转换为 JSON** 用于数据管道,或 **将图像转换为 EPUB** 构建可搜索的电子书。该方法轻量,仅需两个 NuGet 包,且兼容所有现代 .NET 运行时。 + +接下来你可以: + +- 将 JSON 输出集成到搜索索引(Azure Cognitive Search、Elastic)中。 +- 批量处理文件夹中的图像,生成电子书库。 +- 与翻译 API 结合,自动创建多语言电子书。 + +动手尝试吧,实验不同的图像质量,让 OCR 引擎为你完成繁重的工作。祝编码愉快! + +--- + +![在 jpg 中识别文本的输出截图](placeholder-image.png "在 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/czech/net/ocr-configuration/_index.md b/ocr/czech/net/ocr-configuration/_index.md index 7aacf222..4b194c5a 100644 --- a/ocr/czech/net/ocr-configuration/_index.md +++ b/ocr/czech/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ Odemkněte sílu rozpoznávání obrázků OCR v .NET s Aspose.OCR. Extrahujte t Odemkněte výkonné možnosti OCR s Aspose.OCR pro .NET. Bezproblémově extrahujte text z obrázků. ### [OCROoperace se seznamem v OCR rozpoznávání obrazu](./ocr-operation-with-list/) Odemkněte potenciál Aspose.OCR pro .NET. Bez námahy provádějte rozpoznávání obrázků OCR pomocí seznamů. Zvyšte produktivitu a extrakci dat ve svých aplikacích. +### [Jak provést OCR obrázku v C# – Kompletní průvodce s podporou GPU](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Kompletní průvodce OCR obrázků v C# s využitím GPU pro rychlé a přesné rozpoznávání. +### [Rozpoznání textu z obrázku pomocí Aspose OCR – Kompletní průvodce v C#](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Kompletní průvodce rozpoznáváním textu z obrázků v C# s využitím Aspose OCR. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/czech/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..5996308b --- /dev/null +++ b/ocr/czech/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-01-09 +description: Naučte se, jak provádět OCR obrázku a extrahovat text z obrázku pomocí + Aspose.OCR. Obsahuje kroky pro převod naskenovaného dokumentu, povolení GPU a čtení + obrázku pomocí OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: cs +og_description: Jak rychle provést OCR obrázku pomocí Aspose.OCR. Postupujte podle + tohoto krok‑za‑krokem návodu k extrakci textu z obrázku, převodu naskenovaného dokumentu + a aktivaci GPU. +og_title: Jak provést OCR obrázku v C# – Průvodce s GPU akcelerací +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Jak provést OCR obrázku v C# – Kompletní průvodce s podporou GPU +url: /cs/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak provést OCR obrázku v C# – Kompletní průvodce s podporou GPU + +Už jste se někdy zamysleli nad tím, **jak provést OCR obrázku** přímo ve vaší .NET aplikaci? Nejste jediní – vývojáři neustále potřebují získávat text z PDF, TIFF a fotografií, zejména při práci s velkými naskenovanými dokumenty. Dobrá zpráva? S Aspose.OCR můžete **extrahovat text z obrázku** během několika řádků a můžete dokonce **povolit GPU** akceleraci pro rychlejší zpracování. + +V tomto tutoriálu vás provedeme vším, co potřebujete vědět: od instalace knihovny, přes inicializaci OCR enginu s možností přepnutí na GPU, až po **čtení obrázku pomocí OCR** a zobrazení výsledku. Na konci budete schopni **převést naskenované dokumenty** na editovatelné řetězce – bez potřeby externích služeb. + +--- + +## Co budete potřebovat + +- **.NET 6.0** nebo novější (kód funguje také na .NET Core a .NET Framework). +- **Licence** pro Aspose.OCR nebo dočasný evaluační klíč (bezplatná zkušební verze funguje pro testování). +- Soubor obrázku, který chcete zpracovat – nejlépe vysoce rozlišený TIFF nebo PNG. +- (Volitelné) Počítač s podporou GPU, pokud chcete vidět zvýšení rychlosti; jinak engine elegantně přejde na CPU. + +Mít tyto předpoklady splněny znamená, že se můžete soustředit na samotný OCR workflow, aniž byste později narazili na překážky. + +--- + +## Krok 1: Instalace NuGet balíčku Aspose.OCR + +Nejprve přidejte knihovnu Aspose.OCR do svého projektu. Otevřete terminál ve složce řešení a spusťte: + +```bash +dotnet add package Aspose.OCR +``` + +Nebo pokud používáte NuGet UI ve Visual Studiu, stačí vyhledat **Aspose.OCR** a kliknout na instalaci. Tento jediný příkaz stáhne všechny potřebné DLL, včetně nativních GPU binárek, pokud jsou k dispozici. + +> **Tip:** Udržujte balíček aktuální. Nová vydání často obsahují vylepšení jazykových modelů a lepší podporu GPU. + +--- + +## Krok 2: Import požadovaných jmenných prostorů + +Nyní, když je balíček nainstalován, přidejte potřebné jmenné prostory do rozsahu. Tento krok je místem, kde začínáme **jak provést OCR obrázku** v kódu. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +Tyto dva řádky vám poskytují přístup ke třídě `OcrEngine` a objektu nastavení, který umožňuje přepínat použití GPU. Bez nich by kompilátor neměl žádnou představu, co `OcrEngine` znamená. + +--- + +## Krok 3: Inicializace OCR enginu a povolení GPU + +Pokud jste se někdy ptali **jak povolit GPU** pro OCR, toto je odpověď. Vytvoříme instanci `OcrEngineSettings`, přepneme příznak `UseGpu` a předáme ji konstruktoru enginu. Engine automaticky detekuje, zda je k dispozici kompatibilní GPU; pokud ne, přepne se na CPU – takže není potřeba další ošetření chyb. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Proč vůbec povolit GPU? U velkých obrázků – například vícestránkových TIFF nebo vysoce rozlišených skenů – se doba zpracování může snížit z několika sekund na zlomek sekundy. Pokud budujete dávkový zpracovatelský pipeline, tento nárůst rychlosti se rychle sčítá. + +--- + +## Krok 4: Provedení OCR na cílovém obrázku + +Zde skutečně **čteme obrázek pomocí OCR**. Poskytněte cestu k souboru a engine vrátí rozpoznaný text jako řetězec. To funguje pro jakýkoli rastrový formát podporovaný Aspose (PNG, JPEG, TIFF, BMP atd.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Pokud potřebujete **převést naskenovaný dokument** stránku po stránce, jednoduše projděte názvy souborů a zavolejte `RecognizeImage` pro každý. Metoda je thread‑safe, takže můžete dokonce paralelizovat zátěž na vícejádrovém CPU. + +--- + +## Krok 5: Zobrazení nebo uložení extrahovaného textu + +Nakonec výsledek vypíšeme. V konzolové aplikaci `Console.WriteLine` stačí. Ve skutečném scénáři můžete text zapsat do databáze, JSON souboru nebo ho poslat do vyhledávacího indexu. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +Výše uvedený řádek vytiskne surový OCR výstup. Všimnete si zalomení řádků, občasných chyb rozpoznání a možná několika zvláštních znaků – nic neobvyklého pro OCR. Post‑processing (např. regex čištění) může výstup upravit, pokud je to potřeba. + +> **Poznámka:** Aspose.OCR také podporuje jazykově specifické slovníky. Pokud zpracováváte texty v jiných jazycích než angličtině, nastavte `ocrEngine.Settings.Language` odpovídajícím způsobem před voláním `RecognizeImage`. + +--- + +## Kompletní funkční příklad + +Spojením všech částí získáte samostatný program, který můžete zkopírovat a vložit do nového konzolového projektu: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Expected output** (truncated for brevity): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Spusťte program a měli byste vidět extrahovaný text ve vašem konzolovém okně. Pokud je GPU k dispozici, doba zpracování bude výrazně kratší než na strojích pouze s CPU. + +--- + +## Časté problémy a jak se jim vyhnout + +| Problém | Proč k tomu dochází | Řešení | +|---------|---------------------|--------| +| **Nečisté znaky** | Nízké rozlišení zdroje nebo šumivé pozadí. | Předzpracujte obrázek (zvyšte DPI, aplikujte binarizaci) před OCR. | +| **GPU není použito** | Není nainstalován kompatibilní CUDA driver. | Ověřte verzi driveru, nebo nastavte `UseGpu = false` pro vynucení CPU. | +| **Nedostatek paměti u velkých TIFF** | Načítání celého souboru najednou. | Použijte `OcrEngineSettings.MaxMemoryUsage` pro omezení paměti, nebo zpracovávejte stránky jednotlivě. | +| **Nesprávná detekce jazyka** | Výchozí jazyk je angličtina. | Nastavte `ocrEngine.Settings.Language = Language.YourLanguage;` před voláním `RecognizeImage`. | + +Řešením těchto okrajových případů zajistíte, že vaše implementace **jak provést OCR obrázku** bude robustní napříč různými prostředími. + +--- + +## Rozšíření řešení + +Nyní, když můžete **extrahovat text z obrázku**, můžete chtít: + +- **Convert scanned document** PDF na prohledávatelné PDF vložením OCR vrstvy. +- Uložit výsledky do indexu **Azure Cognitive Search** pro rychlé vyhledávání. +- Propojit výstup OCR s **translation API**, pokud potřebujete vícejazyčnou podporu. +- Použít metodu **Aspose.OCR** `GetBoundingBoxes` k určení, kde se každé slovo nachází na obrázku – užitečné pro nástroje na redakci. + +Všechny tyto rozšíření staví na stejném základním principu, který jsme pokryli: inicializovat engine, předat mu obrázek a přečíst text. + +--- + +## Závěr + +Prošli jsme kompletním příkladem **jak provést OCR obrázku** pomocí Aspose.OCR v C#. Instalací NuGet balíčku, importem správných jmenných prostorů, povolením GPU (nebo přepnutím na CPU) a voláním `RecognizeImage` můžete spolehlivě **extrahovat text z obrázku**, **převádět naskenované dokumenty** a **číst obrázek pomocí OCR** v jakékoli .NET aplikaci. + +Vyzkoušejte to na několika svých skenech – experimentujte s různými formáty obrázků, přepínejte příznak GPU a sledujte, jak se mění výkon. Až budete připraveni, prozkoumejte pokročilé funkce jako jazykové slovníky nebo extrakci ohraničovacích boxů, aby bylo vaše řešení ještě chytřejší. + +Šťastné programování a ať jsou vaše OCR pipeline rychlé, přesné a bez problé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/czech/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/czech/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..5eff005c --- /dev/null +++ b/ocr/czech/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,207 @@ +--- +category: general +date: 2026-01-09 +description: Rozpoznávat text z obrázku pomocí Aspose OCR v C#. Naučte se, jak zakázat + automatické stahování, extrahovat čínský text z obrázku a nastavit jazyk OCR. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: cs +og_description: Rozpoznávejte text z obrázku pomocí Aspose OCR v C#. Postupujte podle + tohoto krok‑za‑krokem návodu, jak zakázat automatické stahování, extrahovat čínský + text z obrázku a nastavit jazyk OCR. +og_title: rozpoznat text z obrázku pomocí Aspose OCR – Kompletní průvodce C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Rozpoznání textu z obrázku pomocí Aspose OCR – Kompletní průvodce C# +url: /cs/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# rozpoznat text z obrázku pomocí Aspose OCR – Kompletní průvodce v C# + +Ever needed to **recognize text from image** but were stuck on configuration details? You're not alone. Many developers hit a wall when the OCR engine tries to download language packs at runtime, or when they can't pull Chinese characters out of a sign photo. + +In this tutorial we’ll walk through a hands‑on solution that shows you how to **disable auto download**, **extract text image**, **extract Chinese text image**, and **set OCR language**—all with Aspose OCR for .NET. By the end you’ll have a single, runnable program that prints the recognized text straight to the console. + +## Co se naučíte + +- How to install and reference the Aspose.OCR NuGet package. +- Why turning off automatic resource downloads matters for offline or secure environments. +- The exact steps to point the engine at a local language‑pack folder. +- How to select the correct language (Chinese Simplified) before processing an image. +- Verifying the output and troubleshooting common pitfalls. + +No prior experience with Aspose is required; just a basic C# setup and an image file you want to read. + +## Požadavky + +| Requirement | Reason | +|-------------|--------| +| .NET 6.0 nebo novější (nebo .NET Framework 4.7+) | Aspose.OCR podporuje tyto runtime. | +| Visual Studio 2022 (nebo jakékoli IDE dle vašeho výběru) | Pro snadné vytvoření projektu a ladění. | +| Obrázkový soubor obsahující čínský text (např. `chinese-sign.jpg`) | To demonstrate **extract Chinese text image**. | +| Místní kopie jazykových balíčků Aspose OCR (stažené jednou z portálu Aspose) | Needed because we will **disable auto download**. | + +Make sure the language‑pack ZIP files sit in a folder you can reference, for example `C:\MyOCR\Resources`. + +## Krok 1: Rozpoznat text z obrázku – Nakonfigurujte OCR engine + +First things first: we need an `OcrEngineSettings` object that tells Aspose where to look for resources. This is the foundation for any **extract text image** operation. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +Why set `AutoDownloadResources` to `false`? In production environments you often run behind firewalls, or you simply don’t want your app to reach out to the internet at runtime. Disabling the feature guarantees that the engine will only use the files you placed in `ResourceFolder`, which also speeds up initialization. + +## Krok 2: Vytvořte OCR engine s určenými nastaveními + +Now that the settings are ready, we instantiate the engine. This step is where the **set OCR language** capability will later come into play. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +The `OcrEngine` object is lightweight; it doesn’t actually load any language data until you assign a language. That lazy loading is why you can safely create the engine even if the resource folder is empty—nothing will break until you try to **extract Chinese text image**. + +## Krok 3: Nastavte jazyk OCR – Vyberte Čínštinu zjednodušenou + +Aspose supports dozens of languages, each packaged as a ZIP file. Since our sample image contains Simplified Chinese characters, we explicitly set the language before recognition. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +If you forget this step, the engine defaults to English and you’ll get garbled output. Also, note that the language name must match the ZIP file name inside `ResourceFolder`. For example, `ChineseSimplified.zip` should be present. + +## Krok 4: Extrahujte text z cílového obrázku + +With the engine configured and the language set, we finally **recognize text from image**. The method returns a plain string that you can log, store, or feed into another system. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +The call to `RecognizeImage` does all the heavy lifting: preprocessing, segmentation, character matching, and finally assembling the result. If the image is clear and the language pack is correct, you’ll see the Chinese characters printed to the console. + +> **Tip:** Pokud potřebujete extrahovat jen část obrázku (např. konkrétní oblast), použijte přetíženou metodu `RecognizeImage(string, Rectangle)`, která přijme ořezávací obdélník. + +## Úplný funkční příklad + +Below is the complete program you can copy‑paste into a new console project. It includes the `using` statements, the settings, language selection, and the final output. Save it as `Program.cs`, restore NuGet packages, and run. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Očekávaný výstup + +If `chinese-sign.jpg` contains the phrase “欢迎光临”, the console will display something akin to: + +``` +=== Recognized Text === +欢迎光临 +``` + +The exact formatting may vary depending on the image quality, but the characters should be legible. + +## Časté problémy a tipy + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| **Vrácený prázdný řetězec** | Language pack not found or `AutoDownloadResources` still trying to fetch it | Verify `ResourceFolder` path and ensure `ChineseSimplified.zip` exists. | +| **Nečitelné znaky** | Image is blurry or low‑contrast | Preprocess the image (increase contrast, binarize) before feeding it to `RecognizeImage`. | +| **Výjimka: `FileNotFoundException`** | Wrong image path | Use an absolute path or place the image in the project’s output directory and reference it with `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`. | +| **Zpomalení výkonu** | Large image dimensions | Resize the image to a reasonable width (e.g., 1024 px) before recognition. | + +**Pro tip:** Uchovávejte jazykové balíčky ve složce pod verzovacím systémem. Když aktualizujete Aspose.OCR, nové balíčky mohou mít jiné pojmenovací konvence, což může tiše narušit vaši strategii **disable auto download**. + +## Rozšíření příkladu + +Now that you can **recognize text from image**, you might want to: + +- **Dávkové zpracování** složky obrázků (procházet soubory, volat `RecognizeImage` pokaždé). +- **Exportovat** výsledky do CSV nebo JSON souboru pro následnou analýzu. +- **Kombinovat** OCR s překladovými API pro převod čínských značek do angličtiny za běhu. + +All of these scenarios reuse the same core steps: configure once, set the language, and call `RecognizeImage`. The modular design keeps your code clean and easy to maintain. + +## Závěr + +You’ve just learned how to **recognize text from image** using Aspose OCR in C#. By explicitly **disable auto download**, pointing the engine at a local resource folder, and **set OCR language** to Chinese Simplified, you can reliably **extract Chinese text image** and any other language you supply. + +The complete, runnable code above demonstrates a practical workflow you can drop into real projects. From here, experiment with different image qualities, add error handling, or integrate the output into a larger system. The possibilities are practically endless. + +Got questions about other languages, performance tuning, or cloud deployment? Feel free to leave a comment—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/czech/net/ocr-optimization/_index.md b/ocr/czech/net/ocr-optimization/_index.md index 278be8e2..bd8bcb7d 100644 --- a/ocr/czech/net/ocr-optimization/_index.md +++ b/ocr/czech/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ Prozkoumejte Aspose.OCR pro .NET. Zvyšte přesnost OCR pomocí filtrů předbě Vylepšete přesnost OCR pomocí Aspose.OCR pro .NET. Opravte pravopis, přizpůsobte slovníky a dosáhněte bezproblémového rozpoznávání textu bez námahy. ### [Uložit vícestránkový výsledek jako dokument v rozpoznávání obrazu OCR](./save-multipage-result-as-document/) Odemkněte potenciál Aspose.OCR pro .NET. Pomocí tohoto komplexního podrobného průvodce snadno ukládejte vícestránkové výsledky OCR jako dokumenty. +### [c# OCR tutoriál: Rozpoznání textu z obrázku s předzpracováním](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Objevte, jak pomocí Aspose.OCR pro .NET rozpoznat text z obrázku a optimalizovat výsledky předzpracováním. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/czech/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..0ee004eb --- /dev/null +++ b/ocr/czech/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,231 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR tutoriál, který ukazuje, jak rozpoznat text z obrázku a předzpracovat + obrázek pro OCR pomocí filtrů Aspose.OCR – krok za krokem průvodce. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: cs +og_description: c# OCR tutoriál, který vás provede rozpoznáváním textu z obrázku a + předzpracováním obrázku pro OCR pomocí filtrů Aspose.OCR. Kompletní kód je zahrnut. +og_title: c# OCR tutoriál – Rozpoznání textu z obrázku s předzpracováním +tags: +- OCR +- C# +- Image Processing +title: 'c# OCR tutoriál: Rozpoznání textu z obrázku s předzpracováním' +url: /cs/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Rozpoznání textu z obrázku s předzpracováním + +Už jste se někdy zamýšleli, jak **rozpoznat text z obrázku** v C# aplikaci, aniž byste strávili týdny laděním filtrů? Nejste sami. V tomto **c# ocr tutorial** projdeme kompletním, připraveným příkladem, který nejen načte text, ale také **předzpracuje obrázek pro OCR**, aby zvýšil přesnost. + +Použijeme knihovnu Aspose.OCR, protože obsahuje praktický filtr‑pipeline, který vám umožní během několika řádků přidat kroky deskew, denoise a contrast‑boost. Na konci tohoto návodu budete mít konzolovou aplikaci, která dokáže vzít nakloněný, šumivý PNG, vyčistit ho a vypsat extrahovaný řetězec – vše s jasným vysvětlením, proč je každý krok důležitý. + +## Požadavky + +Než se pustíme do práce, ujistěte se, že máte: + +| Požadavek | Proč je důležitý | +|-------------|----------------| +| .NET 6 SDK (nebo novější) | Moderní C# funkce a lepší výkon | +| Visual Studio 2022 (nebo VS Code) | Pohodlné ladění a IntelliSense | +| NuGet balíček **Aspose.OCR** | Poskytuje `OcrEngine` a třídy filtrů | +| Vstupní obrázek (např. `skewed‑noisy.png`) | Ukazuje potřebu předzpracování | + +Pokud vám něco chybí, nejprve to nainstalujte. Krok s NuGet je popsán v další sekci. + +## Krok 1: Instalace Aspose.OCR přes NuGet + +Otevřete terminál (nebo Package Manager Console) a spusťte: + +```bash +dotnet add package Aspose.OCR +``` + +> **Tip:** Použijte přepínač `--version`, pokud potřebujete zamknout konkrétní verzi pro reprodukovatelné sestavení. + +Balíček obsahuje všechny filtry, které budeme potřebovat, takže žádné další DLL nejsou vyžadovány. + +## Krok 2: Inicializace OCR Engine – jádro c# ocr tutorial + +Vytvoření enginu je jednoduché, ale stojí za to pochopit, co se děje pod kapotou. `OcrEngine` drží pipeline **filtrů**, které manipulují bitmapu před spuštěním rozpoznávacího algoritmu. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Proč inicializovat nejdříve?** Engine kešuje interní zdroje (např. jazykové modely). Použití jedné instance napříč více obrázky šetří paměť a urychluje následná rozpoznání. + +## Krok 3: Předzpracování obrázku pro OCR – přidání deskew, denoise a contrast boost + +Většina reálných skenů není dokonalá; jsou nakloněné, šumivé nebo příliš tmavé. Proto je **předzpracování obrázku pro OCR** kritickým krokem. Aspose poskytuje tři filtry, které spolu dobře fungují: + +| Filtr | Co dělá | Typické použití | +|--------|--------------|------------------| +| `DeskewFilter` | Otočí obrázek tak, aby opravil sklon | Skenované dokumenty ze skeneru | +| `DenoiseFilter` | Odstraní izolované pixely („sůl‑a‑pepř“ šum) | Fotky po slabém osvětlení | +| `ContrastBoostFilter` | Zvyšuje kontrast pro ostřejší hrany textu | Vybledlé výtisky nebo nízké rozlišení | + +Níže je kód, který přidá každý filtr do pipeline enginu: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **Jak to funguje:** Když později zavoláte `RecognizeImage`, engine postupně spustí tyto tři filtry, než předá vyčištěnou bitmapu rozpoznávacímu jádru. + +### Vizualizace (volitelné) + +Pokud vložíte obrázek, ujistěte se, že alt text obsahuje primární klíčové slovo: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Krok 4: Rozpoznání textu z obrázku – okamžik pravdy + +Nyní, když je obrázek předzpracovaný, můžeme konečně extrahovat znaky. Metoda vrací prostý řetězec, který můžete zalogovat, uložit nebo předat dalšímu systému. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Očekávaný výstup + +Spuštění ukázky na typickém skenu faktury vrátí něco jako: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +Pokud výstup vypadá poškozeně, zkontrolujte kvalitu obrázku a zvažte úpravu `ContrastBoostFilter.Level` (hodnoty > 2.0 mohou být příliš agresivní). + +## Krok 5: Výstup výsledku a volitelné post‑zpracování + +Konzolová aplikace může řetězec jednoduše vypsat, ale mnoho projektů potřebuje další úpravy – např. oříznutí bílých znaků, odstranění zalomení řádků nebo uložení textu do databáze. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Proč post‑zpracovávat? + +I při dobrém předzpracování OCR často zavede zbytečné zalomení řádků nebo neviditelné znaky. Rychlý řetězec `Replace` může data výrazně zlepšit pro další použití. + +## Krok 6: Kompletní funkční příklad – připravený ke zkopírování + +Níže je **úplný** program, který můžete ihned zkompilovat a spustit. Obsahuje všechny `using` direktivy, nastavení filtrů, volání OCR a zpracování výstupu. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**Jak spustit** + +1. Uložte soubor jako `Program.cs` v novém konzolovém projektu (`dotnet new console`). +2. Nahraďte `YOUR_DIRECTORY/skewed-noisy.png` skutečnou cestou k vašemu testovacímu obrázku. +3. Spusťte `dotnet run`. V terminálu by se měl zobrazit OCR výstup. + +## Časté problémy a tipy (spolehlivé rozpoznání textu z obrázku) + +| Problém | Co zkontrolovat | Oprava | +|-------|----------------|-----| +| **Špatné znaky** | Obrázek je příliš tmavý nebo má nízké rozlišení | Zvyšte `ContrastBoostFilter.Level` nebo použijte zdroj s vyšším rozlišením | +| **Chybějící řádky** | Deskew neopravil úhel úplně | Předem ručně otočte obrázek, nebo upravte toleranci `DeskewFilter` | +| **Nízký výkon** | Zpracováváte mnoho velkých obrázků v cyklu | Znovu použijte stejnou instanci `OcrEngine` a po každém běhu zavolejte `ocrEngine.Clear()` | +| **Nepožadovaný jazyk** | Text není anglický | Nastavte `ocrEngine.Language = OcrLanguage.French` (nebo jiný podporovaný jazyk) před rozpoznáním | + +### Okrajový případ: zpracování více‑stránkových PDF + +Pokud potřebujete OCR PDF, převěďte každou stránku na obrázek (např. pomocí `Aspose.PDF`) a podávejte je po jedné stejnému engine. Pipeline předzpracování zůstane stejná, což zajišťuje konzistentní výsledky napříč stránkami. + +## Závěr + +V tomto **c# ocr tutorial** jsme probrali vše, co potřebujete k **rozpoznání textu z obrázku** a **předzpracování obrázku pro OCR** pomocí vestavěných filtrů Aspose.OCR. Inicializací enginu, přidáním kroků deskew, denoise a contrast‑boost a nakonec voláním `RecognizeImage` získáte čistý, spolehlivý výstup textu během několika řádků kódu. + +Klidně experimentujte – vyzkoušejte jiný filtr, upravte úroveň kontrastu nebo integrujte výsledek do většího datového pipeline. Tyto koncepty platí pro jakoukoli OCR knihovnu: předzpracování je často rozdílem mezi polovičním načtením faktury a perfektně zachyceným dokumentem. + +Máte další otázky? Možná vás zajímá zpracování ručně psaného textu nebo hromadné zpracování tisíců souborů. Napište komentář a podíváme se na tyto scénáře společně. Šťastné kódová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/net/text-recognition/_index.md b/ocr/czech/net/text-recognition/_index.md index b178a0c0..120bff53 100644 --- a/ocr/czech/net/text-recognition/_index.md +++ b/ocr/czech/net/text-recognition/_index.md @@ -55,9 +55,21 @@ Vylepšete své aplikace .NET pomocí Aspose.OCR pro efektivní rozpoznávání Odemkněte potenciál OCR v .NET s Aspose.OCR. Extrahujte text z PDF bez námahy. Stáhněte si nyní pro bezproblémovou integraci. ### [Rozpoznat tabulku v OCR rozpoznávání obrazu](./recognize-table/) Odemkněte potenciál Aspose.OCR pro .NET pomocí našeho komplexního průvodce rozpoznáváním tabulek při rozpoznávání obrázků OCR. +### [c# OCR tutoriál – Extrahování hindského textu z PNG účtenek](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Naučte se pomocí Aspose.OCR v .NET extrahovat hindský text z PNG účtenek a integrovat výsledek do vašich aplikací. +### [c# OCR tutoriál – Extrahování textu z obrázku a souborů DJVU](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Naučte se pomocí Aspose.OCR v .NET extrahovat text z obrázků i souborů DJVU a integrovat výsledek do vašich aplikací. +### [c# OCR tutoriál – Extrahování textu z obrázků s Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Naučte se pomocí Aspose OCR v .NET extrahovat text z obrázků a integrovat výsledek do vašich aplikací. +### [Extrahování textu z TIFF s Aspose OCR C# – Kompletní tutoriál](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Naučte se pomocí Aspose OCR v .NET extrahovat text z TIFF souborů a integrovat výsledek do vašich aplikací. +### [Rozpoznání textu v JPG pomocí Aspose OCR – Kompletní průvodce C#](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +### [Extrahování textu z PNG – Kompletní tutoriál Aspose OCR](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Naučte se pomocí Aspose OCR v .NET extrahovat text z PNG souborů a integrovat výsledek do vašich aplikací. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/czech/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..785cab86 --- /dev/null +++ b/ocr/czech/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR tutoriál pro čtení textu z PNG, převod obrázku na text a rozpoznání + hindského textu na účtence pomocí Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: cs +og_description: c# OCR tutoriál, který vás naučí, jak číst text z PNG, převést obrázek + na text a rozpoznat hindský text na účtence pomocí Aspose OCR. +og_title: c# OCR tutoriál – Extrahování hindského textu z PNG účtenek +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# OCR tutoriál – Extrahovat hindský text z PNG účtenek +url: /cs/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR tutoriál – Extrahování hindského textu z PNG účtenek + +Už jste se někdy zamysleli, jak **číst text z PNG** souborů v C# aplikaci? Možná máte spoustu hindských účtenek a potřebujete automaticky získat částky. Právě tohle c# ocr tutoriál řeší—převod obrázku na prohledávatelný text pomocí několika řádků kódu. + +V tomto průvodci vás provedeme instalací Aspose OCR, načtením PNG účtenky, rozpoznáním hindských znaků a nakonec vytištěním extrahovaného řetězce do konzole. Na konci budete schopni **převést obrázek na text**, **rozpoznat hindský text** a dokonce **extrahovat text z účtenky** obrázků, aniž byste opustili své IDE. + +> **Poznámka k předpokladům:** Potřebujete platnou licenci Aspose OCR (nebo můžete použít bezplatnou zkušební verzi) a nainstalovaný .NET 6+. Pokud jste v NuGet noví, nebojte se—také to pokryjeme. + +## Co budete potřebovat + +- **Visual Studio 2022** (nebo jakýkoli editor kompatibilní s C#) +- **.NET 6 SDK** (nebo novější) +- **Aspose.OCR** NuGet balíček + ```bash + dotnet add package Aspose.OCR + ``` +- Vzorek obrázku účtenky, např. `hindi-receipt.png`, uložený ve složce projektu. + +Když máte tyto věci připravené, můžete okamžitě zkopírovat‑vložit finální kód a stisknout **F5**. + +## Krok 1: Nastavení projektu a import jmenných prostorů + +Nejprve vytvořte konzolový projekt, pokud ho ještě nemáte: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Nyní otevřete `Program.cs`. Na začátku importujte jmenné prostory Aspose OCR, aby kompilátor věděl, kde najít třídy: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Proč je to důležité:** `OcrEngine` se nachází v `Aspose.OCR`, zatímco výčty související s jazykem jsou v `Aspose.OCR.Settings`. Zapomenutí jednoho z nich způsobí chybu při kompilaci. + +## Krok 2: Inicializace OCR enginu a výběr jazykového modelu + +OCR engine potřebuje vědět **který jazyk** má hledat. Aspose poskytuje mnoho jazykových balíčků; zadáním `OcrLanguage.Hindi` řeknete enginu, aby stáhl (pokud chybí) a použil hindský model. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Tip:** Pokud plánujete zpracovávat účtenky v několika jazycích, můžete během běhu měnit `Language` nebo dokonce povolit režim `MultiLanguage`. + +## Krok 3: Předání PNG účtenky enginu + +Zde **čteme text z PNG**. Zadejte úplnou cestu (relativní k spustitelnému souboru funguje dobře). Metoda vrací prostý řetězec obsahující vše, co engine dokázal rozluštit. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Pokud je obrázek vysokého rozlišení a text je čistý, získáte téměř dokonalé výsledky. Pro špinavé skeny zvažte předzpracování (např. binarizaci) – Aspose nabízí metody `PreprocessImage`, které můžete později prozkoumat. + +## Krok 4: Zobrazení nebo uložení extrahovaného textu + +Většina vývojářů jednoduše během testování výsledek vypíše do konzole. V produkčním scénáři můžete zapisovat do databáze nebo CSV souboru. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Spuštění programu se vzorovou účtenkou vytiskne něco jako: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +To je část **převést obrázek na text** v akci—žádná ruční přepisování není potřeba. + +## Kompletní funkční příklad (připravený ke kopírování) + +Níže je kompletní, samostatný program. Vložte jej do `Program.cs`, umístěte `hindi-receipt.png` vedle zkompilovaného `.exe` a stiskněte **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Očekávaný výstup + +Když obrázek účtenky obsahuje jasné hindské znaky, konzole zobrazí extrahované řádky se zachováním zalomení řádků. Pokud OCR nedokáže rozpoznat slovo, uvidíte poškozený fragment—pouze podnět ke zlepšení kvality obrázku nebo úpravě předzpracování. + +## Krok 5: Pokročilejší – Programové extrahování textu z účtenky + +Pokud je vaším cílem **extrahovat text z účtenky** (datum, celková částka, číslo faktury), můžete po‑zpracovat OCR řetězec pomocí regulárních výrazů: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +Tento malý úryvek ukazuje, jak převést surový výstup OCR na strukturovaná data—ideální pro import do účetního softwaru. + +## Časté problémy a jak se jim vyhnout + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Prázdný výstup** | Špatná cesta k obrázku nebo soubor nebyl zkopírován do výstupní složky. | Použijte `Path.GetFullPath` a ověřte, že soubor existuje (`File.Exists`). | +| **Špatné znaky** | PNG s nízkým rozlišením nebo komprimovanými barvami. | Zvětšete obrázek, nastavte DPI na 300+, nebo použijte `ocrEngine.ImagePreprocessor`. | +| **Jazykový model nebyl stažen** | Žádné připojení k internetu při prvním spuštění. | Předem stáhněte hindský model přes Aspose portál nebo jej hostujte lokálně. | +| **Zpoždění výkonu** | Zpracování mnoha stránek ve smyčce bez uvolnění prostředků. | Zabalte `OcrEngine` do bloku `using` nebo znovu použijte jedinou instanci. | + +## Ilustrace obrázku + +![c# OCR tutoriál čtení hindského textu z PNG účtenky](https://example.com/placeholder-image.png "c# OCR tutoriál – čtení textu z PNG účtenky") + +*Snímek obrazovky ukazuje hindskou účtenku před a po konverzi OCR.* + +## Shrnutí: Co jsme probrali + +- Nastavili jsme C# konzolovou aplikaci a přidali NuGet balíček Aspose OCR. +- Inicializovali jsme `OcrEngine` s jazykovým modelem **recognize hindi text**. +- **Četli jsme text z PNG** pomocí `RecognizeImage`. +- **Převod obrázku na text** a výsledek vypsali. +- Ukázali jsme jednoduchý vzor pro **extrahování textu z účtenky** polí. + +Vše bylo dodáno v jediném spustitelném souboru—přesně to, co by **c# OCR tutoriál** měl poskytnout. + +## Další kroky a související témata + +1. **Dávkové zpracování** – procházet složku s obrázky účtenek a ukládat výsledky do CSV. +2. **Předzpracování** – prozkoumat `ocrEngine.ImagePreprocessor` pro odstranění šumu, korekci sklonu nebo zvýšení kontrastu. +3. **Vícejazykové OCR** – povolit `OcrLanguage.Multilingual` pro zpracování účtenek, které kombinují hindštinu a angličtinu. +4. **Integrace** – odeslat extrahovaná data do modelu Entity Framework Core pro trvalé uložení. + +Pokud vás některé z nich zajímají, podívejte se na naše tutoriály o **convert image to text in C#** a **extract structured data from OCR results**. + +### Šťastné programování! + +Neváhejte zanechat komentář, pokud narazíte na problémy, nebo se podělit, jak jste rozšířili tento **c# OCR tutoriál** ve svých projektech. Pamatujte, OCR je jen první krok—čistá data jsou místem, kde se děje pravá magie. 🚀 + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/czech/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..af6a65aa --- /dev/null +++ b/ocr/czech/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR tutoriál, který ukazuje, jak extrahovat text z obrázkových souborů + a převést DJVU na text pomocí Aspose.OCR. Naučte se krok za krokem extrakci během + několika minut. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: cs +og_description: c# OCR tutoriál, který rychle ukazuje, jak extrahovat text z obrázkových + souborů a převést DJVU na text pomocí Aspose.OCR. Postupujte podle průvodce pro + funkční řešení. +og_title: c# OCR tutoriál – Extrahovat text z obrázku a DJVU +tags: +- OCR +- C# +- Aspose +title: 'c# OCR tutoriál: Extrahovat text z obrázku a souborů DJVU' +url: /cs/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR tutoriál – Extrahování textu z obrázků a DJVU souborů + +Už jste se někdy zamysleli, jak extrahovat text z obrázkových souborů, aniž byste si trhali vlasy? V tomto **c# OCR tutoriálu** projdeme kompletním, připraveným příkladem, který vytáhne text z běžného obrázku *a* z DJVU dokumentu. + +Pokud také hledáte rychlý způsob, jak **převést DJVU na text**, jste na správném místě—žádné další konvertory, jen čistý C# kód. + +## Co se naučíte + +- Jak nastavit knihovnu Aspose.OCR v .NET projektu. +- Přesný kód, který potřebujete k **extrahování textu z obrázku**. +- Stručná metoda pro **extrahování textu z DJVU** souborů (ano, stejný engine to zvládne). +- Běžné úskalí (velké soubory, chybějící fonty, licence) a jak se jim vyhnout. + +Vše, co potřebujete, je aktuální .NET SDK a internetové připojení pro stažení NuGet balíčku. Předchozí zkušenost s OCR není vyžadována. + +## Požadavky + +Než se pustíte dál, ujistěte se, že máte: + +| Požadavek | Proč je důležité | +|-------------|----------------| +| .NET 6.0 or later | Aspose.OCR cílí na .NET Standard 2.0, takže .NET 6+ poskytuje nejlepší výkon. | +| Visual Studio 2022 (or VS Code) | IDE usnadňují správu balíčků, ale funguje i jakýkoli editor. | +| NuGet package **Aspose.OCR** | Jedná se o engine, který skutečně provádí těžkou práci. | +| A sample image (`sample.png`) and a DJVU file (`sample.djvu`) | Tyto soubory použijeme k demonstraci obou scénářů extrakce. | + +Balíček můžete nainstalovat následujícím příkazem: + +```bash +dotnet add package Aspose.OCR +``` + +> **Tip:** Pokud běžíte na CI serveru, přidejte `--no-restore` do kroku sestavení a obnovte jednou na začátku pro zrychlení. + +## Krok 1: Inicializace OCR enginu – jádro c# OCR tutoriálu + +Prvním krokem je vytvořit instanci `OcrEngine`. Představte si to jako zapnutí skeneru ve vašem softwaru. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Proč vytvářet nový engine pokaždé? Protože engine uchovává konfiguraci (jazyk, režim detekce atd.). Začínáním s čistým enginem se vyhnete únikům starých nastavení mezi běhy. + +## Krok 2: Načtení a rozpoznání obrázku – jak extrahovat text z obrázku + +Nyní předáme engine běžný bitmap (PNG, JPEG, BMP…) . Metoda `RecognizeImage` vrací rozpoznaný řetězec. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +- **Existence souboru** – Pokud je cesta špatná, metoda vyhodí `FileNotFoundException`. Zabalte ji do `try/catch`, pokud očekáváte cesty od uživatele. +- **Kvalita obrázku** – OCR funguje nejlépe při 300 dpi nebo vyšším. Skeny s nízkým rozlišením mohou produkovat nečitelné výstupy. +- **Podpora jazyků** – Ve výchozím nastavení Aspose.OCR předpokládá angličtinu. Pro změnu nastavte `ocrEngine.Language = Language.Spanish;` před voláním `RecognizeImage`. + +## Krok 3: Rozpoznání textu z DJVU dokumentu – převod DJVU na text + +DJVU je kontejnerový formát, který může obsahovat více stránek. Aspose.OCR jej dokáže zpracovat přímo; stačí ukázat na soubor. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +V pozadí engine extrahuje každou stránku jako obrázek a spustí stejný rozpoznávací řetězec. Proto nepotřebujete samostatný krok „převést DJVU na text“ – OCR engine to udělá za vás. + +### Zpracování vícestránkových DJVU souborů + +Pokud váš DJVU obsahuje několik stránek, `RecognizeImage` je spojí v pořadí. Pokud potřebujete každou stránku zvlášť, můžete použít přetížení, které vrací `List`: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Krok 4: Doladění enginu pro vyšší přesnost – proč je to důležité + +Výchozí výsledky jsou přijatelné, ale můžete je zlepšit úpravou několika nastavení: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Tyto příznaky jsou zvláště užitečné při **extrahování textu** ze skenovaných PDF, které byly nejprve uloženy jako DJVU. Zapnutí detekce orientace vás ušetří ručního otáčení obrázků. + +## Krok 5: Řešení licencí a runtime chyb + +Aspose.OCR je dodáván s bezplatnou zkušební verzí, která po několika stránkách přidá na výstup vodoznak „Demo“. Pro odstranění vodoznaku přidejte svůj licenční soubor: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Pokud tento krok zapomenete, engine stále funguje, ale výsledek bude obsahovat slovo „Demo“. Také dávejte pozor na `OutOfMemoryException` při zpracování obrovských DJVU souborů – zvažte zpracování stránku po stránce, jak bylo ukázáno dříve. + +## Kompletní, spustitelný příklad + +Níže je samostatný konzolový program, který spojuje vše dohromady. Zkopírujte, upravte cesty k souborům a stiskněte **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Očekávaný výstup** (předpokládáme, že soubory obsahují frázi „Hello World“): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Pokud zdroj obsahuje více řádků, objeví se přesně tak, jak jsou v originálním dokumentu. + +## Časté otázky a řešení okrajových případů + +- **Co když je obrázek černobílý?** + OCR funguje, ale kontrast můžete zlepšit pomocí `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +- **Mohu extrahovat jen čísla?** + Ano—nastavte `ocrEngine.CharWhitelist = "0123456789";` před voláním `RecognizeImage`. + +- **Existuje limit velikosti souboru?** + Engine načítá celý soubor do paměti. Pro soubory větší než ~100 MB zpracovávejte stránku po stránce (viz přetížení seznamu v Kroku 3). + +- **Jak se liší od Tesseract?** + Aspose.OCR je komerční knihovna s vestavěnou podporou DJVU a bez nativních závislostí, zatímco Tesseract vyžaduje nativní binárky a samostatné nástroje pro konverzi DJVU. + +## Závěr + +Právě jste dokončili **c# OCR tutoriál**, který ukazuje, jak **extrahovat text z obrázkových** souborů a plynule **převést DJVU na text** pomocí Aspose.OCR. Příklad pokrývá vše od instalace balíčku po licencování, od extrakce jednostránkových obrázků po zpracování vícestránkových DJVU a dokonce i tipy na zvýšení přesnosti. + +Dále můžete zkoumat **jak extrahovat text** z PDF, integrovat OCR krok do webového API nebo experimentovat s jazykovými balíčky pro vícejazyčné dokumenty. Možnosti jsou neomezené—pamatujte si hlavní body: nastavit engine, předat mu soubor a přečíst zpět řetězec. + +Máte další otázky? Zanechte komentář, vyzkoušejte kód na svých dokumentech a šťastné programování! + +![c# OCR tutoriál – snímek konzole](/images/csharp-ocr-tutorial.png "c# OCR tutoriál – příklad výstupu v konzoli") + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/czech/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..9c4fa042 --- /dev/null +++ b/ocr/czech/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR tutoriál, který ukazuje, jak extrahovat text z obrazových souborů, + rozpoznat text z PNG, převést obrázek na řetězec a automaticky detekovat jazyk pomocí + Aspose.OCR. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: cs +og_description: c# OCR tutoriál, který vás provede extrakcí textu z obrázků, rozpoznáváním + textu z PNG souborů, převodem obrázků na řetězce a automatickým rozpoznáním jazyka + pomocí Aspose OCR. +og_title: c# OCR tutoriál – Extrahování textu z obrázků +tags: +- C# +- OCR +- Aspose +- Image Processing +title: c# OCR tutoriál – Extrahujte text z obrázků pomocí Aspose OCR +url: /cs/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Extrahování textu z obrázků pomocí Aspose OCR + +Už jste někdy potřebovali **c# ocr tutorial**, který skutečně funguje na reálném PNG souboru? Možná vytváříte skener účtenek, vícejazyčný zpracovatel formulářů, nebo vás jen zajímá, jak převést obrázek s textem na prohledávatelný řetězec. Ať už je to jakkoli, jste na správném místě. + +V tomto průvodci vám krok za krokem ukážeme, jak **extrahovat text z obrázku**, **rozpoznat text z png**, **převést obrázek na řetězec** a dokonce **automaticky detekovat jazyk** – vše pomocí knihovny Aspose.OCR. Žádné vágní odkazy, jen kompletní, spustitelný příklad, který můžete zkopírovat a vložit do Visual Studia. + +## Co budete potřebovat + +- .NET 6.0 nebo novější (kód funguje také s .NET Core a .NET Framework) +- NuGet reference na `Aspose.OCR` (verze 23.9 nebo novější) +- Soubor obrázku (`mixed‑script.png` v tomto příkladu) umístěný na místě, kde jej aplikace může číst +- Základní znalost C# (pokud jste už napsali “Hello World”, máte vše potřebné) + +> **Pro tip:** Pokud ještě nemáte licenci, Aspose nabízí zdarma dočasnou licenci pro testování. Stačí umístit soubor `.lic` vedle spustitelného souboru. + +## Krok 1 – Instalace NuGet balíčku Aspose.OCR + +Nejprve přidejte knihovnu do svého projektu. Otevřete Package Manager Console a spusťte: + +```powershell +Install-Package Aspose.OCR +``` + +Nebo, pokud dáváte přednost UI, klikněte pravým tlačítkem na *Dependencies → Manage NuGet Packages* a vyhledejte **Aspose.OCR**. + +## Krok 2 – Příprava OCR enginu (c# ocr tutorial core) + +Nyní vytvoříme instanci `OcrEngine`, nastavíme automatickou detekci jazyka a nasměrujeme ji na náš PNG soubor. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Proč nastavujeme `Language = OcrLanguage.AutoDetect` + +Automatická detekce jazyka vás chrání před hádáním, zda obrázek obsahuje angličtinu, ruštinu, arabštinu nebo jejich kombinaci. Je to nejflexibilnější volba pro scénář **detect language automatically** a funguje ihned pro většinu skriptů podporovaných Aspose. + +## Krok 3 – Spuštění aplikace a ověření výstupu + +Zkompilujte a spusťte program (`dotnet run` nebo stiskněte **F5** ve Visual Studiu). Pokud je vše správně nastaveno, uvidíte něco podobného: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +Tento výstup dokazuje, že úspěšně **extrahujeme text z obrázku**, **rozpoznáváme text z png** a **převádíme obrázek na řetězec** – vše v jednom stručném úryvku. + +## Krok 4 – Běžné varianty a okrajové případy + +### Zpracování více obrázků + +Pokud potřebujete zpracovat adresář PNG souborů, zabalte volání rozpoznání do smyčky `foreach`: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Nastavení pevného jazyka + +Někdy znáte jazyk dopředu (např. jen angličtinu). Můžete nahradit `AutoDetect` za `OcrLanguage.English` a tím urychlit zpracování: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Práce s nízkou kvalitou skenů + +Aspose.OCR nabízí předzpracování (odstranění šumu, korekce sklonu). Pro rychlé řešení: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Uložení výsledku do souboru + +Místo výpisu do konzole můžete chtít zapsat extrahovaný text do souboru `.txt`: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Krok 5 – Kompletní funkční příklad (připravený ke kopírování) + +Níže je **kompletní program** včetně volitelného předzpracování a logiky pro výstup do souboru. Klidně upravte cesty podle potřeby. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Očekávaný výstup + +Spuštěním programu na PNG, který obsahuje angličtinu, ruštinu a arabštinu, získáte: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +Pokud je obrázek prázdný nebo nečitelý, engine vrátí prázdný řetězec – tento případ ošetřete kontrolou `string.IsNullOrWhiteSpace(extractedText)` před dalším zpracováním. + +## Často kladené otázky (FAQ) + +**Q: Podporuje Aspose.OCR ručně psaný text?** +A: Zaměřuje se na tištěný OCR. Pro ručně psaný text potřebujete dedikovaný ML model nebo službu jako Azure Computer Vision. + +**Q: Můžu to spustit na Linuxu/macOS?** +A: Ano. Aspose.OCR je multiplatformní; stačí nainstalovat .NET runtime pro váš OS. + +**Q: Co když potřebuji zpracovávat PDF místo PNG?** +A: Nejprve převěďte každou stránku PDF na obrázek (např. pomocí `Aspose.PDF`) a pak předávejte obrázek OCR enginu. + +## Závěr + +Právě jste dokončili **c# ocr tutorial**, který vás provede **extrahováním textu z obrázku**, **rozpoznáváním textu z png**, **převodem obrázku na řetězec** a **automatickou detekcí jazyka** pomocí Aspose.OCR. Kód je stručný, koncepty jsou jasné a můžete jej rozšířit na dávkové zpracování, vlastní nastavení jazyků nebo jej integrovat do webového API. + +Další kroky? Zkuste výstup OCR předat do vyhledávacího indexu, použít překladatelskou službu nebo jej zkombinovat s Azure Cognitive Services pro ještě bohatší datové toky. Možnosti jsou neomezené, jakmile zvládnete základy konverze obrazu na text v C#. + +Šťastné programování a nezapomeňte experimentovat s různou kvalitou obrázků – váš OCR engine vám poděkuje! + +![c# ocr tutorial – příklad výstupu OCR na smíšeném skriptu PNG](placeholder-image.png "c# ocr tutorial – OCR result screenshot") + +{{< /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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/czech/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..79f8811f --- /dev/null +++ b/ocr/czech/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-01-09 +description: Rychle extrahujte text z PNG pomocí Aspose OCR. Naučte se, jak číst text + z obrázku, zlepšit přesnost OCR a získat čisté výsledky v C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: cs +og_description: Rychle extrahujte text z PNG pomocí Aspose OCR. Naučte se, jak číst + text z obrázku, zlepšit přesnost OCR a získat čisté výsledky v C#. +og_title: Extrahování textu z PNG – Kompletní tutoriál Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: Extrahovat text z PNG – Kompletní tutoriál Aspose OCR +url: /cs/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrahování textu z PNG – Kompletní tutoriál Aspose OCR + +Už jste někdy potřebovali **extrahovat text z PNG** souborů, ale výstup byl plný nesmyslů? Nejste v tom sami. V mnoha reálných projektech – faktury, účtenky nebo naskenované formuláře – kvalita OCR výstupu může rozhodnout o úspěchu automatizačních pipeline. + +V tomto průvodci vám ukážeme **krok za krokem**, jak číst text z obrázku pomocí Aspose OCR, přidat vlastní slovník pro **zlepšení přesnosti OCR**, odstranit šum a nakonec vytisknout upravený řetězec. Na konci budete mít připravenou spustitelnou C# konzolovou aplikaci, která spolehlivě extrahuje text z PNG obrázků. + +> **Co si odnesete** +> * Kompletní, spustitelný ukázkový kód. +> * Pochopení, proč je vlastní slovník důležitý. +> * Tipy pro řešení okrajových případů, jako jsou snímky s nízkým kontrastem. + +## Požadavky + +- .NET 6 SDK nebo novější (kód cílí na .NET 6, ale .NET 5 také funguje). +- Visual Studio 2022 nebo jakýkoli editor, který preferujete. +- **PNG** obrázek, který chcete zpracovat – například `invoice.png`. +- NuGet balíček **Aspose.OCR** (`dotnet add package Aspose.OCR`). + +Žádné další konfigurační soubory nejsou potřeba; vše žije v jediném `.cs` souboru. + +## Krok 1 – Instalace a reference Aspose OCR + +Nejprve přidejte knihovnu do svého projektu. Otevřete terminál ve složce řešení a spusťte: + +```bash +dotnet add package Aspose.OCR +``` + +Tento jediný řádek stáhne nejnovější stabilní verzi (k lednu 2026, verze 23.9). Balíček obsahuje třídu `OcrEngine`, kterou budeme používat po celou dobu tutoriálu. + +## Krok 2 – Inicializace OCR enginu + +Vytvoření instance `OcrEngine` je základem. Představte si to jako zapnutí skeneru, který je připraven interpretovat pixely. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Tip:** Pokud plánujete zpracovávat mnoho obrázků ve smyčce, znovu použijte stejnou instanci `OcrEngine`. Tím se cache interních zdrojů a urychlí následné volání. + +## Krok 3 – Zvýšení přesnosti pomocí vlastního slovníku + +Out‑of‑the‑box OCR je dobrá, ale může zakopnout nad specifickými slovy jako “Aspose”, “OCR” nebo “SDK”. Přidání těchto termínů do **vlastního slovníku** říká enginu, že tyto řetězce jsou platné, čímž snižuje chybné rozpoznání. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Proč vlastní slovník pomáhá + +- **Statistické modely** OCR silně váží běžné jazykové vzory. Neobvyklá slova mají nízkou pravděpodobnost a mohou být nahrazena podobně vypadajícími znaky. +- Výslovným uvedením těchto slov přepíšete odhad modelu. +- Je to zvláště užitečné pro **čtení textu z obrázku**, který obsahuje kódy produktů, zkratky nebo značky. + +## Krok 4 – Rozpoznání textu z PNG souboru + +Nyní předáme enginu cestu k obrázku. Metoda `RecognizeImage` vrací surový řetězec, který stále obsahuje neznámé tokeny (např. “#@!”), které engine nedokázal mapovat. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Okrajový případ:** Pokud soubor není nalezen, `RecognizeImage` vyhodí `FileNotFoundException`. Pro produkční kód obalte volání do try‑catch bloku. + +## Krok 5 – Vyčištění výsledku pomocí `CleanText` + +Aspose OCR přichází s pomocníkem, který odstraňuje znaky označené jako “unknown”. Tento krok je klíčový pro projekty **extrahování textu z obrázku**, kde následné parsery očekávají jen alfanumerické znaky a základní interpunkci. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +Metoda `CleanText` také normalizuje konce řádků, což činí výstup bezpečným pro uložení v databázích nebo předání dalším službám. + +## Krok 6 – Výstup vyčištěného textu + +Nakonec zobrazte nebo uložte výsledek. V konzolové aplikaci `Console.WriteLine` udělá práci. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +Po spuštění programu byste měli vidět úhledný blok textu, který odpovídá obsahu `invoice.png`. Pokud obrázek obsahuje slovo “Aspose”, vlastní slovník zajistí, že se zobrazí správně místo něčeho jako “A5p0se”. + +## Kompletní funkční příklad + +Spojením všeho dohromady získáte kompletní `Program.cs`, který můžete zkopírovat a vložit do nového konzolového projektu: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Očekávaný výstup** (předpokládáme, že PNG obsahuje jednoduchou fakturu): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Pokud uvidíte podivné symboly, zkontrolujte kvalitu obrázku nebo rozšiřte vlastní slovník o další termíny. + +## Bonus: Zpracování nízkokvalitních skenů + +Někdy jsou PNG skenovány při 72 dpi nebo mají silné kompresní artefakty. Zde je několik rychlých triků pro **zlepšení přesnosti OCR** bez opuštění C#: + +1. **Předzpracujte obrázek** pomocí knihovny jako `SixLabors.ImageSharp` – zvýšte kontrast, převedete na odstíny šedi nebo aplikujte mírné rozostření pro snížení šumu. +2. **Nastavte vlastnost `Resolution`** na `OcrEngine` (např. `ocrEngine.Resolution = 300;`) a řekněte enginu, že obrázek má vyšší rozlišení. +3. **Povolte jazykové balíčky**, pokud pracujete s ne‑anglickým textem (`ocrEngine.Language = Language.English;`). + +Všechny tři přístupy můžete přidat před volání `RecognizeImage`. + +## Často kladené otázky + +- **Funguje to i s jinými formáty obrázků?** + Ano. `RecognizeImage` přijímá JPEG, BMP, TIFF a dokonce PDF (jako kontejner obrázku). Stejné kroky platí. + +- **Mohu extrahovat text z více PNG souborů ve složce?** + Rozhodně. Zabalte hlavní logiku do smyčky `foreach (var file in Directory.GetFiles(folder, "*.png"))` a uložte každý výsledek do seznamu nebo do samostatných souborů. + +- **Co když potřebuji souřadnice textu?** + Aspose OCR také poskytuje objekty `OcrResult`, které obsahují ohraničující rámečky. Použijte `ocrEngine.RecognizeImageToResult(imagePath)` pro tento pokročilý scénář. + +## Závěr + +Prošli jsme **kompletním, end‑to‑end** řešením pro **extrahování textu z PNG** souborů pomocí Aspose OCR. Inicializací enginu, přidáním **vlastního slovníku**, vyčištěním surového výstupu a řešením několika běžných úskalí můžete spolehlivě **číst text z obrázku** a **zlepšovat přesnost OCR** ve svých C# aplikacích. + +Jste připraveni na další krok? Vyzkoušejte nahradit PNG naskenovanou účtenkou, přidejte více doménově specifických slov do slovníku nebo integrujte výstup s databází pro automatické zpracování faktur. Možnosti jsou neomezené, když spojíte Aspose OCR s bohatým ekosystémem .NET. + +Šťastné programování a ať je vaše OCR vždy na jedničku! + +![Extrahování textu z png příklad](/images/extract-text-from-png.png "extrahování textu z png – Aspose OCR demo") + +{{< /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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/czech/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..d4d04b11 --- /dev/null +++ b/ocr/czech/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,261 @@ +--- +category: general +date: 2026-01-09 +description: Extrahujte text z TIFF souborů pomocí Aspose OCR v C#. Naučte se, jak + získat prvních 50 znaků každého výsledku v tomto krok‑za‑krokem tutoriálu. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: cs +og_description: Extrahujte text z TIFF pomocí Aspose OCR v C#. Tento průvodce ukazuje, + jak krok za krokem získat prvních 50 znaků každého výsledku OCR. +og_title: Extrahujte text z TIFF pomocí Aspose OCR – Kompletní průvodce C# +tags: +- Aspose OCR +- C# +- TIFF processing +title: Extrahování textu z TIFF pomocí Aspose OCR C# – Kompletní tutoriál +url: /cs/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrahovat text z TIFF – Kompletní tutoriál Aspose OCR C# + +Už jste někdy potřebovali **extrahovat text z TIFF** obrázků, ale nebyli jste si jisti, kterou knihovnu použít? Nejste v tom sami. Mnoho vývojářů narazí na problém, když se snaží získat prohledávatelný text z více‑stránkových TIFF souborů, zejména když záleží na výkonu. + +V tomto **aspose ocr c# tutorial** projdeme připravený příklad, který nejen extrahuje celý text, ale také vám ukáže, jak **získat prvních 50 znaků** každé stránky pro rychlé náhledy. Na konci budete mít samostatný program, který můžete vložit do libovolného .NET projektu. + +## Co budete potřebovat + +- .NET 6 (nebo jakákoli recentní verze .NET) – kód se kompiluje jak s .NET Core, tak s .NET Framework. +- Aktivní licence Aspose.OCR pro .NET (můžete začít s bezplatnou zkušební verzí). +- Složka, která obsahuje jeden nebo více souborů `.tif`, které chcete zpracovat. +- Visual Studio, VS Code nebo jakékoli IDE, které preferujete – příklad je čistý C#, takže volba editoru není podstatná. + +> **Tip:** Pokud běžíte na CI serveru, přidejte NuGet balíček Aspose.OCR (`Aspose.OCR`) do souboru projektu; knihovna je plně spravovaná a nemá žádné nativní závislosti. + +## Krok 1: Nainstalujte NuGet balíček Aspose OCR + +Nejprve přiveďme OCR engine do projektu. Otevřete terminál ve složce řešení a spusťte: + +```bash +dotnet add package Aspose.OCR +``` + +Tento příkaz stáhne nejnovější stabilní verzi (k lednu 2026 je to 23.9) a automaticky aktualizuje váš `.csproj`. Není potřeba ručně manipulovat s DLL soubory. + +## Krok 2: Inicializujte OCR Engine + +Nyní vytvoříme instanci `OcrEngine`. Představte si ji jako „mozek“, který přečte každou stránku TIFF. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Proč vytváříme engine jen jednou? Protože `RecognizeImages` může přijmout kolekci cest k souborům, což umožňuje engine znovu použít interní buffery a výrazně zrychlit dávkové zpracování. + +## Krok 3: Získejte všechny TIFF soubory najednou + +Místo toho, abyste sami procházeli adresář, necháme .NET udělat těžkou práci. Metoda `Directory.GetFiles` vrací `IEnumerable`, který můžeme přímo předat volání OCR. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **Co když jsou mé obrázky JPEG nebo PNG?** Stačí změnit vyhledávací vzor (`"*.jpg"` nebo `"*.*"`). Aspose OCR funguje se všemi běžnými rastrovými formáty. + +## Krok 4: Spusťte OCR na celé kolekci + +Zde je kouzelný řádek, který zpracuje každý soubor v jednom požadavku. Metoda vrací slovník, kde klíč je cesta k souboru a hodnota je objekt `OcrResult` obsahující rozpoznaný text. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Proč dávkové zpracování? Snižuje režii opakovaného načítání OCR engine a na vícejádrových strojích Aspose interně paralelizuje práci, což vám poskytne znatelný nárůst rychlosti. + +## Krok 5: Zobrazte náhled – Získejte prvních 50 znaků + +Většina UI scénářů potřebuje jen úryvek, ne celý dokument. Extrahujeme prvních 50 znaků (nebo méně, pokud je stránka krátká) a vytiskneme je spolu s názvem souboru. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Řádek `Math.Min(50, fullText.Length)` zajišťuje, že nepřekročíme hranice řetězce – malá ochrana, která zabraňuje `ArgumentOutOfRangeException`, když je výsledek OCR kratší než 50 znaků. + +### Očekávaný výstup v konzoli + +Předpokládejme, že máte dva TIFF soubory (`invoice1.tif` a `receipt2.tif`), konzole může zobrazit: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Každý řádek končí třemi tečkami (`...`), aby naznačil, že náhled je jen začátek delšího textového bloku. + +## Krok 6: Ošetřete okrajové případy a běžné úskalí + +### Prázdné nebo poškozené soubory + +Pokud soubor nelze přečíst, `RecognizeImages` stále vrátí položku s prázdnou vlastností `Text`. Můžete je odfiltrovat: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Velké dávky + +Zpracování tisíců TIFF souborů může spotřebovat hodně paměti. V takových případech použijte přetížení, které přijímá `Stream` pro každý obrázek, nebo zpracovávejte seznam v menších částech: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Podpora jazyků a fontů + +Pokud vaše dokumenty obsahují ne‑latinské znaky, nastavte jazyk před voláním `RecognizeImages`: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Tato malá úprava může výrazně zvýšit přesnost. + +## Krok 7: Kompletní funkční příklad (připravený ke kopírování a vložení) + +Níže je kompletní program, který můžete vložit do nového konzolového projektu (`dotnet new console`) a spustit tak, jak je (jen nahraďte `YOUR_DIRECTORY/Batch` skutečnou cestou). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Spusťte program pomocí `dotnet run`. Měli byste vidět stručný náhled pro každý TIFF soubor, což potvrzuje, že jste úspěšně **extrahovali text z TIFF** obrázků pomocí Aspose OCR. + +## Často kladené otázky (FAQ) + +**Q: Funguje to s více‑stránkovými TIFFy?** +A: Ano. Aspose OCR interně zachází s každou stránkou jako s odděleným obrázkem, takže více‑stránkový TIFF poskytuje jeden spojený řetězec na soubor. V případě potřeby jej můžete později rozdělit. + +**Q: Jaká je přesnost OCR hned po instalaci?** +A: U čistých, vysoce rozlišených skenů (300 DPI nebo vyšší) můžete očekávat >95 % přesnost u anglického textu. Předzpracování (odklon, binarizace) může přesnost ještě zvýšit. + +**Q: Můžu výstup uložit do CSV souboru?** +A: Rozhodně. Nahraďte `Console.WriteLine` pomocí `StreamWriter` a zapisujte řádky `fileName,preview`. Nezapomeňte v textu náhledu escapovat čárky. + +## Další kroky a související témata + +- **Uložit výsledky OCR** – Uložte celý text do databáze pro prohledávatelné archivy. +- **Kombinovat s konverzí PDF** – Použijte Aspose.PDF k vložení extrahovaného textu zpět do prohledávatelných PDF. +- **Dávkové zpracování na Azure Functions** – Šiřte OCR práci bez správy serverů. + +Všechny tyto rozšíření se vážou k hlavní myšlence **extrahovat text z TIFF** efektivně, přičemž vám stále umožňují **získat prvních 50 znaků** pro rychlé UI náhledy. + +--- + +*Šťastné programování! Pokud narazíte na nějaké problémy, zanechte komentář níže – udělám vše pro to, abych vám pomohl doladit OCR pipeline.* + +![Extract text from TIFF using Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extract text from TIFF using Aspose 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/czech/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/czech/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..107572d6 --- /dev/null +++ b/ocr/czech/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-09 +description: Rychle rozpoznávejte text v JPG pomocí Aspose OCR v C#. Naučte se, jak + extrahovat text z obrázku, převést obrázek na JSON a EPUB v jednom tutoriálu. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: cs +og_description: Rozpoznávejte text v JPG pomocí Aspose OCR. Tento průvodce ukazuje, + jak extrahovat text z obrázku, převést obrázek do JSON a EPUB a vytvořit ePub z + obrázku. +og_title: Rozpoznat text v JPG – kompletní C# tutoriál +tags: +- Aspose OCR +- C# +- Image Processing +title: Rozpoznání textu v JPG pomocí Aspose OCR – Kompletní průvodce C# +url: /cs/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# rozpoznání textu v jpg – Kompletní průvodce C# + +Už jste někdy potřebovali **rozpoznat text v jpg** souborech, ale nebyli jste si jisti, kterou knihovnu zvolit? Nejste v tom sami. Mnoho vývojářů narazí na stejný problém, když se poprvé snaží vytáhnout slova z fotografie nebo naskenovaného dokumentu. + +Dobrá zpráva? S Aspose OCR můžete **extrahovat text z obrázku** souborů v několika řádcích C# kódu a okamžitě **převést obrázek na JSON** nebo dokonce **převést obrázek na EPUB**—vše bez opuštění vašeho IDE. + +V tomto tutoriálu projdeme celým pracovním postupem: od instalace správných NuGet balíčků, přes rozpoznání textu v JPG, až po uložení výsledku jako strukturovaný JSON a jako ePub dokument. Na konci budete schopni **vytvořit epub z obrázku** programově, což je užitečný trik pro e‑learningové platformy, digitální knihovny nebo jakoukoli aplikaci, která potřebuje prohledávat e‑knihy. + +--- + +## Co budete potřebovat + +- **.NET 6+** (nebo .NET Framework 4.6+). Kód funguje na jakémkoli moderním runtime. +- **Aspose.OCR** NuGet balíček – jádro OCR enginu. +- **Aspose.Publishing** NuGet balíček – vyžadovaný pro výstupní formát ePub. +- Obrázek pojmenovaný `input.jpg` umístěný někde na vašem disku (nahraďte cestu svou vlastní). +- Textový editor nebo IDE (Visual Studio, VS Code, Rider — podle vás). + +To je vše. Žádné extra služby, žádná externí API, jen pár knihoven a JPG soubor. + +--- + +## Krok 1: Nastavte svůj projekt pro **rozpoznání textu v jpg** + +Nejprve vytvořte novou konzolovou aplikaci (nebo přidejte do existujícího projektu). Pak přidejte oba Aspose balíčky pomocí NuGet Package Manageru: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Tip:** Pokud používáte Visual Studio, klikněte pravým tlačítkem na projekt → *Manage NuGet Packages* → vyhledejte *Aspose.OCR* a *Aspose.Publishing*, poté klikněte na **Install**. + +Tyto balíčky přinesou vše, co potřebujete k **extrahování textu z obrázku** a k pozdějšímu výstupu ePub souboru. + +--- + +## Krok 2: **Extrahovat text z obrázku** pomocí Aspose OCR + +Nyní napíšeme kód, který skutečně načte JPG a vytáhne z něj znaky. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Proč to funguje:** `OcrEngine` abstrahuje veškeré nízkoúrovňové předzpracování obrazu, detekci jazyka a segmentaci znaků. Jednoduše na něj nasměrujete soubor a vrátí objekt `OcrResult` obsahující prostý textový řetězec (`ocrResult.Text`) a bohatou sadu metadat. + +--- + +## Krok 3: **Převést obrázek na JSON** – Export OCR výsledku + +Pokud potřebujete uložit OCR výstup ve strukturovaném formátu (pro API, databáze nebo následné zpracování), Aspose to umožňuje snadno serializovat výsledek do JSON. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +Vygenerovaný JSON vypadá zhruba takto (zkrácený pro stručnost): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**Kdy jej použít:** JSON je ideální, pokud posíláte OCR data do webové služby, ukládáte je do NoSQL úložiště, nebo jednoduše potřebujete přenosnou reprezentaci, kterou lze parsovat v jakémkoli jazyce. + +--- + +## Krok 4: **Převést obrázek na EPUB** – Uložení jako eKniha + +Aspose Publishing přidává podporu pro několik e‑book formátů, včetně EPUB. Voláním `Save` na objektu `OcrResult` můžete vygenerovat plně kompatibilní ePub soubor, který obsahuje rozpoznaný text a volitelně i původní obrázek. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**Co získáte:** ePub, který můžete otevřít v jakémkoli čtečce (Calibre, Apple Books, Adobe Digital Editions). Soubor obsahuje extrahovaný text jako prohledávatelný obsah, plus zdrojový obrázek jako vrstvu pozadí — ideální pro vytváření **vytvořit epub z obrázku** pipeline. + +--- + +## Krok 5: Kompletní funkční příklad – Z JPG na JSON a EPUB + +Spojením všeho dohromady, zde je kompletní, připravený k spuštění program. Zkopírujte a vložte tento kód do `Program.cs`, upravte cesty k souborům a stiskněte **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Spusťte program a měli byste vidět tři věci: + +1. Rozpoznaný text vytištěný v konzoli. +2. `output.json` soubor obsahující strukturovaná OCR data. +3. `output.epub` soubor, který můžete otevřít v jakémkoli e‑book čtečce. + +--- + +## Často kladené otázky a okrajové případy + +- **Co když je obrázek PNG nebo BMP?** + Aspose OCR podporuje většinu rastrových formátů (PNG, BMP, TIFF, GIF). Stačí změnit příponu souboru v `inputPath`; stejný kód funguje. + +- **Mohu zadat jazyk jiný než angličtinu?** + Ano. Nastavte `ocrEngine.Language = OcrLanguage.French;` (nebo jakýkoli podporovaný jazyk) před voláním `RecognizeImage`. + +- **Co s vícestránkovými PDF?** + Pro PDF nejprve převedete každou stránku na obrázek (Aspose.PDF to dokáže) a pak každému obrázku předáte `RecognizeImage`. Výsledné objekty `OcrResult` lze sloučit před exportem do JSON nebo EPUB. + +- **Získávám nízké skóre důvěry. Jak mohu zlepšit přesnost?** + Předzpracujte obrázek: zvýšte kontrast, odstraňte sklon nebo jej převěďte na odstíny šedi. Aspose OCR také nabízí `PreprocessOptions`, které můžete upravit. + +--- + +## Závěr + +Nyní máte solidní, end‑to‑end recept na **rozpoznání textu v jpg** souborech pomocí Aspose OCR, poté **převod obrázku na JSON** pro datové pipeline a **převod obrázku na EPUB** pro tvorbu prohledávatelných e‑knih. Přístup je lehký, vyžaduje jen dva NuGet balíčky a funguje napříč všemi moderními .NET runtime. + +Odtud můžete: + +- Integrovat JSON výstup do vyhledávacího indexu (Azure Cognitive Search, Elastic). +- Dávkově zpracovat složku obrázků a vygenerovat knihovnu ePub knih. +- Rozšířit workflow o překladové API pro automatické vytváření vícejazykových e‑knih. + +Vyzkoušejte to, experimentujte s různými kvalitou obrázků a nechte OCR engine udělat těžkou práci. Šťastné programování! + +--- + +![snímek výstupu rozpoznání textu v jpg](placeholder-image.png "příklad rozpoznání textu v 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/dutch/net/ocr-configuration/_index.md b/ocr/dutch/net/ocr-configuration/_index.md index f3691e00..2ac19839 100644 --- a/ocr/dutch/net/ocr-configuration/_index.md +++ b/ocr/dutch/net/ocr-configuration/_index.md @@ -39,9 +39,13 @@ Ontgrendel de kracht van OCR-beeldherkenning in .NET met Aspose.OCR. Extraheer t Ontgrendel krachtige OCR-mogelijkheden met Aspose.OCR voor .NET. Extraheer tekst naadloos uit afbeeldingen. ### [OCR-bewerking met lijst in OCR-beeldherkenning](./ocr-operation-with-list/) Ontgrendel het potentieel van Aspose.OCR voor .NET. Voer moeiteloos OCR-beeldherkenning uit met lijsten. Verhoog de productiviteit en gegevensextractie in uw applicaties. +### [Hoe OCR-afbeelding in C# – Complete gids met GPU-ondersteuning](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Leer stap voor stap OCR op afbeeldingen in C# uit te voeren met volledige GPU-ondersteuning voor maximale prestaties. +### [Tekst herkennen uit afbeelding met Aspose OCR – Complete C#-gids](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Leer stap voor stap hoe u tekst uit afbeeldingen kunt herkennen met Aspose OCR in C#. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/dutch/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..ed814cb6 --- /dev/null +++ b/ocr/dutch/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-01-09 +description: Leer hoe je een afbeelding OCR't en tekst uit een afbeelding haalt met + Aspose.OCR. Inclusief stappen om een gescand document te converteren, GPU in te + schakelen en de afbeelding met OCR te lezen. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: nl +og_description: Hoe een afbeelding snel OCR'en met Aspose.OCR. Volg deze stapsgewijze + tutorial om tekst uit een afbeelding te extraheren, een gescand document te converteren + en GPU in te schakelen. +og_title: Hoe een afbeelding OCR'en in C# – GPU-versnelde handleiding +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Hoe een afbeelding OCR'en in C# – Complete gids met GPU-ondersteuning +url: /nl/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe een afbeelding OCR'en in C# – Complete gids met GPU-ondersteuning + +Heb je je ooit afgevraagd **hoe je een afbeelding OCR't** direct vanuit je .NET-app? Je bent niet de enige—ontwikkelaars moeten constant tekst uit PDF's, TIFF's en foto’s halen, vooral bij grote gescande documenten. Het goede nieuws? Met Aspose.OCR kun je **afbeeldingstekst extraheren** in slechts een paar regels, en kun je zelfs **GPU**-versnelling inschakelen voor snellere verwerking. + +In deze tutorial lopen we alles door wat je moet weten: van het installeren van de bibliotheek, tot het initialiseren van de OCR-engine met GPU-fallback, tot uiteindelijk **een afbeelding lezen met OCR** en het resultaat weergeven. Aan het einde kun je **gescande document**-afbeeldingen omzetten naar bewerkbare strings—zonder externe services. + +--- + +## Wat je nodig hebt + +- **.NET 6.0** of later (de code werkt ook op .NET Core en .NET Framework). +- Een **licentie** voor Aspose.OCR of een tijdelijke evaluatiesleutel (de gratis proefversie werkt voor testen). +- Een afbeeldingsbestand dat je wilt verwerken—bij voorkeur een high‑resolution TIFF of PNG. +- (Optioneel) Een GPU‑enabled machine als je de snelheidswinst wilt zien; anders valt de engine elegant terug op CPU. + +Als je deze voorwaarden hebt, kun je je richten op de daadwerkelijke OCR-werkstroom zonder later tegen een muur aan te lopen. + +--- + +## Stap 1: Installeer Aspose.OCR NuGet-pakket + +Allereerst—voeg de Aspose.OCR-bibliotheek toe aan je project. Open een terminal in je solution‑map en voer uit: + +```bash +dotnet add package Aspose.OCR +``` + +Of, als je de NuGet‑UI van Visual Studio gebruikt, zoek dan gewoon naar **Aspose.OCR** en klik op installeren. Deze enkele opdracht haalt alle benodigde DLL's op, inclusief de native GPU‑binaries wanneer die beschikbaar zijn. + +> **Pro tip:** Houd het pakket up‑to‑date. Nieuwe releases bevatten vaak verbeteringen aan taalmodellen en betere GPU‑ondersteuning. + +--- + +## Stap 2: Importeer vereiste namespaces + +Nu het pakket geïnstalleerd is, breng je de relevante namespaces in scope. Deze stap is waar we beginnen met **hoe je een afbeelding OCR't** in code. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +Deze twee regels geven je toegang tot de `OcrEngine`-klasse en het instellingenobject waarmee je GPU‑gebruik kunt schakelen. Zonder deze zou de compiler geen idee hebben wat `OcrEngine` betekent. + +--- + +## Stap 3: Initialiseert de OCR-engine en schakel GPU in + +Als je je ooit hebt afgevraagd **hoe je GPU** voor OCR inschakelt, is dit het antwoord. We maken een `OcrEngineSettings`-instance, zetten de `UseGpu`‑vlag aan, en geven deze door aan de engine‑constructor. De engine detecteert automatisch of er een compatibele GPU aanwezig is; zo niet, dan valt hij terug op CPU—zodat je geen extra foutafhandeling nodig hebt. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Waarom GPU überhaupt inschakelen? Voor grote afbeeldingen—denk aan multi‑page TIFF's of scans met hoge resolutie—kan de verwerkingstijd dalen van enkele seconden naar een fractie van een seconde. Als je een batch‑verwerkingspipeline bouwt, telt die snelheidswinst snel op. + +--- + +## Stap 4: Voer OCR uit op je doelafbeelding + +Hier komt het moment waarop we daadwerkelijk **een afbeelding lezen met OCR**. Geef het pad naar je bestand op, en de engine retourneert de herkende tekst als een string. Dit werkt voor elk rasterformaat dat door Aspose wordt ondersteund (PNG, JPEG, TIFF, BMP, enz.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Als je **gescande document**-pagina's één voor één moet **converteren**, loop dan simpelweg over de bestandsnamen en roep `RecognizeImage` voor elk aan. De methode is thread‑safe, dus je kunt de werklast zelfs paralleliseren op een multi‑core CPU. + +--- + +## Stap 5: Toon of bewaar de geëxtraheerde tekst + +Tot slot geven we het resultaat weer. In een console‑applicatie doet `Console.WriteLine` het werk. In een real‑world scenario kun je de tekst naar een database, een JSON‑bestand schrijven, of invoeren in een zoekindex. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +De bovenstaande regel print de ruwe OCR‑output. Je zult regelafbrekingen, af en toe verkeerde herkenningen, en mogelijk enkele vreemde tekens zien—niets ongewoons voor OCR. Naverwerking (bijv. regex‑opschoning) kan het opschonen indien nodig. + +> **Opmerking:** Aspose.OCR ondersteunt ook taalspecifieke woordenboeken. Als je niet‑Engelse teksten verwerkt, stel dan `ocrEngine.Settings.Language` dienovereenkomstig in voordat je `RecognizeImage` aanroept. + +--- + +## Volledig werkend voorbeeld + +Alles bij elkaar genomen, hier is een zelfstandige programma dat je kunt kopiëren en plakken in een nieuw console‑project: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Verwachte output** (afgekapt voor beknoptheid): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Voer het programma uit, en je zou de geëxtraheerde tekst in je console‑venster moeten zien verschijnen. Als de GPU beschikbaar is, zal de verwerkingstijd merkbaar korter zijn dan op alleen‑CPU‑machines. + +--- + +## Veelvoorkomende valkuilen & hoe ze te vermijden + +| Issue | Why It Happens | Fix | +|-------|----------------|-----| +| **Onbruikbare tekens** | Bron met lage resolutie of ruisachtige achtergrond. | Pre‑process het beeld (verhoog DPI, pas binarisatie toe) vóór OCR. | +| **GPU niet gebruikt** | Geen compatibele CUDA-driver geïnstalleerd. | Controleer de driver‑versie, of stel `UseGpu = false` in om CPU te forceren. | +| **Out‑of‑memory bij grote TIFF's** | Het volledige bestand in één keer laden. | Gebruik `OcrEngineSettings.MaxMemoryUsage` om de geheugenvoetafdruk te beperken, of verwerk pagina's afzonderlijk. | +| **Onjuiste taaldetectie** | Standaardtaal is Engels. | Stel `ocrEngine.Settings.Language = Language.YourLanguage;` in vóór het aanroepen van `RecognizeImage`. | + +Het aanpakken van deze randgevallen zorgt ervoor dat je **hoe je een afbeelding OCR't** implementatie robuust blijft op verschillende omgevingen. + +--- + +## De oplossing uitbreiden + +Nu je **afbeeldingstekst kunt extraheren**, wil je misschien: + +- **Convert gescande document**-PDF's naar doorzoekbare PDF's door de OCR-laag in te sluiten. +- Sla resultaten op in een **Azure Cognitive Search**-index voor snelle ophalen. +- Koppel de OCR-output aan een **translation API** als je meertalige ondersteuning nodig hebt. +- Gebruik **Aspose.OCR’s** `GetBoundingBoxes`-methode om te bepalen waar elk woord op de afbeelding verschijnt—handig voor redactietools. + +Al deze uitbreidingen bouwen voort op hetzelfde kernprincipe dat we hebben behandeld: initialiseert de engine, voedt deze met een afbeelding, en leest de tekst. + +--- + +## Conclusie + +We hebben een volledig, end‑to‑end voorbeeld doorgenomen van **hoe je een afbeelding OCR't** met Aspose.OCR in C#. Door het NuGet‑pakket te installeren, de juiste namespaces te importeren, GPU in te schakelen (of terug te vallen op CPU), en `RecognizeImage` aan te roepen, kun je betrouwbaar **afbeeldingstekst extraheren**, **gescande document**-pagina's **converteren**, en **een afbeelding lezen met OCR** in elke .NET‑applicatie. + +Probeer het op een aantal eigen scans—experimenteer met verschillende afbeeldingsformaten, schakel de GPU‑vlag in en uit, en zie hoe de prestaties veranderen. Wanneer je er klaar voor bent, verken dan de geavanceerde functies zoals taalwoordenboeken of het extraheren van begrenzings‑boxen om je oplossing nog slimmer te maken. + +Veel programmeerplezier, en moge je OCR‑pipelines snel, nauwkeurig en probleemloos 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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/dutch/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..9b65c458 --- /dev/null +++ b/ocr/dutch/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,207 @@ +--- +category: general +date: 2026-01-09 +description: Herken tekst van een afbeelding met Aspose OCR in C#. Leer hoe je automatisch + downloaden uitschakelt, Chinese tekst uit een afbeelding haalt en de OCR-taal instelt. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: nl +og_description: herken tekst in een afbeelding met Aspose OCR in C#. Volg deze stapsgewijze + tutorial om automatisch downloaden uit te schakelen, Chinese tekstafbeelding te + extraheren en de OCR-taal in te stellen. +og_title: herken tekst van afbeelding met Aspose OCR – Complete C#‑gids +tags: +- Aspose OCR +- C# +- Image Processing +title: Tekst herkennen van afbeelding met Aspose OCR – Complete C#‑gids +url: /nl/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tekst herkennen uit afbeelding met Aspose OCR – Complete C# Gids + +Heb je ooit **tekst uit een afbeelding moeten herkennen** maar liep je vast op configuratiedetails? Je bent niet de enige. Veel ontwikkelaars komen tegen een probleem wanneer de OCR-engine probeert taalpakketten tijdens runtime te downloaden, of wanneer ze geen Chinese tekens uit een foto van een bord kunnen halen. + +In deze tutorial lopen we stap voor stap door een praktische oplossing die laat zien hoe je **auto‑download uitschakelt**, **tekst uit afbeelding extraheert**, **Chinese tekst uit afbeelding extraheert**, en **OCR‑taal instelt**—alles met Aspose OCR voor .NET. Aan het einde heb je een enkel, uitvoerbaar programma dat de herkende tekst rechtstreeks naar de console print. + +## Wat je zult leren + +- Hoe je het Aspose.OCR NuGet‑pakket installeert en referentieert. +- Waarom het uitschakelen van automatische resource‑downloads belangrijk is voor offline of beveiligde omgevingen. +- De exacte stappen om de engine naar een lokale taal‑pack map te wijzen. +- Hoe je de juiste taal (Vereenvoudigd Chinees) selecteert voordat je een afbeelding verwerkt. +- Het verifiëren van de output en het oplossen van veelvoorkomende valkuilen. + +Ervaring met Aspose is niet vereist; alleen een basis C#‑opzet en een afbeeldingsbestand dat je wilt lezen. + +## Vereisten + +| Vereiste | Reden | +|----------|-------| +| .NET 6.0 of later (of .NET Framework 4.7+) | Aspose.OCR ondersteunt deze runtimes. | +| Visual Studio 2022 (of elke IDE die je wilt) | Voor eenvoudige projectcreatie en debugging. | +| Een afbeeldingsbestand dat Chinese tekst bevat (bijv. `chinese-sign.jpg`) | Om **extract Chinese text image** te demonstreren. | +| Lokale kopie van Aspose OCR taal‑pakketten (eenmalig gedownload van het Aspose‑portaal) | Nodig omdat we **disable auto download** zullen uitvoeren. | + +Zorg ervoor dat de taal‑pack ZIP‑bestanden zich bevinden in een map die je kunt refereren, bijvoorbeeld `C:\MyOCR\Resources`. + +## Stap 1: Tekst herkennen uit afbeelding – OCR‑engine configureren + +Allereerst hebben we een `OcrEngineSettings`‑object nodig dat Aspose vertelt waar de resources te vinden zijn. Dit is de basis voor elke **extract text image**‑operatie. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +Waarom `AutoDownloadResources` op `false` zetten? In productieomgevingen werk je vaak achter firewalls, of je wilt simpelweg niet dat je app tijdens runtime verbinding maakt met het internet. Het uitschakelen van deze functie garandeert dat de engine alleen de bestanden gebruikt die je in `ResourceFolder` hebt geplaatst, wat ook de initialisatie versnelt. + +## Stap 2: Maak de OCR‑engine aan met de opgegeven instellingen + +Nu de instellingen klaar zijn, maken we een instantie van de engine. Deze stap is waar de **set OCR language**‑functionaliteit later van pas komt. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Het `OcrEngine`‑object is lichtgewicht; het laadt geen taaldata totdat je een taal toewijst. Die lazy loading is de reden waarom je de engine veilig kunt aanmaken, zelfs als de resource‑map leeg is—er gebeurt niets tot je probeert **extract Chinese text image** uit te voeren. + +## Stap 3: OCR‑taal instellen – Kies Vereenvoudigd Chinees + +Aspose ondersteunt tientallen talen, elk verpakt als een ZIP‑bestand. Aangezien onze voorbeeldafbeelding Vereenvoudigde Chinese tekens bevat, stellen we expliciet de taal in vóór de herkenning. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +Als je deze stap vergeet, valt de engine terug op Engels en krijg je onsamenhangende output. Let ook op dat de taonnaam moet overeenkomen met de ZIP‑bestandsnaam in `ResourceFolder`. Bijvoorbeeld, `ChineseSimplified.zip` moet aanwezig zijn. + +## Stap 4: Tekst extraheren uit de doelafbeelding + +Met de engine geconfigureerd en de taal ingesteld, voeren we eindelijk **tekst uit afbeelding herkennen** uit. De methode retourneert een eenvoudige string die je kunt loggen, opslaan of doorgeven aan een ander systeem. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +De aanroep van `RecognizeImage` doet al het zware werk: preprocessing, segmentatie, tekenherkenning en uiteindelijk het samenstellen van het resultaat. Als de afbeelding duidelijk is en het taal‑pack correct, zie je de Chinese tekens in de console verschijnen. + +> **Tip:** Als je alleen een deel van de afbeelding wilt extraheren (bijv. een specifiek gebied), gebruik dan de overload `RecognizeImage(string, Rectangle)` om een bijsnijdingsrechthoek door te geven. + +## Volledig werkend voorbeeld + +Hieronder staat het volledige programma dat je kunt kopiëren‑en‑plakken in een nieuw console‑project. Het bevat de `using`‑statements, de instellingen, taalkeuze en de uiteindelijke output. Sla het op als `Program.cs`, herstel de NuGet‑pakketten en voer het uit. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Verwachte output + +Als `chinese-sign.jpg` de zin “欢迎光临” bevat, zal de console iets vergelijkbaars weergeven: + +``` +=== Recognized Text === +欢迎光临 +``` + +De exacte opmaak kan variëren afhankelijk van de beeldkwaliteit, maar de tekens zouden leesbaar moeten zijn. + +## Veelvoorkomende valkuilen & Pro‑tips + +| Symptoom | Waarschijnlijke oorzaak | Oplossing | +|----------|--------------------------|-----------| +| **Lege string geretourneerd** | Taal‑pack niet gevonden of `AutoDownloadResources` probeert het nog steeds op te halen | Controleer het `ResourceFolder`‑pad en zorg dat `ChineseSimplified.zip` aanwezig is. | +| **Onleesbare tekens** | Afbeelding is onscherp of heeft weinig contrast | Preprocess de afbeelding (verhoog contrast, binariseer) voordat je deze aan `RecognizeImage` doorgeeft. | +| **Exception: `FileNotFoundException`** | Verkeerd afbeeldingspad | Gebruik een absoluut pad of plaats de afbeelding in de output‑directory van het project en verwijs ernaar met `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`. | +| **Prestatie‑vertraging** | Grote afbeeldingsafmetingen | Verklein de afbeelding tot een redelijke breedte (bijv. 1024 px) vóór herkenning. | + +**Pro tip:** Bewaar de taal‑packs in een versie‑beheerde map. Wanneer je Aspose.OCR bijwerkt, kunnen de nieuwe packs andere naamgevingsconventies hebben, wat stilzwijgend je **disable auto download**‑strategie kan breken. + +## Voorbeeld uitbreiden + +Nu je **tekst uit afbeelding kunt herkennen**, wil je wellicht: + +- **Batch verwerken** van een map met afbeeldingen (doorloop bestanden, roep elke keer `RecognizeImage` aan). +- **Exporteren** van de resultaten naar een CSV‑ of JSON‑bestand voor downstream‑analyse. +- **Combineren** van OCR met vertaal‑API's om Chinese borden in één keer naar het Engels om te zetten. + +Al deze scenario's hergebruiken dezelfde kernstappen: één keer configureren, de taal instellen en `RecognizeImage` aanroepen. Het modulaire ontwerp houdt je code schoon en gemakkelijk te onderhouden. + +## Conclusie + +Je hebt zojuist geleerd hoe je **tekst uit afbeelding kunt herkennen** met Aspose OCR in C#. Door expliciet **disable auto download** uit te voeren, de engine naar een lokale resource‑map te wijzen, en **set OCR language** in te stellen op Vereenvoudigd Chinees, kun je betrouwbaar **Chinese tekst uit afbeelding extraheren** en elke andere taal die je levert. + +De volledige, uitvoerbare code hierboven toont een praktische workflow die je in echte projecten kunt gebruiken. Vanaf hier kun je experimenteren met verschillende beeldkwaliteiten, foutafhandeling toevoegen, of de output integreren in een groter systeem. De mogelijkheden zijn praktisch eindeloos. + +Heb je vragen over andere talen, prestatie‑optimalisatie of cloud‑implementatie? Laat gerust een reactie achter—veel plezier met coderen! + +{{< /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/net/ocr-optimization/_index.md b/ocr/dutch/net/ocr-optimization/_index.md index 4c44e37b..8190647c 100644 --- a/ocr/dutch/net/ocr-optimization/_index.md +++ b/ocr/dutch/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ Ontdek Aspose.OCR voor .NET. Verbeter de OCR-nauwkeurigheid met voorverwerkingsf Verbeter de OCR-nauwkeurigheid met Aspose.OCR voor .NET. Corrigeer spellingen, pas woordenboeken aan en bereik moeiteloos foutloze tekstherkenning. ### [Bewaar het resultaat van meerdere pagina's als document in OCR-beeldherkenning](./save-multipage-result-as-document/) Ontgrendel het potentieel van Aspose.OCR voor .NET. Sla OCR-resultaten van meerdere pagina's moeiteloos op als documenten met deze uitgebreide stapsgewijze handleiding. +### [c# OCR-tutorial: Tekst herkennen van afbeelding met voorbewerking](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Leer hoe u tekst uit afbeeldingen herkent met c# en Aspose.OCR, inclusief voorbewerkingsfilters voor betere nauwkeurigheid. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/dutch/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..1dbeaea2 --- /dev/null +++ b/ocr/dutch/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,233 @@ +--- +category: general +date: 2026-01-09 +description: c# ocr‑tutorial die laat zien hoe je tekst uit een afbeelding herkent + en de afbeelding voor OCR verwerkt met behulp van Aspose.OCR‑filters – stapsgewijze + handleiding. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: nl +og_description: c# ocr-tutorial die je stap voor stap begeleidt bij het herkennen + van tekst uit een afbeelding en het voorbewerken van de afbeelding voor OCR met + behulp van Aspose.OCR-filters. Complete code inbegrepen. +og_title: c# OCR-tutorial – Tekst herkennen uit afbeelding met voorbewerking +tags: +- OCR +- C# +- Image Processing +title: 'c# OCR-tutorial: Tekst herkennen uit afbeelding met voorbewerking' +url: /nl/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Tekst herkennen uit afbeelding met voorbewerking + +Heb je je ooit afgevraagd hoe je **tekst uit een afbeelding** kunt herkennen in een C#-applicatie zonder weken te besteden aan het afstellen van filters? Je bent niet de enige. In deze **c# ocr tutorial** lopen we een compleet, kant‑klaar voorbeeld door dat niet alleen de tekst leest, maar ook **de afbeelding voorbewerkt voor OCR** om de nauwkeurigheid te verhogen. + +We gebruiken de Aspose.OCR‑bibliotheek omdat deze wordt geleverd met een handige filter‑pipeline waarmee je deskew, denoise en contrast‑boost stappen kunt inpluggen in slechts een paar regels. Aan het einde van deze gids heb je een console‑app die een scheve, ruisende PNG kan nemen, deze opschoont en de geëxtraheerde string uitspuugt — allemaal met duidelijke uitleg waarom elke stap belangrijk is. + +## Vereisten + +Voordat we beginnen, zorg ervoor dat je het volgende hebt: + +| Vereiste | Waarom het belangrijk is | +|----------|--------------------------| +| .NET 6 SDK (or later) | Moderne C#-functies en betere prestaties | +| Visual Studio 2022 (or VS Code) | Handig debuggen en IntelliSense | +| NuGet package **Aspose.OCR** | Biedt de `OcrEngine` en filterklassen | +| An input image (e.g., `skewed‑noisy.png`) | Een invoerafbeelding (bijv. `skewed‑noisy.png`) toont de noodzaak van voorbewerking | + +Als een van deze ontbreekt, installeer ze dan eerst. De NuGet‑stap wordt behandeld in de volgende sectie. + +## Stap 1: Installeer Aspose.OCR via NuGet + +Open je terminal (of Package Manager Console) en voer uit: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** Gebruik de `--version`‑vlag om te vergrendelen op een specifieke release als je reproduceerbare builds nodig hebt. + +Het pakket wordt geleverd met alle filters die we nodig hebben, dus er zijn geen extra DLL's vereist. + +## Stap 2: Initialiseert de OCR‑engine – het hart van de c# ocr tutorial + +Het aanmaken van de engine is eenvoudig, maar het is de moeite waard om te begrijpen wat er onder de motorkap gebeurt. De `OcrEngine` bevat een pipeline van **filters** die de bitmap manipuleren voordat het herkenningsalgoritme wordt uitgevoerd. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Waarom eerst initialiseren?** De engine cachet interne bronnen (zoals taalmodellen). Het hergebruiken van één instantie voor meerdere afbeeldingen bespaart geheugen en versnelt opeenvolgende herkenningen. + +## Stap 3: Voorbewerk afbeelding voor OCR – toevoegen van deskew, denoise en contrast‑boost + +De meeste scans uit de echte wereld zijn niet perfect; ze zijn scheef, korrelig of te donker. Daarom is **afbeelding voorbewerken voor OCR** een cruciale stap. Aspose biedt drie filters die goed samenwerken: + +| Filter | Wat het doet | Typisch gebruiksscenario | +|--------|--------------|--------------------------| +| `DeskewFilter` | Roteert de afbeelding om de helling te corrigeren | Gescannde documenten van een scanner | +| `DenoiseFilter` | Verwijdert geïsoleerde pixels (“zout‑en‑peper” ruis) | Foto's bij weinig licht | +| `ContrastBoostFilter` | Verhoogt het contrast om tekstranden te verscherpen | Vervaagde afdrukken of opnames met lage resolutie | + +Hieronder staat de code die elk filter toevoegt aan de pipeline van de engine: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **Hoe het werkt:** Wanneer je later `RecognizeImage` aanroept, zal de engine deze drie filters opeenvolgend uitvoeren voordat de opgeschoonde bitmap aan de herkenningskern wordt doorgegeven. + +### Visuele illustratie (optioneel) + +Als je een afbeelding insluit, zorg er dan voor dat de alt‑tekst het belangrijkste trefwoord bevat: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Stap 4: Tekst herkennen uit afbeelding – het moment van de waarheid + +Nu de afbeelding is voorbewerkt, kunnen we eindelijk de tekens extraheren. De methode retourneert een gewone string, die je kunt loggen, opslaan of in een ander systeem kunt voeren. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Verwachte output + +Het uitvoeren van het voorbeeld tegen een typische factuurscan levert iets als volgt op: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +Als de output er onduidelijk uitziet, controleer dan de beeldkwaliteit en overweeg het aanpassen van `ContrastBoostFilter.Level` (waarden > 2.0 kunnen te agressief zijn). + +## Stap 5: Resultaat weergeven en optionele post‑verwerking + +Een console‑app kan de string eenvoudigweg schrijven, maar veel projecten hebben extra verwerking nodig — zoals het verwijderen van witruimte, het verwijderen van regeleinden, of het invoeren van de tekst in een database. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Waarom post‑verwerken? + +Zelfs met goede voorbewerking introduceert OCR vaak vreemde regeleinden of onzichtbare tekens. Een snelle `Replace`‑keten kan de gegevens veel bruikbaarder maken in de vervolgverwerking. + +## Stap 6: Volledig werkend voorbeeld – klaar om te kopiëren en plakken + +Hieronder staat het **volledige** programma dat je direct kunt compileren en uitvoeren. Het bevat alle using‑statements, filter‑instellingen, OCR‑aanroep en output‑verwerking. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**Hoe je het uitvoert** + +1. Sla het bestand op als `Program.cs` binnen een nieuw console‑project (`dotnet new console`). +2. Vervang `YOUR_DIRECTORY/skewed-noisy.png` door het echte pad naar je testafbeelding. +3. Voer `dotnet run` uit. Je zou de OCR‑output in de terminal moeten zien. + +## Veelvoorkomende valkuilen & tips (tekst betrouwbaar herkennen uit afbeelding) + +| Probleem | Wat te controleren | Oplossing | +|----------|--------------------|-----------| +| **Garbage characters** | Afbeelding is te donker of lage resolutie | Verhoog `ContrastBoostFilter.Level` of gebruik een bron met hogere resolutie | +| **Missing lines** | Deskew corrigeerde de hoek niet volledig | Roteer de afbeelding handmatig eerst, of pas de tolerantie van `DeskewFilter` aan | +| **Slow performance** | Verwerken van veel grote afbeeldingen in een lus | Herbruik dezelfde `OcrEngine`‑instantie en roep `ocrEngine.Clear()` aan na elke run | +| **Unsupported language** | Tekst is niet Engels | Stel `ocrEngine.Language = OcrLanguage.French` (of een andere ondersteunde taal) in vóór herkenning | + +### Randgeval: omgaan met multi‑page PDF's + +Als je een PDF moet OCR’en, converteer dan elke pagina naar een afbeelding (bijv. met `Aspose.PDF`) en voer ze één voor één in dezelfde engine. De voorbewerkings‑pipeline blijft identiek, wat consistente resultaten over pagina’s heen garandeert. + +## Conclusie + +In deze **c# ocr tutorial** hebben we alles behandeld wat je nodig hebt om **tekst uit een afbeelding te herkennen** en **afbeelding voor OCR te voorbewerken** met de ingebouwde filters van Aspose.OCR. Door de engine te initialiseren, deskew, denoise en contrast‑boost stappen toe te voegen, en uiteindelijk `RecognizeImage` aan te roepen, krijg je een schone, betrouwbare tekstekstractie met slechts een handvol code‑regels. + +Voel je vrij om te experimenteren — verwissel een ander filter, pas het contrastniveau aan, of integreer het resultaat in een grotere data‑pipeline. De concepten hier gelden voor elke OCR‑bibliotheek: voorbewerking is vaak het verschil tussen een half‑gelezen factuur en een perfect vastgelegd document. + +Heb je meer vragen? Misschien ben je benieuwd naar het verwerken van handgeschreven tekst of het batch‑verwerken van duizenden bestanden. Laat een reactie achter, en we verkennen die scenario’s samen. Veel programmeerplezier! + +{{< /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/net/text-recognition/_index.md b/ocr/dutch/net/text-recognition/_index.md index e39716b5..7a781af0 100644 --- a/ocr/dutch/net/text-recognition/_index.md +++ b/ocr/dutch/net/text-recognition/_index.md @@ -55,9 +55,22 @@ Verbeter uw .NET-toepassingen met Aspose.OCR voor efficiënte beeldtekstherkenni Ontgrendel het potentieel van OCR in .NET met Aspose.OCR. Extraheer moeiteloos tekst uit PDF's. Download nu voor een naadloze integratie-ervaring. ### [Herken tabel in OCR-beeldherkenning](./recognize-table/) Ontgrendel het potentieel van Aspose.OCR voor .NET met onze uitgebreide gids over het herkennen van tabellen bij OCR-beeldherkenning. +### [c# OCR-tutorial – Haal Hindi-tekst uit PNG-bonnetjes](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Leer hoe u met C# en Aspose.OCR Hindi-tekst uit PNG-bonnetjes kunt extraheren. +### [Tekst extraheren uit PNG – Complete Aspose OCR-tutorial](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Leer hoe u met Aspose OCR en C# tekst uit PNG‑afbeeldingen kunt extraheren in een volledige stapsgewijze handleiding. +### [herken tekst in jpg met Aspose OCR – Complete C# gids](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Leer hoe u met Aspose OCR en C# tekst uit JPG-afbeeldingen kunt extraheren in een volledige stapsgewijze handleiding. +### [c# OCR-tutorial – Haal tekst uit afbeelding en DJVU‑bestanden](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Leer hoe u met C# en Aspose.OCR tekst uit afbeeldingen en DJVU‑bestanden kunt extraheren. +### [Tekst extraheren uit TIFF met Aspose OCR C# – Volledige tutorial](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Leer hoe u met Aspose OCR en C# tekst uit TIFF-bestanden kunt extraheren in een volledige stap‑voor‑stap handleiding. +### [c# OCR-tutorial – Haal tekst uit afbeeldingen met Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Leer hoe u met C# en Aspose OCR tekst uit diverse afbeeldingsformaten kunt extraheren in een stapsgewijze handleiding. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/dutch/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..5ecb9e95 --- /dev/null +++ b/ocr/dutch/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,242 @@ +--- +category: general +date: 2026-01-09 +description: c# ocr tutorial om tekst uit PNG te lezen, afbeelding naar tekst te converteren + en Hindi‑tekst op een bon te herkennen met Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: nl +og_description: c# ocr‑tutorial die je leert hoe je tekst uit PNG kunt lezen, afbeelding + naar tekst kunt converteren en Hindi‑tekst op een bon kunt herkennen met Aspose + OCR. +og_title: c# OCR-tutorial – Haal Hindi-tekst uit PNG-bonnetjes +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# OCR-tutorial – Hindistekst extraheren uit PNG-bonnen +url: /nl/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Hindi‑tekst extraheren uit PNG‑bonnen + +Heb je je ooit afgevraagd hoe je **tekst uit PNG**‑bestanden kunt lezen in een C#‑applicatie? Misschien heb je een stapel Hindi‑bonnen en wil je de bedragen automatisch ophalen. Dat is precies wat deze c# ocr‑tutorial behandelt—een afbeelding omzetten in doorzoekbare tekst met slechts een paar regels code. + +In deze gids lopen we door het installeren van Aspose OCR, het laden van een PNG‑bon, het herkennen van Hindi‑tekens, en uiteindelijk het afdrukken van de geëxtraheerde string naar de console. Aan het einde kun je **afbeelding naar tekst converteren**, **Hindi‑tekst herkennen**, en zelfs **tekst uit bon‑afbeeldingen extraheren** zonder je IDE te verlaten. + +> **Voorwaarde:** Je hebt een geldige Aspose OCR‑licentie nodig (of je kunt de gratis proefversie gebruiken) en .NET 6+ geïnstalleerd. Als je nieuw bent met NuGet, maak je geen zorgen—dat behandelen we ook. + +--- + +## Wat je nodig hebt + +- **Visual Studio 2022** (of een andere C#‑compatible editor) +- **.NET 6 SDK** (of later) +- **Aspose.OCR** NuGet‑pakket + ```bash + dotnet add package Aspose.OCR + ``` +- Een voorbeeld‑bonafbeelding, bijv. `hindi-receipt.png`, opgeslagen in je projectmap. + +Als je deze klaar hebt, kun je de uiteindelijke code kopiëren‑plakken en direct **F5** indrukken. + +--- + +## Stap 1: Het project instellen en namespaces importeren + +Maak eerst een console‑project aan als je er nog geen hebt: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Open nu `Program.cs`. Importeer bovenaan de Aspose‑OCR‑namespaces zodat de compiler weet waar de klassen zich bevinden: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Waarom dit belangrijk is:** De `OcrEngine` bevindt zich in `Aspose.OCR`, terwijl taal‑gerelateerde enums in `Aspose.OCR.Settings` staan. Het weglaten van één van beide leidt tot een compile‑time fout. + +--- + +## Stap 2: De OCR‑engine initialiseren en het taamodel kiezen + +De OCR‑engine moet weten **welke taal** hij moet zoeken. Aspose levert veel taalpakketten; door `OcrLanguage.Hindi` op te geven, vertelt je de engine om (indien nodig) het Hindi‑model te downloaden en te gebruiken. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Pro tip:** Als je bonnen in meerdere talen wilt verwerken, kun je `Language` tijdens runtime wijzigen of zelfs de `MultiLanguage`‑modus inschakelen. + +--- + +## Stap 3: De PNG‑bon aan de engine voeren + +Hier lezen we **tekst uit PNG**. Geef het volledige pad op (relatief ten opzichte van het uitvoerbare bestand werkt prima). De methode retourneert een platte string met alles wat de engine kon ontcijferen. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Als de afbeelding hoge resolutie heeft en de tekst schoon is, krijg je bijna perfecte resultaten. Voor ruisvolle scans kun je overwegen om voorbewerking toe te passen (bijv. binarisatie) – Aspose biedt `PreprocessImage`‑methoden die je later kunt verkennen. + +--- + +## Stap 4: De geëxtraheerde tekst weergeven of opslaan + +De meeste ontwikkelaars dumpen het resultaat naar de console tijdens het testen. In een productie‑scenario schrijf je misschien naar een database of een CSV‑bestand. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Het uitvoeren van het programma met de voorbeeld‑bon geeft iets als: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +Dat is het **afbeelding naar tekst converteren**‑gedeelte in actie—geen handmatige transcriptie nodig. + +--- + +## Volledig werkend voorbeeld (klaar om te kopiëren‑plakken) + +Hieronder staat het complete, zelfstandige programma. Plak het in `Program.cs`, plaats `hindi-receipt.png` naast de gecompileerde `.exe`, en druk op **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Verwachte uitvoer + +Wanneer de bonafbeelding duidelijke Hindi‑tekens bevat, toont de console de geëxtraheerde regels, met behoud van regeleinden. Als de OCR een woord niet herkent, zie je een onsamenhangend fragment—een hint om de beeldkwaliteit te verbeteren of de voorbewerking aan te passen. + +--- + +## Stap 5: Verder gaan – tekst uit bon programmatisch extraheren + +Als je wilt **tekst uit bon**‑velden (datum, totaal, factuurnummer) halen, kun je de OCR‑string nabewerken met reguliere expressies: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +Dit kleine fragment laat zien hoe je ruwe OCR‑output omvormt tot gestructureerde data—perfect om in boekhoudsoftware te voeren. + +--- + +## Veelvoorkomende valkuilen & hoe ze te vermijden + +| Probleem | Waarom het gebeurt | Oplossing | +|----------|-------------------|-----------| +| **Lege output** | Pad naar afbeelding onjuist of bestand niet gekopieerd naar output‑map. | Gebruik `Path.GetFullPath` en controleer of het bestand bestaat (`File.Exists`). | +| **Onleesbare tekens** | Lage resolutie PNG of gecomprimeerde kleuren. | Schaal de afbeelding op, stel DPI in op 300+, of gebruik `ocrEngine.ImagePreprocessor`. | +| **Taalmodel niet gedownload** | Geen internetverbinding bij eerste uitvoering. | Download het Hindi‑model vooraf via het Aspose‑portaal of host het lokaal. | +| **Prestatie‑vertraging** | Veel pagina’s verwerken in een lus zonder disposen. | Plaats `OcrEngine` in een `using`‑block of hergebruik één instantie. | + +--- + +## Illustratie + +![c# ocr tutorial die Hindi‑tekst uit PNG‑ontvangstbewijs leest](https://example.com/placeholder-image.png "c# ocr tutorial – tekst uit png‑bon lezen") + +*De screenshot toont een Hindi‑bon vóór en na OCR‑conversie.* + +--- + +## Samenvatting: wat we hebben behandeld + +- Een C#‑console‑app opgezet en het Aspose OCR‑NuGet‑pakket toegevoegd. +- `OcrEngine` geïnitialiseerd met het **recognize hindi text**‑taalmodel. +- **Tekst uit PNG** gelezen met `RecognizeImage`. +- **Afbeelding naar tekst** geconverteerd en het resultaat afgedrukt. +- Een eenvoudig patroon gedemonstreerd om **tekst uit bon**‑velden te extraheren. + +Dit alles werd geleverd in één enkel, uitvoerbaar bestand—precies wat een **c# ocr tutorial** moet bieden. + +--- + +## Volgende stappen & gerelateerde onderwerpen + +1. **Batchverwerking** – doorloop een map met bonafbeeldingen en sla resultaten op in CSV. +2. **Voorbewerking** – verken `ocrEngine.ImagePreprocessor` voor ruisverwijdering, scheefcorrectie of contrastverbetering. +3. **Meertalige OCR** – schakel `OcrLanguage.Multilingual` in om bonnen te verwerken die Hindi en Engels combineren. +4. **Integratie** – duw geëxtraheerde data naar een Entity Framework Core‑model voor permanente opslag. + +Als je nieuwsgierig bent naar een van deze onderwerpen, bekijk dan onze tutorials over **convert image to text in C#** en **extract structured data from OCR results**. + +--- + +### Veel programmeerplezier! + +Voel je vrij om een reactie achter te laten als je ergens tegenaan loopt, of deel hoe jij deze **c# ocr tutorial** in je eigen projecten hebt uitgebreid. Onthoud, OCR is slechts de eerste stap—schone data is waar de echte magie gebeurt. 🚀 + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/dutch/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..92df516a --- /dev/null +++ b/ocr/dutch/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR‑tutorial die laat zien hoe je tekst uit afbeeldingsbestanden haalt + en DJVU naar tekst converteert met Aspose.OCR. Leer stap‑voor‑stap extractie in + enkele minuten. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: nl +og_description: c# OCR‑tutorial die snel laat zien hoe je tekst uit afbeeldingsbestanden + kunt extraheren en DJVU naar tekst kunt converteren met Aspose.OCR. Volg de gids + voor een werkende oplossing. +og_title: c# OCR-tutorial – Tekst uit afbeelding en DJVU extraheren +tags: +- OCR +- C# +- Aspose +title: 'c# OCR-tutorial: Tekst extraheren uit afbeelding en DJVU-bestanden' +url: /nl/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR tutorial – Tekst extraheren uit afbeelding en DJVU-bestanden + +Heb je je ooit afgevraagd hoe je tekst uit afbeeldingsbestanden kunt extraheren zonder je haar uit te trekken? In deze **c# OCR tutorial** lopen we een compleet, kant‑klaar voorbeeld door dat tekst uit een gewone foto *en* een DJVU‑document haalt. + +Als je ook op zoek bent naar een snelle manier om **DJVU naar tekst te converteren**, ben je op de juiste plek—geen extra converters, alleen pure C# code. + +## Wat je zult leren + +- Hoe je de Aspose.OCR‑bibliotheek instelt in een .NET‑project. +- De exacte code die je nodig hebt om **tekst uit afbeelding** bestanden te **extraheren**. +- Een beknopte methode voor **tekst extraheren uit DJVU** bestanden (ja, dezelfde engine doet het). +- Veelvoorkomende valkuilen (grote bestanden, ontbrekende lettertypen, licenties) en hoe je ze kunt vermijden. + +Alles wat je nodig hebt is een recente .NET SDK en een internetverbinding om het NuGet‑pakket te downloaden. Geen eerdere OCR‑ervaring vereist. + +## Vereisten + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6.0 of later | Aspose.OCR richt zich op .NET Standard 2.0, dus .NET 6+ geeft je de beste prestaties. | +| Visual Studio 2022 (of VS Code) | IDE's maken pakketbeheer moeiteloos, maar elke editor werkt. | +| NuGet‑pakket **Aspose.OCR** | Dit is de engine die het zware werk daadwerkelijk doet. | +| Een voorbeeldafbeelding (`sample.png`) en een DJVU‑bestand (`sample.djvu`) | We gebruiken deze om beide extractiescenario's te demonstreren. | + +Je kunt het pakket installeren met het volgende commando: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** Als je op een CI‑server werkt, voeg `--no-restore` toe aan de build‑stap en herstel één keer aan het begin om het proces te versnellen. + +## Stap 1: Initialiseer de OCR‑engine – het hart van de c# OCR tutorial + +Het eerste wat we doen is een instantie van `OcrEngine` maken. Beschouw het als het inschakelen van de scanner in je software. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Waarom elke keer een nieuwe engine maken? Omdat de engine configuratie (taal, detectiemodus, enz.) bevat. Door telkens opnieuw te beginnen voorkom je dat verouderde instellingen tussen runs lekken. + +## Stap 2: Laad en herken een afbeelding – hoe tekst uit afbeelding te extraheren + +Nu voeren we een gewone bitmap (PNG, JPEG, BMP…) in de engine. De `RecognizeImage`‑methode retourneert de gedetecteerde string. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +Enkele dingen om op te merken: + +* **Bestandsbestaan** – Als het pad onjuist is, gooit de methode `FileNotFoundException`. Plaats het in een `try/catch` als je paden van gebruikers verwacht. +* **Afbeeldingskwaliteit** – OCR werkt het best op 300 dpi of hoger. Scans met lage resolutie kunnen onsamenhangende output opleveren. +* **Taalondersteuning** – Standaard gaat Aspose.OCR uit van Engels. Om dit te wijzigen, stel `ocrEngine.Language = Language.Spanish;` in vóór `RecognizeImage`. + +## Stap 3: Herken tekst uit een DJVU‑document – DJVU naar tekst converteren + +DJVU is een containerformaat dat meerdere pagina's kan bevatten. Aspose.OCR kan het direct verwerken; je wijst simpelweg naar het bestand. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +Onder de motorkap extraheert de engine elke pagina als een afbeelding en doorloopt dezelfde herkenningspipeline. Daarom heb je geen aparte stap “DJVU naar tekst converteren” nodig — de OCR‑engine doet het voor je. + +### Omgaan met multi‑page DJVU‑bestanden + +Als je DJVU meerdere pagina's bevat, concateneert `RecognizeImage` ze in volgorde. Als je elke pagina afzonderlijk nodig hebt, kun je de overload gebruiken die een `List` retourneert: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Stap 4: Fijn‑afstellen van de engine voor betere nauwkeurigheid – waarom dit belangrijk is + +De resultaten direct uit de doos zijn redelijk, maar je kunt ze verbeteren door een paar instellingen aan te passen: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Deze vlaggen zijn vooral nuttig wanneer **hoe tekst te extraheren** uit gescande PDF's die eerst als DJVU zijn opgeslagen. Het inschakelen van oriëntatiedetectie bespaart je het handmatig roteren van afbeeldingen. + +## Stap 5: Omgaan met licenties en runtime‑fouten + +Aspose.OCR wordt geleverd met een gratis proefversie die “Demo” op de output plaatst na een paar pagina's. Om het watermerk te verwijderen, voeg je je licentiebestand toe: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Als je deze stap vergeet, werkt de engine nog steeds, maar het resultaat bevat het woord “Demo”. Let ook op `OutOfMemoryException` bij het verwerken van enorme DJVU‑bestanden — overweeg om pagina voor pagina te verwerken zoals eerder getoond. + +## Volledig, uitvoerbaar voorbeeld + +Hieronder staat een zelfstandige console‑applicatie die alles samenbrengt. Kopieer‑plak, pas de bestandspaden aan, en klik op **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Verwachte output** (ervan uitgaande dat de bestanden de zin “Hello World” bevatten): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Als de bron meerdere regels bevat, verschijnen ze precies zoals in het originele document. + +## Veelgestelde vragen & afhandeling van randgevallen + +* **Wat als de afbeelding zwart‑wit is?** + OCR werkt prima, maar je kunt het contrast verbeteren met `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +* **Kan ik alleen cijfers extraheren?** + Ja — stel `ocrEngine.CharWhitelist = "0123456789";` in vóór het aanroepen van `RecognizeImage`. + +* **Is er een limiet op de bestandsgrootte?** + De engine leest het volledige bestand in het geheugen. Voor bestanden groter dan ~100 MB, verwerk pagina voor pagina (zie de lijst‑overload van Stap 3). + +* **Hoe verschilt dit van Tesseract?** + Aspose.OCR is een commerciële bibliotheek met ingebouwde DJVU‑ondersteuning en zonder native afhankelijkheden, terwijl Tesseract native binaries en aparte DJVU‑conversietools vereist. + +## Conclusie + +Je hebt zojuist een **c# OCR tutorial** voltooid die laat zien hoe je **tekst uit afbeelding** bestanden kunt **extraheren** en naadloos **DJVU naar tekst kunt converteren** met Aspose.OCR. Het voorbeeld behandelt alles van pakketinstallatie tot licenties, van extractie van één‑pagina afbeeldingen tot het verwerken van multi‑page DJVU, en zelfs tips om de nauwkeurigheid te verbeteren. + +Vervolgens kun je **hoe tekst uit PDF's te extraheren** verkennen, de OCR‑stap integreren in een web‑API, of experimenteren met taalpakketten voor meertalige documenten. De mogelijkheden zijn eindeloos — onthoud vooral: stel de engine in, voer een bestand in, en lees de string terug. + +Heb je meer vragen? Laat een reactie achter, probeer de code op je eigen documenten, en happy coding! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# OCR tutorial – console output 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/dutch/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/dutch/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..b5bdc697 --- /dev/null +++ b/ocr/dutch/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,230 @@ +--- +category: general +date: 2026-01-09 +description: c# ocr‑tutorial die laat zien hoe je tekst uit afbeeldingsbestanden kunt + extraheren, tekst uit png kunt herkennen, een afbeelding naar een string kunt converteren + en automatisch de taal kunt detecteren met Aspose.OCR. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: nl +og_description: c# ocr‑tutorial die je stap voor stap begeleidt bij het extraheren + van tekst uit afbeeldingen, het herkennen van tekst uit png‑bestanden, het omzetten + van afbeeldingen naar strings en het automatisch detecteren van de taal met Aspose + OCR. +og_title: c# ocr tutorial – Tekst extraheren uit afbeeldingen +tags: +- C# +- OCR +- Aspose +- Image Processing +title: c# OCR-tutorial – Tekst extraheren uit afbeeldingen met Aspose OCR +url: /nl/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Tekst extraheren uit afbeeldingen met Aspose OCR + +Heb je ooit een **c# ocr tutorial** nodig gehad die echt werkt op een echte PNG‑bestand? Misschien bouw je een bon‑scanner, een meertalige formulierverwerker, of ben je gewoon benieuwd hoe je een foto van tekst kunt omzetten in een doorzoekbare string. Hoe dan ook, je bent op de juiste plek. + +In deze gids laten we je stap‑voor‑stap zien hoe je **extract text from image** bestanden, **recognize text from png**, **convert image to string**, en zelfs **detect language automatically** kunt doen — allemaal met de Aspose.OCR‑bibliotheek. Geen vage verwijzingen, alleen een compleet, uitvoerbaar voorbeeld dat je kunt copy‑pasten in Visual Studio. + +## Wat je nodig hebt + +- .NET 6.0 of later (de code werkt ook met .NET Core en .NET Framework) +- Een NuGet‑referentie naar `Aspose.OCR` (versie 23.9 of nieuwer) +- Een afbeeldingsbestand (`mixed‑script.png` in dit voorbeeld) geplaatst op een locatie die de app kan lezen +- Een basisbegrip van C# (als je een “Hello World” hebt geschreven, ben je klaar) + +> **Pro tip:** Als je nog geen licentie hebt, biedt Aspose een gratis tijdelijke licentie voor testen. Plaats gewoon het `.lic`‑bestand naast je uitvoerbare bestand. + +## Stap 1 – Installeer het Aspose.OCR NuGet‑pakket + +Eerst voeg je de bibliotheek toe aan je project. Open de Package Manager Console en voer uit: + +```powershell +Install-Package Aspose.OCR +``` + +Of, als je de UI verkiest, klik met de rechtermuisknop op *Dependencies → Manage NuGet Packages* en zoek naar **Aspose.OCR**. + +## Stap 2 – Bereid de OCR‑engine voor (c# ocr tutorial core) + +Nu maken we een `OcrEngine`‑instance, stellen deze in om de taal automatisch te detecteren, en wijzen hem op ons PNG‑bestand. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Waarom we `Language = OcrLanguage.AutoDetect` instellen + +Automatische taaldetectie bespaart je het raden of de afbeelding Engels, Russisch, Arabisch of een mix bevat. Het is de meest flexibele optie voor een **detect language automatically**‑scenario, en werkt direct voor de meeste scripts die door Aspose worden ondersteund. + +## Stap 3 – Voer de applicatie uit en controleer de output + +Compileer en voer het programma uit (`dotnet run` of druk op **F5** in Visual Studio). Als alles correct is ingesteld, zie je iets als: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +Die output bewijst dat we succesvol **extract text from image**, **recognize text from png**, en **convert image to string** hebben uitgevoerd – allemaal in één beknopt fragment. + +## Stap 4 – Veelvoorkomende variaties & randgevallen + +### Meerdere afbeeldingen verwerken + +Als je een map met PNG‑bestanden moet verwerken, wikkel je de herkenningsaanroep in een `foreach`‑lus: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Een vaste taal opgeven + +Soms ken je de taal van tevoren (bijv. alleen Engels). Je kunt `AutoDetect` vervangen door `OcrLanguage.English` om de verwerking te versnellen: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Omgaan met scans van lage kwaliteit + +Aspose.OCR biedt preprocessing‑opties (ruisonderdrukking, rechtzetten). Voor een snelle oplossing: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Het resultaat opslaan in een bestand + +In plaats van naar de console te printen, wil je de geëxtraheerde tekst misschien naar een `.txt`‑bestand schrijven: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Stap 5 – Volledig werkend voorbeeld (Klaar om te copy‑pasten) + +Hieronder staat het **complete programma** inclusief optionele preprocessing‑ en bestands‑outputlogica. Voel je vrij om de paden aan te passen. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Verwachte output + +Het uitvoeren van het programma op een PNG die Engels, Russisch en Arabisch bevat, levert: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +Als de afbeelding leeg of onleesbaar is, retourneert de engine een lege string — behandel dit geval door `string.IsNullOrWhiteSpace(extractedText)` te controleren voordat je verder gaat. + +## Veelgestelde vragen (FAQ's) + +**Q: Ondersteunt Aspose.OCR handgeschreven tekst?** +A: Het richt zich op gedrukte OCR. Voor handschrift heb je een dedicated ML‑model of een service zoals Azure Computer Vision nodig. + +**Q: Kan ik dit draaien op Linux/macOS?** +A: Zeker. Aspose.OCR is cross‑platform; installeer gewoon de .NET‑runtime voor jouw OS. + +**Q: Wat als ik PDF‑bestanden moet verwerken in plaats van PNG‑s?** +A: Converteer eerst elke PDF‑pagina naar een afbeelding (bijv. met `Aspose.PDF`) en voer vervolgens de afbeelding aan de OCR‑engine. + +## Conclusie + +We hebben zojuist een **c# ocr tutorial** afgerond die je stap voor stap leidt door **extracting text from image** bestanden, **recognizing text from png**, **converting the image to a string**, en **detecting language automatically** te gebruiken met Aspose.OCR. De code is kort, de concepten zijn duidelijk, en je kunt het uitbreiden naar batch‑verwerking, aangepaste taalinstellingen, of zelfs integreren in een web‑API. + +Volgende stappen? Probeer de OCR‑output in een zoekindex te stoppen, deze naar een vertaaldienst te sturen, of combineer het met Azure Cognitive Services voor nog rijkere datastromen. De mogelijkheden zijn eindeloos zodra je de basis van afbeelding‑naar‑tekst conversie in C# onder de knie hebt. + +Veel plezier met coderen, en vergeet niet te experimenteren met verschillende beeldkwaliteiten — je OCR‑engine zal je dankbaar zijn! + +![c# ocr tutorial – voorbeeld van OCR‑output op een mixed‑script PNG](placeholder-image.png "c# ocr tutorial – OCR‑resultaat screenshot") + +{{< /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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/dutch/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..073f2c6f --- /dev/null +++ b/ocr/dutch/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,224 @@ +--- +category: general +date: 2026-01-09 +description: Haal snel tekst uit PNG met Aspose OCR. Leer hoe je tekst uit afbeeldingen + leest, de OCR-nauwkeurigheid verbetert en schone resultaten krijgt in C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: nl +og_description: Haal snel tekst uit PNG met Aspose OCR. Leer hoe je tekst uit afbeeldingen + kunt lezen, de OCR-nauwkeurigheid kunt verbeteren en schone resultaten krijgt in + C#. +og_title: Tekst extraheren uit PNG – Complete Aspose OCR‑tutorial +tags: +- Aspose OCR +- C# +- Image Processing +title: Tekst extraheren uit PNG – Complete Aspose OCR‑tutorial +url: /nl/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tekst extraheren uit PNG – Complete Aspose OCR Tutorial + +Heb je ooit **tekst uit PNG** bestanden moeten extraheren, maar waren de resultaten vol onzin? Je bent niet de enige. In veel real‑world projecten – facturen, bonnetjes of gescande formulieren – kan de kwaliteit van de OCR‑output automatiseringspijplijnen maken of breken. + +In deze gids laten we je een **stap‑voor‑stap** manier zien om afbeeldings‑tekst te lezen met Aspose OCR, een aangepaste woordenlijst toe te voegen om **OCR‑nauwkeurigheid te verbeteren**, de ruis op te schonen en uiteindelijk een nette string af te drukken. Aan het einde heb je een kant‑klaar C# console‑applicatie die betrouwbaar tekst uit PNG‑afbeeldingen extraheert. + +> **Wat je mee krijgt** +> * Een compleet, uitvoerbaar code‑voorbeeld. +> * Inzicht in waarom een aangepaste woordenlijst belangrijk is. +> * Tips voor het omgaan met randgevallen zoals scans met weinig contrast. + +## Vereisten + +- .NET 6 SDK of later (de code richt zich op .NET 6, maar .NET 5 werkt ook). +- Visual Studio 2022 of een editor naar keuze. +- Een **PNG**‑afbeelding die je wilt verwerken – bijvoorbeeld `invoice.png`. +- Het **Aspose.OCR** NuGet‑pakket (`dotnet add package Aspose.OCR`). + +Er zijn geen extra configuratiebestanden nodig; alles bevindt zich in één enkel `.cs`‑bestand. + +## Stap 1 – Installeer en referentieer Aspose OCR + +Eerst haal je de bibliotheek in je project. Open een terminal in je solution‑map en voer uit: + +```bash +dotnet add package Aspose.OCR +``` + +Die ene regel haalt de nieuwste stabiele versie op (vanaf jan 2026, versie 23.9). Het pakket bevat de `OcrEngine`‑klasse die we door de hele tutorial heen zullen gebruiken. + +## Stap 2 – Initialiseer de OCR‑engine + +Het maken van een `OcrEngine`‑instance is de basis. Beschouw het als het inschakelen van een scanner die klaar is om pixels te interpreteren. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Pro tip:** Als je van plan bent om veel afbeeldingen in een lus te verwerken, hergebruik dan dezelfde `OcrEngine`‑instance. Deze cachet interne bronnen en versnelt opeenvolgende aanroepen. + +## Stap 3 – Verhoog de nauwkeurigheid met een aangepaste woordenlijst + +Standaard OCR is goed, maar kan struikelen over domeinspecifieke woorden zoals “Aspose”, “OCR” of “SDK”. Het toevoegen van die termen aan een **aangepaste woordenlijst** vertelt de engine dat die strings geldig zijn, waardoor mis‑herkenningen worden verminderd. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Waarom een aangepaste woordenlijst helpt + +- **Statistische modellen** achter OCR wegen veelvoorkomende taalpatronen zwaar. Ongebruikelijke woorden krijgen een lage waarschijnlijkheid en kunnen worden vervangen door op elkaar lijkende tekens. +- Door ze expliciet te vermelden, overschrijf je de gok van het model. +- Het is vooral handig voor **afbeeldingstekst lezen** die productcodes, afkortingen of merknamen bevat. + +## Stap 4 – Herken tekst uit het PNG‑bestand + +Nu geven we de engine het pad naar de afbeelding. De `RecognizeImage`‑methode retourneert een ruwe string die nog onbekende tokens bevat (bijv. “#@!”) die de engine niet kon toewijzen. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Randgeval:** Als het bestand niet wordt gevonden, gooit `RecognizeImage` een `FileNotFoundException`. Plaats de aanroep in een try‑catch‑blok voor productiecodel. + +## Stap 5 – Reinig het resultaat met `CleanText` + +Aspose OCR wordt geleverd met een helper die tekens verwijdert die het markeert als “unknown”. Deze stap is cruciaal voor **tekst uit afbeelding extraheren** projecten waarbij downstream‑parsers alleen alfanumerieke tekens en basisinterpunctie verwachten. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +De `CleanText`‑methode normaliseert ook regeleinden, waardoor de output veilig kan worden opgeslagen in databases of doorgegeven aan andere services. + +## Stap 6 – Geef de gereinigde tekst weer + +Tot slot, toon of sla het resultaat op. In een console‑app doet `Console.WriteLine` het werk. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +Wanneer je het programma uitvoert, zou je een net blok tekst moeten zien dat de inhoud van `invoice.png` weerspiegelt. Als de afbeelding het woord “Aspose” bevat, zorgt de aangepaste woordenlijst ervoor dat het correct verschijnt in plaats van iets als “A5p0se”. + +## Volledig werkend voorbeeld + +Alles samengevoegd, hier is de volledige `Program.cs` die je kunt kopiëren‑en‑plakken in een nieuw console‑project: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Verwachte output** (ervan uitgaande dat de PNG een eenvoudige factuur bevat): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Als je vreemde symbolen ziet, controleer dan de beeldkwaliteit opnieuw of breid de aangepaste woordenlijst uit met meer termen. + +## Bonus: Omgaan met scans van lage kwaliteit + +Soms worden PNG's gescand op 72 dpi of hebben ze zware compressie‑artefacten. Hier zijn een paar snelle trucjes om **OCR‑nauwkeurigheid te verbeteren** zonder C# te verlaten: + +1. **Pre‑process de afbeelding** met een bibliotheek zoals `SixLabors.ImageSharp` – verhoog het contrast, converteer naar grijswaarden, of pas een lichte vervaging toe om ruis te verminderen. +2. **Stel de `Resolution`‑eigenschap** in op de `OcrEngine` (bijv. `ocrEngine.Resolution = 300;`) om de engine te laten behandelen alsof de afbeelding een hogere resolutie heeft. +3. **Schakel taalpakketten in** als je met niet‑Engelse tekst werkt (`ocrEngine.Language = Language.English;`). + +Alle drie de benaderingen kunnen worden toegevoegd vóór de `RecognizeImage`‑aanroep. + +## Veelgestelde vragen + +- **Werkt dit met andere afbeeldingsformaten?** + Ja. `RecognizeImage` accepteert JPEG, BMP, TIFF en zelfs PDF (als een afbeeldingscontainer). Dezelfde stappen zijn van toepassing. + +- **Kan ik tekst extraheren uit meerdere PNG's in een map?** + Absoluut. Plaats de kernlogica in een `foreach (var file in Directory.GetFiles(folder, "*.png"))`‑lus en sla elk resultaat op in een lijst of schrijf naar afzonderlijke bestanden. + +- **Wat als ik de tekstcoördinaten nodig heb?** + Aspose OCR biedt ook `OcrResult`‑objecten die begrenzingskaders bevatten. Gebruik `ocrEngine.RecognizeImageToResult(imagePath)` voor dat geavanceerde scenario. + +## Conclusie + +We hebben een **volledige, end‑to‑end** oplossing doorlopen voor **het extraheren van tekst uit PNG**‑bestanden met Aspose OCR. Door de engine te initialiseren, een **aangepaste woordenlijst** te voeden, de ruwe output te reinigen en een paar veelvoorkomende valkuilen te behandelen, kun je betrouwbaar **afbeeldingstekst lezen** en **OCR‑nauwkeurigheid verbeteren** in je eigen C#‑applicaties. + +Klaar voor de volgende stap? Probeer de PNG te vervangen door een gescande bon, voeg meer domeinspecifieke woorden toe aan de woordenlijst, of integreer de output met een database voor geautomatiseerde factuurverwerking. De mogelijkheden zijn onbeperkt wanneer je Aspose OCR combineert met het rijke .NET‑ecosysteem. + +Veel plezier met coderen, en moge je OCR altijd perfect zijn! + +![Extract text from png example](/images/extract-text-from-png.png "extract text from png – Aspose OCR demo") + +{{< /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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/dutch/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..acaf007b --- /dev/null +++ b/ocr/dutch/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,261 @@ +--- +category: general +date: 2026-01-09 +description: Haal tekst uit TIFF‑bestanden met Aspose OCR in C#. Leer hoe je de eerste + 50 tekens van elk resultaat krijgt in deze stapsgewijze tutorial. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: nl +og_description: Tekst extraheren uit TIFF met Aspose OCR in C#. Deze gids laat stap + voor stap zien hoe je de eerste 50 tekens van elk OCR‑resultaat krijgt. +og_title: Tekst extraheren uit TIFF met Aspose OCR – Complete C#‑gids +tags: +- Aspose OCR +- C# +- TIFF processing +title: Tekst extraheren uit TIFF met Aspose OCR C# – Volledige tutorial +url: /nl/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tekst extraheren uit TIFF – Complete Aspose OCR C# Tutorial + +Heb je ooit **tekst uit TIFF**‑afbeeldingen moeten extraheren, maar wist je niet welke bibliotheek je kunt vertrouwen? Je bent niet de enige. Veel ontwikkelaars lopen tegen een muur aan wanneer ze doorzoekbare tekst uit multi‑page TIFF‑bestanden proberen te halen, vooral wanneer prestaties belangrijk zijn. + +In deze **aspose ocr c# tutorial** lopen we een kant‑klaar voorbeeld door dat niet alleen de volledige tekst extraheert, maar je ook laat zien hoe je **de eerste 50 tekens** van elke pagina kunt krijgen voor snelle previews. Aan het einde heb je een zelfstandige applicatie die je in elk .NET‑project kunt plaatsen. + +## Wat je nodig hebt + +- .NET 6 (of een recente .NET‑versie) – de code compileert zowel met .NET Core als .NET Framework. +- Een actieve Aspose.OCR for .NET‑licentie (je kunt starten met een gratis proefversie). +- Een map die één of meer `.tif`‑bestanden bevat die je wilt verwerken. +- Visual Studio, VS Code of een andere IDE naar keuze – het voorbeeld is puur C#, dus de editor maakt niet uit. + +> **Pro tip:** Als je op een CI‑server werkt, voeg dan het Aspose.OCR NuGet‑pakket (`Aspose.OCR`) toe aan je projectbestand; de bibliotheek is volledig beheerd en heeft geen native afhankelijkheden. + +## Stap 1: Installeer het Aspose OCR NuGet‑pakket + +Allereerst halen we de OCR‑engine in het project. Open een terminal in je solution‑map en voer uit: + +```bash +dotnet add package Aspose.OCR +``` + +Dit commando haalt de nieuwste stabiele versie op (vanaf jan 2026 is dat 23.9) en werkt je `.csproj` automatisch bij. Geen handmatig DLL‑beheer nodig. + +## Stap 2: Initialiseert de OCR‑engine + +Nu maken we een instantie van `OcrEngine`. Beschouw het als het “brein” dat elke TIFF‑pagina zal lezen. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Waarom maken we de engine maar één keer aan? Omdat `RecognizeImages` een collectie bestands‑paden kan accepteren, waardoor de engine interne buffers kan hergebruiken en batch‑verwerking aanzienlijk versnelt. + +## Stap 3: Verzamel alle TIFF‑bestanden in één oproep + +In plaats van zelf over de map te loopen, laten we .NET het zware werk doen. De methode `Directory.GetFiles` retourneert een `IEnumerable` die we direct aan de OCR‑aanroep kunnen doorgeven. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **Wat als mijn afbeeldingen JPEG of PNG zijn?** Verander gewoon het zoekpatroon (`"*.jpg"` of `"*.*"`). Aspose OCR werkt met alle gangbare rasterformaten. + +## Stap 4: Voer OCR uit op de volledige collectie + +Hier is de magische regel die elk bestand in één verzoek verwerkt. De methode retourneert een dictionary waarbij de sleutel het bestandspad is en de waarde een `OcrResult`‑object met de herkende tekst. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Waarom batch‑verwerken? Het vermindert de overhead van het herhaaldelijk laden van de OCR‑engine, en op multi‑core machines paralleliseert Aspose intern het werk, waardoor je een merkbare snelheidswinst krijgt. + +## Stap 5: Toon een preview – Haal de eerste 50 tekens op + +De meeste UI‑scenario's hebben alleen een fragment nodig, niet het volledige document. We halen de eerste 50 tekens (of minder als de pagina kort is) op en printen ze naast de bestandsnaam. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +De regel `Math.Min(50, fullText.Length)` garandeert dat we nooit buiten de string‑grenzen gaan – een kleine beveiliging die een `ArgumentOutOfRangeException` voorkomt wanneer het OCR‑resultaat korter is dan 50 tekens. + +### Verwachte console‑output + +Stel dat je twee TIFF‑bestanden hebt (`invoice1.tif` en `receipt2.tif`), dan kan de console het volgende weergeven: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Elke regel eindigt met een ellipsis (`...`) om aan te geven dat de preview slechts het begin van een langer tekstblok is. + +## Stap 6: Afhandelen van randgevallen en veelvoorkomende valkuilen + +### Lege of corrupte bestanden + +Als een bestand niet gelezen kan worden, retourneert `RecognizeImages` nog steeds een entry met een lege `Text`‑eigenschap. Je kunt die filteren: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Grote batches + +Het verwerken van duizenden TIFF‑bestanden kan veel geheugen verbruiken. Gebruik in dat geval de overload die een `Stream` per afbeelding accepteert, of verwerk de lijst in kleinere delen: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Taal‑ en lettertype‑ondersteuning + +Bevat je document niet‑Latijnse tekens, stel dan de taal in vóór het aanroepen van `RecognizeImages`: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Deze kleine aanpassing kan de nauwkeurigheid drastisch verhogen. + +## Stap 7: Volledig werkend voorbeeld (klaar om te kopiëren) + +Hieronder staat het complete programma dat je kunt plakken in een nieuw console‑project (`dotnet new console`) en direct kunt uitvoeren (vervang `YOUR_DIRECTORY/Batch` door het echte pad). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Voer het programma uit met `dotnet run`. Je zou een beknopte preview voor elk TIFF‑bestand moeten zien, waarmee je hebt bevestigd dat je succesvol **tekst uit TIFF**‑afbeeldingen hebt geëxtraheerd met Aspose OCR. + +## Veelgestelde vragen (FAQ) + +**Q: Werkt dit met multi‑page TIFF‑bestanden?** +A: Ja. Aspose OCR behandelt elke pagina intern als een aparte afbeelding, dus een multi‑page TIFF levert één samengevoegde string per bestand op. Je kunt die later desgewenst splitsen. + +**Q: Hoe nauwkeurig is de OCR out of the box?** +A: Voor schone, hoge‑resolutie scans (300 DPI of hoger) kun je >95 % nauwkeurigheid verwachten voor Engelse tekst. Voorbewerking (deskew, binarisatie) kan dit nog hoger maken. + +**Q: Kan ik de resultaten naar een CSV‑bestand exporteren?** +A: Absoluut. Vervang de `Console.WriteLine` door een `StreamWriter` en schrijf `fileName,preview`‑rijen. Vergeet niet komma’s in de preview‑tekst te escapen. + +## Volgende stappen en gerelateerde onderwerpen + +- **OCR‑resultaten opslaan** – Bewaar de volledige tekst in een database voor doorzoekbare archieven. +- **Combineren met PDF‑conversie** – Gebruik Aspose.PDF om de geëxtraheerde tekst terug in doorzoekbare PDF‑bestanden te embedden. +- **Batch‑verwerking op Azure Functions** – Schaal de OCR‑taken uit zonder eigen servers te beheren. + +Al deze uitbreidingen bouwen voort op het kernidee van **tekst extraheren uit TIFF** op een efficiënte manier, terwijl je nog steeds **de eerste 50 tekens** kunt ophalen voor snelle UI‑previews. + +--- + +*Happy coding! Als je tegen vreemde problemen aanloopt, laat dan een reactie achter – ik help je graag de OCR‑pipeline verder te verfijnen.* + +![Tekst extraheren uit TIFF met Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Tekst extraheren uit TIFF met Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/dutch/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..099f6d23 --- /dev/null +++ b/ocr/dutch/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,240 @@ +--- +category: general +date: 2026-01-09 +description: herken tekst in jpg snel met Aspose OCR in C#. Leer hoe je tekst uit + een afbeelding kunt extraheren, afbeelding kunt converteren naar JSON en EPUB in + één tutorial. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: nl +og_description: herken tekst in jpg met Aspose OCR. Deze gids laat zien hoe je tekst + uit een afbeelding kunt extraheren, afbeelding kunt converteren naar JSON en EPUB, + en een ePub kunt maken van een afbeelding. +og_title: herken tekst in jpg – volledige C#-tutorial +tags: +- Aspose OCR +- C# +- Image Processing +title: herken tekst in jpg met Aspose OCR – Complete C#-gids +url: /nl/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tekst herkennen in jpg – Complete C# Gids + +Heb je ooit **tekst in jpg**‑bestanden moeten **herkennen**, maar wist je niet welke bibliotheek je moest kiezen? Je bent niet de enige. Veel ontwikkelaars lopen tegen dezelfde muur aan wanneer ze voor het eerst woorden uit een foto of gescand document willen halen. + +Het goede nieuws? Met Aspose OCR kun je **tekst uit afbeelding**‑bestanden extraheren in een paar regels C#‑code, en vervolgens direct **afbeelding naar JSON** converteren of zelfs **afbeelding naar EPUB**—alles zonder je IDE te verlaten. + +In deze tutorial lopen we het volledige werkproces door: van het installeren van de juiste NuGet‑pakketten, via het herkennen van tekst in een JPG, tot het opslaan van het resultaat als gestructureerde JSON en als een ePub‑document. Aan het einde kun je **epub maken van afbeelding**‑bestanden programmatically, een handige truc voor e‑learningplatforms, digitale bibliotheken, of elke app die doorzoekbare e‑books nodig heeft. + +--- + +## Wat je nodig hebt + +- **.NET 6+** (of .NET Framework 4.6+). De code werkt op elke recente runtime. +- **Aspose.OCR** NuGet‑pakket – de kern‑OCR‑engine. +- **Aspose.Publishing** NuGet‑pakket – vereist voor het ePub‑outputformaat. +- Een afbeeldingsbestand met de naam `input.jpg` ergens op je schijf (vervang het pad door het jouwe). +- Een teksteditor of IDE (Visual Studio, VS Code, Rider—jouw keuze). + +Dat is alles. Geen extra services, geen externe API’s, alleen een paar bibliotheken en een JPG‑bestand. + +--- + +## Stap 1: Stel je project in om **tekst te herkennen in jpg** + +Maak eerst een nieuwe console‑applicatie (of voeg toe aan een bestaand project). Voeg vervolgens de twee Aspose‑pakketten toe via de NuGet Package Manager: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Pro tip:** Als je Visual Studio gebruikt, klik met de rechtermuisknop op het project → *Manage NuGet Packages* → zoek naar *Aspose.OCR* en *Aspose.Publishing*, klik dan op **Install**. + +Deze pakketten leveren alles wat je nodig hebt om **tekst uit afbeelding** te **extraheren** en later een ePub‑bestand te genereren. + +--- + +## Stap 2: **Tekst uit afbeelding** extraheren met Aspose OCR + +Nu schrijven we de code die daadwerkelijk de JPG leest en de tekens eruit haalt. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Waarom dit werkt:** `OcrEngine` abstraheert alle low‑level beeldvoorverwerking, taaldetectie en tekensegmentatie. Je wijst het simpelweg op een bestand en het retourneert een `OcrResult`‑object met de platte‑tekst string (`ocrResult.Text`) en een rijke set metadata. + +--- + +## Stap 3: **Afbeelding naar JSON** converteren – Het OCR‑resultaat exporteren + +Als je de OCR‑output wilt opslaan in een gestructureerd formaat (voor API’s, databases of downstream verwerking), maakt Aspose het triviaal om het resultaat naar JSON te serialiseren. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +De gegenereerde JSON ziet er ongeveer zo uit (ingekort voor de leesbaarheid): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**Wanneer te gebruiken:** JSON is perfect als je de OCR‑data naar een webservice stuurt, opslaat in een NoSQL‑store, of simpelweg een draagbare representatie nodig hebt die door elke taal kan worden geparseerd. + +--- + +## Stap 4: **Afbeelding naar EPUB** converteren – Opslaan als e‑book + +Aspose Publishing voegt ondersteuning toe voor verschillende e‑bookformaten, waaronder EPUB. Door `Save` aan te roepen op het `OcrResult` kun je een volledig conforme ePub‑file genereren die de herkende tekst bevat en, optioneel, de originele afbeelding. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**Wat je krijgt:** Een ePub die je kunt openen in elke lezer (Calibre, Apple Books, Adobe Digital Editions). Het bestand bevat de geëxtraheerde tekst als doorzoekbare inhoud, plus de bronafbeelding als achtergrondlaag—ideaal voor het bouwen van **epub maken van afbeelding**‑pijplijnen. + +--- + +## Stap 5: Volledig werkend voorbeeld – Van JPG naar JSON & EPUB + +Alles samengevoegd, hier is het complete, kant‑klaar programma. Kopieer‑plak dit in `Program.cs`, pas de bestandspaden aan, en druk op **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Voer het programma uit en je zou drie dingen moeten zien: + +1. De herkende tekst wordt in de console afgedrukt. +2. Een `output.json`‑bestand met de gestructureerde OCR‑data. +3. Een `output.epub`‑bestand dat je kunt openen met elke e‑book‑lezer. + +--- + +## Veelgestelde vragen & randgevallen + +- **Wat als de afbeelding een PNG of BMP is?** + Aspose OCR ondersteunt de meeste rasterformaten (PNG, BMP, TIFF, GIF). Verander simpelweg de bestandsextensie in `inputPath`; dezelfde code werkt. + +- **Kan ik een andere taal dan Engels specificeren?** + Ja. Stel `ocrEngine.Language = OcrLanguage.French;` (of een andere ondersteunde taal) in vóór het aanroepen van `RecognizeImage`. + +- **Wat met meer‑pagina PDF’s?** + Voor PDF’s converteer je eerst elke pagina naar een afbeelding (Aspose.PDF kan dat) en voer je vervolgens elke afbeelding door `RecognizeImage`. De resulterende `OcrResult`‑objecten kunnen worden samengevoegd vóór export naar JSON of EPUB. + +- **Ik krijg lage confidence‑scores. Hoe kan ik de nauwkeurigheid verbeteren?** + Pre‑process de afbeelding: verhoog contrast, corrigeer scheefstand, of converteer naar grijswaarden. Aspose OCR biedt ook `PreprocessOptions` die je kunt aanpassen. + +--- + +## Conclusie + +Je beschikt nu over een solide, end‑to‑end recept om **tekst in jpg**‑bestanden te **herkennen** met Aspose OCR, vervolgens **afbeelding naar JSON** te **converteren** voor datapipe‑lines en **afbeelding naar EPUB** te **converteren** om doorzoekbare e‑books te bouwen. De aanpak is lichtgewicht, vereist slechts twee NuGet‑pakketten, en werkt op alle moderne .NET‑runtimes. + +Vanaf hier kun je: + +- De JSON‑output integreren in een zoekindex (Azure Cognitive Search, Elastic). +- Een map met afbeeldingen batch‑verwerken en een bibliotheek met ePub‑boeken genereren. +- De workflow uitbreiden met vertaal‑API’s om automatisch meertalige e‑books te maken. + +Probeer het, experimenteer met verschillende beeldkwaliteiten, en laat de OCR‑engine het zware werk doen. Veel programmeerplezier! + +--- + +![tekst herkennen in jpg output screenshot](placeholder-image.png "tekst herkennen in jpg voorbeeld") + +{{< /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/net/ocr-configuration/_index.md b/ocr/english/net/ocr-configuration/_index.md index 317e0d4e..f7727ede 100644 --- a/ocr/english/net/ocr-configuration/_index.md +++ b/ocr/english/net/ocr-configuration/_index.md @@ -39,10 +39,14 @@ Unlock the power of OCR image recognition in .NET with Aspose.OCR. Extract text Unlock powerful OCR capabilities with Aspose.OCR for .NET. Extract text from images seamlessly. ### [OCROperation with List in OCR Image Recognition](./ocr-operation-with-list/) Unlock the potential of Aspose.OCR for .NET. Effortlessly perform OCR image recognition with lists. Boost productivity and data extraction in your applications. +### [How to OCR Image in C# – Complete Guide with GPU Support](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Learn to perform OCR on images using C# with GPU acceleration for faster and more accurate text extraction. +### [recognize text from image with Aspose OCR – Complete C# Guide](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Learn to recognize text from images using Aspose OCR in C# with a comprehensive step-by-step guide. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/english/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..21b08cc4 --- /dev/null +++ b/ocr/english/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-01-09 +description: Learn how to OCR image and extract image text using Aspose.OCR. Includes + steps to convert scanned document, enable GPU, and read image with OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: en +og_description: How to OCR image quickly with Aspose.OCR. Follow this step‑by‑step + tutorial to extract image text, convert scanned document, and enable GPU. +og_title: How to OCR Image in C# – GPU‑Accelerated Guide +tags: +- OCR +- C# +- Aspose +- Image Processing +title: How to OCR Image in C# – Complete Guide with GPU Support +url: /net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to OCR Image in C# – Complete Guide with GPU Support + +Ever wondered **how to OCR image** files directly from your .NET app? You're not the only one—developers constantly need to pull text out of PDFs, TIFFs, and photos, especially when dealing with large scanned documents. The good news? With Aspose.OCR you can **extract image text** in just a few lines, and you can even **enable GPU** acceleration for faster processing. + +In this tutorial we’ll walk through everything you need to know: from installing the library, to initializing the OCR engine with GPU fallback, to finally **reading image with OCR** and displaying the result. By the end you’ll be able to **convert scanned document** images into editable strings—no external services required. + +--- + +## What You’ll Need + +Before we get our hands dirty, make sure you have the following: + +- **.NET 6.0** or later (the code works on .NET Core and .NET Framework as well). +- A **license** for Aspose.OCR or a temporary evaluation key (the free trial works for testing). +- An image file you want to process—preferably a high‑resolution TIFF or PNG. +- (Optional) A GPU‑enabled machine if you want to see the speed boost; otherwise the engine will gracefully fall back to CPU. + +Having these prerequisites covered means you can focus on the actual OCR workflow without hitting a wall later. + +--- + +## Step 1: Install Aspose.OCR NuGet Package + +First things first—add the Aspose.OCR library to your project. Open a terminal in your solution folder and run: + +```bash +dotnet add package Aspose.OCR +``` + +Or, if you’re using Visual Studio’s NuGet UI, just search for **Aspose.OCR** and hit install. This single command pulls in all the necessary DLLs, including the native GPU binaries when they’re available. + +> **Pro tip:** Keep the package up‑to‑date. New releases often include language model improvements and better GPU support. + +--- + +## Step 2: Import Required Namespaces + +Now that the package is installed, bring the relevant namespaces into scope. This step is where we start **how to OCR image** in code. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +These two lines give you access to the `OcrEngine` class and the settings object that lets you toggle GPU usage. Without them, the compiler would have no idea what `OcrEngine` means. + +--- + +## Step 3: Initialize the OCR Engine and Enable GPU + +If you’ve ever asked **how to enable GPU** for OCR, this is the answer. We create an `OcrEngineSettings` instance, flip the `UseGpu` flag, and pass it to the engine constructor. The engine automatically detects whether a compatible GPU is present; if not, it falls back to CPU—so you don’t need extra error handling. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Why enable GPU at all? For large images—think multi‑page TIFFs or high‑resolution scans—the processing time can drop from several seconds to a fraction of a second. If you’re building a batch‑processing pipeline, that speed gain adds up quickly. + +--- + +## Step 4: Perform OCR on Your Target Image + +Here’s where we actually **read image with OCR**. Supply the path to your file, and the engine returns the recognized text as a string. This works for any raster format supported by Aspose (PNG, JPEG, TIFF, BMP, etc.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +If you need to **convert scanned document** pages one by one, simply loop over the file names and call `RecognizeImage` for each. The method is thread‑safe, so you can even parallelize the workload on a multi‑core CPU. + +--- + +## Step 5: Display or Persist the Extracted Text + +Finally, we output the result. In a console app, `Console.WriteLine` does the trick. In a real‑world scenario you might write the text to a database, a JSON file, or feed it into a search index. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +The above line prints the raw OCR output. You’ll notice line breaks, occasional mis‑recognitions, and perhaps a few stray characters—nothing unusual for OCR. Post‑processing (e.g., regex clean‑up) can tidy things up if needed. + +> **Note:** Aspose.OCR also supports language-specific dictionaries. If you’re processing non‑English texts, set `ocrEngine.Settings.Language` accordingly before calling `RecognizeImage`. + +--- + +## Full Working Example + +Putting it all together, here’s a self‑contained program you can copy‑paste into a new console project: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Expected output** (truncated for brevity): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Run the program, and you should see the extracted text appear in your console window. If the GPU is available, the processing time will be noticeably shorter than on CPU‑only machines. + +--- + +## Common Pitfalls & How to Avoid Them + +| Issue | Why It Happens | Fix | +|-------|----------------|-----| +| **Garbage characters** | Low‑resolution source or noisy background. | Pre‑process the image (increase DPI, apply binarization) before OCR. | +| **GPU not used** | No compatible CUDA driver installed. | Verify driver version, or set `UseGpu = false` to force CPU. | +| **Out‑of‑memory on large TIFFs** | Loading the whole file at once. | Use `OcrEngineSettings.MaxMemoryUsage` to limit footprint, or process pages individually. | +| **Incorrect language detection** | Default language is English. | Set `ocrEngine.Settings.Language = Language.YourLanguage;` before calling `RecognizeImage`. | + +Addressing these edge cases ensures your **how to OCR image** implementation stays robust across different environments. + +--- + +## Extending the Solution + +Now that you can **extract image text**, you might want to: + +- **Convert scanned document** PDFs to searchable PDFs by embedding the OCR layer. +- Store results in an **Azure Cognitive Search** index for fast retrieval. +- Chain the OCR output to a **translation API** if you need multilingual support. +- Use **Aspose.OCR’s** `GetBoundingBoxes` method to locate where each word appears on the image—handy for redaction tools. + +All of these extensions build on the same core principle we covered: initialize the engine, feed it an image, and read the text. + +--- + +## Conclusion + +We’ve walked through a complete, end‑to‑end example of **how to OCR image** using Aspose.OCR in C#. By installing the NuGet package, importing the right namespaces, enabling GPU (or falling back to CPU), and calling `RecognizeImage`, you can reliably **extract image text**, **convert scanned document** pages, and **read image with OCR** in any .NET application. + +Give it a try on a handful of your own scans—experiment with different image formats, toggle the GPU flag, and see how the performance changes. When you’re ready, explore the advanced features like language dictionaries or bounding‑box extraction to make your solution even smarter. + +Happy coding, and may your OCR pipelines be fast, accurate, and hassle‑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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/english/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..7497aa58 --- /dev/null +++ b/ocr/english/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,206 @@ +--- +category: general +date: 2026-01-09 +description: recognize text from image using Aspose OCR in C#. Learn how to disable + auto download, extract Chinese text image, and set OCR language. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: en +og_description: recognize text from image using Aspose OCR in C#. Follow this step‑by‑step + tutorial to disable auto download, extract Chinese text image, and set OCR language. +og_title: recognize text from image with Aspose OCR – Complete C# Guide +tags: +- Aspose OCR +- C# +- Image Processing +title: recognize text from image with Aspose OCR – Complete C# Guide +url: /net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# recognize text from image with Aspose OCR – Complete C# Guide + +Ever needed to **recognize text from image** but were stuck on configuration details? You're not alone. Many developers hit a wall when the OCR engine tries to download language packs at runtime, or when they can't pull Chinese characters out of a sign photo. + +In this tutorial we’ll walk through a hands‑on solution that shows you how to **disable auto download**, **extract text image**, **extract Chinese text image**, and **set OCR language**—all with Aspose OCR for .NET. By the end you’ll have a single, runnable program that prints the recognized text straight to the console. + +## What You’ll Learn + +- How to install and reference the Aspose.OCR NuGet package. +- Why turning off automatic resource downloads matters for offline or secure environments. +- The exact steps to point the engine at a local language‑pack folder. +- How to select the correct language (Chinese Simplified) before processing an image. +- Verifying the output and troubleshooting common pitfalls. + +No prior experience with Aspose is required; just a basic C# setup and an image file you want to read. + +## Prerequisites + +| Requirement | Reason | +|-------------|--------| +| .NET 6.0 or later (or .NET Framework 4.7+) | Aspose.OCR supports these runtimes. | +| Visual Studio 2022 (or any IDE you like) | For easy project creation and debugging. | +| An image file containing Chinese text (e.g., `chinese-sign.jpg`) | To demonstrate **extract Chinese text image**. | +| Local copy of Aspose OCR language packs (downloaded once from the Aspose portal) | Needed because we will **disable auto download**. | + +Make sure the language‑pack ZIP files sit in a folder you can reference, for example `C:\MyOCR\Resources`. + +## Step 1: Recognize text from image – Configure the OCR Engine + +First things first: we need an `OcrEngineSettings` object that tells Aspose where to look for resources. This is the foundation for any **extract text image** operation. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +Why set `AutoDownloadResources` to `false`? In production environments you often run behind firewalls, or you simply don’t want your app to reach out to the internet at runtime. Disabling the feature guarantees that the engine will only use the files you placed in `ResourceFolder`, which also speeds up initialization. + +## Step 2: Create the OCR engine with the specified settings + +Now that the settings are ready, we instantiate the engine. This step is where the **set OCR language** capability will later come into play. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +The `OcrEngine` object is lightweight; it doesn’t actually load any language data until you assign a language. That lazy loading is why you can safely create the engine even if the resource folder is empty—nothing will break until you try to **extract Chinese text image**. + +## Step 3: Set OCR language – Choose Chinese Simplified + +Aspose supports dozens of languages, each packaged as a ZIP file. Since our sample image contains Simplified Chinese characters, we explicitly set the language before recognition. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +If you forget this step, the engine defaults to English and you’ll get garbled output. Also, note that the language name must match the ZIP file name inside `ResourceFolder`. For example, `ChineseSimplified.zip` should be present. + +## Step 4: Extract text from the target image + +With the engine configured and the language set, we finally **recognize text from image**. The method returns a plain string that you can log, store, or feed into another system. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +The call to `RecognizeImage` does all the heavy lifting: preprocessing, segmentation, character matching, and finally assembling the result. If the image is clear and the language pack is correct, you’ll see the Chinese characters printed to the console. + +> **Tip:** If you need to extract only part of the image (e.g., a specific region), use the overload `RecognizeImage(string, Rectangle)` to pass a cropping rectangle. + +## Full Working Example + +Below is the complete program you can copy‑paste into a new console project. It includes the `using` statements, the settings, language selection, and the final output. Save it as `Program.cs`, restore NuGet packages, and run. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Expected Output + +If `chinese-sign.jpg` contains the phrase “欢迎光临”, the console will display something akin to: + +``` +=== Recognized Text === +欢迎光临 +``` + +The exact formatting may vary depending on the image quality, but the characters should be legible. + +## Common Pitfalls & Pro Tips + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| **Empty string returned** | Language pack not found or `AutoDownloadResources` still trying to fetch it | Verify `ResourceFolder` path and ensure `ChineseSimplified.zip` exists. | +| **Garbage characters** | Image is blurry or low‑contrast | Preprocess the image (increase contrast, binarize) before feeding it to `RecognizeImage`. | +| **Exception: `FileNotFoundException`** | Wrong image path | Use an absolute path or place the image in the project’s output directory and reference it with `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`. | +| **Performance lag** | Large image dimensions | Resize the image to a reasonable width (e.g., 1024 px) before recognition. | + +**Pro tip:** Keep the language packs in a version‑controlled folder. When you upgrade Aspose.OCR, the new packs may have different naming conventions, which could silently break your **disable auto download** strategy. + +## Extending the Example + +Now that you can **recognize text from image**, you might want to: + +- **Batch process** a folder of images (loop over files, call `RecognizeImage` each time). +- **Export** the results to a CSV or JSON file for downstream analytics. +- **Combine** OCR with translation APIs to turn Chinese signs into English on the fly. + +All of these scenarios reuse the same core steps: configure once, set the language, and call `RecognizeImage`. The modular design keeps your code clean and easy to maintain. + +## Conclusion + +You’ve just learned how to **recognize text from image** using Aspose OCR in C#. By explicitly **disable auto download**, pointing the engine at a local resource folder, and **set OCR language** to Chinese Simplified, you can reliably **extract Chinese text image** and any other language you supply. + +The complete, runnable code above demonstrates a practical workflow you can drop into real projects. From here, experiment with different image qualities, add error handling, or integrate the output into a larger system. The possibilities are practically endless. + +Got questions about other languages, performance tuning, or cloud deployment? Feel free to leave a comment—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/net/ocr-optimization/_index.md b/ocr/english/net/ocr-optimization/_index.md index a1ef63f0..3444938d 100644 --- a/ocr/english/net/ocr-optimization/_index.md +++ b/ocr/english/net/ocr-optimization/_index.md @@ -50,9 +50,12 @@ Explore Aspose.OCR for .NET. Boost OCR accuracy with preprocessing filters. Down Enhance OCR accuracy with Aspose.OCR for .NET. Correct spellings, customize dictionaries, and achieve error-free text recognition effortlessly. ### [Save Multipage Result as Document in OCR Image Recognition](./save-multipage-result-as-document/) Unlock the potential of Aspose.OCR for .NET. Effortlessly save multipage OCR results as documents with this comprehensive step-by-step guide. +### [c# ocr tutorial: Recognize Text from Image with Preprocessing](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Learn how to preprocess images and recognize text using Aspose.OCR for .NET in C#. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/english/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..6b4c6e1f --- /dev/null +++ b/ocr/english/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,231 @@ +--- +category: general +date: 2026-01-09 +description: c# ocr tutorial that shows how to recognize text from image and preprocess + image for OCR using Aspose.OCR filters – step‑by‑step guide. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: en +og_description: c# ocr tutorial that walks you through recognizing text from image + and preprocessing image for OCR using Aspose.OCR filters. Complete code included. +og_title: c# ocr tutorial – Recognize Text from Image with Preprocessing +tags: +- OCR +- C# +- Image Processing +title: 'c# ocr tutorial: Recognize Text from Image with Preprocessing' +url: /net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Recognize Text from Image with Preprocessing + +Ever wondered how to **recognize text from image** in a C# application without spending weeks tweaking filters? You're not alone. In this **c# ocr tutorial** we’ll walk through a complete, ready‑to‑run example that not only reads the text but also **preprocesses the image for OCR** to boost accuracy. + +We’ll use the Aspose.OCR library because it ships with a handy filter pipeline that lets you plug‑in deskew, denoise, and contrast‑boost steps in just a few lines. By the end of this guide you’ll have a console app that can take a skewed, noisy PNG, clean it up, and spit out the extracted string—all with clear explanations of why each step matters. + +## Prerequisites + +Before we dive in, make sure you have: + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6 SDK (or later) | Modern C# features and better performance | +| Visual Studio 2022 (or VS Code) | Convenient debugging and IntelliSense | +| NuGet package **Aspose.OCR** | Provides the `OcrEngine` and filter classes | +| An input image (e.g., `skewed‑noisy.png`) | Demonstrates the need for preprocessing | + +If any of these are missing, install them first. The NuGet step is covered in the next section. + +## Step 1: Install Aspose.OCR via NuGet + +Open your terminal (or Package Manager Console) and run: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** Use the `--version` flag to lock to a specific release if you need reproducible builds. + +The package ships with all the filters we’ll need, so no extra DLLs are required. + +## Step 2: Initialize the OCR Engine – the Heart of the c# ocr tutorial + +Creating the engine is straightforward, but it’s worth understanding what happens under the hood. The `OcrEngine` holds a pipeline of **filters** that manipulate the bitmap before the recognition algorithm runs. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Why initialize first?** The engine caches internal resources (like language models). Re‑using a single instance across multiple images saves memory and speeds up subsequent recognitions. + +## Step 3: Preprocess Image for OCR – adding deskew, denoise, and contrast boost + +Most real‑world scans aren’t perfect; they’re tilted, speckled, or too dark. That’s why **preprocess image for OCR** is a critical step. Aspose provides three filters that work together nicely: + +| Filter | What it does | Typical use case | +|--------|--------------|------------------| +| `DeskewFilter` | Rotates the image to correct slant | Scanned documents from a scanner | +| `DenoiseFilter` | Removes isolated pixels (“salt‑and‑pepper” noise) | Low‑light photos | +| `ContrastBoostFilter` | Increases contrast to sharpen text edges | Faded prints or low‑resolution captures | + +Below is the code that adds each filter to the engine’s pipeline: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **How it works:** When you call `RecognizeImage` later, the engine will sequentially run these three filters before feeding the cleaned bitmap to the recognition core. + +### Visual illustration (optional) + +If you embed an image, make sure the alt text contains the primary keyword: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Step 4: Recognize Text from Image – the moment of truth + +Now that the image is pre‑processed, we can finally extract the characters. The method returns a plain string, which you can log, store, or feed into another system. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Expected output + +Running the sample against a typical invoice scan yields something like: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +If the output looks garbled, double‑check the image quality and consider tweaking the `ContrastBoostFilter.Level` (values > 2.0 can be too aggressive). + +## Step 5: Output the Result and Optional Post‑Processing + +A console app can simply write the string, but many projects need extra handling—like trimming whitespace, removing line breaks, or feeding the text into a database. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Why post‑process? + +Even with good preprocessing, OCR often introduces stray line breaks or invisible characters. A quick `Replace` chain can make the data far more usable downstream. + +## Step 6: Full Working Example – copy‑paste ready + +Below is the **complete** program you can compile and run immediately. It includes all the using statements, filter setup, OCR call, and output handling. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**How to run it** + +1. Save the file as `Program.cs` inside a new console project (`dotnet new console`). +2. Replace `YOUR_DIRECTORY/skewed-noisy.png` with the real path to your test image. +3. Execute `dotnet run`. You should see the OCR output printed to the terminal. + +## Common Pitfalls & Tips (recognize text from image reliably) + +| Issue | What to check | Fix | +|-------|----------------|-----| +| **Garbage characters** | Image is too dark or low‑resolution | Increase `ContrastBoostFilter.Level` or use a higher‑resolution source | +| **Missing lines** | Deskew didn’t correct the angle fully | Manually rotate the image first, or adjust `DeskewFilter` tolerance | +| **Slow performance** | Processing many large images in a loop | Reuse the same `OcrEngine` instance and call `ocrEngine.Clear()` after each run | +| **Unsupported language** | Text is not English | Set `ocrEngine.Language = OcrLanguage.French` (or another supported language) before recognition | + +### Edge case: handling multi‑page PDFs + +If you need to OCR a PDF, convert each page to an image (e.g., using `Aspose.PDF`) and feed them one‑by‑one to the same engine. The preprocessing pipeline remains identical, ensuring consistent results across pages. + +## Conclusion + +In this **c# ocr tutorial** we covered everything you need to **recognize text from image** and **preprocess image for OCR** using Aspose.OCR’s built‑in filters. By initializing the engine, adding deskew, denoise, and contrast‑boost steps, and finally calling `RecognizeImage`, you get clean, reliable text extraction with just a handful of lines of code. + +Feel free to experiment—swap in a different filter, tweak the contrast level, or integrate the result into a larger data‑pipeline. The concepts here apply to any OCR library: preprocessing is often the difference between a half‑read invoice and a perfectly captured document. + +Got more questions? Maybe you’re curious about handling handwritten text or batch‑processing thousands of files. Drop a comment, and we’ll explore those scenarios together. 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/net/text-recognition/_index.md b/ocr/english/net/text-recognition/_index.md index b3bb5f05..09fc7dd3 100644 --- a/ocr/english/net/text-recognition/_index.md +++ b/ocr/english/net/text-recognition/_index.md @@ -55,9 +55,22 @@ Enhance your .NET applications with Aspose.OCR for efficient image text recognit Unlock the potential of OCR in .NET with Aspose.OCR. Extract text from PDFs effortlessly. Download now for a seamless integration experience. ### [Recognize Table in OCR Image Recognition](./recognize-table/) Unlock the potential of Aspose.OCR for .NET with our comprehensive guide on recognizing tables in OCR image recognition. +### [c# ocr tutorial – Extract Hindi Text from PNG Receipts](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Learn how to extract Hindi text from PNG receipt images using Aspose.OCR in C#. Follow the step-by-step guide for accurate OCR results. +### [Extract Text from PNG – Complete Aspose OCR Tutorial](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Learn how to extract text from PNG images using Aspose OCR with a complete guide. Follow step-by-step instructions for accurate results. +### [recognize text in jpg with Aspose OCR – Complete C# Guide](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Learn how to recognize text in JPG images using Aspose OCR with a complete C# guide. Follow step-by-step instructions for accurate results. +### [c# OCR tutorial: Extract text from image and DJVU files](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Learn how to extract text from image and DJVU files using Aspose.OCR in C#. Follow the step-by-step guide for accurate OCR results. +### [Extract Text from TIFF with Aspose OCR C# – Full Tutorial](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Learn how to extract text from TIFF images using Aspose.OCR in C#. Follow the comprehensive step-by-step guide for accurate OCR results. +### [c# ocr tutorial – Extract Text from Images with Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Learn how to extract text from various image formats using Aspose.OCR in C#. Follow the step-by-step guide for accurate OCR results. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/english/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..de78b777 --- /dev/null +++ b/ocr/english/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,241 @@ +--- +category: general +date: 2026-01-09 +description: c# ocr tutorial to read text from PNG, convert image to text and recognize + Hindi text on a receipt using Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: en +og_description: c# ocr tutorial that teaches you how to read text from PNG, convert + image to text and recognize Hindi text on a receipt with Aspose OCR. +og_title: c# ocr tutorial – Extract Hindi Text from PNG Receipts +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# ocr tutorial – Extract Hindi Text from PNG Receipts +url: /net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Extract Hindi Text from PNG Receipts + +Ever wondered how to **read text from PNG** files in a C# application? Maybe you have a bunch of Hindi receipts and need to pull the amounts automatically. That’s exactly what this c# ocr tutorial tackles—turning an image into searchable text with just a few lines of code. + +In this guide we’ll walk through installing Aspose OCR, loading a PNG receipt, recognizing Hindi characters, and finally printing the extracted string to the console. By the end you’ll be able to **convert image to text**, **recognize Hindi text**, and even **extract text from receipt** images without leaving your IDE. + +> **Prerequisite note:** You need a valid Aspose OCR license (or you can use the free trial) and .NET 6+ installed. If you’re new to NuGet, don’t worry—we’ll cover that too. + +--- + +## What You’ll Need + +- **Visual Studio 2022** (or any C#‑compatible editor) +- **.NET 6 SDK** (or later) +- **Aspose.OCR** NuGet package + ```bash + dotnet add package Aspose.OCR + ``` +- A sample receipt image, e.g., `hindi-receipt.png`, saved in your project folder. + +Having these ready means you can copy‑paste the final code and hit **F5** immediately. + +--- + +## Step 1: Set Up the Project and Import Namespaces + +First, create a console project if you don’t already have one: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Now open `Program.cs`. At the top, import the Aspose OCR namespaces so the compiler knows where to find the classes: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Why this matters:** The `OcrEngine` lives in `Aspose.OCR`, while language‑related enums are in `Aspose.OCR.Settings`. Forgetting either will cause a compile‑time error. + +--- + +## Step 2: Initialize the OCR Engine and Choose the Language Model + +The OCR engine needs to know **which language** to look for. Aspose ships with many language packs; specifying `OcrLanguage.Hindi` tells the engine to download (if missing) and use the Hindi model. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Pro tip:** If you plan to process receipts in multiple languages, you can switch `Language` at runtime or even enable `MultiLanguage` mode. + +--- + +## Step 3: Feed the PNG Receipt to the Engine + +Here’s where we **read text from PNG**. Provide the full path (relative to the executable works fine). The method returns a plain string containing everything the engine could decipher. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +If the image is high‑resolution and the text is clean, you’ll get near‑perfect results. For noisy scans, consider pre‑processing (e.g., binarization) – Aspose offers `PreprocessImage` methods you can explore later. + +--- + +## Step 4: Display or Persist the Extracted Text + +Most developers simply dump the result to the console while testing. In a production scenario you might write to a database or a CSV file. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Running the program with the sample receipt prints something like: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +That’s the **convert image to text** part in action—no manual transcription required. + +--- + +## Full Working Example (Copy‑Paste Ready) + +Below is the complete, self‑contained program. Paste it into `Program.cs`, place `hindi-receipt.png` beside the compiled `.exe`, and hit **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Expected Output + +When the receipt image contains clear Hindi characters, the console will display the extracted lines, preserving line breaks. If the OCR fails to recognize a word, you’ll see a garbled fragment—just a cue to improve image quality or tweak preprocessing. + +--- + +## Step 5: Going Beyond – Extract Text from Receipt Programmatically + +If your goal is to **extract text from receipt** fields (date, total, invoice number), you can post‑process the OCR string with regular expressions: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +This tiny snippet shows how to turn raw OCR output into structured data—perfect for feeding into accounting software. + +--- + +## Common Pitfalls & How to Avoid Them + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Blank output** | Image path wrong or file not copied to output folder. | Use `Path.GetFullPath` and verify the file exists (`File.Exists`). | +| **Garbage characters** | Low‑resolution PNG or compressed colors. | Upscale the image, set DPI to 300+, or use `ocrEngine.ImagePreprocessor`. | +| **Language model not downloaded** | No internet connection on first run. | Pre‑download the Hindi model via Aspose portal or host it locally. | +| **Performance lag** | Processing many pages in a loop without disposal. | Wrap `OcrEngine` in a `using` block or reuse a single instance. | + +--- + +## Image Illustration + +![c# ocr tutorial reading Hindi text from PNG receipt](https://example.com/placeholder-image.png "c# ocr tutorial – read text from png receipt") + +*The screenshot shows a Hindi receipt before and after OCR conversion.* + +--- + +## Recap: What We Covered + +- Set up a C# console app and added the Aspose OCR NuGet package. +- Initialized `OcrEngine` with the **recognize hindi text** language model. +- **Read text from PNG** using `RecognizeImage`. +- **Convert image to text** and printed the result. +- Demonstrated a simple pattern to **extract text from receipt** fields. + +All of this was delivered in a single, runnable file—exactly what a **c# ocr tutorial** should provide. + +--- + +## Next Steps & Related Topics + +1. **Batch processing** – loop through a folder of receipt images and store results in CSV. +2. **Pre‑processing** – explore `ocrEngine.ImagePreprocessor` for noise removal, skew correction, or contrast enhancement. +3. **Multi‑language OCR** – enable `OcrLanguage.Multilingual` to handle receipts that mix Hindi and English. +4. **Integration** – push extracted data into an Entity Framework Core model for persistent storage. + +If you’re curious about any of these, check out our tutorials on **convert image to text in C#** and **extract structured data from OCR results**. + +--- + +### Happy Coding! + +Feel free to drop a comment if you hit any snags, or share how you’ve extended this **c# ocr tutorial** in your own projects. Remember, OCR is just the first step—clean data is where the real magic happens. 🚀 + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/english/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..30b04705 --- /dev/null +++ b/ocr/english/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,256 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR tutorial that shows how to extract text from image files and convert + DJVU to text using Aspose.OCR. Learn step‑by‑step extraction in minutes. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: en +og_description: c# OCR tutorial that quickly shows how to extract text from image + files and convert DJVU to text using Aspose.OCR. Follow the guide for a working + solution. +og_title: c# OCR tutorial – Extract text from image & DJVU +tags: +- OCR +- C# +- Aspose +title: 'c# OCR tutorial: Extract text from image and DJVU files' +url: /net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR tutorial – Extract text from image and DJVU files + +Ever wondered how to extract text from image files without pulling your hair out? In this **c# OCR tutorial** we’ll walk through a complete, ready‑to‑run example that pulls text out of a regular picture *and* a DJVU document. + +If you’re also looking for a quick way to **convert DJVU to text**, you’re in the right place—no extra converters, just pure C# code. + +## What you’ll learn + +- How to set up the Aspose.OCR library in a .NET project. +- The exact code you need to **extract text from image** files. +- A concise method for **extracting text from DJVU** files (yes, the same engine does it). +- Common pitfalls (large files, missing fonts, licensing) and how to avoid them. + +All you need is a recent .NET SDK and an internet connection to grab the NuGet package. No prior OCR experience required. + +## Prerequisites + +Before diving in, make sure you have: + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6.0 or later | Aspose.OCR targets .NET Standard 2.0, so .NET 6+ gives you the best performance. | +| Visual Studio 2022 (or VS Code) | IDEs make package management painless, but any editor works. | +| NuGet package **Aspose.OCR** | This is the engine that actually does the heavy lifting. | +| A sample image (`sample.png`) and a DJVU file (`sample.djvu`) | We'll use these to demonstrate both extraction scenarios. | + +You can install the package with the following command: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** If you’re on a CI server, add `--no-restore` to the build step and restore once at the start to speed things up. + +## Step 1: Initialize the OCR engine – the heart of the c# OCR tutorial + +The first thing we do is create an instance of `OcrEngine`. Think of it as turning on the scanner in your software. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Why create a new engine each time? Because the engine holds configuration (language, detection mode, etc.). By starting fresh you avoid stale settings leaking between runs. + +## Step 2: Load and recognize an image – how to extract text from image + +Now we’ll feed a regular bitmap (PNG, JPEG, BMP…) into the engine. The `RecognizeImage` method returns the detected string. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +A few things to note: + +* **File existence** – If the path is wrong the method throws `FileNotFoundException`. Wrap it in a `try/catch` if you expect user‑provided paths. +* **Image quality** – OCR works best on 300 dpi or higher. Low‑resolution scans may produce garbled output. +* **Language support** – By default Aspose.OCR assumes English. To change it, set `ocrEngine.Language = Language.Spanish;` before `RecognizeImage`. + +## Step 3: Recognize text from a DJVU document – convert DJVU to text + +DJVU is a container format that can hold multiple pages. Aspose.OCR can handle it directly; you just point to the file. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +Under the hood, the engine extracts each page as an image and runs the same recognition pipeline. That’s why you don’t need a separate “convert DJVU to text” step—the OCR engine does it for you. + +### Handling multi‑page DJVU files + +If your DJVU contains several pages, `RecognizeImage` concatenates them in order. Should you need each page separately, you can use the overload that returns a `List`: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Step 4: Fine‑tune the engine for better accuracy – why this matters + +Out‑of‑the‑box results are decent, but you can boost them by tweaking a couple of settings: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +These flags are especially useful when **how to extract text** from scanned PDFs that were first saved as DJVU. Turning on orientation detection saves you from manually rotating images. + +## Step 5: Dealing with licensing and runtime errors + +Aspose.OCR ships with a free trial that stamps “Demo” on the output after a few pages. To remove the watermark, add your license file: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +If you forget this step, the engine still works, but the result will contain the word “Demo”. Also, watch out for `OutOfMemoryException` when processing huge DJVU files—consider processing page‑by‑page as shown earlier. + +## Complete, runnable example + +Below is a self‑contained console program that puts everything together. Copy‑paste, adjust the file paths, and hit **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Expected output** (assuming the files contain the phrase “Hello World”): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +If the source contains multiple lines, they’ll appear exactly as in the original document. + +## Common questions & edge‑case handling + +* **What if the image is black‑and‑white?** + OCR works fine, but you can improve contrast with `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +* **Can I extract only numbers?** + Yes—set `ocrEngine.CharWhitelist = "0123456789";` before calling `RecognizeImage`. + +* **Is there a limit on file size?** + The engine reads the whole file into memory. For files larger than ~100 MB, process page‑by‑page (see Step 3’s list overload). + +* **How does this differ from Tesseract?** + Aspose.OCR is a commercial library with built‑in DJVU support and no native dependencies, whereas Tesseract requires native binaries and separate DJVU conversion tools. + +## Conclusion + +You’ve just completed a **c# OCR tutorial** that shows how to **extract text from image** files and seamlessly **convert DJVU to text** using Aspose.OCR. The example covers everything from package installation to licensing, from single‑page image extraction to multi‑page DJVU handling, and even tips for boosting accuracy. + +Next, you might explore **how to extract text** from PDFs, integrate the OCR step into a web API, or experiment with language packs for multilingual documents. The sky’s the limit—just remember the key takeaways: set the engine, feed it a file, and read the string back. + +Got more questions? Drop a comment, try the code on your own documents, and happy coding! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# OCR tutorial – console output 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/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/english/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..71fb20f9 --- /dev/null +++ b/ocr/english/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: c# ocr tutorial that shows how to extract text from image files, recognize + text from png, convert image to string, and detect language automatically using + Aspose.OCR. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: en +og_description: c# ocr tutorial that walks you through extracting text from images, + recognizing text from png files, converting images to strings, and auto‑detecting + language using Aspose OCR. +og_title: c# ocr tutorial – Extract Text from Images +tags: +- C# +- OCR +- Aspose +- Image Processing +title: c# ocr tutorial – Extract Text from Images with Aspose OCR +url: /net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Extract Text from Images with Aspose OCR + +Ever needed a **c# ocr tutorial** that actually works on a real‑world PNG file? Maybe you’re building a receipt‑scanner, a multilingual form processor, or just curious how to turn a picture of text into a searchable string. Whatever the case, you’re in the right spot. + +In this guide we’ll show you step‑by‑step how to **extract text from image** files, **recognize text from png**, **convert image to string**, and even **detect language automatically**—all with the Aspose.OCR library. No vague references, just a complete, runnable example you can copy‑paste into Visual Studio. + +## What You’ll Need + +- .NET 6.0 or later (the code works with .NET Core and .NET Framework as well) +- A NuGet reference to `Aspose.OCR` (version 23.9 or newer) +- An image file (`mixed‑script.png` in this example) placed somewhere the app can read +- A basic understanding of C# (if you’ve written a “Hello World”, you’re good) + +> **Pro tip:** If you don’t already have a license, Aspose offers a free temporary license for testing. Just drop the `.lic` file next to your executable. + +## Step 1 – Install the Aspose.OCR NuGet Package + +First, add the library to your project. Open the Package Manager Console and run: + +```powershell +Install-Package Aspose.OCR +``` + +Or, if you prefer the UI, right‑click *Dependencies → Manage NuGet Packages* and search for **Aspose.OCR**. + +## Step 2 – Prepare the OCR Engine (c# ocr tutorial core) + +Now we’ll create an `OcrEngine` instance, tell it to auto‑detect the language, and point it at our PNG file. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Why we set `Language = OcrLanguage.AutoDetect` + +Automatic language detection saves you from guessing whether the image contains English, Russian, Arabic, or a mix. It’s the most flexible option for a **detect language automatically** scenario, and it works out‑of‑the‑box for most scripts supported by Aspose. + +## Step 3 – Run the Application and Verify the Output + +Compile and run the program (`dotnet run` or press **F5** in Visual Studio). If everything is wired correctly, you’ll see something like: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +That output proves we successfully **extract text from image**, **recognize text from png**, and **convert image to string** – all in a single, concise snippet. + +## Step 4 – Common Variations & Edge Cases + +### Handling Multiple Images + +If you need to process a directory of PNGs, wrap the recognition call in a `foreach` loop: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Specifying a Fixed Language + +Sometimes you know the language ahead of time (e.g., only English). You can replace `AutoDetect` with `OcrLanguage.English` to speed up processing: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Dealing With Low‑Quality Scans + +Aspose.OCR offers preprocessing options (noise reduction, deskew). For a quick fix: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Saving the Result to a File + +Instead of printing to console, you might want to write the extracted text to a `.txt` file: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Step 5 – Full Working Example (Copy‑Paste Ready) + +Below is the **complete program** including optional preprocessing and file‑output logic. Feel free to tweak the paths. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Expected Output + +Running the program on a PNG that contains English, Russian, and Arabic yields: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +If the image is blank or unreadable, the engine returns an empty string—handle that case by checking `string.IsNullOrWhiteSpace(extractedText)` before proceeding. + +## Frequently Asked Questions (FAQs) + +**Q: Does Aspose.OCR support handwritten text?** +A: It focuses on printed OCR. For handwriting you’d need a dedicated ML model or a service like Azure Computer Vision. + +**Q: Can I run this on Linux/macOS?** +A: Absolutely. Aspose.OCR is cross‑platform; just install the .NET runtime for your OS. + +**Q: What if I need to process PDFs instead of PNGs?** +A: Convert each PDF page to an image first (e.g., using `Aspose.PDF`) and then feed the image to the OCR engine. + +## Conclusion + +We’ve just completed a **c# ocr tutorial** that walks you through **extracting text from image** files, **recognizing text from png**, **converting the image to a string**, and **detecting language automatically** using Aspose.OCR. The code is short, the concepts are clear, and you can expand it to batch processing, custom language settings, or even integrate it into a web API. + +Next steps? Try feeding the OCR output into a search index, feed it to a translation service, or combine it with Azure Cognitive Services for even richer data pipelines. The sky’s the limit once you’ve mastered the basics of image‑to‑text conversion in C#. + +Happy coding, and don’t forget to experiment with different image qualities—your OCR engine will thank you! + +![c# ocr tutorial – example of OCR output on a mixed‑script PNG](placeholder-image.png "c# ocr tutorial – OCR result screenshot") + +{{< /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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/english/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..3466486f --- /dev/null +++ b/ocr/english/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-01-09 +description: Extract text from PNG quickly with Aspose OCR. Learn how to read image + text, improve OCR accuracy, and get clean results in C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: en +og_description: Extract text from PNG quickly with Aspose OCR. Learn how to read image + text, improve OCR accuracy, and get clean results in C#. +og_title: Extract Text from PNG – Complete Aspose OCR Tutorial +tags: +- Aspose OCR +- C# +- Image Processing +title: Extract Text from PNG – Complete Aspose OCR Tutorial +url: /net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extract Text from PNG – Complete Aspose OCR Tutorial + +Ever needed to **extract text from PNG** files but the results were riddled with gibberish? You’re not alone. In many real‑world projects – invoices, receipts, or scanned forms – the quality of OCR output can make or break automation pipelines. + +In this guide we’ll show you a **step‑by‑step** way to read image text using Aspose OCR, sprinkle a custom dictionary to **improve OCR accuracy**, clean up the noise, and finally print a tidy string. By the end you’ll have a ready‑to‑run C# console app that reliably extracts text from PNG images. + +> **What you’ll walk away with** +> * A complete, runnable code sample. +> * Understanding of why a custom dictionary matters. +> * Tips for handling edge cases like low‑contrast scans. + +## Prerequisites + +- .NET 6 SDK or later (the code targets .NET 6, but .NET 5 works as well). +- Visual Studio 2022 or any editor you prefer. +- A **PNG** image you want to process – for example `invoice.png`. +- The **Aspose.OCR** NuGet package (`dotnet add package Aspose.OCR`). + +No extra configuration files are needed; everything lives in a single `.cs` file. + +## Step 1 – Install and Reference Aspose OCR + +First, pull the library into your project. Open a terminal in your solution folder and run: + +```bash +dotnet add package Aspose.OCR +``` + +That single line fetches the latest stable version (as of Jan 2026, version 23.9). The package includes the `OcrEngine` class we’ll use throughout the tutorial. + +## Step 2 – Initialize the OCR Engine + +Creating an `OcrEngine` instance is the foundation. Think of it as turning on a scanner that’s ready to interpret pixels. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Pro tip:** If you plan to process many images in a loop, reuse the same `OcrEngine` instance. It caches internal resources and speeds up subsequent calls. + +## Step 3 – Boost Accuracy with a Custom Dictionary + +Out‑of‑the‑box OCR is good, but it can stumble on domain‑specific words like “Aspose”, “OCR”, or “SDK”. Adding those terms to a **custom dictionary** tells the engine those strings are valid, reducing mis‑recognitions. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Why a custom dictionary helps + +- **Statistical models** behind OCR weigh common language patterns heavily. Uncommon words get low probability and may be replaced by similar‑looking characters. +- By explicitly listing them, you override the model’s guesswork. +- It’s especially handy for **read image text** that contains product codes, abbreviations, or brand names. + +## Step 4 – Recognize Text from the PNG File + +Now we feed the engine the image path. The `RecognizeImage` method returns a raw string that still contains unknown tokens (e.g., “#@!”) that the engine couldn’t map. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Edge case:** If the file isn’t found, `RecognizeImage` throws a `FileNotFoundException`. Wrap the call in a try‑catch block for production code. + +## Step 5 – Clean the Result with `CleanText` + +Aspose OCR ships with a helper that strips out characters it flags as “unknown”. This step is crucial for **extract text from image** projects where downstream parsers expect only alphanumerics and basic punctuation. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +The `CleanText` method also normalizes line endings, making the output safe to store in databases or pass to other services. + +## Step 6 – Output the Cleaned Text + +Finally, display or store the result. In a console app, `Console.WriteLine` does the trick. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +When you run the program, you should see a tidy block of text that mirrors the contents of `invoice.png`. If the image contains the word “Aspose”, the custom dictionary ensures it appears correctly rather than something like “A5p0se”. + +## Full Working Example + +Putting everything together, here’s the complete `Program.cs` you can copy‑paste into a new console project: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Expected output** (assuming the PNG contains a simple invoice): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +If you see stray symbols, double‑check the image quality or expand the custom dictionary with more terms. + +## Bonus: Handling Low‑Quality Scans + +Sometimes PNGs are scanned at 72 dpi or have heavy compression artifacts. Here are a few quick tricks to **improve OCR accuracy** without leaving C#: + +1. **Pre‑process the image** with a library like `SixLabors.ImageSharp` – increase contrast, convert to grayscale, or apply a slight blur to reduce noise. +2. **Set the `Resolution` property** on the `OcrEngine` (e.g., `ocrEngine.Resolution = 300;`) to tell the engine to treat the image as higher‑resolution. +3. **Enable language packs** if you’re dealing with non‑English text (`ocrEngine.Language = Language.English;`). + +All three approaches can be added before the `RecognizeImage` call. + +## Frequently Asked Questions + +- **Does this work with other image formats?** + Yes. `RecognizeImage` accepts JPEG, BMP, TIFF, and even PDF (as an image container). The same steps apply. + +- **Can I extract text from multiple PNGs in a folder?** + Absolutely. Wrap the core logic in a `foreach (var file in Directory.GetFiles(folder, "*.png"))` loop and store each result in a list or write to separate files. + +- **What if I need the text coordinates?** + Aspose OCR also provides `OcrResult` objects that include bounding boxes. Use `ocrEngine.RecognizeImageToResult(imagePath)` for that advanced scenario. + +## Conclusion + +We’ve walked through a **complete, end‑to‑end** solution for **extracting text from PNG** files using Aspose OCR. By initializing the engine, feeding it a **custom dictionary**, cleaning the raw output, and handling a few common pitfalls, you can reliably **read image text** and **improve OCR accuracy** in your own C# applications. + +Ready for the next step? Try swapping the PNG for a scanned receipt, add more domain‑specific words to the dictionary, or integrate the output with a database for automated invoice processing. The sky’s the limit when you combine Aspose OCR with .NET’s rich ecosystem. + +Happy coding, and may your OCR always be spot‑on! + +![Extract text from png example](/images/extract-text-from-png.png "extract text from png – Aspose OCR demo") + +{{< /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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/english/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..b7ea462c --- /dev/null +++ b/ocr/english/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,261 @@ +--- +category: general +date: 2026-01-09 +description: Extract text from TIFF files using Aspose OCR in C#. Learn how to get + first 50 characters of each result in this step‑by‑step tutorial. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: en +og_description: Extract text from TIFF using Aspose OCR in C#. This guide shows how + to get the first 50 characters of each OCR result, step by step. +og_title: Extract Text from TIFF with Aspose OCR – Complete C# Guide +tags: +- Aspose OCR +- C# +- TIFF processing +title: Extract Text from TIFF with Aspose OCR C# – Full Tutorial +url: /net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extract Text from TIFF – Complete Aspose OCR C# Tutorial + +Ever needed to **extract text from TIFF** images but weren’t sure which library to trust? You’re not alone. Many developers hit a wall when they try to pull searchable text out of multi‑page TIFFs, especially when performance matters. + +In this **aspose ocr c# tutorial** we’ll walk through a ready‑to‑run example that not only extracts the full text but also shows you how to **get first 50 characters** of each page for quick previews. By the end you’ll have a self‑contained program you can drop into any .NET project. + +## What You’ll Need + +- .NET 6 (or any recent .NET version) – the code compiles with .NET Core and .NET Framework alike. +- An active Aspose.OCR for .NET license (you can start with a free trial). +- A folder that contains one or more `.tif` files you want to process. +- Visual Studio, VS Code, or any IDE you prefer – the example is plain C# so the editor choice is irrelevant. + +> **Pro tip:** If you’re on a CI server, add the Aspose.OCR NuGet package (`Aspose.OCR`) to your project file; the library is fully managed and has no native dependencies. + +## Step 1: Install the Aspose OCR NuGet Package + +First things first, let’s bring the OCR engine into the project. Open a terminal in your solution folder and run: + +```bash +dotnet add package Aspose.OCR +``` + +This command pulls the latest stable version (as of Jan 2026 it’s 23.9) and updates your `.csproj` automatically. No manual DLL juggling required. + +## Step 2: Initialize the OCR Engine + +Now we create an instance of `OcrEngine`. Think of it as the “brain” that will read every TIFF page. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Why do we instantiate the engine only once? Because `RecognizeImages` can accept a collection of file paths, letting the engine reuse internal buffers and dramatically speeding up batch processing. + +## Step 3: Gather All TIFF Files in One Call + +Instead of looping over the directory yourself, we let .NET do the heavy lifting. The `Directory.GetFiles` method returns an `IEnumerable` that we can feed straight into the OCR call. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **What if my images are JPEG or PNG?** Just change the search pattern (`"*.jpg"` or `"*.*"`). Aspose OCR works with all common raster formats. + +## Step 4: Run OCR on the Whole Collection + +Here’s the magic line that processes every file in a single request. The method returns a dictionary where the key is the file path and the value is an `OcrResult` object containing the recognized text. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Why batch‑process? It reduces the overhead of repeatedly loading the OCR engine, and on multi‑core machines Aspose internally parallelizes the work, giving you a noticeable speed boost. + +## Step 5: Show a Preview – Get First 50 Characters + +Most UI scenarios need just a snippet, not the whole document. We’ll extract the first 50 characters (or fewer if the page is short) and print them alongside the file name. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +The line `Math.Min(50, fullText.Length)` guarantees we never exceed the string bounds – a tiny safeguard that prevents a `ArgumentOutOfRangeException` when the OCR result is shorter than 50 characters. + +### Expected Console Output + +Assuming you have two TIFF files (`invoice1.tif` and `receipt2.tif`) the console might show: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Each line ends with an ellipsis (`...`) to indicate that the preview is just the beginning of a longer text block. + +## Step 6: Handle Edge Cases and Common Pitfalls + +### Empty or Corrupt Files + +If a file can’t be read, `RecognizeImages` still returns an entry with an empty `Text` property. You can filter those out: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Large Batches + +Processing thousands of TIFFs may consume a lot of memory. In such cases, use the overload that accepts a `Stream` per image, or process the list in smaller chunks: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Language and Font Support + +If your documents contain non‑Latin characters, set the language before calling `RecognizeImages`: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +This small tweak can boost accuracy dramatically. + +## Step 7: Full Working Example (Copy‑Paste Ready) + +Below is the complete program you can paste into a new console project (`dotnet new console`) and run as‑is (just replace `YOUR_DIRECTORY/Batch` with the real path). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Run the program with `dotnet run`. You should see a concise preview for each TIFF file, confirming that you have successfully **extract text from TIFF** images using Aspose OCR. + +## Frequently Asked Questions (FAQ) + +**Q: Does this work with multi‑page TIFFs?** +A: Yes. Aspose OCR treats each page as a separate image internally, so a multi‑page TIFF yields a single concatenated string per file. You can split it later if needed. + +**Q: How accurate is the OCR out of the box?** +A: For clean, high‑resolution scans (300 DPI or higher) you can expect >95 % accuracy on English text. Pre‑processing (deskew, binarization) can push it even higher. + +**Q: Can I output the results to a CSV file?** +A: Absolutely. Replace the `Console.WriteLine` with a `StreamWriter` and write `fileName,preview` rows. Remember to escape commas in the preview text. + +## Next Steps and Related Topics + +- **Persist OCR results** – Store the full text in a database for searchable archives. +- **Combine with PDF conversion** – Use Aspose.PDF to embed the extracted text back into searchable PDFs. +- **Batch processing on Azure Functions** – Scale out the OCR work without managing servers. + +All of these extensions tie back to the core idea of **extract text from TIFF** efficiently, while still letting you **get first 50 characters** for quick UI previews. + +--- + +*Happy coding! If you run into any quirks, drop a comment below – I’ll do my best to help you fine‑tune the OCR pipeline.* + +![Extract text from TIFF using Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extract text from TIFF using Aspose 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/english/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/english/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..b1742905 --- /dev/null +++ b/ocr/english/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,238 @@ +--- +category: general +date: 2026-01-09 +description: recognize text in jpg quickly using Aspose OCR in C#. Learn how to extract + text from image, convert image to JSON and EPUB in a single tutorial. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: en +og_description: recognize text in jpg with Aspose OCR. This guide shows how to extract + text from image, convert image to JSON and EPUB, and create an ePub from an image. +og_title: recognize text in jpg – Full C# Tutorial +tags: +- Aspose OCR +- C# +- Image Processing +title: recognize text in jpg with Aspose OCR – Complete C# Guide +url: /net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# recognize text in jpg – Complete C# Guide + +Ever needed to **recognize text in jpg** files but weren’t sure which library to pick? You’re not alone. Many developers hit the same wall when they first try to pull words out of a photograph or scanned document. + +The good news? With Aspose OCR you can **extract text from image** files in a few lines of C# code, then instantly **convert image to JSON** or even **convert image to EPUB**—all without leaving your IDE. + +In this tutorial we’ll walk through the entire workflow: from installing the right NuGet packages, through recognizing text in a JPG, to saving the result as structured JSON and as an ePub document. By the end you’ll be able to **create epub from image** files programmatically, a handy trick for e‑learning platforms, digital libraries, or any app that needs searchable e‑books. + +--- + +## What You’ll Need + +- **.NET 6+** (or .NET Framework 4.6+). The code works on any recent runtime. +- **Aspose.OCR** NuGet package – the core OCR engine. +- **Aspose.Publishing** NuGet package – required for the ePub output format. +- An image file named `input.jpg` located somewhere on your disk (replace the path with your own). +- A text editor or IDE (Visual Studio, VS Code, Rider—your call). + +That’s it. No extra services, no external APIs, just a couple of libraries and a JPG file. + +--- + +## Step 1: Set Up Your Project to **recognize text in jpg** + +First, create a new console application (or add to an existing project). Then add the two Aspose packages via the NuGet Package Manager: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Pro tip:** If you’re using Visual Studio, right‑click the project → *Manage NuGet Packages* → search for *Aspose.OCR* and *Aspose.Publishing*, then click **Install**. + +These packages bring in everything you need to **extract text from image** and to output an ePub file later on. + +--- + +## Step 2: **Extract text from image** Using Aspose OCR + +Now we’ll write the code that actually reads the JPG and pulls the characters out of it. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Why this works:** `OcrEngine` abstracts away all the low‑level image preprocessing, language detection, and character segmentation. You simply point it at a file and it returns an `OcrResult` object containing the plain‑text string (`ocrResult.Text`) and a rich set of metadata. + +--- + +## Step 3: **Convert image to JSON** – Exporting the OCR Result + +If you need to store the OCR output in a structured format (for APIs, databases, or downstream processing), Aspose makes it trivial to serialize the result to JSON. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +The generated JSON looks roughly like this (trimmed for brevity): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**When to use it:** JSON is perfect if you’re feeding the OCR data into a web service, storing it in a NoSQL store, or simply need a portable representation that can be parsed by any language. + +--- + +## Step 4: **Convert image to EPUB** – Saving as an eBook + +Aspose Publishing adds support for several e‑book formats, including EPUB. By calling `Save` on the `OcrResult` you can generate a fully‑compliant ePub file that contains the recognized text and, optionally, the original image. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**What you get:** An ePub that you can open in any reader (Calibre, Apple Books, Adobe Digital Editions). The file includes the extracted text as searchable content, plus the source image as a background layer—ideal for creating **create epub from image** pipelines. + +--- + +## Step 5: Full Working Example – From JPG to JSON & EPUB + +Putting everything together, here’s the complete, ready‑to‑run program. Copy‑paste this into `Program.cs`, adjust the file paths, and hit **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Run the program and you should see three things: + +1. The recognized text printed in the console. +2. An `output.json` file containing the structured OCR data. +3. An `output.epub` file you can open with any e‑book reader. + +--- + +## Common Questions & Edge Cases + +- **What if the image is a PNG or BMP?** + Aspose OCR supports most raster formats (PNG, BMP, TIFF, GIF). Just change the file extension in `inputPath`; the same code works. + +- **Can I specify a language other than English?** + Yes. Set `ocrEngine.Language = OcrLanguage.French;` (or any supported language) before calling `RecognizeImage`. + +- **What about multi‑page PDFs?** + For PDFs you’d first convert each page to an image (Aspose.PDF can do that) and then feed each image to `RecognizeImage`. The resulting `OcrResult` objects can be merged before exporting to JSON or EPUB. + +- **I get low confidence scores. How can I improve accuracy?** + Pre‑process the image: increase contrast, deskew, or convert to grayscale. Aspose OCR also offers `PreprocessOptions` you can tweak. + +--- + +## Conclusion + +You now have a solid, end‑to‑end recipe to **recognize text in jpg** files using Aspose OCR, then **convert image to JSON** for data pipelines and **convert image to EPUB** to build searchable e‑books. The approach is lightweight, requires only two NuGet packages, and works across all modern .NET runtimes. + +From here you might: + +- Integrate the JSON output into a search index (Azure Cognitive Search, Elastic). +- Batch‑process a folder of images and generate a library of ePub books. +- Extend the workflow with translation APIs to create multilingual e‑books automatically. + +Give it a try, experiment with different image qualities, and let the OCR engine do the heavy lifting. Happy coding! + +--- + +![recognize text in jpg output screenshot](placeholder-image.png "recognize text in jpg 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/french/net/ocr-configuration/_index.md b/ocr/french/net/ocr-configuration/_index.md index 277556a4..d8ace2f3 100644 --- a/ocr/french/net/ocr-configuration/_index.md +++ b/ocr/french/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ Libérez la puissance de la reconnaissance d’images OCR dans .NET avec Aspose. Débloquez de puissantes capacités OCR avec Aspose.OCR pour .NET. Extrayez le texte des images de manière transparente. ### [OCROOpération avec liste dans la reconnaissance d'images OCR](./ocr-operation-with-list/) Libérez le potentiel d’Aspose.OCR pour .NET. Effectuez sans effort la reconnaissance d’images OCR avec des listes. Boostez la productivité et l’extraction de données dans vos applications. +### [Comment faire l'OCR d'une image en C# – Guide complet avec support GPU](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Apprenez à extraire du texte d'images en C# en utilisant Aspose.OCR avec le support GPU pour des performances optimales. +### [Reconnaître du texte à partir d'une image avec Aspose OCR – Guide complet C#](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Apprenez à extraire du texte d'une image en C# avec Aspose OCR grâce à ce guide complet. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/french/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..7ed2b3bd --- /dev/null +++ b/ocr/french/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,204 @@ +--- +category: general +date: 2026-01-09 +description: Apprenez à effectuer la reconnaissance optique de caractères (OCR) sur + une image et à extraire le texte de l'image avec Aspose.OCR. Comprend les étapes + pour convertir un document numérisé, activer le GPU et lire l'image avec l'OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: fr +og_description: Comment effectuer rapidement la reconnaissance OCR d’une image avec + Aspose.OCR. Suivez ce tutoriel étape par étape pour extraire le texte d’une image, + convertir un document numérisé et activer le GPU. +og_title: Comment faire de l'OCR d'image en C# – Guide accéléré par GPU +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Comment faire de l’OCR d’image en C# – Guide complet avec prise en charge du + GPU +url: /fr/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment faire de l'OCR d'image en C# – Guide complet avec prise en charge GPU + +Vous vous êtes déjà demandé **comment faire de l'OCR d'image** directement depuis votre application .NET ? Vous n'êtes pas le seul—les développeurs ont constamment besoin d'extraire du texte à partir de PDFs, TIFF et photos, surtout lorsqu'ils traitent de gros documents numérisés. Bonne nouvelle ? Avec Aspose.OCR vous pouvez **extraire le texte d'une image** en quelques lignes seulement, et vous pouvez même **activer l'accélération GPU** pour un traitement plus rapide. + +Dans ce tutoriel, nous passerons en revue tout ce que vous devez savoir : de l'installation de la bibliothèque, à l'initialisation du moteur OCR avec repli GPU, jusqu'à **lire l'image avec OCR** et afficher le résultat. À la fin, vous serez capable de **convertir des images de documents numérisés** en chaînes éditables—sans services externes requis. + +--- + +## Ce dont vous aurez besoin + +- **.NET 6.0** ou version ultérieure (le code fonctionne également sur .NET Core et .NET Framework). +- Une **licence** pour Aspose.OCR ou une clé d'évaluation temporaire (l'essai gratuit fonctionne pour les tests). +- Un fichier image que vous souhaitez traiter—de préférence un TIFF ou PNG haute résolution. +- (Optionnel) Une machine avec GPU activé si vous voulez voir le gain de vitesse ; sinon le moteur reviendra gracieusement au CPU. + +Avoir ces prérequis couverts signifie que vous pouvez vous concentrer sur le flux de travail OCR réel sans rencontrer d'obstacle plus tard. + +--- + +## Étape 1 : Installer le package NuGet Aspose.OCR + +Tout d'abord, ajoutez la bibliothèque Aspose.OCR à votre projet. Ouvrez un terminal dans le dossier de votre solution et exécutez : + +```bash +dotnet add package Aspose.OCR +``` + +Ou, si vous utilisez l'interface NuGet de Visual Studio, recherchez simplement **Aspose.OCR** et cliquez sur installer. Cette commande unique récupère toutes les DLL nécessaires, y compris les binaires GPU natifs lorsqu'ils sont disponibles. + +> **Astuce :** Gardez le package à jour. Les nouvelles versions incluent souvent des améliorations des modèles de langue et un meilleur support GPU. + +--- + +## Étape 2 : Importer les espaces de noms requis + +Maintenant que le package est installé, importez les espaces de noms pertinents. Cette étape est où nous commençons **comment faire de l'OCR d'image** dans le code. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +Ces deux lignes vous donnent accès à la classe `OcrEngine` et à l'objet de paramètres qui vous permet d'activer ou désactiver l'utilisation du GPU. Sans elles, le compilateur ne saurait pas ce que signifie `OcrEngine`. + +--- + +## Étape 3 : Initialiser le moteur OCR et activer le GPU + +Si vous vous êtes déjà demandé **comment activer le GPU** pour l'OCR, voici la réponse. Nous créons une instance `OcrEngineSettings`, activons le drapeau `UseGpu`, et la transmettons au constructeur du moteur. Le moteur détecte automatiquement si un GPU compatible est présent ; sinon, il revient au CPU—vous n'avez donc pas besoin de gestion d'erreur supplémentaire. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Pourquoi activer le GPU du tout ? Pour les grandes images—pensez aux TIFF multi‑pages ou aux scans haute résolution—le temps de traitement peut passer de plusieurs secondes à une fraction de seconde. Si vous construisez un pipeline de traitement par lots, ce gain de vitesse s'accumule rapidement. + +--- + +## Étape 4 : Effectuer l'OCR sur votre image cible + +C'est ici que nous **lisons réellement l'image avec OCR**. Fournissez le chemin de votre fichier, et le moteur renvoie le texte reconnu sous forme de chaîne. Cela fonctionne pour tout format raster pris en charge par Aspose (PNG, JPEG, TIFF, BMP, etc.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Si vous devez **convertir des documents numérisés** page par page, bouclez simplement sur les noms de fichiers et appelez `RecognizeImage` pour chacun. La méthode est thread‑safe, vous pouvez donc même paralléliser la charge de travail sur un CPU multi‑cœur. + +--- + +## Étape 5 : Afficher ou persister le texte extrait + +Enfin, nous affichons le résultat. Dans une application console, `Console.WriteLine` fait l'affaire. Dans un scénario réel, vous pourriez écrire le texte dans une base de données, un fichier JSON, ou le transmettre à un index de recherche. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +La ligne ci‑dessus imprime la sortie OCR brute. Vous remarquerez des sauts de ligne, des erreurs de reconnaissance occasionnelles, et peut‑être quelques caractères errants—rien d'inhabituel pour l'OCR. Un post‑traitement (par ex., nettoyage avec regex) peut remettre de l'ordre si nécessaire. + +> **Note :** Aspose.OCR prend également en charge les dictionnaires spécifiques à chaque langue. Si vous traitez des textes non anglais, définissez `ocrEngine.Settings.Language` en conséquence avant d'appeler `RecognizeImage`. + +--- + +## Exemple complet fonctionnel + +En rassemblant le tout, voici un programme autonome que vous pouvez copier‑coller dans un nouveau projet console : + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Sortie attendue** (troncature pour la brièveté) : + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Exécutez le programme, et vous devriez voir le texte extrait apparaître dans votre fenêtre console. Si le GPU est disponible, le temps de traitement sera nettement plus court que sur des machines uniquement CPU. + +--- + +## Pièges courants & comment les éviter + +| Problème | Pourquoi cela se produit | Solution | +|----------|--------------------------|----------| +| **Garbage characters** | Source à basse résolution ou fond bruité. | Pré‑traitez l'image (augmentez le DPI, appliquez une binarisation) avant l'OCR. | +| **GPU not used** | Aucun pilote CUDA compatible installé. | Vérifiez la version du pilote, ou définissez `UseGpu = false` pour forcer le CPU. | +| **Out‑of‑memory on large TIFFs** | Chargement du fichier complet en une fois. | Utilisez `OcrEngineSettings.MaxMemoryUsage` pour limiter l'empreinte, ou traitez les pages individuellement. | +| **Incorrect language detection** | La langue par défaut est l'anglais. | Définissez `ocrEngine.Settings.Language = Language.YourLanguage;` avant d'appeler `RecognizeImage`. | + +Traiter ces cas limites garantit que votre implémentation **comment faire de l'OCR d'image** reste robuste sur différents environnements. + +--- + +## Étendre la solution + +Maintenant que vous pouvez **extraire le texte d'une image**, vous pourriez vouloir : + +- **Convertir des documents numérisés** PDFs en PDFs recherchables en intégrant la couche OCR. +- Stocker les résultats dans un index **Azure Cognitive Search** pour une récupération rapide. +- Chaîner la sortie OCR à une **API de traduction** si vous avez besoin d'un support multilingue. +- Utiliser la méthode `GetBoundingBoxes` d'**Aspose.OCR** pour localiser où chaque mot apparaît sur l'image—pratique pour les outils de rédaction. + +Toutes ces extensions reposent sur le même principe de base que nous avons couvert : initialiser le moteur, lui fournir une image, et lire le texte. + +--- + +## Conclusion + +Nous avons parcouru un exemple complet, de bout en bout, de **comment faire de l'OCR d'image** avec Aspose.OCR en C#. En installant le package NuGet, en important les bons espaces de noms, en activant le GPU (ou en revenant au CPU), et en appelant `RecognizeImage`, vous pouvez de manière fiable **extraire le texte d'une image**, **convertir des pages de documents numérisés**, et **lire l'image avec OCR** dans n'importe quelle application .NET. + +Essayez-le sur quelques-unes de vos propres numérisations—expérimentez différents formats d'image, activez ou désactivez le drapeau GPU, et observez comment les performances changent. Lorsque vous serez prêt, explorez les fonctionnalités avancées comme les dictionnaires de langues ou l'extraction de boîtes englobantes pour rendre votre solution encore plus intelligente. + +Bon codage, et que vos pipelines OCR soient rapides, précis et sans tracas ! + +{{< /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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/french/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..ebca3740 --- /dev/null +++ b/ocr/french/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,209 @@ +--- +category: general +date: 2026-01-09 +description: Reconnaître le texte d’une image avec Aspose OCR en C#. Apprenez comment + désactiver le téléchargement automatique, extraire le texte chinois d’une image + et définir la langue de l’OCR. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: fr +og_description: Reconnaître le texte d’une image avec Aspose OCR en C#. Suivez ce + tutoriel étape par étape pour désactiver le téléchargement automatique, extraire + le texte d’une image chinoise et définir la langue OCR. +og_title: Reconnaître du texte à partir d'une image avec Aspose OCR – Guide complet + C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Reconnaître du texte à partir d'une image avec Aspose OCR – Guide complet C# +url: /fr/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# reconnaître du texte à partir d'une image avec Aspose OCR – Guide complet C# + +Vous avez déjà eu besoin de **reconnaître du texte à partir d'une image** mais vous êtes bloqué par les détails de configuration ? Vous n'êtes pas seul. De nombreux développeurs se heurtent à un mur lorsque le moteur OCR tente de télécharger les packs de langues à l'exécution, ou lorsqu'ils ne parviennent pas à extraire les caractères chinois d'une photo de panneau. + +Dans ce tutoriel, nous parcourrons une solution pratique qui vous montre comment **désactiver le téléchargement automatique**, **extraire le texte d'une image**, **extraire le texte chinois d'une image**, et **définir la langue OCR** — le tout avec Aspose OCR pour .NET. À la fin, vous disposerez d'un programme unique et exécutable qui affiche le texte reconnu directement dans la console. + +## Ce que vous allez apprendre + +- Comment installer et référencer le package NuGet Aspose.OCR. +- Pourquoi désactiver les téléchargements automatiques de ressources est important pour les environnements hors ligne ou sécurisés. +- Les étapes précises pour pointer le moteur vers un dossier local de packs de langues. +- Comment sélectionner la langue correcte (Chinois simplifié) avant de traiter une image. +- Vérifier la sortie et dépanner les problèmes courants. + +Aucune expérience préalable avec Aspose n'est requise ; il vous suffit d'une configuration C# de base et d'un fichier image que vous souhaitez lire. + +## Prérequis + +| Exigence | Raison | +|-------------|--------| +| .NET 6.0 ou version ultérieure (ou .NET Framework 4.7+) | Aspose.OCR prend en charge ces runtimes. | +| Visual Studio 2022 (ou tout IDE de votre choix) | Pour créer facilement le projet et déboguer. | +| Un fichier image contenant du texte chinois (par ex., `chinese-sign.jpg`) | Pour démontrer **extraire le texte chinois d'une image**. | +| Copie locale des packs de langues Aspose OCR (téléchargés une fois depuis le portail Aspose) | Nécessaire car nous allons **désactiver le téléchargement automatique**. | + +Assurez‑vous que les fichiers ZIP des packs de langues se trouvent dans un dossier que vous pouvez référencer, par exemple `C:\MyOCR\Resources`. + +## Étape 1 : Reconnaître du texte à partir d'une image – Configurer le moteur OCR + +Première chose à faire : nous avons besoin d'un objet `OcrEngineSettings` qui indique à Aspose où chercher les ressources. C’est la base de toute opération **extraire le texte d'une image**. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +Pourquoi définir `AutoDownloadResources` sur `false` ? Dans les environnements de production, vous êtes souvent derrière des pare‑feux, ou vous ne voulez tout simplement pas que votre application accède à Internet à l’exécution. Désactiver cette fonctionnalité garantit que le moteur n’utilisera que les fichiers que vous avez placés dans `ResourceFolder`, ce qui accélère également l’initialisation. + +## Étape 2 : Créer le moteur OCR avec les paramètres spécifiés + +Maintenant que les paramètres sont prêts, nous instancions le moteur. Cette étape est celle où la capacité **définir la langue OCR** sera utilisée plus tard. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +L’objet `OcrEngine` est léger ; il ne charge aucune donnée de langue tant que vous n’avez pas assigné une langue. Ce chargement paresseux explique pourquoi vous pouvez créer le moteur en toute sécurité même si le dossier de ressources est vide — rien ne plantera jusqu’à ce que vous essayiez de **extraire le texte chinois d'une image**. + +## Étape 3 : Définir la langue OCR – Choisir le chinois simplifié + +Aspose prend en charge des dizaines de langues, chacune empaquetée dans un fichier ZIP. Puisque notre image d’exemple contient des caractères chinois simplifiés, nous définissons explicitement la langue avant la reconnaissance. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +Si vous oubliez cette étape, le moteur utilise l’anglais par défaut et vous obtiendrez une sortie illisible. De plus, notez que le nom de la langue doit correspondre au nom du fichier ZIP dans `ResourceFolder`. Par exemple, `ChineseSimplified.zip` doit être présent. + +## Étape 4 : Extraire le texte de l’image cible + +Avec le moteur configuré et la langue définie, nous **reconnaissons enfin le texte à partir d’une image**. La méthode renvoie une chaîne simple que vous pouvez consigner, stocker ou transmettre à un autre système. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +L’appel à `RecognizeImage` effectue tout le travail lourd : prétraitement, segmentation, correspondance de caractères, puis assemblage du résultat. Si l’image est claire et le pack de langue correct, vous verrez les caractères chinois affichés dans la console. + +> **Astuce :** Si vous devez extraire uniquement une partie de l’image (par ex., une région spécifique), utilisez la surcharge `RecognizeImage(string, Rectangle)` pour passer un rectangle de recadrage. + +## Exemple complet fonctionnel + +Ci‑dessous se trouve le programme complet que vous pouvez copier‑coller dans un nouveau projet console. Il inclut les instructions `using`, les paramètres, la sélection de la langue et la sortie finale. Enregistrez‑le sous le nom `Program.cs`, restaurez les packages NuGet, puis exécutez‑le. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Sortie attendue + +Si `chinese-sign.jpg` contient la phrase « 欢迎光临 », la console affichera quelque chose de similaire à : + +``` +=== Recognized Text === +欢迎光临 +``` + +Le format exact peut varier selon la qualité de l’image, mais les caractères devraient être lisibles. + +## Problèmes courants & astuces professionnelles + +| Symptôme | Cause probable | Solution | +|---------|----------------|----------| +| **Chaîne vide retournée** | Pack de langue introuvable ou `AutoDownloadResources` tente encore de le télécharger | Vérifiez le chemin `ResourceFolder` et assurez‑vous que `ChineseSimplified.zip` existe. | +| **Caractères illisibles** | Image floue ou à faible contraste | Prétraitez l’image (augmentez le contraste, binarisez) avant de la passer à `RecognizeImage`. | +| **Exception : `FileNotFoundException`** | Chemin d’image incorrect | Utilisez un chemin absolu ou placez l’image dans le répertoire de sortie du projet et référencez‑la avec `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`. | +| **Ralentissement des performances** | Dimensions d’image trop grandes | Redimensionnez l’image à une largeur raisonnable (par ex., 1024 px) avant la reconnaissance. | + +**Astuce pro :** Conservez les packs de langues dans un dossier versionné. Lorsque vous mettez à jour Aspose.OCR, les nouveaux packs peuvent avoir des conventions de nommage différentes, ce qui pourrait casser silencieusement votre stratégie de **désactiver le téléchargement automatique**. + +## Extension de l’exemple + +Maintenant que vous pouvez **reconnaître du texte à partir d’une image**, vous pourriez vouloir : + +- **Traitement par lot** d’un dossier d’images (boucler sur les fichiers, appeler `RecognizeImage` à chaque fois). +- **Exporter** les résultats vers un fichier CSV ou JSON pour l’analyse en aval. +- **Combiner** l’OCR avec des API de traduction pour transformer les panneaux chinois en anglais en temps réel. + +Tous ces scénarios réutilisent les mêmes étapes de base : configurer une fois, définir la langue, puis appeler `RecognizeImage`. La conception modulaire garde votre code propre et facile à maintenir. + +## Conclusion + +Vous venez d’apprendre comment **reconnaître du texte à partir d’une image** en utilisant Aspose OCR en C#. En désactivant explicitement le **téléchargement automatique**, en pointant le moteur vers un dossier de ressources local, et en **définissant la langue OCR** sur le chinois simplifié, vous pouvez extraire de façon fiable le **texte chinois d’une image** ainsi que toute autre langue que vous fournissez. + +Le code complet et exécutable ci‑dessus montre un flux de travail pratique que vous pouvez intégrer à de vrais projets. À partir de là, expérimentez avec différentes qualités d’image, ajoutez la gestion des erreurs, ou intégrez la sortie dans un système plus vaste. Les possibilités sont pratiquement infinies. + +Des questions sur d’autres langues, l’optimisation des performances ou le déploiement dans le cloud ? N’hésitez pas à laisser un commentaire—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/net/ocr-optimization/_index.md b/ocr/french/net/ocr-optimization/_index.md index 1b836390..c55cb8ad 100644 --- a/ocr/french/net/ocr-optimization/_index.md +++ b/ocr/french/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ Explorez Aspose.OCR pour .NET. Améliorez la précision de l'OCR avec des filtre Améliorez la précision de l'OCR avec Aspose.OCR pour .NET. Corrigez l’orthographe, personnalisez les dictionnaires et obtenez une reconnaissance de texte sans erreur sans effort. ### [Enregistrer le résultat multipage en tant que document dans la reconnaissance d'image OCR](./save-multipage-result-as-document/) Libérez le potentiel d’Aspose.OCR pour .NET. Enregistrez sans effort les résultats OCR de plusieurs pages sous forme de documents grâce à ce guide complet étape par étape. +### [Tutoriel C# OCR : Reconnaître du texte à partir d'une image avec prétraitement](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Apprenez à extraire du texte d'une image en appliquant des filtres de prétraitement avec Aspose.OCR pour .NET. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/french/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..6829254c --- /dev/null +++ b/ocr/french/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,233 @@ +--- +category: general +date: 2026-01-09 +description: Tutoriel C# OCR qui montre comment reconnaître du texte à partir d'une + image et prétraiter l'image pour l'OCR en utilisant les filtres Aspose.OCR – guide + étape par étape. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: fr +og_description: Tutoriel C# OCR qui vous guide à travers la reconnaissance de texte + à partir d’une image et le prétraitement d’image pour l’OCR en utilisant les filtres + Aspose.OCR. Code complet inclus. +og_title: c# OCR tutoriel – Reconnaître le texte d'une image avec prétraitement +tags: +- OCR +- C# +- Image Processing +title: 'Tutoriel OCR en C# : Reconnaître le texte à partir d''une image avec prétraitement' +url: /fr/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Reconnaître du texte à partir d'une image avec prétraitement + +Vous vous êtes déjà demandé comment **reconnaître du texte à partir d'une image** dans une application C# sans passer des semaines à ajuster les filtres ? Vous n'êtes pas seul. Dans ce **c# ocr tutorial**, nous allons parcourir un exemple complet, prêt à l'exécution, qui non seulement lit le texte mais aussi **prétraite l'image pour l'OCR** afin d'améliorer la précision. + +Nous utiliserons la bibliothèque Aspose.OCR car elle fournit un pipeline de filtres pratique qui vous permet d'ajouter les étapes de redressement, de débruitage et d'augmentation du contraste en quelques lignes seulement. À la fin de ce guide, vous disposerez d'une application console capable de prendre un PNG incliné et bruité, de le nettoyer et d'afficher la chaîne extraite — le tout avec des explications claires sur l'importance de chaque étape. + +## Prérequis + +Avant de commencer, assurez-vous d'avoir : + +| Exigence | Pourquoi c'est important | +|----------|---------------------------| +| .NET 6 SDK (or later) | Fonctionnalités C# modernes et meilleures performances | +| Visual Studio 2022 (or VS Code) | Débogage pratique et IntelliSense | +| NuGet package **Aspose.OCR** | Fournit le `OcrEngine` et les classes de filtres | +| An input image (e.g., `skewed‑noisy.png`) | Illustre la nécessité du prétraitement | + +Si l'un d'eux manque, installez-le d'abord. L'étape NuGet est détaillée dans la section suivante. + +## Étape 1 : Installer Aspose.OCR via NuGet + +Ouvrez votre terminal (ou la console du gestionnaire de packages) et exécutez : + +```bash +dotnet add package Aspose.OCR +``` + +> **Astuce :** Utilisez le drapeau `--version` pour verrouiller une version spécifique si vous avez besoin de builds reproductibles. + +Le package inclut tous les filtres dont nous aurons besoin, aucune DLL supplémentaire n'est requise. + +## Étape 2 : Initialiser le moteur OCR – le cœur du c# ocr tutorial + +Créer le moteur est simple, mais il vaut la peine de comprendre ce qui se passe en coulisses. Le `OcrEngine` possède un pipeline de **filtres** qui manipulent le bitmap avant que l'algorithme de reconnaissance ne s'exécute. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Pourquoi initialiser d'abord ?** Le moteur met en cache des ressources internes (comme les modèles de langue). Réutiliser une même instance pour plusieurs images économise de la mémoire et accélère les reconnaissances suivantes. + +## Étape 3 : Prétraiter l'image pour l'OCR – ajout de redressement, de débruitage et d'augmentation du contraste + +La plupart des numérisations réelles ne sont pas parfaites ; elles sont inclinées, granuleuses ou trop sombres. C’est pourquoi **prétraiter l'image pour l'OCR** est une étape cruciale. Aspose fournit trois filtres qui fonctionnent bien ensemble : + +| Filtre | Ce qu'il fait | Cas d'utilisation typique | +|--------|----------------|----------------------------| +| `DeskewFilter` | Fait pivoter l'image pour corriger l'inclinaison | Documents numérisés à partir d'un scanner | +| `DenoiseFilter` | Supprime les pixels isolés (bruit « sel‑et‑poivre ») | Photos en faible lumière | +| `ContrastBoostFilter` | Augmente le contraste pour affiner les contours du texte | Impressions fanées ou captures à basse résolution | + +Voici le code qui ajoute chaque filtre au pipeline du moteur : + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **Comment ça fonctionne :** Lorsque vous appelez `RecognizeImage` plus tard, le moteur exécutera séquentiellement ces trois filtres avant de transmettre le bitmap nettoyé au cœur de la reconnaissance. + +### Illustration visuelle (optionnelle) + +Si vous intégrez une image, assurez-vous que le texte alternatif contient le mot‑clé principal : + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Étape 4 : Reconnaître le texte à partir de l'image – le moment de vérité + +Maintenant que l'image est pré‑traitée, nous pouvons enfin extraire les caractères. La méthode renvoie une chaîne brute, que vous pouvez consigner, stocker ou transmettre à un autre système. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Résultat attendu + +Exécuter l'exemple sur une numérisation typique de facture produit quelque chose comme : + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +Si la sortie apparaît brouillée, revérifiez la qualité de l'image et envisagez d'ajuster `ContrastBoostFilter.Level` (des valeurs > 2.0 peuvent être trop agressives). + +## Étape 5 : Sortir le résultat et post‑traitement optionnel + +Une application console peut simplement écrire la chaîne, mais de nombreux projets nécessitent un traitement supplémentaire — comme supprimer les espaces, enlever les sauts de ligne, ou insérer le texte dans une base de données. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Pourquoi post‑traiter ? + +Même avec un bon prétraitement, l'OCR introduit souvent des sauts de ligne indésirables ou des caractères invisibles. Une chaîne rapide de `Replace` peut rendre les données beaucoup plus exploitables en aval. + +## Étape 6 : Exemple complet fonctionnel – prêt à copier‑coller + +Voici le programme **complet** que vous pouvez compiler et exécuter immédiatement. Il inclut toutes les instructions `using`, la configuration des filtres, l'appel OCR et la gestion de la sortie. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**Comment l'exécuter** + +1. Enregistrez le fichier sous `Program.cs` dans un nouveau projet console (`dotnet new console`). +2. Remplacez `YOUR_DIRECTORY/skewed-noisy.png` par le chemin réel de votre image de test. +3. Exécutez `dotnet run`. Vous devriez voir la sortie OCR affichée dans le terminal. + +## Pièges courants & astuces (reconnaître du texte à partir d'une image de manière fiable) + +| Problème | À vérifier | Solution | +|----------|------------|----------| +| **Caractères indésirables** | L'image est trop sombre ou de faible résolution | Augmentez `ContrastBoostFilter.Level` ou utilisez une source à plus haute résolution | +| **Lignes manquantes** | Le redressement n'a pas corrigé complètement l'angle | Faire pivoter manuellement l'image d'abord, ou ajuster la tolérance de `DeskewFilter` | +| **Performance lente** | Traitement de nombreuses images volumineuses en boucle | Réutilisez la même instance `OcrEngine` et appelez `ocrEngine.Clear()` après chaque exécution | +| **Langue non prise en charge** | Le texte n'est pas en anglais | Définissez `ocrEngine.Language = OcrLanguage.French` (ou une autre langue prise en charge) avant la reconnaissance | + +### Cas particulier : gestion des PDF multi‑pages + +Si vous devez OCR un PDF, convertissez chaque page en image (par ex., avec `Aspose.PDF`) et alimentez‑les une par une dans le même moteur. Le pipeline de prétraitement reste identique, garantissant des résultats cohérents d'une page à l'autre. + +## Conclusion + +Dans ce **c# ocr tutorial**, nous avons couvert tout ce dont vous avez besoin pour **reconnaître du texte à partir d'une image** et **prétraiter l'image pour l'OCR** en utilisant les filtres intégrés d'Aspose.OCR. En initialisant le moteur, en ajoutant les étapes de redressement, de débruitage et d'augmentation du contraste, puis en appelant finalement `RecognizeImage`, vous obtenez une extraction de texte propre et fiable avec seulement quelques lignes de code. + +N'hésitez pas à expérimenter — remplacez un filtre, ajustez le niveau de contraste, ou intégrez le résultat dans un pipeline de données plus vaste. Les concepts présentés s'appliquent à toute bibliothèque OCR : le prétraitement fait souvent la différence entre une facture partiellement lue et un document parfaitement capturé. + +Des questions supplémentaires ? Peut‑être êtes‑vous curieux de savoir comment gérer le texte manuscrit ou le traitement par lots de milliers de fichiers. Laissez un commentaire, et nous explorerons ces scénarios ensemble. 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/net/text-recognition/_index.md b/ocr/french/net/text-recognition/_index.md index 1b27348f..7559b0ab 100644 --- a/ocr/french/net/text-recognition/_index.md +++ b/ocr/french/net/text-recognition/_index.md @@ -55,9 +55,22 @@ Améliorez vos applications .NET avec Aspose.OCR pour une reconnaissance efficac Libérez le potentiel de l’OCR dans .NET avec Aspose.OCR. Extrayez le texte des PDF sans effort. Téléchargez-le maintenant pour une expérience d'intégration transparente. ### [Reconnaître la table dans la reconnaissance d'images OCR](./recognize-table/) Libérez le potentiel d'Aspose.OCR pour .NET avec notre guide complet sur la reconnaissance des tableaux dans la reconnaissance d'images OCR. +### [Tutoriel C# OCR – Extraire du texte hindi à partir de reçus PNG](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Apprenez à extraire du texte hindi de reçus PNG en utilisant Aspose.OCR avec C#. +### [Reconnaître du texte dans un JPG avec Aspose OCR – Guide complet C#](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Apprenez à extraire du texte d'images JPG en utilisant Aspose OCR avec C# grâce à ce guide complet. +### [Tutoriel C# OCR – Extraire du texte d'images et de fichiers DJVU](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Apprenez à extraire du texte d'images et de fichiers DJVU en utilisant Aspose.OCR avec C#. +### [Extraire du texte d'un TIFF avec Aspose OCR C# – Tutoriel complet](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Apprenez à extraire du texte d'images TIFF en utilisant Aspose OCR avec C#. Suivez ce guide complet pour intégrer facilement la reconnaissance de texte TIFF. +### [Tutoriel C# OCR – Extraire du texte d'images avec Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Apprenez à extraire du texte d'images en utilisant Aspose OCR avec C# grâce à ce guide complet. +### [Extraire du texte d'un PNG – Tutoriel complet Aspose OCR](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Apprenez à extraire du texte d'images PNG en utilisant Aspose OCR avec C# grâce à ce guide complet. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/french/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..f3b8f6e7 --- /dev/null +++ b/ocr/french/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,242 @@ +--- +category: general +date: 2026-01-09 +description: Tutoriel C# OCR pour lire du texte à partir d'un PNG, convertir l'image + en texte et reconnaître le texte hindi sur un reçu en utilisant Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: fr +og_description: Tutoriel OCR en C# qui vous apprend à lire du texte à partir d'un + PNG, à convertir une image en texte et à reconnaître le texte hindi sur un reçu + avec Aspose OCR. +og_title: Tutoriel OCR en C# – Extraire le texte hindi à partir de reçus PNG +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Tutoriel OCR C# – Extraire le texte hindi des reçus PNG +url: /fr/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tutoriel c# ocr – Extraire du texte hindi à partir de reçus PNG + +Vous êtes-vous déjà demandé comment **lire du texte à partir de fichiers PNG** dans une application C# ? Peut‑être avez‑vous un tas de reçus en hindi et vous devez extraire automatiquement les montants. C’est exactement ce que ce tutoriel c# ocr aborde — transformer une image en texte recherchable en quelques lignes de code seulement. + +Dans ce guide, nous passerons en revue l’installation d’Aspose OCR, le chargement d’un reçu PNG, la reconnaissance des caractères hindi, puis l’affichage de la chaîne extraite dans la console. À la fin, vous pourrez **convertir une image en texte**, **reconnaître du texte hindi**, et même **extraire du texte d’un reçu** sans quitter votre IDE. + +> **Note préalable :** Vous avez besoin d’une licence Aspose OCR valide (ou vous pouvez utiliser l’essai gratuit) et de .NET 6+ installé. Si vous débutez avec NuGet, ne vous inquiétez pas — nous couvrirons cela également. + +--- + +## Ce dont vous aurez besoin + +- **Visual Studio 2022** (ou tout éditeur compatible C#) +- **.NET 6 SDK** (ou version ultérieure) +- **Aspose.OCR** package NuGet + ```bash + dotnet add package Aspose.OCR + ``` +- Une image de reçu d’exemple, par ex. `hindi-receipt.png`, enregistrée dans le dossier de votre projet. + +Avoir tout cela prêt signifie que vous pouvez copier‑coller le code final et appuyer sur **F5** immédiatement. + +--- + +## Étape 1 : Configurer le projet et importer les espaces de noms + +Tout d’abord, créez un projet console si vous n’en avez pas encore un : + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Ouvrez maintenant `Program.cs`. En haut du fichier, importez les espaces de noms Aspose OCR afin que le compilateur sache où trouver les classes : + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Pourquoi c’est important :** `OcrEngine` se trouve dans `Aspose.OCR`, tandis que les énumérations liées aux langues sont dans `Aspose.OCR.Settings`. Omettre l’un ou l’autre entraînera une erreur de compilation. + +--- + +## Étape 2 : Initialiser le moteur OCR et choisir le modèle de langue + +Le moteur OCR doit savoir **quelle langue** rechercher. Aspose propose de nombreux packs de langues ; spécifier `OcrLanguage.Hindi` indique au moteur de télécharger (si absent) et d’utiliser le modèle hindi. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Astuce :** Si vous prévoyez de traiter des reçus en plusieurs langues, vous pouvez changer `Language` à l’exécution ou même activer le mode `MultiLanguage`. + +--- + +## Étape 3 : Alimenter le moteur avec le reçu PNG + +C’est ici que nous **lisons du texte à partir de PNG**. Fournissez le chemin complet (relatif à l’exécutable fonctionne bien). La méthode renvoie une chaîne simple contenant tout ce que le moteur a pu déchiffrer. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Si l’image est haute résolution et le texte net, vous obtiendrez des résultats quasi parfaits. Pour des scans bruyants, envisagez un pré‑traitement (par ex. binarisation) — Aspose propose des méthodes `PreprocessImage` que vous pourrez explorer plus tard. + +--- + +## Étape 4 : Afficher ou persister le texte extrait + +La plupart des développeurs se contentent d’afficher le résultat dans la console lors des tests. En production, vous pourriez écrire dans une base de données ou un fichier CSV. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Exécuter le programme avec le reçu d’exemple affiche quelque chose comme : + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +C’est la partie **convertir une image en texte** en action — aucune transcription manuelle requise. + +--- + +## Exemple complet fonctionnel (prêt à copier‑coller) + +Voici le programme complet, autonome. Collez‑le dans `Program.cs`, placez `hindi-receipt.png` à côté du `.exe` compilé, et appuyez sur **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Résultat attendu + +Lorsque l’image du reçu contient des caractères hindi clairs, la console affichera les lignes extraites, en conservant les sauts de ligne. Si l’OCR ne parvient pas à reconnaître un mot, vous verrez un fragment illisible — c’est le signal d’améliorer la qualité de l’image ou d’ajuster le pré‑traitement. + +--- + +## Étape 5 : Aller plus loin – Extraire du texte d’un reçu de façon programmatique + +Si votre objectif est d’**extraire du texte d’un reçu** (date, total, numéro de facture), vous pouvez post‑traiter la chaîne OCR avec des expressions régulières : + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +Ce petit extrait montre comment transformer la sortie brute de l’OCR en données structurées — parfait pour les intégrer à un logiciel de comptabilité. + +--- + +## Pièges courants & comment les éviter + +| Problème | Pourquoi cela se produit | Solution | +|----------|--------------------------|----------| +| **Sortie vide** | Chemin d’image incorrect ou fichier non copié dans le dossier de sortie. | Utilisez `Path.GetFullPath` et vérifiez que le fichier existe (`File.Exists`). | +| **Caractères illisibles** | PNG basse résolution ou couleurs compressées. | Agrandissez l’image, réglez le DPI à 300 + , ou utilisez `ocrEngine.ImagePreprocessor`. | +| **Modèle de langue non téléchargé** | Pas de connexion Internet lors du premier lancement. | Pré‑téléchargez le modèle hindi via le portail Aspose ou hébergez‑le localement. | +| **Lenteur** | Traitement de nombreuses pages dans une boucle sans libération. | Encapsulez `OcrEngine` dans un bloc `using` ou réutilisez une même instance. | + +--- + +## Illustration + +![tutoriel c# ocr lisant du texte hindi à partir d'un reçu PNG](https://example.com/placeholder-image.png "tutoriel c# ocr – lire du texte à partir d'un reçu png") + +*La capture d’écran montre un reçu hindi avant et après la conversion OCR.* + +--- + +## Récapitulatif : Ce que nous avons couvert + +- Configuration d’une application console C# et ajout du package NuGet Aspose OCR. +- Initialisation de `OcrEngine` avec le modèle **reconnaître du texte hindi**. +- **Lire du texte à partir de PNG** grâce à `RecognizeImage`. +- **Convertir une image en texte** et afficher le résultat. +- Démonstration d’un simple modèle pour **extraire du texte d’un reçu**. + +Tout cela a été fourni dans un seul fichier exécutable — exactement ce qu’un **tutoriel c# ocr** doit offrir. + +--- + +## Prochaines étapes & sujets associés + +1. **Traitement par lots** – parcourir un dossier d’images de reçus et stocker les résultats dans un CSV. +2. **Pré‑traitement** – explorer `ocrEngine.ImagePreprocessor` pour la suppression du bruit, la correction d’inclinaison ou l’amélioration du contraste. +3. **OCR multilingue** – activer `OcrLanguage.Multilingual` pour gérer des reçus mêlant hindi et anglais. +4. **Intégration** – pousser les données extraites dans un modèle Entity Framework Core pour un stockage persistant. + +Si l’un de ces points vous intéresse, consultez nos tutoriels sur **convertir une image en texte en C#** et **extraire des données structurées à partir des résultats OCR**. + +--- + +### Bon codage ! + +N’hésitez pas à laisser un commentaire si vous rencontrez des difficultés, ou à partager comment vous avez étendu ce **tutoriel c# ocr** dans vos propres projets. Rappelez‑vous, l’OCR n’est que la première étape — les données propres sont là où la vraie magie opè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/french/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/french/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..7389d5c9 --- /dev/null +++ b/ocr/french/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,257 @@ +--- +category: general +date: 2026-01-09 +description: Tutoriel C# OCR qui montre comment extraire du texte à partir de fichiers + image et convertir le DJVU en texte à l'aide d'Aspose.OCR. Apprenez l'extraction + étape par étape en quelques minutes. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: fr +og_description: Tutoriel C# OCR qui montre rapidement comment extraire du texte à + partir de fichiers image et convertir le DJVU en texte à l'aide d'Aspose.OCR. Suivez + le guide pour une solution fonctionnelle. +og_title: Tutoriel OCR C# – Extraire du texte d’une image et DJVU +tags: +- OCR +- C# +- Aspose +title: 'Tutoriel OCR en C# : Extraire du texte d''images et de fichiers DJVU' +url: /fr/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tutoriel c# OCR – Extraire du texte d'images et de fichiers DJVU + +Vous êtes-vous déjà demandé comment extraire du texte d'images sans perdre patience ? Dans ce **tutoriel c# OCR** nous allons parcourir un exemple complet, prêt à l’emploi, qui extrait du texte d’une image ordinaire *et* d’un document DJVU. + +Si vous cherchez également un moyen rapide de **convertir DJVU en texte**, vous êtes au bon endroit — aucune conversion supplémentaire, juste du code C# pur. + +## Ce que vous allez apprendre + +- Comment configurer la bibliothèque Aspose.OCR dans un projet .NET. +- Le code exact dont vous avez besoin pour **extraire du texte d'une image**. +- Une méthode concise pour **extraire du texte d'un DJVU** (oui, le même moteur le fait). +- Les pièges courants (fichiers volumineux, polices manquantes, licences) et comment les éviter. + +Tout ce qu’il vous faut, c’est un SDK .NET récent et une connexion Internet pour récupérer le package NuGet. Aucune expérience préalable en OCR n’est requise. + +## Prérequis + +Avant de commencer, assurez‑vous d’avoir : + +| Prérequis | Pourquoi c’est important | +|-----------|---------------------------| +| .NET 6.0 ou supérieur | Aspose.OCR cible .NET Standard 2.0, donc .NET 6+ vous offre les meilleures performances. | +| Visual Studio 2022 (ou VS Code) | Les IDE simplifient la gestion des packages, mais tout éditeur fonctionne. | +| Package NuGet **Aspose.OCR** | C’est le moteur qui fait réellement le travail lourd. | +| Une image d’exemple (`sample.png`) et un fichier DJVU (`sample.djvu`) | Nous les utiliserons pour démontrer les deux scénarios d’extraction. | + +Vous pouvez installer le package avec la commande suivante : + +```bash +dotnet add package Aspose.OCR +``` + +> **Astuce** : Si vous êtes sur un serveur CI, ajoutez `--no-restore` à l’étape de build et restaurez une fois au démarrage pour accélérer le processus. + +## Étape 1 : Initialiser le moteur OCR – le cœur du tutoriel c# OCR + +La première chose que nous faisons est de créer une instance de `OcrEngine`. Pensez‑y comme allumer le scanner dans votre logiciel. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Pourquoi créer un nouveau moteur à chaque fois ? Parce que le moteur conserve la configuration (langue, mode de détection, etc.). En repartant de zéro, vous évitez que des paramètres obsolètes ne se propagent entre les exécutions. + +## Étape 2 : Charger et reconnaître une image – comment extraire du texte d’une image + +Nous allons maintenant fournir un bitmap ordinaire (PNG, JPEG, BMP…) au moteur. La méthode `RecognizeImage` renvoie la chaîne détectée. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +Quelques points à retenir : + +* **Existence du fichier** – Si le chemin est incorrect, la méthode lève une `FileNotFoundException`. Enveloppez‑la dans un `try/catch` si vous attendez des chemins fournis par l’utilisateur. +* **Qualité de l’image** – L’OCR fonctionne mieux à 300 dpi ou plus. Les scans basse résolution peuvent produire un résultat illisible. +* **Support linguistique** – Par défaut, Aspose.OCR suppose l’anglais. Pour le changer, définissez `ocrEngine.Language = Language.Spanish;` avant `RecognizeImage`. + +## Étape 3 : Reconnaître du texte d’un document DJVU – convertir DJVU en texte + +DJVU est un format conteneur pouvant contenir plusieurs pages. Aspose.OCR le gère directement ; il suffit de pointer vers le fichier. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +En interne, le moteur extrait chaque page sous forme d’image et exécute le même pipeline de reconnaissance. C’est pourquoi vous n’avez pas besoin d’une étape séparée « convertir DJVU en texte » — le moteur OCR le fait pour vous. + +### Gestion des fichiers DJVU multi‑pages + +Si votre DJVU contient plusieurs pages, `RecognizeImage` les concatène dans l’ordre. Si vous avez besoin de chaque page séparément, vous pouvez utiliser la surcharge qui renvoie une `List` : + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Étape 4 : Affiner le moteur pour une meilleure précision – pourquoi c’est important + +Les résultats « prêts à l’emploi » sont corrects, mais vous pouvez les améliorer en ajustant quelques paramètres : + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Ces drapeaux sont particulièrement utiles lorsqu’on se demande **comment extraire du texte** de PDF scannés qui ont d’abord été enregistrés en DJVU. Activer la détection d’orientation vous évite de devoir faire pivoter les images manuellement. + +## Étape 5 : Gestion des licences et des erreurs d’exécution + +Aspose.OCR propose une version d’essai gratuite qui appose « Demo » sur la sortie après quelques pages. Pour supprimer le filigrane, ajoutez votre fichier de licence : + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Si vous oubliez cette étape, le moteur fonctionne toujours, mais le résultat contiendra le mot « Demo ». Faites également attention aux `OutOfMemoryException` lors du traitement de gros fichiers DJVU — envisagez de traiter page par page comme montré précédemment. + +## Exemple complet, exécutable + +Voici un programme console autonome qui réunit tous les éléments. Copiez‑collez, ajustez les chemins de fichiers, et cliquez sur **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Sortie attendue** (en supposant que les fichiers contiennent la phrase « Hello World ») : + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Si la source contient plusieurs lignes, elles apparaîtront exactement comme dans le document original. + +## Questions fréquentes & gestion des cas particuliers + +* **Et si l’image est en noir et blanc ?** + L’OCR fonctionne, mais vous pouvez améliorer le contraste avec `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +* **Puis‑je extraire uniquement les chiffres ?** + Oui — définissez `ocrEngine.CharWhitelist = "0123456789";` avant d’appeler `RecognizeImage`. + +* **Y a‑t‑il une limite de taille de fichier ?** + Le moteur lit le fichier entier en mémoire. Pour des fichiers supérieurs à ~100 MB, traitez page par page (voir la surcharge de liste à l’Étape 3). + +* **En quoi cela diffère‑t‑il de Tesseract ?** + Aspose.OCR est une bibliothèque commerciale avec support natif du DJVU et aucune dépendance native, alors que Tesseract nécessite des binaires natifs et des outils de conversion DJVU séparés. + +## Conclusion + +Vous venez de terminer un **tutoriel c# OCR** qui montre comment **extraire du texte d’une image** et convertir sans effort un **DJVU en texte** à l’aide d’Aspose.OCR. L’exemple couvre tout, de l’installation du package à la licence, de l’extraction d’une image à la gestion d’un DJVU multi‑pages, avec même des astuces pour améliorer la précision. + +Ensuite, vous pourriez explorer **comment extraire du texte** de PDF, intégrer l’étape OCR dans une API web, ou expérimenter avec des packs de langues pour des documents multilingues. Le ciel est la limite — rappelez‑vous les points clés : configurer le moteur, lui fournir un fichier, et lire la chaîne résultante. + +Des questions ? Laissez un commentaire, testez le code sur vos propres documents, et bon codage ! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# OCR tutorial – console output 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/french/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/french/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..ba6df29a --- /dev/null +++ b/ocr/french/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: Tutoriel OCR en C# qui montre comment extraire du texte à partir de fichiers + image, reconnaître le texte d'un PNG, convertir l'image en chaîne et détecter automatiquement + la langue à l'aide d'Aspose.OCR. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: fr +og_description: Tutoriel C# OCR qui vous guide à travers l'extraction de texte à partir + d'images, la reconnaissance de texte à partir de fichiers PNG, la conversion d'images + en chaînes et la détection automatique de la langue à l'aide d'Aspose OCR. +og_title: Tutoriel C# OCR – Extraire du texte des images +tags: +- C# +- OCR +- Aspose +- Image Processing +title: c# tutoriel OCR – Extraire du texte d'images avec Aspose OCR +url: /fr/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tutoriel c# ocr – Extraire du texte d'images avec Aspose OCR + +Vous avez déjà eu besoin d'un **tutoriel c# ocr** qui fonctionne réellement sur un fichier PNG du monde réel ? Peut‑être construisez‑vous un scanner de reçus, un processeur de formulaires multilingues, ou vous êtes simplement curieux de savoir comment transformer une photo de texte en une chaîne recherchable. Quoi qu'il en soit, vous êtes au bon endroit. + +Dans ce guide, nous vous montrerons pas à pas comment **extraire du texte d'une image**, **reconnaître du texte à partir d'un png**, **convertir une image en chaîne**, et même **détecter automatiquement la langue** — le tout avec la bibliothèque Aspose.OCR. Pas de références vagues, juste un exemple complet et exécutable que vous pouvez copier‑coller dans Visual Studio. + +## Ce dont vous aurez besoin + +- .NET 6.0 ou supérieur (le code fonctionne également avec .NET Core et .NET Framework) +- Une référence NuGet à `Aspose.OCR` (version 23.9 ou plus récente) +- Un fichier image (`mixed‑script.png` dans cet exemple) placé quelque part où l'application peut le lire +- Une compréhension de base du C# (si vous avez déjà écrit un « Hello World », c'est suffisant) + +> **Astuce :** Si vous n’avez pas encore de licence, Aspose propose une licence temporaire gratuite pour les tests. Il suffit de déposer le fichier `.lic` à côté de votre exécutable. + +## Étape 1 – Installer le package NuGet Aspose.OCR + +Tout d'abord, ajoutez la bibliothèque à votre projet. Ouvrez la console du Gestionnaire de packages et exécutez : + +```powershell +Install-Package Aspose.OCR +``` + +Ou, si vous préférez l'interface graphique, faites un clic droit sur *Dependencies → Manage NuGet Packages* et recherchez **Aspose.OCR**. + +## Étape 2 – Préparer le moteur OCR (c# ocr tutorial core) + +Nous allons maintenant créer une instance `OcrEngine`, lui indiquer de détecter automatiquement la langue, et la pointer vers notre fichier PNG. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Pourquoi nous définissons `Language = OcrLanguage.AutoDetect` + +La détection automatique de la langue vous évite de deviner si l'image contient de l'anglais, du russe, de l'arabe ou un mélange. C’est l’option la plus flexible pour un scénario de **détection de langue automatique**, et elle fonctionne immédiatement pour la plupart des scripts pris en charge par Aspose. + +## Étape 3 – Exécuter l'application et vérifier la sortie + +Compilez et lancez le programme (`dotnet run` ou appuyez sur **F5** dans Visual Studio). Si tout est correctement configuré, vous verrez quelque chose comme : + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +Cette sortie prouve que nous avons bien **extrait du texte d'une image**, **reconnu du texte à partir d'un png**, et **converti l'image en chaîne** — le tout dans un seul extrait concis. + +## Étape 4 – Variantes courantes & cas limites + +### Gestion de plusieurs images + +Si vous devez traiter un répertoire de PNG, encapsulez l’appel de reconnaissance dans une boucle `foreach` : + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Spécifier une langue fixe + +Parfois vous connaissez la langue à l’avance (par ex., uniquement l'anglais). Vous pouvez remplacer `AutoDetect` par `OcrLanguage.English` pour accélérer le traitement : + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Traiter des scans de mauvaise qualité + +Aspose.OCR propose des options de prétraitement (réduction du bruit, redressement). Pour une correction rapide : + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Enregistrer le résultat dans un fichier + +Au lieu d'afficher le texte dans la console, vous pouvez écrire le texte extrait dans un fichier `.txt` : + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Étape 5 – Exemple complet fonctionnel (prêt à copier‑coller) + +Voici le **programme complet** incluant le prétraitement optionnel et la logique d’écriture dans un fichier. N’hésitez pas à ajuster les chemins. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Sortie attendue + +L’exécution du programme sur un PNG contenant de l'anglais, du russe et de l'arabe produit : + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +Si l'image est vide ou illisible, le moteur renvoie une chaîne vide — gérez ce cas en vérifiant `string.IsNullOrWhiteSpace(extractedText)` avant de poursuivre. + +## Foire aux questions (FAQ) + +**Q : Aspose.OCR prend‑il en charge le texte manuscrit ?** +R : Il se concentre sur l’OCR imprimé. Pour l’écriture manuscrite, il faut un modèle ML dédié ou un service comme Azure Computer Vision. + +**Q : Puis‑je exécuter cela sous Linux/macOS ?** +R : Absolument. Aspose.OCR est multiplateforme ; il suffit d’installer le runtime .NET pour votre OS. + +**Q : Et si je dois traiter des PDF au lieu de PNG ?** +R : Convertissez chaque page PDF en image d’abord (par ex., avec `Aspose.PDF`) puis alimentez l’image dans le moteur OCR. + +## Conclusion + +Nous venons de terminer un **tutoriel c# ocr** qui vous guide à travers **l’extraction de texte d’images**, **la reconnaissance de texte à partir de png**, **la conversion d’image en chaîne**, et **la détection automatique de la langue** en utilisant Aspose.OCR. Le code est court, les concepts sont clairs, et vous pouvez l’étendre à un traitement par lots, à des paramètres de langue personnalisés, ou même l’intégrer à une API web. + +Prochaines étapes ? Essayez d’alimenter la sortie OCR dans un index de recherche, de la transmettre à un service de traduction, ou de la combiner avec Azure Cognitive Services pour des pipelines de données encore plus riches. Le ciel est la limite une fois que vous avez maîtrisé les bases de la conversion image‑à‑texte en C#. + +Bon codage, et n’oubliez pas d’expérimenter avec différentes qualités d’image — votre moteur OCR vous en sera reconnaissant ! + +![tutoriel c# ocr – exemple de sortie OCR sur un PNG à script mixte](placeholder-image.png "tutoriel c# ocr – capture d’écran du résultat 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/french/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/french/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..6232e749 --- /dev/null +++ b/ocr/french/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-01-09 +description: Extrayez rapidement du texte à partir de PNG avec Aspose OCR. Apprenez + à lire le texte d’image, à améliorer la précision de l’OCR et à obtenir des résultats + propres en C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: fr +og_description: Extrayez rapidement du texte à partir de PNG avec Aspose OCR. Apprenez + à lire le texte d’une image, à améliorer la précision de l’OCR et à obtenir des + résultats propres en C#. +og_title: Extraire du texte à partir de PNG – Tutoriel complet Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: Extraire du texte d’un PNG – Tutoriel complet Aspose OCR +url: /fr/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extraire du texte à partir d'un PNG – Tutoriel complet Aspose OCR + +Vous avez déjà eu besoin d'**extraire du texte à partir de fichiers PNG** mais les résultats étaient remplis de charabia ? Vous n'êtes pas seul. Dans de nombreux projets réels – factures, reçus ou formulaires numérisés – la qualité de la sortie OCR peut faire ou défaire les pipelines d'automatisation. + +Dans ce guide, nous vous montrerons une méthode **étape par étape** pour lire le texte d'une image avec Aspose OCR, ajouter un dictionnaire personnalisé afin d'**améliorer la précision de l'OCR**, nettoyer le bruit, puis afficher une chaîne propre. À la fin, vous disposerez d'une application console C# prête à l'emploi qui extrait de façon fiable le texte des images PNG. + +> **Ce que vous en retirerez** +> * Un exemple de code complet et exécutable. +> * Une compréhension de l'importance d'un dictionnaire personnalisé. +> * Des astuces pour gérer les cas limites comme les scans à faible contraste. + +## Prérequis + +- SDK .NET 6 ou version ultérieure (le code cible .NET 6, mais .NET 5 fonctionne également). +- Visual Studio 2022 ou tout autre éditeur de votre choix. +- Une image **PNG** que vous souhaitez traiter – par exemple `invoice.png`. +- Le package NuGet **Aspose.OCR** (`dotnet add package Aspose.OCR`). + +Aucun fichier de configuration supplémentaire n'est nécessaire ; tout se trouve dans un seul fichier `.cs`. + +## Étape 1 – Installer et référencer Aspose OCR + +Tout d'abord, ajoutez la bibliothèque à votre projet. Ouvrez un terminal dans le dossier de votre solution et exécutez : + +```bash +dotnet add package Aspose.OCR +``` + +Cette seule ligne récupère la dernière version stable (en janvier 2026, version 23.9). Le package inclut la classe `OcrEngine` que nous utiliserons tout au long du tutoriel. + +## Étape 2 – Initialiser le moteur OCR + +Créer une instance de `OcrEngine` constitue la base. Pensez-y comme allumer un scanner prêt à interpréter les pixels. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Astuce :** Si vous prévoyez de traiter de nombreuses images dans une boucle, réutilisez la même instance de `OcrEngine`. Elle met en cache des ressources internes et accélère les appels suivants. + +## Étape 3 – Améliorer la précision avec un dictionnaire personnalisé + +L'OCR « prêt à l'emploi » est bon, mais il peut trébucher sur des mots spécifiques au domaine comme “Aspose”, “OCR” ou “SDK”. Ajouter ces termes à un **dictionnaire personnalisé** indique au moteur que ces chaînes sont valides, réduisant ainsi les mauvaises reconnaissances. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Pourquoi un dictionnaire personnalisé aide + +- Les **modèles statistiques** derrière l'OCR accordent un poids important aux schémas linguistiques courants. Les mots rares obtiennent une faible probabilité et peuvent être remplacés par des caractères similaires. +- En les listant explicitement, vous surchargez les conjectures du modèle. +- C’est particulièrement utile pour **read image text** contenant des codes produit, des abréviations ou des noms de marque. + +## Étape 4 – Reconnaître le texte du fichier PNG + +Nous transmettons maintenant le chemin de l'image au moteur. La méthode `RecognizeImage` renvoie une chaîne brute qui contient encore des jetons inconnus (par ex., “#@!”) que le moteur n’a pas pu mapper. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Cas limite :** Si le fichier est introuvable, `RecognizeImage` lève une `FileNotFoundException`. Enveloppez l’appel dans un bloc try‑catch pour le code de production. + +## Étape 5 – Nettoyer le résultat avec `CleanText` + +Aspose OCR fournit un utilitaire qui supprime les caractères qu’il considère comme “inconnus”. Cette étape est cruciale pour les projets **extract text from image** où les analyseurs en aval attendent uniquement des caractères alphanumériques et une ponctuation de base. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +La méthode `CleanText` normalise également les sauts de ligne, rendant la sortie sûre à stocker dans des bases de données ou à transmettre à d’autres services. + +## Étape 6 – Afficher le texte nettoyé + +Enfin, affichez ou stockez le résultat. Dans une application console, `Console.WriteLine` fait l’affaire. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +Lorsque vous exécuterez le programme, vous devriez voir un bloc de texte propre qui reflète le contenu de `invoice.png`. Si l’image contient le mot “Aspose”, le dictionnaire personnalisé garantit qu’il apparaît correctement plutôt que sous une forme comme “A5p0se”. + +## Exemple complet fonctionnel + +En rassemblant le tout, voici le fichier complet `Program.cs` que vous pouvez copier‑coller dans un nouveau projet console : + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Sortie attendue** (en supposant que le PNG contienne une facture simple) : + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Si vous voyez des symboles parasites, revérifiez la qualité de l’image ou enrichissez le dictionnaire personnalisé avec davantage de termes. + +## Bonus : Gestion des scans de mauvaise qualité + +Parfois les PNG sont numérisés à 72 dpi ou présentent de lourds artefacts de compression. Voici quelques astuces rapides pour **améliorer la précision de l'OCR** sans quitter C# : + +1. **Pré‑traiter l'image** avec une bibliothèque comme `SixLabors.ImageSharp` – augmenter le contraste, convertir en niveaux de gris ou appliquer un léger flou pour réduire le bruit. +2. **Définir la propriété `Resolution`** sur le `OcrEngine` (par ex., `ocrEngine.Resolution = 300;`) pour indiquer au moteur de traiter l’image comme haute résolution. +3. **Activer les packs de langues** si vous traitez du texte non anglais (`ocrEngine.Language = Language.English;`). + +Ces trois approches peuvent être ajoutées avant l’appel à `RecognizeImage`. + +## Questions fréquentes + +- **Cette méthode fonctionne‑t‑elle avec d’autres formats d’image ?** + Oui. `RecognizeImage` accepte JPEG, BMP, TIFF et même PDF (en tant que conteneur d’image). Les mêmes étapes s’appliquent. + +- **Puis‑je extraire du texte de plusieurs PNG dans un dossier ?** + Absolument. Enveloppez la logique principale dans une boucle `foreach (var file in Directory.GetFiles(folder, "*.png"))` et stockez chaque résultat dans une liste ou écrivez‑les dans des fichiers séparés. + +- **Et si j’ai besoin des coordonnées du texte ?** + Aspose OCR fournit également des objets `OcrResult` contenant les boîtes englobantes. Utilisez `ocrEngine.RecognizeImageToResult(imagePath)` pour ce scénario avancé. + +## Conclusion + +Nous avons parcouru une solution **complète, de bout en bout** pour **extraire du texte à partir de PNG** en utilisant Aspose OCR. En initialisant le moteur, en lui fournissant un **dictionnaire personnalisé**, en nettoyant la sortie brute et en gérant quelques pièges courants, vous pouvez lire le texte d’une image de façon fiable et **améliorer la précision de l'OCR** dans vos propres applications C#. + +Prêt pour l’étape suivante ? Essayez de remplacer le PNG par un reçu numérisé, ajoutez davantage de mots spécifiques à votre domaine dans le dictionnaire, ou intégrez la sortie à une base de données pour un traitement automatisé des factures. Le ciel est la limite lorsque vous combinez Aspose OCR avec l’écosystème riche de .NET. + +Bon codage, et que votre OCR soit toujours précis ! + +![Extract text from png example](/images/extract-text-from-png.png "extract text from png – Aspose OCR demo") + +{{< /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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/french/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..275ef2ab --- /dev/null +++ b/ocr/french/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,263 @@ +--- +category: general +date: 2026-01-09 +description: Extrayez du texte à partir de fichiers TIFF en utilisant Aspose OCR en + C#. Apprenez comment obtenir les 50 premiers caractères de chaque résultat dans + ce tutoriel étape par étape. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: fr +og_description: Extraire du texte d’un TIFF à l’aide d’Aspose OCR en C#. Ce guide + montre comment obtenir les 50 premiers caractères de chaque résultat OCR, étape + par étape. +og_title: Extraire du texte d'un TIFF avec Aspose OCR – Guide complet C# +tags: +- Aspose OCR +- C# +- TIFF processing +title: Extraire du texte d'un TIFF avec Aspose OCR C# – Tutoriel complet +url: /fr/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extraire du texte d'un TIFF – Tutoriel complet Aspose OCR C# + +Vous avez déjà eu besoin d'**extraire du texte d'images TIFF** sans savoir quelle bibliothèque choisir ? Vous n'êtes pas seul. De nombreux développeurs se heurtent à un mur lorsqu'ils essaient d'obtenir du texte consultable à partir de TIFF multi‑pages, surtout lorsque les performances sont essentielles. + +Dans ce **tutoriel aspose ocr c#**, nous allons parcourir un exemple prêt à l'emploi qui non seulement extrait le texte complet, mais montre aussi comment **obtenir les 50 premiers caractères** de chaque page pour des aperçus rapides. À la fin, vous disposerez d'un programme autonome que vous pourrez intégrer à n'importe quel projet .NET. + +## Ce dont vous avez besoin + +- .NET 6 (ou toute version .NET récente) – le code se compile avec .NET Core et .NET Framework. +- Une licence active d'Aspose.OCR pour .NET (vous pouvez commencer avec un essai gratuit). +- Un dossier contenant un ou plusieurs fichiers `.tif` que vous souhaitez traiter. +- Visual Studio, VS Code ou tout IDE de votre choix – l'exemple est du C# pur, le choix de l'éditeur est donc sans importance. + +> **Astuce pro :** Si vous travaillez sur un serveur CI, ajoutez le package NuGet Aspose.OCR (`Aspose.OCR`) à votre fichier projet ; la bibliothèque est entièrement gérée et ne possède aucune dépendance native. + +## Étape 1 : Installer le package NuGet Aspose OCR + +Première chose, introduisons le moteur OCR dans le projet. Ouvrez un terminal dans le dossier de votre solution et exécutez : + +```bash +dotnet add package Aspose.OCR +``` + +Cette commande récupère la dernière version stable (en janvier 2026 : 23.9) et met à jour votre `.csproj` automatiquement. Aucun déplacement manuel de DLL n'est nécessaire. + +## Étape 2 : Initialiser le moteur OCR + +Nous créons maintenant une instance de `OcrEngine`. Pensez‑y comme le « cerveau » qui lira chaque page TIFF. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Pourquoi n'instancier le moteur qu'une seule fois ? Parce que `RecognizeImages` peut accepter une collection de chemins de fichiers, permettant au moteur de réutiliser ses tampons internes et d'accélérer considérablement le traitement par lots. + +## Étape 3 : Rassembler tous les fichiers TIFF en un seul appel + +Au lieu de parcourir le répertoire vous‑même, laissons .NET faire le travail lourd. La méthode `Directory.GetFiles` renvoie un `IEnumerable` que nous pouvons transmettre directement à l'appel OCR. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **Et si mes images sont JPEG ou PNG ?** Il suffit de changer le motif de recherche (`"*.jpg"` ou `"*.*"`). Aspose OCR fonctionne avec tous les formats raster courants. + +## Étape 4 : Exécuter l'OCR sur l'ensemble de la collection + +Voici la ligne magique qui traite chaque fichier en une seule requête. La méthode renvoie un dictionnaire où la clé est le chemin du fichier et la valeur est un objet `OcrResult` contenant le texte reconnu. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Pourquoi traiter par lots ? Cela réduit le surcoût lié au chargement répété du moteur OCR et, sur les machines multicœurs, Aspose parallélise le travail en interne, vous offrant un gain de vitesse notable. + +## Étape 5 : Afficher un aperçu – Obtenir les 50 premiers caractères + +La plupart des scénarios UI n'ont besoin que d'un extrait, pas du document complet. Nous allons extraire les 50 premiers caractères (ou moins si la page est courte) et les afficher à côté du nom de fichier. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +L'instruction `Math.Min(50, fullText.Length)` garantit que nous ne dépassons jamais les limites de la chaîne – une petite précaution qui évite une `ArgumentOutOfRangeException` lorsque le résultat OCR est inférieur à 50 caractères. + +### Sortie console attendue + +En supposant que vous avez deux fichiers TIFF (`invoice1.tif` et `receipt2.tif`), la console pourrait afficher : + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Chaque ligne se termine par des points de suspension (`...`) pour indiquer que l'aperçu n'est que le début d'un bloc de texte plus long. + +## Étape 6 : Gérer les cas limites et les pièges courants + +### Fichiers vides ou corrompus + +Si un fichier ne peut pas être lu, `RecognizeImages` renvoie quand même une entrée avec une propriété `Text` vide. Vous pouvez filtrer ces cas : + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Lots volumineux + +Traiter des milliers de TIFF peut consommer beaucoup de mémoire. Dans ce cas, utilisez la surcharge qui accepte un `Stream` par image, ou traitez la liste par petits morceaux : + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Support des langues et des polices + +Si vos documents contiennent des caractères non latins, définissez la langue avant d'appeler `RecognizeImages` : + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Ce petit ajustement peut augmenter la précision de façon spectaculaire. + +## Étape 7 : Exemple complet fonctionnel (prêt à copier‑coller) + +Voici le programme complet que vous pouvez coller dans un nouveau projet console (`dotnet new console`) et exécuter tel quel (remplacez simplement `YOUR_DIRECTORY/Batch` par le chemin réel). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Exécutez le programme avec `dotnet run`. Vous devriez voir un aperçu concis pour chaque fichier TIFF, confirmant que vous avez bien **extrait du texte d'images TIFF** à l'aide d'Aspose OCR. + +## Questions fréquentes (FAQ) + +**Q : Cela fonctionne‑t‑il avec les TIFF multi‑pages ?** +R : Oui. Aspose OCR traite chaque page comme une image distincte en interne, de sorte qu'un TIFF multi‑pages produit une chaîne concaténée unique par fichier. Vous pouvez la scinder ultérieurement si besoin. + +**Q : Quelle est la précision de l'OCR « out of the box » ?** +R : Pour des scans propres et haute résolution (300 DPI ou plus), attendez‑vous à plus de 95 % de précision sur du texte anglais. Un pré‑traitement (redressement, binarisation) peut pousser ce taux encore plus haut. + +**Q : Puis‑je exporter les résultats vers un fichier CSV ?** +R : Absolument. Remplacez le `Console.WriteLine` par un `StreamWriter` et écrivez des lignes `fileName,preview`. N'oubliez pas d'échapper les virgules présentes dans le texte d'aperçu. + +## Prochaines étapes et sujets associés + +- **Persister les résultats OCR** – Stocker le texte complet dans une base de données pour des archives consultables. +- **Combiner avec la conversion PDF** – Utiliser Aspose.PDF pour intégrer le texte extrait dans des PDF recherchables. +- **Traitement par lots sur Azure Functions** – Faire évoluer le travail OCR sans gérer de serveurs. + +Toutes ces extensions s'appuient sur l'idée centrale d'**extraire du texte d'un TIFF** de façon efficace, tout en vous permettant d'**obtenir les 50 premiers caractères** pour des aperçus UI rapides. + +--- + +*Bon codage ! Si vous rencontrez des particularités, laissez un commentaire ci‑dessous – je ferai de mon mieux pour vous aider à affiner votre pipeline OCR.* + +![Extraire du texte d'un TIFF avec Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extraire du texte d'un TIFF avec Aspose 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/french/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/french/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..576f9bec --- /dev/null +++ b/ocr/french/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,240 @@ +--- +category: general +date: 2026-01-09 +description: Reconnaître rapidement le texte dans un JPG avec Aspose OCR en C#. Apprenez + comment extraire le texte d’une image, convertir l’image en JSON et en EPUB dans + un seul tutoriel. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: fr +og_description: Reconnaître le texte dans un JPG avec Aspose OCR. Ce guide montre + comment extraire le texte d’une image, convertir l’image en JSON et EPUB, et créer + un ePub à partir d’une image. +og_title: Reconnaître le texte dans un JPG – Tutoriel complet C# +tags: +- Aspose OCR +- C# +- Image Processing +title: recognize text in jpg with Aspose OCR – Complete C# Guide +url: /fr/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# reconnaître du texte dans jpg – Guide complet C# + +Vous avez déjà eu besoin de **reconnaître du texte dans jpg** mais vous n'étiez pas sûr de la bibliothèque à choisir ? Vous n'êtes pas seul. De nombreux développeurs rencontrent le même obstacle lorsqu'ils essaient pour la première fois d'extraire des mots d'une photographie ou d'un document numérisé. + +Bonne nouvelle ? Avec Aspose OCR, vous pouvez **extraire du texte d'une image** en quelques lignes de code C#, puis instantanément **convertir l'image en JSON** ou même **convertir l'image en EPUB** — le tout sans quitter votre IDE. + +Dans ce tutoriel, nous parcourrons l’ensemble du flux de travail : de l'installation des bons packages NuGet, en passant par la reconnaissance de texte dans un JPG, jusqu'à l'enregistrement du résultat sous forme de JSON structuré et de document ePub. À la fin, vous serez capable de **créer un epub à partir d'une image** de façon programmatique, une astuce pratique pour les plateformes d'e‑learning, les bibliothèques numériques ou toute application nécessitant des e‑books recherchables. + +--- + +## Ce dont vous avez besoin + +- **.NET 6+** (ou .NET Framework 4.6+). Le code fonctionne sur n'importe quel runtime récent. +- **Aspose.OCR** package NuGet – le moteur OCR principal. +- **Aspose.Publishing** package NuGet – requis pour le format de sortie ePub. +- Un fichier image nommé `input.jpg` situé quelque part sur votre disque (remplacez le chemin par le vôtre). +- Un éditeur de texte ou un IDE (Visual Studio, VS Code, Rider — à vous de choisir). + +C’est tout. Aucun service supplémentaire, aucune API externe, juste quelques bibliothèques et un fichier JPG. + +--- + +## Étape 1 : Configurez votre projet pour **reconnaître du texte dans jpg** + +Tout d'abord, créez une nouvelle application console (ou ajoutez‑la à un projet existant). Ensuite, ajoutez les deux packages Aspose via le Gestionnaire de packages NuGet : + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Astuce :** Si vous utilisez Visual Studio, faites un clic droit sur le projet → *Manage NuGet Packages* → recherchez *Aspose.OCR* et *Aspose.Publishing*, puis cliquez sur **Install**. + +Ces packages apportent tout ce dont vous avez besoin pour **extraire du texte d'une image** et pour générer un fichier ePub plus tard. + +--- + +## Étape 2 : **Extraire du texte d'une image** avec Aspose OCR + +Nous allons maintenant écrire le code qui lit réellement le JPG et en extrait les caractères. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Pourquoi cela fonctionne :** `OcrEngine` abstrait tout le prétraitement d'image de bas niveau, la détection de langue et la segmentation des caractères. Vous le pointez simplement vers un fichier et il renvoie un objet `OcrResult` contenant la chaîne de texte brut (`ocrResult.Text`) ainsi qu'un ensemble riche de métadonnées. + +--- + +## Étape 3 : **Convertir l'image en JSON** – Exportation du résultat OCR + +Si vous devez stocker la sortie OCR dans un format structuré (pour des API, bases de données ou traitements en aval), Aspose rend la sérialisation du résultat en JSON triviale. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +Le JSON généré ressemble approximativement à ceci (abrégé pour la concision) : + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**Quand l'utiliser :** JSON est parfait si vous alimentez les données OCR dans un service web, les stockez dans un magasin NoSQL, ou avez simplement besoin d'une représentation portable pouvant être analysée par n'importe quel langage. + +--- + +## Étape 4 : **Convertir l'image en EPUB** – Enregistrement en tant qu'eBook + +Aspose Publishing ajoute la prise en charge de plusieurs formats d'e‑book, dont l'EPUB. En appelant `Save` sur le `OcrResult`, vous pouvez générer un fichier ePub entièrement conforme contenant le texte reconnu et, éventuellement, l'image originale. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**Ce que vous obtenez :** Un ePub que vous pouvez ouvrir avec n'importe quel lecteur (Calibre, Apple Books, Adobe Digital Editions). Le fichier inclut le texte extrait comme contenu recherchable, plus l'image source comme couche de fond — idéal pour créer des pipelines **créer epub à partir d'une image**. + +--- + +## Étape 5 : Exemple complet – De JPG à JSON & EPUB + +En combinant le tout, voici le programme complet, prêt à l'exécution. Copiez‑collez ceci dans `Program.cs`, ajustez les chemins de fichiers, et appuyez sur **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Exécutez le programme et vous devriez voir trois choses : + +1. Le texte reconnu affiché dans la console. +2. Un fichier `output.json` contenant les données OCR structurées. +3. Un fichier `output.epub` que vous pouvez ouvrir avec n'importe quel lecteur d'e‑book. + +--- + +## Questions fréquentes & cas particuliers + +- **Et si l'image est un PNG ou BMP ?** + Aspose OCR prend en charge la plupart des formats raster (PNG, BMP, TIFF, GIF). Il suffit de changer l'extension du fichier dans `inputPath` ; le même code fonctionne. + +- **Puis‑je spécifier une langue autre que l'anglais ?** + Oui. Définissez `ocrEngine.Language = OcrLanguage.French;` (ou toute langue prise en charge) avant d'appeler `RecognizeImage`. + +- **Qu'en est‑il des PDF multi‑pages ?** + Pour les PDF, vous devez d'abord convertir chaque page en image (Aspose.PDF peut le faire) puis fournir chaque image à `RecognizeImage`. Les objets `OcrResult` obtenus peuvent être fusionnés avant l'exportation en JSON ou EPUB. + +- **J'obtiens des scores de confiance faibles. Comment améliorer la précision ?** + Pré‑traitez l'image : augmentez le contraste, redressez‑la, ou convertissez‑la en niveaux de gris. Aspose OCR propose également `PreprocessOptions` que vous pouvez ajuster. + +--- + +## Conclusion + +Vous disposez maintenant d'une méthode solide, de bout en bout, pour **reconnaître du texte dans jpg** à l'aide d'Aspose OCR, puis **convertir l'image en JSON** pour les pipelines de données et **convertir l'image en EPUB** afin de créer des e‑books recherchables. L'approche est légère, ne nécessite que deux packages NuGet, et fonctionne sur tous les runtimes .NET modernes. + +À partir d'ici, vous pourriez : + +- Intégrer la sortie JSON dans un index de recherche (Azure Cognitive Search, Elastic). +- Traiter par lots un dossier d'images et générer une bibliothèque de livres ePub. +- Étendre le flux de travail avec des API de traduction pour créer automatiquement des e‑books multilingues. + +Essayez, expérimentez avec différentes qualités d'image, et laissez le moteur OCR faire le travail lourd. Bon codage ! + +--- + +![capture d'écran de la reconnaissance de texte dans jpg](placeholder-image.png "exemple de reconnaissance de texte dans 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/german/net/ocr-configuration/_index.md b/ocr/german/net/ocr-configuration/_index.md index cd1f09d6..da2f96ef 100644 --- a/ocr/german/net/ocr-configuration/_index.md +++ b/ocr/german/net/ocr-configuration/_index.md @@ -24,7 +24,7 @@ Tauchen Sie mit Aspose.OCR in die Welt der OCR ein und erfahren Sie Schritt für Nutzen Sie mit Aspose.OCR die Leistungsfähigkeit der OCR-Bilderkennung in .NET. Dieses Tutorial vermittelt Ihnen das Wissen, wie Sie mühelos Text aus in Ordnern gespeicherten Bildern extrahieren können. Steigern Sie die Effizienz bei der Datenextraktion und optimieren Sie die OCR-Funktionen Ihrer Anwendung. ## OCROperation mit Sprachauswahl bei der OCR-Bilderkennung -Bringen Sie Ihre OCR-Fähigkeiten auf ein neues Niveau, indem Sie die Sprachauswahl in Aspose.OCR für .NET beherrschen. Dieses Tutorial führt Sie durch den Prozess der nahtlosen Textextraktion aus Bildern in verschiedenen Sprachen. Stärken Sie Ihre Anwendung mit mehrsprachigen OCR-Funktionen. +Bringen Sie Ihre OCR-Fähigkeiten auf ein neues Niveau, indem Sie die Sprachauswahl in Aspose.OCR für .NET beherrschen. Dieses Tutorial führt Sie durch den Prozess der nahtlosen Texteraktion aus Bildern in verschiedenen Sprachen. Stärken Sie Ihre Anwendung mit mehrsprachigen OCR-Funktionen. ## OCROperation mit Liste in der OCR-Bilderkennung Entdecken Sie das enorme Potenzial von Aspose.OCR für .NET, indem Sie mühelos OCR-Bilderkennung mit Listen durchführen. Dieses Tutorial verbessert nicht nur die Textextraktion, sondern steigert auch die Produktivität beim Umgang mit verschiedenen Datensätzen. Entdecken Sie die Effizienz von OCR mit Listenoperationen. @@ -39,9 +39,14 @@ Nutzen Sie mit Aspose.OCR die Leistungsfähigkeit der OCR-Bilderkennung in .NET. Nutzen Sie leistungsstarke OCR-Funktionen mit Aspose.OCR für .NET. Extrahieren Sie nahtlos Text aus Bildern. ### [OCROperation mit Liste in der OCR-Bilderkennung](./ocr-operation-with-list/) Nutzen Sie das Potenzial von Aspose.OCR für .NET. Führen Sie mühelos eine OCR-Bilderkennung mit Listen durch. Steigern Sie die Produktivität und Datenextraktion in Ihren Anwendungen. +### [OCR-Bild in C# – Komplettleitfaden mit GPU-Unterstützung](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Erfahren Sie, wie Sie mit Aspose.OCR Bilder in C# verarbeiten und GPU-Beschleunigung für schnelle Texterkennung nutzen. +### [Text aus Bild mit Aspose OCR – Komplettleitfaden für C#](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Erfahren Sie, wie Sie mit Aspose OCR Text aus Bildern in C# extrahieren – ein vollständiger Leitfaden. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/german/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..cbf0f0a8 --- /dev/null +++ b/ocr/german/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,204 @@ +--- +category: general +date: 2026-01-09 +description: Erfahren Sie, wie Sie ein Bild mit Aspose.OCR optisch erkennen und den + Bildtext extrahieren. Enthält Schritte zum Konvertieren gescannter Dokumente, zum + Aktivieren der GPU und zum Lesen von Bildern mit OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: de +og_description: Wie man ein Bild schnell mit Aspose.OCR OCRt. Folgen Sie dieser Schritt‑für‑Schritt‑Anleitung, + um Bildtext zu extrahieren, gescannte Dokumente zu konvertieren und die GPU zu aktivieren. +og_title: Wie man ein Bild in C# OCRt – GPU‑beschleunigter Leitfaden +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Wie man ein Bild in C# OCRt – Vollständiger Leitfaden mit GPU‑Unterstützung +url: /de/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man Bilder in C# OCR‑t – Vollständige Anleitung mit GPU‑Unterstützung + +Haben Sie sich jemals gefragt, **wie man Bild‑OCR**‑Dateien direkt aus Ihrer .NET‑App heraus ausführt? Sie sind nicht allein – Entwickler müssen ständig Text aus PDFs, TIFFs und Fotos extrahieren, besonders bei großen gescannten Dokumenten. Die gute Nachricht? Mit Aspose.OCR können Sie **Bildtext extrahieren** in nur wenigen Zeilen, und Sie können sogar **GPU**‑Beschleunigung aktivieren für schnellere Verarbeitung. + +In diesem Tutorial führen wir Sie durch alles, was Sie wissen müssen: von der Installation der Bibliothek, über die Initialisierung der OCR‑Engine mit GPU‑Fallback, bis hin zum **Lesen von Bildern mit OCR** und der Anzeige des Ergebnisses. Am Ende können Sie **gescannte Dokument‑Bilder** in editierbare Zeichenketten umwandeln – ohne externe Dienste. + +--- + +## Was Sie benötigen + +Bevor wir loslegen, stellen Sie sicher, dass Sie Folgendes haben: + +- **.NET 6.0** oder höher (der Code funktioniert auch mit .NET Core und .NET Framework). +- Eine **Lizenz** für Aspose.OCR oder einen temporären Evaluierungsschlüssel (die kostenlose Testversion funktioniert zum Ausprobieren). +- Eine Bilddatei, die Sie verarbeiten möchten – vorzugsweise ein hochauflösendes TIFF oder PNG. +- (Optional) Eine GPU‑fähige Maschine, wenn Sie den Geschwindigkeitsvorteil sehen möchten; andernfalls fällt die Engine elegant auf die CPU zurück. + +Wenn diese Voraussetzungen erfüllt sind, können Sie sich auf den eigentlichen OCR‑Workflow konzentrieren, ohne später an eine Wand zu stoßen. + +--- + +## Schritt 1: Aspose.OCR NuGet‑Paket installieren + +Zuerst – fügen Sie die Aspose.OCR‑Bibliothek zu Ihrem Projekt hinzu. Öffnen Sie ein Terminal im Ordner Ihrer Lösung und führen Sie aus: + +```bash +dotnet add package Aspose.OCR +``` + +Oder, wenn Sie die NuGet‑UI von Visual Studio verwenden, suchen Sie einfach nach **Aspose.OCR** und klicken Sie auf Installieren. Dieser einzelne Befehl holt alle notwendigen DLLs, einschließlich der nativen GPU‑Binärdateien, sofern verfügbar. + +> **Pro‑Tipp:** Halten Sie das Paket aktuell. Neue Releases enthalten oft Verbesserungen der Sprachmodelle und bessere GPU‑Unterstützung. + +--- + +## Schritt 2: Erforderliche Namespaces importieren + +Jetzt, wo das Paket installiert ist, bringen Sie die relevanten Namespaces in den Gültigkeitsbereich. Dieser Schritt ist der Beginn von **wie man Bild‑OCR** im Code. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +Diese beiden Zeilen geben Ihnen Zugriff auf die Klasse `OcrEngine` und das Settings‑Objekt, mit dem Sie die GPU‑Nutzung umschalten können. Ohne sie wüsste der Compiler nicht, was `OcrEngine` bedeutet. + +--- + +## Schritt 3: OCR‑Engine initialisieren und GPU aktivieren + +Wenn Sie sich jemals gefragt haben, **wie man GPU für OCR aktiviert**, ist hier die Antwort. Wir erstellen eine Instanz von `OcrEngineSettings`, setzen das Flag `UseGpu` und übergeben sie dem Engine‑Konstruktor. Die Engine erkennt automatisch, ob eine kompatible GPU vorhanden ist; falls nicht, fällt sie auf die CPU zurück – Sie benötigen also keine zusätzliche Fehlerbehandlung. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Warum überhaupt GPU aktivieren? Bei großen Bildern – denken Sie an mehrseitige TIFFs oder hochauflösende Scans – kann die Verarbeitungszeit von mehreren Sekunden auf einen Bruchteil einer Sekunde sinken. Wenn Sie eine Batch‑Verarbeitungspipeline bauen, summiert sich dieser Geschwindigkeitsgewinn schnell. + +--- + +## Schritt 4: OCR auf das Zielbild anwenden + +Hier führen wir tatsächlich **Bild mit OCR lesen** aus. Geben Sie den Pfad zu Ihrer Datei an, und die Engine gibt den erkannten Text als Zeichenkette zurück. Das funktioniert für jedes Rasterformat, das von Aspose unterstützt wird (PNG, JPEG, TIFF, BMP usw.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Wenn Sie **gescannte Dokument‑Seiten** einzeln konvertieren möchten, iterieren Sie einfach über die Dateinamen und rufen `RecognizeImage` für jede auf. Die Methode ist thread‑sicher, sodass Sie die Arbeit sogar auf einer Mehrkern‑CPU parallelisieren können. + +--- + +## Schritt 5: Extrahierten Text anzeigen oder speichern + +Abschließend geben wir das Ergebnis aus. In einer Konsolen‑App reicht `Console.WriteLine`. In einer realen Anwendung schreiben Sie den Text vielleicht in eine Datenbank, eine JSON‑Datei oder füttern ihn in einen Suchindex. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +Die obige Zeile gibt die rohe OCR‑Ausgabe aus. Sie werden Zeilenumbrüche, gelegentliche Fehlinterpretationen und vielleicht ein paar fremde Zeichen bemerken – das ist bei OCR normal. Nachbearbeitung (z. B. Regex‑Bereinigung) kann das Ergebnis bei Bedarf säubern. + +> **Hinweis:** Aspose.OCR unterstützt auch sprachspezifische Wörterbücher. Wenn Sie nicht‑englische Texte verarbeiten, setzen Sie `ocrEngine.Settings.Language` entsprechend, bevor Sie `RecognizeImage` aufrufen. + +--- + +## Vollständiges funktionierendes Beispiel + +Alles zusammengeführt, hier ein eigenständiges Programm, das Sie in ein neues Konsolen‑Projekt kopieren‑und‑einfügen können: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Erwartete Ausgabe** (gekürzt zur Übersicht): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Starten Sie das Programm, und Sie sollten den extrahierten Text in Ihrem Konsolenfenster sehen. Wenn die GPU verfügbar ist, wird die Verarbeitungszeit merklich kürzer sein als auf reinen CPU‑Maschinen. + +--- + +## Häufige Stolperfallen & wie man sie vermeidet + +| Problem | Warum es passiert | Lösung | +|-------|----------------|-----| +| **Garbage‑Zeichen** | Niedrige Auflösung oder verrauschter Hintergrund. | Bild vorverarbeiten (DPI erhöhen, Binärisierung anwenden) bevor OCR. | +| **GPU wird nicht genutzt** | Kein kompatibler CUDA‑Treiber installiert. | Treiberversion prüfen oder `UseGpu = false` setzen, um CPU zu erzwingen. | +| **Out‑of‑Memory bei großen TIFFs** | Das gesamte File wird auf einmal geladen. | `OcrEngineSettings.MaxMemoryUsage` nutzen, um den Speicherverbrauch zu begrenzen, oder Seiten einzeln verarbeiten. | +| **Falsche Spracherkennung** | Standardsprache ist Englisch. | `ocrEngine.Settings.Language = Language.YourLanguage;` setzen, bevor `RecognizeImage` aufgerufen wird. | + +Durch das Beheben dieser Edge‑Cases bleibt Ihre **wie man Bild‑OCR**‑Implementierung robust in unterschiedlichen Umgebungen. + +--- + +## Lösung erweitern + +Jetzt, wo Sie **Bildtext extrahieren** können, möchten Sie vielleicht: + +- **Gescanntes Dokument**‑PDFs in durchsuchbare PDFs umwandeln, indem Sie die OCR‑Schicht einbetten. +- Ergebnisse in einem **Azure Cognitive Search**‑Index speichern für schnelle Abfragen. +- Den OCR‑Output an eine **Übersetzungs‑API** weiterleiten, falls Sie mehrsprachige Unterstützung benötigen. +- Die Methode `GetBoundingBoxes` von **Aspose.OCR** nutzen, um zu ermitteln, wo jedes Wort im Bild liegt – praktisch für Redaktions‑Tools. + +All diese Erweiterungen bauen auf dem gleichen Kernprinzip auf, das wir behandelt haben: Engine initialisieren, Bild übergeben und Text lesen. + +--- + +## Fazit + +Wir haben ein komplettes End‑to‑End‑Beispiel für **wie man Bild‑OCR** mit Aspose.OCR in C# durchgegangen. Durch das Installieren des NuGet‑Pakets, das Importieren der richtigen Namespaces, das Aktivieren von GPU (oder das Fallback auf CPU) und das Aufrufen von `RecognizeImage` können Sie zuverlässig **Bildtext extrahieren**, **gescannte Dokument‑Seiten** konvertieren und **Bilder mit OCR lesen** in jeder .NET‑Anwendung. + +Probieren Sie es an ein paar Ihrer eigenen Scans aus – experimentieren Sie mit verschiedenen Bildformaten, schalten Sie das GPU‑Flag um und beobachten Sie, wie sich die Performance ändert. Wenn Sie bereit sind, erkunden Sie erweiterte Features wie Sprach‑Dictionaries oder Bounding‑Box‑Extraktion, um Ihre Lösung noch intelligenter zu machen. + +Viel Spaß beim Coden und mögen Ihre OCR‑Pipelines schnell, genau und mühelos 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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/german/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..f458688e --- /dev/null +++ b/ocr/german/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-01-09 +description: Texterkennung aus Bild mit Aspose OCR in C#. Erfahren Sie, wie Sie den + automatischen Download deaktivieren, chinesischen Text aus einem Bild extrahieren + und die OCR‑Sprache festlegen. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: de +og_description: Texterkennung aus Bild mit Aspose OCR in C#. Folgen Sie dieser Schritt‑für‑Schritt‑Anleitung, + um den automatischen Download zu deaktivieren, chinesischen Text aus einem Bild + zu extrahieren und die OCR‑Sprache festzulegen. +og_title: Texterkennung aus Bild mit Aspose OCR – Vollständiger C#‑Leitfaden +tags: +- Aspose OCR +- C# +- Image Processing +title: Texterkennung aus Bild mit Aspose OCR – Vollständiger C#‑Leitfaden +url: /de/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Text aus Bild mit Aspose OCR – Vollständige C#‑Anleitung + +Haben Sie jemals **Text aus einem Bild erkennen** müssen, aber sind an Konfigurationsdetails hängen geblieben? Sie sind nicht allein. Viele Entwickler stoßen auf Probleme, wenn die OCR‑Engine versucht, Sprachpakete zur Laufzeit herunterzuladen, oder wenn sie chinesische Zeichen aus einem Schildfoto nicht extrahieren können. + +In diesem Tutorial führen wir Sie durch eine praktische Lösung, die zeigt, wie man **auto download deaktiviert**, **Text aus Bild extrahiert**, **chinesischen Text aus Bild extrahiert** und **OCR‑Sprache festlegt** – alles mit Aspose OCR für .NET. Am Ende haben Sie ein einzelnes, ausführbares Programm, das den erkannten Text direkt in der Konsole ausgibt. + +## Was Sie lernen werden + +- Wie man das Aspose.OCR NuGet‑Paket installiert und referenziert. +- Warum das Abschalten automatischer Ressourcen‑Downloads in Offline‑ oder sicheren Umgebungen wichtig ist. +- Die genauen Schritte, um die Engine auf einen lokalen Sprachpaket‑Ordner zu verweisen. +- Wie man die korrekte Sprache (Chinesisch – Vereinfachtes) vor der Bildverarbeitung auswählt. +- Wie man die Ausgabe verifiziert und häufige Fallstricke behebt. + +Vorkenntnisse mit Aspose sind nicht erforderlich; Sie benötigen lediglich ein einfaches C#‑Setup und eine Bilddatei, die Sie auslesen möchten. + +## Voraussetzungen + +| Anforderung | Grund | +|-------------|-------| +| .NET 6.0 oder höher (oder .NET Framework 4.7+) | Aspose.OCR unterstützt diese Laufzeiten. | +| Visual Studio 2022 (oder jede IDE Ihrer Wahl) | Für einfache Projekterstellung und Debugging. | +| Eine Bilddatei mit chinesischem Text (z. B. `chinese-sign.jpg`) | Um **chinesischen Text aus Bild extrahieren** zu demonstrieren. | +| Lokale Kopie der Aspose OCR‑Sprachpakete (einmal vom Aspose‑Portal heruntergeladen) | Erforderlich, weil wir **auto download deaktivieren** werden. | + +Stellen Sie sicher, dass die ZIP‑Dateien der Sprachpakete in einem Ordner liegen, den Sie referenzieren können, zum Beispiel `C:\MyOCR\Resources`. + +## Schritt 1: Text aus Bild erkennen – OCR‑Engine konfigurieren + +Zuerst benötigen wir ein `OcrEngineSettings`‑Objekt, das Aspose mitteilt, wo nach Ressourcen gesucht werden soll. Dies ist die Grundlage für jede **Text‑aus‑Bild‑Extraktion**. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +Warum `AutoDownloadResources` auf `false` setzen? In Produktionsumgebungen läuft man oft hinter Firewalls, oder man möchte nicht, dass die Anwendung zur Laufzeit auf das Internet zugreift. Das Deaktivieren der Funktion stellt sicher, dass die Engine nur die Dateien verwendet, die Sie in `ResourceFolder` abgelegt haben, was zudem die Initialisierung beschleunigt. + +## Schritt 2: OCR‑Engine mit den angegebenen Einstellungen erstellen + +Jetzt, wo die Einstellungen bereit sind, instanziieren wir die Engine. In diesem Schritt kommt später die Fähigkeit **OCR‑Sprache festlegen** zum Tragen. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Das `Ocr`‑Objekt ist leichtgewichtig; es lädt tatsächlich keine Sprachdaten, bis Sie eine Sprache zuweisen. Dieses verzögerte Laden ermöglicht es, die Engine sicher zu erstellen, selbst wenn der Ressourcen‑Ordner leer ist – es bricht erst, wenn Sie versuchen, **chinesischen Text aus Bild zu extrahieren**. + +## Schritt 3: OCR‑Sprache festlegen – Chinesisch (Vereinfacht) auswählen + +Aspose unterstützt Dutzende von Sprachen, jeweils als ZIP‑Datei verpackt. Da unser Beispielbild vereinfachte chinesische Zeichen enthält, setzen wir die Sprache explizit vor der Erkennung. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +Wenn Sie diesen Schritt vergessen, verwendet die Engine standardmäßig Englisch und Sie erhalten unlesbare Ausgabe. Außerdem muss der Sprachname dem ZIP‑Dateinamen im `ResourceFolder` entsprechen. Zum Beispiel sollte `ChineseSimplified.zip` vorhanden sein. + +## Schritt 4: Text aus dem Zielbild extrahieren + +Mit der konfigurierten Engine und der festgelegten Sprache können wir schließlich **Text aus Bild erkennen**. Die Methode gibt einen einfachen String zurück, den Sie protokollieren, speichern oder an ein anderes System weitergeben können. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Der Aufruf von `RecognizeImage` übernimmt die gesamte schwere Arbeit: Vorverarbeitung, Segmentierung, Zeichenabgleich und schließlich das Zusammenstellen des Ergebnisses. Ist das Bild klar und das Sprachpaket korrekt, werden die chinesischen Zeichen in der Konsole ausgegeben. + +> **Tipp:** Wenn Sie nur einen Teil des Bildes extrahieren müssen (z. B. einen bestimmten Bereich), verwenden Sie die Überladung `RecognizeImage(string, Rectangle)`, um ein Beschneidungs‑Rechteck zu übergeben. + +## Vollständiges funktionierendes Beispiel + +Unten finden Sie das komplette Programm, das Sie in ein neues Konsolenprojekt kopieren können. Es enthält die `using`‑Anweisungen, die Einstellungen, die Sprachauswahl und die abschließende Ausgabe. Speichern Sie es als `Program.cs`, stellen Sie die NuGet‑Pakete wieder her und führen Sie es aus. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Erwartete Ausgabe + +Wenn `chinese-sign.jpg` den Ausdruck „欢迎光临“ enthält, zeigt die Konsole etwas Ähnliches an: + +``` +=== Recognized Text === +欢迎光临 +``` + +Die genaue Formatierung kann je nach Bildqualität variieren, aber die Zeichen sollten lesbar sein. + +## Häufige Fallstricke & Profi‑Tipps + +| Symptom | Wahrscheinliche Ursache | Lösung | +|---------|--------------------------|--------| +| **Leere Zeichenkette zurückgegeben** | Sprachpaket nicht gefunden oder `AutoDownloadResources` versucht es weiterhin zu holen | Überprüfen Sie den Pfad `ResourceFolder` und stellen Sie sicher, dass `ChineseSimplified.zip` vorhanden ist. | +| **Fehlerhafte Zeichen** | Bild ist unscharf oder hat niedrigen Kontrast | Bild vorverarbeiten (Kontrast erhöhen, binarisieren), bevor es an `RecognizeImage` übergeben wird. | +| **Exception: `FileNotFoundException`** | Falscher Bildpfad | Verwenden Sie einen absoluten Pfad oder legen Sie das Bild im Ausgabeverzeichnis des Projekts ab und referenzieren Sie es mit `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`. | +| **Leistungs‑Verzögerung** | Große Bildabmessungen | Bild vor der Erkennung auf eine angemessene Breite (z. B. 1024 px) verkleinern. | + +**Pro‑Tipp:** Bewahren Sie die Sprachpakete in einem versionierten Ordner auf. Wenn Sie Aspose.OCR aktualisieren, können die neuen Pakete andere Namenskonventionen haben, was Ihre **auto download deaktivieren**‑Strategie stillschweigend brechen könnte. + +## Erweiterung des Beispiels + +Jetzt, da Sie **Text aus Bild erkennen** können, möchten Sie vielleicht: + +- **Stapelverarbeitung** eines Ordners mit Bildern (über Dateien iterieren, jedes Mal `RecognizeImage` aufrufen). +- **Exportieren** der Ergebnisse in eine CSV‑ oder JSON‑Datei für nachgelagerte Analysen. +- **Kombinieren** von OCR mit Übersetzungs‑APIs, um chinesische Schilder in Echtzeit ins Englische zu übersetzen. + +All diese Szenarien nutzen dieselben Kernschritte: einmal konfigurieren, die Sprache festlegen und `RecognizeImage` aufrufen. Das modulare Design hält Ihren Code sauber und leicht wartbar. + +## Fazit + +Sie haben gerade gelernt, wie man mit Aspose OCR in C# **Text aus Bild erkennt**. Durch das explizite **Deaktivieren des automatischen Downloads**, das Verweisen der Engine auf einen lokalen Ressourcen‑Ordner und das **Festlegen der OCR‑Sprache** auf Chinesisch (Vereinfacht) können Sie zuverlässig **chinesischen Text aus Bild extrahieren** und jede andere bereitgestellte Sprache. + +Der oben gezeigte vollständige, ausführbare Code demonstriert einen praktischen Workflow, den Sie in reale Projekte einbinden können. Experimentieren Sie nun mit unterschiedlichen Bildqualitäten, fügen Sie Fehlerbehandlung hinzu oder integrieren Sie die Ausgabe in ein größeres System. Die Möglichkeiten sind praktisch unbegrenzt. + +Haben Sie Fragen zu anderen Sprachen, Performance‑Optimierung oder Cloud‑Bereitstellung? Hinterlassen Sie gerne 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/net/ocr-optimization/_index.md b/ocr/german/net/ocr-optimization/_index.md index 8e29c120..f5faed2c 100644 --- a/ocr/german/net/ocr-optimization/_index.md +++ b/ocr/german/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ Entdecken Sie Aspose.OCR für .NET. Steigern Sie die OCR-Genauigkeit mit Vorvera Verbessern Sie die OCR-Genauigkeit mit Aspose.OCR für .NET. Korrigieren Sie die Rechtschreibung, passen Sie Wörterbücher an und erreichen Sie mühelos eine fehlerfreie Texterkennung. ### [Mehrseitiges Ergebnis als Dokument in der OCR-Bilderkennung speichern](./save-multipage-result-as-document/) Nutzen Sie das Potenzial von Aspose.OCR für .NET. Mit dieser umfassenden Schritt-für-Schritt-Anleitung können Sie mehrseitige OCR-Ergebnisse mühelos als Dokumente speichern. +### [C# OCR-Tutorial: Text aus Bild mit Vorverarbeitung erkennen](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Erfahren Sie, wie Sie mit Aspose.OCR für .NET Text aus Bildern erkennen und Vorverarbeitungsfilter anwenden, um die Genauigkeit zu steigern. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/german/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..9ae89e47 --- /dev/null +++ b/ocr/german/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,230 @@ +--- +category: general +date: 2026-01-09 +description: C#‑OCR‑Tutorial, das zeigt, wie man Text aus einem Bild erkennt und das + Bild für OCR mit Aspose.OCR‑Filtern vorverarbeitet – Schritt‑für‑Schritt‑Anleitung. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: de +og_description: C#‑OCR‑Tutorial, das Sie Schritt für Schritt durch die Texterkennung + aus Bildern und die Vorverarbeitung von Bildern für OCR mit Aspose.OCR‑Filtern führt. + Vollständiger Code enthalten. +og_title: c# OCR‑Tutorial – Text aus Bild mit Vorverarbeitung erkennen +tags: +- OCR +- C# +- Image Processing +title: 'C# OCR‑Tutorial: Text aus Bild mit Vorverarbeitung erkennen' +url: /de/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR-Tutorial – Text aus Bild erkennen mit Vorverarbeitung + +Haben Sie sich jemals gefragt, wie man **Text aus Bild** in einer C#‑Anwendung erkennt, ohne wochenlang Filter anzupassen? Sie sind nicht allein. In diesem **c# OCR‑Tutorial** führen wir Sie durch ein vollständiges, sofort ausführbares Beispiel, das nicht nur den Text liest, sondern auch **das Bild für OCR vorverarbeitet**, um die Genauigkeit zu erhöhen. + +Wir verwenden die Aspose.OCR‑Bibliothek, da sie eine praktische Filter‑Pipeline mitliefert, mit der Sie Entzerrung, Rauschunterdrückung und Kontrastverstärkung in nur wenigen Zeilen einbinden können. Am Ende dieser Anleitung haben Sie eine Konsolen‑App, die ein schiefes, verrauschtes PNG einliest, es bereinigt und die extrahierte Zeichenkette ausgibt – alles mit klaren Erklärungen, warum jeder Schritt wichtig ist. + +## Voraussetzungen + +| Anforderung | Warum es wichtig ist | +|-------------|----------------------| +| .NET 6 SDK (oder neuer) | Moderne C#‑Features und bessere Performance | +| Visual Studio 2022 (oder VS Code) | Praktisches Debugging und IntelliSense | +| NuGet‑Paket **Aspose.OCR** | Stellt die `OcrEngine`‑ und Filterklassen bereit | +| Ein Eingabebild (z. B. `skewed‑noisy.png`) | Zeigt die Notwendigkeit der Vorverarbeitung | + +Falls einer dieser Punkte fehlt, installieren Sie ihn zuerst. Der NuGet‑Schritt wird im nächsten Abschnitt behandelt. + +## Schritt 1: Aspose.OCR über NuGet installieren + +Öffnen Sie Ihr Terminal (oder die Package‑Manager‑Konsole) und führen Sie aus: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro‑Tipp:** Verwenden Sie das Flag `--version`, um eine bestimmte Version zu fixieren, falls Sie reproduzierbare Builds benötigen. + +Das Paket enthält alle benötigten Filter, sodass keine zusätzlichen DLLs erforderlich sind. + +## Schritt 2: OCR‑Engine initialisieren – das Herzstück des c# OCR‑Tutorials + +Die Erstellung der Engine ist unkompliziert, aber es lohnt sich zu verstehen, was im Hintergrund passiert. Die `OcrEngine` enthält eine Pipeline von **Filtern**, die das Bitmap manipulieren, bevor der Erkennungsalgorithmus ausgeführt wird. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Warum zuerst initialisieren?** Die Engine cached interne Ressourcen (wie Sprachmodelle). Die Wiederverwendung einer einzigen Instanz für mehrere Bilder spart Speicher und beschleunigt nachfolgende Erkennungen. + +## Schritt 3: Bild für OCR vorverarbeiten – Entzerrung, Rauschunterdrückung und Kontrastverstärkung hinzufügen + +Die meisten realen Scans sind nicht perfekt; sie sind schräg, körnig oder zu dunkel. Deshalb ist **Bild für OCR vorverarbeiten** ein kritischer Schritt. Aspose stellt drei Filter bereit, die gut zusammenarbeiten: + +| Filter | Was er tut | Typischer Anwendungsfall | +|--------|------------|--------------------------| +| `DeskewFilter` | Dreht das Bild, um die Schräglage zu korrigieren | Gescannte Dokumente von einem Scanner | +| `DenoiseFilter` | Entfernt isolierte Pixel („Salz‑und‑Pfeffer“-Rauschen) | Fotos bei wenig Licht | +| `ContrastBoostFilter` | Erhöht den Kontrast, um Textkanten zu schärfen | Verblasste Ausdrucke oder Aufnahmen mit niedriger Auflösung | + +Unten steht der Code, der jeden Filter zur Pipeline der Engine hinzufügt: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **Wie es funktioniert:** Wenn Sie später `RecognizeImage` aufrufen, führt die Engine diese drei Filter nacheinander aus, bevor das bereinigte Bitmap an den Erkennungskern übergeben wird. + +### Visuelle Darstellung (optional) + +Wenn Sie ein Bild einbetten, stellen Sie sicher, dass der Alt‑Text das Haupt‑Keyword enthält: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Schritt 4: Text aus Bild erkennen – der entscheidende Moment + +Jetzt, da das Bild vorverarbeitet ist, können wir endlich die Zeichen extrahieren. Die Methode gibt einen einfachen String zurück, den Sie protokollieren, speichern oder in ein anderes System einspeisen können. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Erwartete Ausgabe + +Das Ausführen des Beispiels mit einem typischen Rechnungsscan liefert etwa Folgendes: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +Wenn die Ausgabe unleserlich erscheint, überprüfen Sie die Bildqualität und erwägen Sie, den `ContrastBoostFilter.Level` anzupassen (Werte > 2.0 können zu aggressiv sein). + +## Schritt 5: Ergebnis ausgeben und optional nachverarbeiten + +Eine Konsolen‑App kann den String einfach ausgeben, aber viele Projekte benötigen zusätzliche Verarbeitung – z. B. das Entfernen von Leerzeichen, Zeilenumbrüchen oder das Einspielen des Textes in eine Datenbank. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Warum nachverarbeiten? + +Selbst bei guter Vorverarbeitung fügt OCR häufig überflüssige Zeilenumbrüche oder unsichtbare Zeichen ein. Eine kurze `Replace`‑Kette kann die Daten für nachgelagerte Prozesse deutlich nutzbarer machen. + +## Schritt 6: Vollständiges funktionierendes Beispiel – zum Kopieren und Einfügen bereit + +Unten finden Sie das **vollständige** Programm, das Sie sofort kompilieren und ausführen können. Es enthält alle using‑Anweisungen, die Filter‑Konfiguration, den OCR‑Aufruf und die Ergebnisverarbeitung. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +### So führen Sie es aus + +1. Speichern Sie die Datei als `Program.cs` in einem neuen Konsolenprojekt (`dotnet new console`). +2. Ersetzen Sie `YOUR_DIRECTORY/skewed-noisy.png` durch den tatsächlichen Pfad zu Ihrem Testbild. +3. Führen Sie `dotnet run` aus. Sie sollten die OCR‑Ausgabe im Terminal sehen. + +## Häufige Fallstricke & Tipps (Text aus Bild zuverlässig erkennen) + +| Problem | Was zu prüfen ist | Lösung | +|---------|-------------------|--------| +| **Fehlerhafte Zeichen** | Bild ist zu dunkel oder von niedriger Auflösung | Erhöhen Sie `ContrastBoostFilter.Level` oder verwenden Sie eine höher aufgelöste Quelle | +| **Fehlende Zeilen** | Entzerrung hat den Winkel nicht vollständig korrigiert | Bild zuerst manuell drehen oder die Toleranz von `DeskewFilter` anpassen | +| **Langsame Leistung** | Viele große Bilder werden in einer Schleife verarbeitet | dieselbe `OcrEngine`‑Instanz wiederverwenden und nach jedem Durchlauf `ocrEngine.Clear()` aufrufen | +| **Nicht unterstützte Sprache** | Text ist nicht Englisch | Setzen Sie `ocrEngine.Language = OcrLanguage.French` (oder eine andere unterstützte Sprache) vor der Erkennung | + +### Sonderfall: Verarbeitung mehrseitiger PDFs + +Falls Sie ein PDF OCR‑verarbeiten müssen, konvertieren Sie jede Seite in ein Bild (z. B. mit `Aspose.PDF`) und geben Sie sie einzeln an dieselbe Engine weiter. Die Vorverarbeitungs‑Pipeline bleibt identisch, wodurch konsistente Ergebnisse über alle Seiten hinweg gewährleistet werden. + +## Fazit + +In diesem **c# OCR‑Tutorial** haben wir alles behandelt, was Sie benötigen, um **Text aus Bild zu erkennen** und **Bild für OCR vorzuverarbeiten** mit den integrierten Filtern von Aspose.OCR. Durch das Initialisieren der Engine, das Hinzufügen von Entzerrung, Rauschunterdrückung und Kontrastverstärkung und schließlich den Aufruf von `RecognizeImage` erhalten Sie eine saubere, zuverlässige Textextraktion mit nur wenigen Code‑Zeilen. + +Fühlen Sie sich frei zu experimentieren – tauschen Sie einen anderen Filter aus, passen Sie den Kontrastwert an oder integrieren Sie das Ergebnis in eine größere Daten‑Pipeline. Die hier vorgestellten Konzepte gelten für jede OCR‑Bibliothek: Vorverarbeitung ist oft der Unterschied zwischen einer halb gelesenen Rechnung und einem perfekt erfassten Dokument. + +Haben Sie weitere Fragen? Vielleicht interessiert Sie die Verarbeitung handgeschriebener Texte oder das Batch‑Processing von Tausenden Dateien. Hinterlassen Sie einen Kommentar, und wir werden diese Szenarien gemeinsam erkunden. 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/net/text-recognition/_index.md b/ocr/german/net/text-recognition/_index.md index 164bd821..eaf4fb7b 100644 --- a/ocr/german/net/text-recognition/_index.md +++ b/ocr/german/net/text-recognition/_index.md @@ -27,7 +27,7 @@ Entdecken Sie die Funktionen von Aspose.OCR für .NET und verändern Sie die Art ## Erhalten Sie das Ergebnis als JSON in der OCR-Bilderkennung -Nutzen Sie das volle Potenzial von Aspose.OCR für .NET, indem Sie lernen, wie Sie mühelos OCR-Ergebnisse im JSON-Format erhalten. Diese Schritt-für-Schritt-Anleitung gewährleistet einen reibungslosen Weg zur Verbesserung Ihrer Bilderkennungsfähigkeiten. Steigern Sie die Effizienz Ihrer Anwendung mit den robusten Funktionen und der branchenführenden Technologie von Aspose.OCR. +Nutzen Sie das volle Potenzial von Aspose.OCR für .NET, indem Sie lernen, wie Sie mühelos OCR-Ergebnisse im JSON-Format erhalten. Diese Schritt‑für‑Schritt‑Anleitung gewährleistet einen reibungslosen Weg zur Verbesserung Ihrer Bilderkennungsfähigkeiten. Steigern Sie die Effizienz Ihrer Anwendung mit den robusten Funktionen und der branchenführenden Technologie von Aspose.OCR. ## Modus „OCR-Erkennungsbereiche“ in der OCR-Bilderkennung @@ -41,23 +41,36 @@ Nutzen Sie das Potenzial von OCR in .NET mit Aspose.OCR. Extrahieren Sie mühelo Navigieren Sie mit Aspose.OCR für .NET durch die Komplexität der Tabellenerkennung bei der OCR-Bilderkennung. Unser umfassender Leitfaden ermöglicht es Ihnen, das volle Potenzial von Aspose.OCR auszuschöpfen und eine genaue und effiziente Tabellenerkennung in Ihren Anwendungen sicherzustellen. Werten Sie Ihre Projekte mit der branchenführenden OCR-Lösung auf. -Sind Sie bereit, Ihre .NET-Anwendungen zu revolutionieren? Tauchen Sie ein in unsere Tutorials zur Texterkennung und nutzen Sie die Leistungsfähigkeit von Aspose.OCR für eine genaue und effiziente Texterkennung in Bildern. Laden Sie es jetzt herunter und begeben Sie sich auf eine Reise mit erweiterten OCR-Funktionen. +Sind Sie bereit, Ihre .NET-Anwendungen zu revolutionieren? Tauchen Sie ein in unsere Tutorials zur Texterkennung und nutzen Sie die Leistungsfähigkeit von Aspose.OCR für eine genaue und effiziente Texterkennung in Bildern. Laden Sie es jetzt herunter und begeben Sie sich auf eine Reise mit erweiterten OCR‑Funktionen. ## Tutorials zur Texterkennung ### [Erhalten Sie Auswahlmöglichkeiten für erkannte Zeichen bei der OCR-Bilderkennung](./get-choices-for-recognized-characters/) -Erweitern Sie Ihre .NET-Anwendungen mit Aspose.OCR für eine genaue Zeichenerkennung. Befolgen Sie unsere Schritt-für-Schritt-Anleitung, um Auswahlmöglichkeiten für erkannte Zeichen bei der Bilderkennung abzurufen. +Erweitern Sie Ihre .NET-Anwendungen mit Aspose.OCR für eine genaue Zeichenerkennung. Befolgen Sie unsere Schritt‑für‑Schritt‑Anleitung, um Auswahlmöglichkeiten für erkannte Zeichen bei der Bilderkennung abzurufen. ### [Erhalten Sie das Erkennungsergebnis bei der OCR-Bilderkennung](./get-recognition-result/) Entdecken Sie Aspose.OCR für .NET, eine leistungsstarke OCR-Lösung für die nahtlose Texterkennung in Bildern. ### [Erhalten Sie das Ergebnis als JSON in der OCR-Bilderkennung](./get-result-as-json/) -Nutzen Sie die Leistungsfähigkeit von Aspose.OCR für .NET. Erfahren Sie, wie Sie mühelos OCR-Ergebnisse im JSON-Format erhalten. Verbessern Sie Ihre Bilderkennung mit dieser Schritt-für-Schritt-Anleitung. +Nutzen Sie die Leistungsfähigkeit von Aspose.OCR für .NET. Erfahren Sie, wie Sie mühelos OCR-Ergebnisse im JSON-Format erhalten. Verbessern Sie Ihre Bilderkennung mit dieser Schritt‑für‑Schritt‑Anleitung. ### [Modus „OCR-Erkennungsbereiche“ in der OCR-Bilderkennung](./ocr-detect-areas-mode/) Erweitern Sie Ihre .NET-Anwendungen mit Aspose.OCR für eine effiziente Bildtexterkennung. Entdecken Sie den OCR-Erkennungsmodus für präzise Ergebnisse. ### [Erkennen Sie PDF mit der OCR-Bilderkennung](./recognize-pdf/) Nutzen Sie das Potenzial von OCR in .NET mit Aspose.OCR. Extrahieren Sie mühelos Text aus PDFs. Laden Sie es jetzt herunter und genießen Sie eine nahtlose Integration. ### [Tabelle in der OCR-Bilderkennung erkennen](./recognize-table/) Nutzen Sie das Potenzial von Aspose.OCR für .NET mit unserem umfassenden Leitfaden zum Erkennen von Tabellen in der OCR-Bilderkennung. +### [C# OCR‑Tutorial – Hindi‑Text aus PNG‑Belegen extrahieren](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Erfahren Sie, wie Sie mit Aspose.OCR in .NET Hindi‑Text aus PNG‑Belegen extrahieren und in Ihre Anwendung integrieren. +### [Text in JPG mit Aspose OCR erkennen – Vollständiger C# Leitfaden](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Erfahren Sie, wie Sie mit Aspose.OCR Text aus JPG‑Dateien extrahieren – Schritt‑für‑Schritt‑Anleitung in C#. +### [Text aus TIFF mit Aspose OCR C# – Vollständiges Tutorial](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Lernen Sie, wie Sie mit Aspose OCR in C# Text aus TIFF‑Dateien extrahieren – Schritt‑für‑Schritt‑Anleitung. +### [C# OCR‑Tutorial – Text aus Bild‑ und DJVU‑Dateien extrahieren](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Erfahren Sie, wie Sie mit Aspose.OCR Text aus Bild‑ und DJVU‑Dateien extrahieren und in Ihre .NET‑Anwendung integrieren. +### [C# OCR‑Tutorial – Text aus Bildern mit Aspose OCR extrahieren](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Erfahren Sie, wie Sie mit Aspose OCR in C# Text aus Bildern extrahieren – Schritt‑für‑Schritt‑Anleitung. +### [Text in PNG mit Aspose OCR extrahieren – Vollständiger C# Leitfaden](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Erfahren Sie, wie Sie mit Aspose OCR in .NET Text aus PNG‑Dateien extrahieren – Schritt‑für‑Schritt‑Anleitung. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/german/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..8d755827 --- /dev/null +++ b/ocr/german/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,219 @@ +--- +category: general +date: 2026-01-09 +description: C# OCR‑Tutorial zum Lesen von Text aus PNG, Umwandeln von Bild zu Text + und Erkennen von Hindi‑Text auf einer Quittung mit Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: de +og_description: C#‑OCR‑Tutorial, das Ihnen zeigt, wie Sie Text aus PNG lesen, Bilder + in Text umwandeln und Hindi‑Text auf einer Quittung mit Aspose OCR erkennen. +og_title: c# OCR‑Tutorial – Hindi‑Text aus PNG‑Quittungen extrahieren +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# OCR‑Tutorial – Hindi‑Text aus PNG‑Quittungen extrahieren +url: /de/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Hindi-Text aus PNG-Belegen extrahieren + +Haben Sie sich jemals gefragt, wie man **Text aus PNG**‑Dateien in einer C#‑Anwendung **liest**? Vielleicht haben Sie eine Menge Hindi‑Belege und müssen die Beträge automatisch extrahieren. Genau das behandelt dieses c# ocr tutorial – ein Bild in durchsuchbaren Text zu verwandeln, und das mit nur wenigen Code‑Zeilen. + +In diesem Leitfaden gehen wir Schritt für Schritt durch die Installation von Aspose OCR, das Laden eines PNG‑Belegs, das Erkennen von Hindi‑Zeichen und schließlich das Ausgeben der extrahierten Zeichenkette in der Konsole. Am Ende können Sie **convert image to text**, **recognize Hindi text** und sogar **extract text from receipt**‑Bilder verarbeiten, ohne Ihre IDE zu verlassen. + +> **Voraussetzungshinweis:** Sie benötigen eine gültige Aspose OCR‑Lizenz (oder Sie können die kostenlose Testversion nutzen) und .NET 6+ installiert. Wenn Sie neu bei NuGet sind, keine Sorge – wir behandeln das ebenfalls. + +--- + +## Was Sie benötigen + +- **Visual Studio 2022** (oder ein beliebiger C#‑kompatibler Editor) +- **.NET 6 SDK** (oder neuer) +- **Aspose.OCR** NuGet‑Paket + ```bash + dotnet add package Aspose.OCR + ``` +- Ein Beispiel‑Belegbild, z. B. `hindi-receipt.png`, im Projektordner gespeichert. + +Wenn Sie diese bereit haben, können Sie den finalen Code einfach kopieren‑einfügen und sofort **F5** drücken. + +--- + +## Schritt 1: Projekt einrichten und Namespaces importieren + +Zuerst erstellen Sie ein Konsolenprojekt, falls Sie noch keines haben: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Öffnen Sie nun `Program.cs`. Importieren Sie oben die Aspose‑OCR‑Namespaces, damit der Compiler weiß, wo die Klassen zu finden sind: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Warum das wichtig ist:** Der `OcrEngine` befindet sich in `Aspose.OCR`, während sprachbezogene Enums in `Aspose.OCR.Settings` liegen. Das Vergessen einer dieser Namespaces führt zu einem Compile‑Zeit‑Fehler. + +## Schritt 2: OCR‑Engine initialisieren und Sprachmodell auswählen + +Die OCR‑Engine muss wissen, **nach welcher Sprache** sie suchen soll. Aspose liefert viele Sprachpakete; das Angeben von `OcrLanguage.Hindi` weist die Engine an, das Hindi‑Modell (falls fehlend) herunterzuladen und zu verwenden. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Pro‑Tipp:** Wenn Sie Belege in mehreren Sprachen verarbeiten möchten, können Sie `Language` zur Laufzeit ändern oder sogar den `MultiLanguage`‑Modus aktivieren. + +## Schritt 3: PNG‑Beleg an die Engine übergeben + +Hier **lesen wir Text aus PNG**. Geben Sie den vollständigen Pfad an (relativ zur ausführbaren Datei funktioniert ebenfalls). Die Methode gibt einen einfachen String zurück, der alles enthält, was die Engine entschlüsseln konnte. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Ist das Bild hochauflösend und der Text sauber, erhalten Sie nahezu perfekte Ergebnisse. Bei verrauschten Scans sollten Sie eine Vorverarbeitung (z. B. Binarisierung) in Betracht ziehen – Aspose bietet `PreprocessImage`‑Methoden, die Sie später erkunden können. + +## Schritt 4: Extrahierten Text anzeigen oder speichern + +Die meisten Entwickler geben das Ergebnis während des Testens einfach in der Konsole aus. In einer Produktionsumgebung könnten Sie es in eine Datenbank oder eine CSV‑Datei schreiben. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Wenn Sie das Programm mit dem Beispiel‑Beleg ausführen, wird etwa Folgendes ausgegeben: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +Das ist der **convert image to text**‑Teil in Aktion – keine manuelle Transkription nötig. + +## Vollständiges funktionierendes Beispiel (zum Kopieren‑Einfügen bereit) + +Unten finden Sie das komplette, eigenständige Programm. Fügen Sie es in `Program.cs` ein, legen Sie `hindi-receipt.png` neben die kompilierte `.exe` und drücken Sie **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Erwartete Ausgabe + +Wenn das Belegbild klare Hindi‑Zeichen enthält, zeigt die Konsole die extrahierten Zeilen an und erhält Zeilenumbrüche bei. Schlägt die OCR bei einem Wort fehl, sehen Sie ein verzerrtes Fragment – ein Hinweis, die Bildqualität zu verbessern oder die Vorverarbeitung anzupassen. + +## Schritt 5: Weiterführend – Text aus Beleg programmgesteuert extrahieren + +Wenn Ihr Ziel ist, **extract text from receipt**‑Felder (Datum, Gesamtbetrag, Rechnungsnummer) zu extrahieren, können Sie den OCR‑String mit regulären Ausdrücken nachbearbeiten: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +Dieses kleine Snippet zeigt, wie man rohe OCR‑Ausgabe in strukturierte Daten umwandelt – perfekt, um sie in Buchhaltungssoftware zu überführen. + +## Häufige Fallstricke & wie man sie vermeidet + +| Problem | Warum es passiert | Lösung | +|-------|----------------|-----| +| **Leere Ausgabe** | Bildpfad falsch oder Datei nicht in den Ausgabepfad kopiert. | Verwenden Sie `Path.GetFullPath` und prüfen Sie, ob die Datei existiert (`File.Exists`). | +| **Fehlerhafte Zeichen** | Niedrigauflösendes PNG oder komprimierte Farben. | Bild hochskalieren, DPI auf 300+ setzen oder `ocrEngine.ImagePreprocessor` nutzen. | +| **Sprachmodell nicht heruntergeladen** | Keine Internetverbindung beim ersten Lauf. | Das Hindi‑Modell über das Aspose‑Portal vorab herunterladen oder lokal bereitstellen. | +| **Leistungs‑Verzögerung** | Viele Seiten in einer Schleife verarbeiten ohne Freigabe. | `OcrEngine` in einem `using`‑Block einbetten oder eine einzelne Instanz wiederverwenden. | + +## Bildillustration + +![c# ocr tutorial liest Hindi-Text aus PNG‑Beleg](https://example.com/placeholder-image.png "c# ocr tutorial – Text aus PNG‑Beleg lesen") + +*Der Screenshot zeigt einen Hindi‑Beleg vor und nach der OCR‑Konvertierung.* + +## Zusammenfassung: Was wir behandelt haben + +- Ein C#‑Konsolen‑App eingerichtet und das Aspose OCR‑NuGet‑Paket hinzugefügt. +- `OcrEngine` mit dem **recognize hindi text**‑Sprachmodell initialisiert. +- **Read text from PNG** mit `RecognizeImage` verwendet. +- **Convert image to text** durchgeführt und das Ergebnis ausgegeben. +- Ein einfaches Muster gezeigt, um **extract text from receipt**‑Felder zu extrahieren. + +## Nächste Schritte & verwandte Themen + +1. **Batch‑Verarbeitung** – Durchlaufen eines Ordners mit Beleg‑Bildern und Speicherung der Ergebnisse in CSV. +2. **Vorverarbeitung** – `ocrEngine.ImagePreprocessor` erkunden für Rauschunterdrückung, Schräglagenkorrektur oder Kontrastverbesserung. +3. **Mehrsprachige OCR** – `OcrLanguage.Multilingual` aktivieren, um Belege zu verarbeiten, die Hindi und Englisch mischen. +4. **Integration** – Extrahierte Daten in ein Entity Framework Core‑Modell für persistente Speicherung einfügen. + +Wenn Sie an einem dieser Themen interessiert sind, schauen Sie sich unsere Tutorials zu **convert image to text in C#** und **extract structured data from OCR results** an. + +### Viel Spaß beim Coden! + +Hinterlassen Sie gern einen Kommentar, falls Sie auf Probleme stoßen, oder teilen Sie, wie Sie dieses **c# ocr tutorial** in Ihren eigenen Projekten erweitert haben. Denken Sie daran, OCR ist nur der erste Schritt – saubere Daten sind das eigentliche Zauberwerk. 🚀 + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/german/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..aaae141a --- /dev/null +++ b/ocr/german/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,257 @@ +--- +category: general +date: 2026-01-09 +description: C#‑OCR‑Tutorial, das zeigt, wie man Text aus Bilddateien extrahiert und + DJVU mit Aspose.OCR in Text umwandelt. Lernen Sie die schrittweise Extraktion in + Minuten. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: de +og_description: c# OCR‑Tutorial, das schnell zeigt, wie man Text aus Bilddateien extrahiert + und DJVU mit Aspose.OCR in Text umwandelt. Folgen Sie der Anleitung für eine funktionierende + Lösung. +og_title: c# OCR‑Tutorial – Text aus Bild & DJVU extrahieren +tags: +- OCR +- C# +- Aspose +title: 'c# OCR‑Tutorial: Text aus Bildern und DJVU‑Dateien extrahieren' +url: /de/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR‑Tutorial – Text aus Bild‑ und DJVU‑Dateien extrahieren + +Haben Sie sich schon einmal gefragt, wie man Text aus Bilddateien extrahiert, ohne sich die Haare zu raufen? In diesem **c# OCR‑Tutorial** führen wir Sie durch ein komplettes, sofort ausführbares Beispiel, das Text aus einem normalen Bild *und* einem DJVU‑Dokument herauszieht. + +Wenn Sie außerdem nach einer schnellen Möglichkeit suchen, **DJVU in Text zu konvertieren**, sind Sie hier genau richtig – keine zusätzlichen Konverter, nur reiner C#‑Code. + +## Was Sie lernen werden + +- Wie Sie die Aspose.OCR‑Bibliothek in einem .NET‑Projekt einrichten. +- Den genauen Code, den Sie benötigen, um **Text aus Bild**‑Dateien zu **extrahieren**. +- Eine kompakte Methode zum **Extrahieren von Text aus DJVU**‑Dateien (ja, dieselbe Engine erledigt das). +- Häufige Stolperfallen (große Dateien, fehlende Fonts, Lizenzierung) und wie Sie diese vermeiden. + +Alles, was Sie brauchen, ist ein aktuelles .NET‑SDK und eine Internetverbindung, um das NuGet‑Paket zu holen. Keine Vorkenntnisse im Bereich OCR erforderlich. + +## Voraussetzungen + +Bevor Sie starten, stellen Sie sicher, dass Sie folgendes haben: + +| Anforderung | Warum wichtig | +|-------------|----------------| +| .NET 6.0 oder höher | Aspose.OCR zielt auf .NET Standard 2.0 ab, daher liefert .NET 6+ die beste Performance. | +| Visual Studio 2022 (oder VS Code) | IDEs machen das Paket‑Management mühelos, aber jeder Editor funktioniert. | +| NuGet‑Paket **Aspose.OCR** | Das ist die Engine, die die eigentliche Arbeit erledigt. | +| Eine Beispiel‑Bilddatei (`sample.png`) und eine DJVU‑Datei (`sample.djvu`) | Wir verwenden diese, um beide Extraktionsszenarien zu demonstrieren. | + +Sie können das Paket mit folgendem Befehl installieren: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro‑Tipp:** Wenn Sie auf einem CI‑Server arbeiten, fügen Sie `--no-restore` zum Build‑Schritt hinzu und führen Sie die Wiederherstellung einmal zu Beginn aus, um Zeit zu sparen. + +## Schritt 1: OCR‑Engine initialisieren – das Herzstück des c# OCR‑Tutorials + +Als Erstes erzeugen wir eine Instanz von `OcrEngine`. Stellen Sie sich das vor wie das Einschalten des Scanners in Ihrer Software. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Warum jedes Mal eine neue Engine erstellen? Weil die Engine Konfigurationen (Sprache, Erkennungsmodus usw.) speichert. Durch einen frischen Start vermeiden Sie, dass veraltete Einstellungen zwischen Durchläufen „lecken“. + +## Schritt 2: Bild laden und erkennen – wie man Text aus Bild extrahiert + +Jetzt übergeben wir ein normales Bitmap (PNG, JPEG, BMP…) an die Engine. Die Methode `RecognizeImage` liefert den erkannten String zurück. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +Ein paar Dinge, die Sie beachten sollten: + +* **Dateiexistenz** – Ist der Pfad falsch, wirft die Methode `FileNotFoundException`. Packen Sie sie in ein `try/catch`, wenn Sie Pfade von Benutzern erwarten. +* **Bildqualität** – OCR funktioniert am besten bei 300 dpi oder höher. Scans mit niedriger Auflösung können unleserliche Ausgaben erzeugen. +* **Sprachunterstützung** – Standardmäßig geht Aspose.OCR von Englisch aus. Um die Sprache zu ändern, setzen Sie `ocrEngine.Language = Language.Spanish;` vor `RecognizeImage`. + +## Schritt 3: Text aus einem DJVU‑Dokument erkennen – DJVU in Text konvertieren + +DJVU ist ein Containerformat, das mehrere Seiten enthalten kann. Aspose.OCR kann es direkt verarbeiten; Sie geben einfach die Datei an. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +Im Hintergrund extrahiert die Engine jede Seite als Bild und führt dieselbe Erkennungspipeline aus. Deshalb benötigen Sie keinen separaten Schritt „DJVU in Text konvertieren“ – die OCR‑Engine erledigt das für Sie. + +### Mehrseitige DJVU‑Dateien verarbeiten + +Enthält Ihr DJVU mehrere Seiten, verkettet `RecognizeImage` sie in der richtigen Reihenfolge. Wenn Sie jede Seite separat benötigen, können Sie die Überladung verwenden, die eine `List` zurückgibt: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Schritt 4: Engine feinjustieren für höhere Genauigkeit – warum das wichtig ist + +Die Ergebnisse „out‑of‑the‑box“ sind bereits brauchbar, aber Sie können sie steigern, indem Sie ein paar Einstellungen anpassen: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Diese Flags sind besonders nützlich, wenn Sie **wie man Text extrahiert** aus gescannten PDFs, die zuerst als DJVU gespeichert wurden. Das Einschalten der Orientierungserkennung erspart Ihnen das manuelle Drehen von Bildern. + +## Schritt 5: Lizenzierung und Laufzeitfehler behandeln + +Aspose.OCR wird mit einer kostenlosen Testversion geliefert, die nach ein paar Seiten das Wort „Demo“ auf das Ergebnis setzt. Um das Wasserzeichen zu entfernen, fügen Sie Ihre Lizenzdatei hinzu: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Vergessen Sie diesen Schritt, funktioniert die Engine weiterhin, aber das Ergebnis enthält das Wort „Demo“. Achten Sie außerdem auf `OutOfMemoryException` bei der Verarbeitung riesiger DJVU‑Dateien – überlegen Sie, die Seiten einzeln zu verarbeiten, wie im vorherigen Schritt gezeigt. + +## Komplettes, ausführbares Beispiel + +Unten finden Sie ein eigenständiges Konsolenprogramm, das alles zusammenführt. Kopieren‑Sie es, passen Sie die Dateipfade an und klicken Sie auf **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Erwartete Ausgabe** (wenn die Dateien den Text „Hello World“ enthalten): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Enthält die Quelle mehrere Zeilen, erscheinen sie exakt so, wie im Originaldokument. + +## Häufige Fragen & Sonderfälle + +* **Was, wenn das Bild schwarz‑weiß ist?** + OCR funktioniert, aber Sie können den Kontrast mit `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;` verbessern. + +* **Kann ich nur Zahlen extrahieren?** + Ja – setzen Sie `ocrEngine.CharWhitelist = "0123456789";` bevor Sie `RecognizeImage` aufrufen. + +* **Gibt es ein Limit für die Dateigröße?** + Die Engine lädt die gesamte Datei in den Speicher. Bei Dateien größer als ca. 100 MB sollten Sie Seite für Seite verarbeiten (siehe Überladung in Schritt 3). + +* **Wie unterscheidet sich das von Tesseract?** + Aspose.OCR ist eine kommerzielle Bibliothek mit integrierter DJVU‑Unterstützung und ohne native Abhängigkeiten, während Tesseract native Binaries und separate DJVU‑Konvertierungstools erfordert. + +## Fazit + +Sie haben gerade ein **c# OCR‑Tutorial** abgeschlossen, das zeigt, wie man **Text aus Bild**‑Dateien extrahiert und nahtlos **DJVU in Text konvertiert** – alles mit Aspose.OCR. Das Beispiel deckt alles ab, von der Paketinstallation über die Lizenzierung bis hin zur Verarbeitung einseitiger Bilder und mehrseitiger DJVU‑Dateien, und enthält sogar Tipps zur Genauigkeitssteigerung. + +Als Nächstes könnten Sie **wie man Text aus PDFs extrahiert** erkunden, den OCR‑Schritt in eine Web‑API integrieren oder mit Sprachpaketen für mehrsprachige Dokumente experimentieren. Der Himmel ist das Limit – denken Sie nur an die Kernpunkte: Engine setzen, Datei übergeben und den String zurücklesen. + +Weitere Fragen? Hinterlassen Sie einen Kommentar, probieren Sie den Code mit Ihren eigenen Dokumenten aus, und happy coding! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# OCR tutorial – console output 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/german/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/german/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..1ded4bff --- /dev/null +++ b/ocr/german/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,230 @@ +--- +category: general +date: 2026-01-09 +description: C# OCR‑Tutorial, das zeigt, wie man Text aus Bilddateien extrahiert, + Text aus PNG erkennt, Bild in Zeichenkette konvertiert und Sprache automatisch mit + Aspose.OCR erkennt. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: de +og_description: C#‑OCR‑Tutorial, das Sie Schritt für Schritt durch das Extrahieren + von Text aus Bildern, das Erkennen von Text aus PNG‑Dateien, das Konvertieren von + Bildern in Zeichenketten und das automatische Erkennen von Sprachen mit Aspose OCR + führt. +og_title: c# OCR‑Tutorial – Text aus Bildern extrahieren +tags: +- C# +- OCR +- Aspose +- Image Processing +title: c# OCR‑Tutorial – Text aus Bildern mit Aspose OCR extrahieren +url: /de/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Text aus Bildern extrahieren mit Aspose OCR + +Haben Sie schon einmal ein **c# ocr tutorial** gebraucht, das wirklich mit einer realen PNG‑Datei funktioniert? Vielleicht bauen Sie einen Beleg‑Scanner, einen mehrsprachigen Formular‑Prozessor oder sind einfach nur neugierig, wie man ein Bild mit Text in einen durchsuchbaren String umwandelt. Wie auch immer, Sie sind hier genau richtig. + +In diesem Leitfaden zeigen wir Ihnen Schritt für Schritt, wie Sie **Text aus Bilddateien extrahieren**, **Text aus png erkennen**, **Bild in String konvertieren** und sogar **Sprache automatisch erkennen** – alles mit der Aspose.OCR‑Bibliothek. Keine vagen Verweise, nur ein vollständiges, lauffähiges Beispiel, das Sie in Visual Studio kopieren und einfügen können. + +## Was Sie benötigen + +- .NET 6.0 oder höher (der Code funktioniert auch mit .NET Core und .NET Framework) +- Ein NuGet‑Verweis auf `Aspose.OCR` (Version 23.9 oder neuer) +- Eine Bilddatei (`mixed‑script.png` in diesem Beispiel), die vom Programm gelesen werden kann +- Grundlegende Kenntnisse in C# (wenn Sie ein „Hello World“ geschrieben haben, sind Sie bereit) + +> **Profi‑Tipp:** Wenn Sie noch keine Lizenz haben, bietet Aspose eine kostenlose temporäre Lizenz zum Testen an. Legen Sie einfach die `.lic`‑Datei neben Ihre ausführbare Datei. + +## Schritt 1 – Installieren des Aspose.OCR NuGet‑Pakets + +Fügen Sie zuerst die Bibliothek zu Ihrem Projekt hinzu. Öffnen Sie die Package Manager Console und führen Sie aus: + +```powershell +Install-Package Aspose.OCR +``` + +Oder, wenn Sie die UI bevorzugen, klicken Sie mit der rechten Maustaste auf *Dependencies → Manage NuGet Packages* und suchen Sie nach **Aspose.OCR**. + +## Schritt 2 – Vorbereitung der OCR‑Engine (c# ocr tutorial core) + +Jetzt erstellen wir eine `OcrEngine`‑Instanz, aktivieren die automatische Spracherkennung und verweisen auf unsere PNG‑Datei. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Warum wir `Language = OcrLanguage.AutoDetect` setzen + +Die automatische Spracherkennung erspart Ihnen das Rätseln, ob das Bild Englisch, Russisch, Arabisch oder eine Mischung enthält. Sie ist die flexibelste Option für ein **detect language automatically**‑Szenario und funktioniert sofort für die meisten von Aspose unterstützten Skripte. + +## Schritt 3 – Anwendung ausführen und Ausgabe prüfen + +Kompilieren und starten Sie das Programm (`dotnet run` oder drücken Sie **F5** in Visual Studio). Wenn alles korrekt verkabelt ist, sehen Sie etwa Folgendes: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +Diese Ausgabe beweist, dass wir erfolgreich **Text aus Bild extrahieren**, **Text aus png erkennen** und **Bild in String konvertieren** – alles in einem einzigen, kompakten Snippet. + +## Schritt 4 – Häufige Variationen & Sonderfälle + +### Verarbeitung mehrerer Bilder + +Wenn Sie ein Verzeichnis mit PNGs verarbeiten müssen, wickeln Sie den Erkennungsaufruf in eine `foreach`‑Schleife: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Festlegen einer festen Sprache + +Manchmal kennen Sie die Sprache bereits (z. B. nur Englisch). Sie können `AutoDetect` durch `OcrLanguage.English` ersetzen, um die Verarbeitung zu beschleunigen: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Umgang mit minderwertigen Scans + +Aspose.OCR bietet Vorverarbeitungsoptionen (Rauschunterdrückung, Entzerrung). Für eine schnelle Lösung: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Ergebnis in einer Datei speichern + +Statt die Ausgabe in die Konsole zu schreiben, möchten Sie den extrahierten Text vielleicht in einer `.txt`‑Datei ablegen: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Schritt 5 – Vollständiges Beispiel (Kopieren‑und‑Einfügen bereit) + +Unten finden Sie das **komplette Programm** inklusive optionaler Vorverarbeitung und Dateiausgabe‑Logik. Passen Sie die Pfade nach Bedarf an. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Erwartete Ausgabe + +Beim Ausführen des Programms auf einer PNG, die Englisch, Russisch und Arabisch enthält, erhalten Sie: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +Ist das Bild leer oder nicht lesbar, gibt die Engine einen leeren String zurück – behandeln Sie diesen Fall, indem Sie `string.IsNullOrWhiteSpace(extractedText)` prüfen, bevor Sie fortfahren. + +## Häufig gestellte Fragen (FAQs) + +**Q: Unterstützt Aspose.OCR handgeschriebenen Text?** +A: Es konzentriert sich auf gedrucktes OCR. Für Handschrift benötigen Sie ein dediziertes ML‑Modell oder einen Service wie Azure Computer Vision. + +**Q: Kann ich das unter Linux/macOS ausführen?** +A: Absolut. Aspose.OCR ist plattformübergreifend; installieren Sie einfach das .NET‑Runtime‑Paket für Ihr Betriebssystem. + +**Q: Was, wenn ich PDFs statt PNGs verarbeiten muss?** +A: Konvertieren Sie jede PDF‑Seite zuerst in ein Bild (z. B. mit `Aspose.PDF`) und übergeben Sie das Bild dann an die OCR‑Engine. + +## Fazit + +Wir haben gerade ein **c# ocr tutorial** abgeschlossen, das Sie durch **Text aus Bild extrahieren**, **Text aus png erkennen**, **Bild in String konvertieren** und **Sprache automatisch erkennen** mit Aspose.OCR führt. Der Code ist kurz, die Konzepte klar, und Sie können ihn zu Batch‑Verarbeitung, benutzerdefinierten Spracheinstellungen oder sogar zur Integration in eine Web‑API erweitern. + +Nächste Schritte? Füttern Sie die OCR‑Ausgabe in einen Suchindex, leiten Sie sie an einen Übersetzungsservice weiter oder kombinieren Sie sie mit Azure Cognitive Services für noch reichhaltigere Datenpipelines. Der Himmel ist das Limit, sobald Sie die Grundlagen der Bild‑zu‑Text‑Konvertierung in C# beherrschen. + +Viel Spaß beim Coden und vergessen Sie nicht, mit verschiedenen Bildqualitäten zu experimentieren – Ihre OCR‑Engine wird es Ihnen danken! + +![c# ocr tutorial – Beispiel für OCR‑Ausgabe auf einem gemischten Skript PNG](placeholder-image.png "c# ocr tutorial – OCR‑Ergebnis Screenshot") + +{{< /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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/german/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..6d6890db --- /dev/null +++ b/ocr/german/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,224 @@ +--- +category: general +date: 2026-01-09 +description: Extrahiere Text aus PNG schnell mit Aspose OCR. Erfahre, wie du Bildtext + liest, die OCR‑Genauigkeit verbesserst und saubere Ergebnisse in C# erhältst. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: de +og_description: Extrahieren Sie Text aus PNG schnell mit Aspose OCR. Erfahren Sie, + wie Sie Bildtext lesen, die OCR‑Genauigkeit verbessern und saubere Ergebnisse in + C# erhalten. +og_title: Text aus PNG extrahieren – Vollständiges Aspose-OCR‑Tutorial +tags: +- Aspose OCR +- C# +- Image Processing +title: Text aus PNG extrahieren – Vollständiges Aspose OCR‑Tutorial +url: /de/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Text aus PNG extrahieren – Vollständiges Aspose OCR‑Tutorial + +Haben Sie schon einmal **Text aus PNG**‑Dateien extrahieren wollen, aber die Ergebnisse waren voller Kauderwelsch? Sie sind nicht allein. In vielen realen Projekten – Rechnungen, Quittungen oder gescannte Formulare – kann die Qualität der OCR‑Ausgabe über Erfolg oder Misserfolg von Automatisierungspipelines entscheiden. + +In diesem Leitfaden zeigen wir Ihnen einen **Schritt‑für‑Schritt**‑Ansatz, um Bildtext mit Aspose OCR zu lesen, ein benutzerdefiniertes Wörterbuch hinzuzufügen, um die **OCR‑Genauigkeit zu verbessern**, das Rauschen zu bereinigen und schließlich einen sauberen String auszugeben. Am Ende haben Sie eine sofort ausführbare C#‑Konsolen‑App, die zuverlässig Text aus PNG‑Bildern extrahiert. + +> **Was Sie mitnehmen werden** +> * Ein vollständiges, lauffähiges Code‑Beispiel. +> * Verständnis dafür, warum ein benutzerdefiniertes Wörterbuch wichtig ist. +> * Tipps zum Umgang mit Randfällen wie Scans mit geringem Kontrast. + +## Voraussetzungen + +- .NET 6 SDK oder neuer (der Code zielt auf .NET 6, aber .NET 5 funktioniert ebenfalls). +- Visual Studio 2022 oder ein beliebiger Editor Ihrer Wahl. +- Ein **PNG**‑Bild, das Sie verarbeiten möchten – zum Beispiel `invoice.png`. +- Das **Aspose.OCR**‑NuGet‑Paket (`dotnet add package Aspose.OCR`). + +Keine zusätzlichen Konfigurationsdateien nötig; alles lebt in einer einzigen `.cs`‑Datei. + +## Schritt 1 – Aspose OCR installieren und referenzieren + +Zuerst die Bibliothek in Ihr Projekt holen. Öffnen Sie ein Terminal im Ordner Ihrer Lösung und führen Sie aus: + +```bash +dotnet add package Aspose.OCR +``` + +Diese eine Zeile lädt die neueste stabile Version (Stand Jan 2026, Version 23.9). Das Paket enthält die Klasse `OcrEngine`, die wir im gesamten Tutorial verwenden. + +## Schritt 2 – Die OCR‑Engine initialisieren + +Eine Instanz von `OcrEngine` zu erstellen ist die Basis. Stellen Sie sich das vor wie das Einschalten eines Scanners, der bereit ist, Pixel zu interpretieren. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Profi‑Tipp:** Wenn Sie viele Bilder in einer Schleife verarbeiten, verwenden Sie dieselbe `OcrEngine`‑Instanz wieder. Sie cached interne Ressourcen und beschleunigt nachfolgende Aufrufe. + +## Schritt 3 – Genauigkeit mit einem benutzerdefinierten Wörterbuch steigern + +Die Standard‑OCR ist gut, kann aber bei fachspezifischen Wörtern wie „Aspose“, „OCR“ oder „SDK“ stolpern. Wenn Sie diese Begriffe zu einem **benutzerdefinierten Wörterbuch** hinzufügen, teilt das der Engine mit, dass diese Zeichenketten gültig sind, wodurch Fehlinterpretationen reduziert werden. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Warum ein benutzerdefiniertes Wörterbuch hilft + +- **Statistische Modelle** hinter der OCR gewichten häufige Sprachmuster stark. Ungewöhnliche Wörter erhalten eine niedrige Wahrscheinlichkeit und können durch ähnlich aussehende Zeichen ersetzt werden. +- Durch explizite Auflistung überschreiben Sie das Raten des Modells. +- Besonders praktisch für **Bildtext lesen**, der Produktcodes, Abkürzungen oder Markennamen enthält. + +## Schritt 4 – Text aus der PNG‑Datei erkennen + +Jetzt übergeben wir der Engine den Bildpfad. Die Methode `RecognizeImage` liefert einen Roh‑String, der noch unbekannte Tokens (z. B. „#@!“) enthält, die die Engine nicht zuordnen konnte. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Randfall:** Wenn die Datei nicht gefunden wird, wirft `RecognizeImage` eine `FileNotFoundException`. Umschließen Sie den Aufruf in Produktionscode mit einem try‑catch‑Block. + +## Schritt 5 – Ergebnis mit `CleanText` bereinigen + +Aspose OCR liefert einen Helfer, der Zeichen entfernt, die als „unbekannt“ markiert sind. Dieser Schritt ist entscheidend für **Text aus Bild extrahieren**‑Projekte, bei denen nachgelagerte Parser nur alphanumerische Zeichen und einfache Interpunktion erwarten. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +Die Methode `CleanText` normalisiert zudem Zeilenumbrüche, sodass die Ausgabe sicher in Datenbanken gespeichert oder an andere Dienste weitergegeben werden kann. + +## Schritt 6 – Bereinigten Text ausgeben + +Zum Schluss das Ergebnis anzeigen oder speichern. In einer Konsolen‑App erledigt `Console.WriteLine` das. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +Wenn Sie das Programm ausführen, sollten Sie einen sauberen Textblock sehen, der den Inhalt von `invoice.png` widerspiegelt. Enthält das Bild das Wort „Aspose“, sorgt das benutzerdefinierte Wörterbuch dafür, dass es korrekt erscheint und nicht etwa als „A5p0se“ dargestellt wird. + +## Vollständiges funktionierendes Beispiel + +Alles zusammengefügt, hier das komplette `Program.cs`, das Sie in ein neues Konsolen‑Projekt kopieren‑und‑einfügen können: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Erwartete Ausgabe** (angenommen, das PNG enthält eine einfache Rechnung): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Falls Sie seltsame Symbole sehen, prüfen Sie die Bildqualität oder erweitern Sie das benutzerdefinierte Wörterbuch um weitere Begriffe. + +## Bonus: Umgang mit niedrigqualitativen Scans + +Manchmal werden PNGs mit 72 dpi gescannt oder weisen starke Kompressionsartefakte auf. Hier ein paar schnelle Tricks, um die **OCR‑Genauigkeit** zu verbessern, ohne C# zu verlassen: + +1. **Bild vorverarbeiten** mit einer Bibliothek wie `SixLabors.ImageSharp` – Kontrast erhöhen, in Graustufen konvertieren oder leichtes Weichzeichnen, um Rauschen zu reduzieren. +2. **`Resolution`‑Eigenschaft** der `OcrEngine` setzen (z. B. `ocrEngine.Resolution = 300;`), um der Engine mitzuteilen, das Bild als hochauflösend zu behandeln. +3. **Sprachpakete aktivieren**, wenn Sie nicht‑englischen Text verarbeiten (`ocrEngine.Language = Language.English;`). + +Alle drei Ansätze können vor dem Aufruf von `RecognizeImage` hinzugefügt werden. + +## Häufig gestellte Fragen + +- **Funktioniert das mit anderen Bildformaten?** + Ja. `RecognizeImage` akzeptiert JPEG, BMP, TIFF und sogar PDF (als Bildcontainer). Die gleichen Schritte gelten. + +- **Kann ich Text aus mehreren PNGs in einem Ordner extrahieren?** + Absolut. Packen Sie die Kernlogik in eine `foreach (var file in Directory.GetFiles(folder, "*.png"))`‑Schleife und speichern Sie jedes Ergebnis in einer Liste oder schreiben Sie es in separate Dateien. + +- **Was, wenn ich die Textkoordinaten benötige?** + Aspose OCR liefert auch `OcrResult`‑Objekte mit Begrenzungsrahmen. Verwenden Sie `ocrEngine.RecognizeImageToResult(imagePath)` für dieses erweiterte Szenario. + +## Fazit + +Wir haben eine **vollständige, End‑zu‑End‑Lösung** zum **Extrahieren von Text aus PNG**‑Dateien mit Aspose OCR durchgearbeitet. Durch Initialisierung der Engine, Hinzufügen eines **benutzerdefinierten Wörterbuchs**, Bereinigung der Rohausgabe und Beachtung einiger gängiger Stolperfallen können Sie zuverlässig **Bildtext lesen** und die **OCR‑Genauigkeit** in Ihren eigenen C#‑Anwendungen verbessern. + +Bereit für den nächsten Schritt? Tauschen Sie das PNG gegen einen gescannten Beleg aus, fügen Sie weitere fachspezifische Wörter zum Wörterbuch hinzu oder integrieren Sie die Ausgabe in eine Datenbank für automatisierte Rechnungsbearbeitung. Der Himmel ist die Grenze, wenn Sie Aspose OCR mit dem reichen .NET‑Ökosystem kombinieren. + +Viel Spaß beim Coden, und möge Ihre OCR immer punktgenau sein! + +![Text aus PNG extrahieren Beispiel](/images/extract-text-from-png.png "Text aus PNG – Aspose OCR Demo") + +{{< /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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/german/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..ee72a347 --- /dev/null +++ b/ocr/german/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,262 @@ +--- +category: general +date: 2026-01-09 +description: Extrahieren Sie Text aus TIFF‑Dateien mit Aspose OCR in C#. Erfahren + Sie in diesem Schritt‑für‑Schritt‑Tutorial, wie Sie die ersten 50 Zeichen jedes + Ergebnisses erhalten. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: de +og_description: Extrahieren Sie Text aus TIFF mit Aspose OCR in C#. Diese Anleitung + zeigt Schritt für Schritt, wie Sie die ersten 50 Zeichen jedes OCR‑Ergebnisses erhalten. +og_title: Text aus TIFF mit Aspose OCR extrahieren – Vollständiger C#‑Leitfaden +tags: +- Aspose OCR +- C# +- TIFF processing +title: Text aus TIFF mit Aspose OCR C# extrahieren – Vollständiges Tutorial +url: /de/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Text aus TIFF extrahieren – Vollständiges Aspose OCR C# Tutorial + +Haben Sie jemals **Text aus TIFF**-Bildern extrahieren müssen, waren sich aber nicht sicher, welche Bibliothek vertrauenswürdig ist? Sie sind nicht allein. Viele Entwickler stoßen an Grenzen, wenn sie durchsuchbaren Text aus mehrseitigen TIFFs extrahieren wollen, besonders wenn die Leistung wichtig ist. + +In diesem **aspose ocr c# tutorial** führen wir Sie durch ein sofort ausführbares Beispiel, das nicht nur den gesamten Text extrahiert, sondern auch zeigt, wie man **die ersten 50 Zeichen** jeder Seite für schnelle Vorschauen erhält. Am Ende haben Sie ein eigenständiges Programm, das Sie in jedes .NET-Projekt einbinden können. + +## Was Sie benötigen + +- .NET 6 (oder jede aktuelle .NET‑Version) – der Code kompiliert sowohl mit .NET Core als auch mit .NET Framework. +- Eine aktive Aspose.OCR für .NET‑Lizenz (Sie können mit einer kostenlosen Testversion beginnen). +- Ein Ordner, der eine oder mehrere `.tif`‑Dateien enthält, die Sie verarbeiten möchten. +- Visual Studio, VS Code oder jede IDE Ihrer Wahl – das Beispiel ist reines C#, sodass die Wahl des Editors irrelevant ist. + +> **Pro Tipp:** Wenn Sie auf einem CI‑Server arbeiten, fügen Sie das Aspose.OCR NuGet‑Paket (`Aspose.OCR`) zu Ihrer Projektdatei hinzu; die Bibliothek ist vollständig verwaltet und hat keine nativen Abhängigkeiten. + +## Schritt 1: Installieren des Aspose OCR NuGet‑Pakets + +Zuerst bringen wir die OCR‑Engine ins Projekt. Öffnen Sie ein Terminal in Ihrem Lösungsordner und führen Sie aus: + +```bash +dotnet add package Aspose.OCR +``` + +Dieser Befehl holt die neueste stabile Version (Stand Jan 2026 ist es 23.9) und aktualisiert Ihre `.csproj` automatisch. Kein manuelles DLL‑Handling erforderlich. + +## Schritt 2: Initialisieren der OCR‑Engine + +Jetzt erstellen wir eine Instanz von `OcrEngine`. Betrachten Sie sie als das „Gehirn“, das jede TIFF‑Seite liest. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Warum instanziieren wir die Engine nur einmal? Weil `RecognizeImages` eine Sammlung von Dateipfaden akzeptieren kann, wodurch die Engine interne Puffer wiederverwenden und die Batch‑Verarbeitung erheblich beschleunigen kann. + +## Schritt 3: Alle TIFF‑Dateien in einem Aufruf sammeln + +Anstatt das Verzeichnis selbst zu durchlaufen, lassen wir .NET die schwere Arbeit erledigen. Die Methode `Directory.GetFiles` gibt ein `IEnumerable` zurück, das wir direkt in den OCR‑Aufruf einspeisen können. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **Was, wenn meine Bilder JPEG oder PNG sind?** Ändern Sie einfach das Suchmuster (`"*.jpg"` oder `"*.*"`). Aspose OCR funktioniert mit allen gängigen Rasterformaten. + +## Schritt 4: OCR auf die gesamte Sammlung anwenden + +Hier ist die magische Zeile, die jede Datei in einer einzigen Anfrage verarbeitet. Die Methode gibt ein Dictionary zurück, bei dem der Schlüssel der Dateipfad und der Wert ein `OcrResult`‑Objekt ist, das den erkannten Text enthält. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Warum im Batch‑Verfahren? Es reduziert den Overhead, die OCR‑Engine wiederholt zu laden, und auf Mehrkern‑Maschinen parallelisiert Aspose die Arbeit intern, was Ihnen einen spürbaren Geschwindigkeitsvorteil verschafft. + +## Schritt 5: Vorschau anzeigen – Erste 50 Zeichen erhalten + +Die meisten UI‑Szenarien benötigen nur einen Ausschnitt, nicht das gesamte Dokument. Wir extrahieren die ersten 50 Zeichen (oder weniger, wenn die Seite kurz ist) und geben sie zusammen mit dem Dateinamen aus. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Die Zeile `Math.Min(50, fullText.Length)` stellt sicher, dass wir die String‑Grenzen nie überschreiten – ein kleiner Schutz, der eine `ArgumentOutOfRangeException` verhindert, wenn das OCR‑Ergebnis kürzer als 50 Zeichen ist. + +### Erwartete Konsolenausgabe + +Angenommen, Sie haben zwei TIFF‑Dateien (`invoice1.tif` und `receipt2.tif`), dann könnte die Konsole Folgendes anzeigen: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Jede Zeile endet mit einer Ellipse (`...`), um anzuzeigen, dass die Vorschau nur der Anfang eines längeren Textblocks ist. + +## Schritt 6: Randfälle und häufige Stolperfallen behandeln + +### Leere oder beschädigte Dateien + +Wenn eine Datei nicht gelesen werden kann, gibt `RecognizeImages` trotzdem einen Eintrag mit einer leeren `Text`‑Eigenschaft zurück. Sie können diese herausfiltern: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Große Stapel + +Die Verarbeitung von Tausenden von TIFFs kann viel Speicher verbrauchen. In solchen Fällen verwenden Sie die Überladung, die einen `Stream` pro Bild akzeptiert, oder verarbeiten Sie die Liste in kleineren Teilen: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Sprach‑ und Schriftunterstützung + +Wenn Ihre Dokumente nicht‑lateinische Zeichen enthalten, setzen Sie die Sprache, bevor Sie `RecognizeImages` aufrufen: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Diese kleine Anpassung kann die Genauigkeit erheblich steigern. + +## Schritt 7: Vollständiges funktionierendes Beispiel (Copy‑Paste‑bereit) + +Unten finden Sie das vollständige Programm, das Sie in ein neues Konsolenprojekt (`dotnet new console`) einfügen und unverändert ausführen können (ersetzen Sie einfach `YOUR_DIRECTORY/Batch` durch den tatsächlichen Pfad). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Führen Sie das Programm mit `dotnet run` aus. Sie sollten eine knappe Vorschau für jede TIFF‑Datei sehen, die bestätigt, dass Sie erfolgreich **Text aus TIFF**‑Bildern mit Aspose OCR extrahiert haben. + +## Häufig gestellte Fragen (FAQ) + +**Q: Funktioniert das mit mehrseitigen TIFFs?** +A: Ja. Aspose OCR behandelt jede Seite intern als separates Bild, sodass ein mehrseitiges TIFF pro Datei einen einzigen zusammengefügten String liefert. Sie können ihn später bei Bedarf aufteilen. + +**Q: Wie genau ist das OCR sofort nach dem Auspacken?** +A: Bei sauberen, hochauflösenden Scans (300 DPI oder höher) können Sie >95 % Genauigkeit für englischen Text erwarten. Vorverarbeitung (Entzerrung, Binarisierung) kann sie noch weiter steigern. + +**Q: Kann ich die Ergebnisse in eine CSV‑Datei ausgeben?** +A: Natürlich. Ersetzen Sie das `Console.WriteLine` durch einen `StreamWriter` und schreiben Sie Zeilen im Format `fileName,preview`. Denken Sie daran, Kommata im Vorschautext zu escapen. + +## Nächste Schritte und verwandte Themen + +- **Persist OCR results** – Speichern Sie den vollständigen Text in einer Datenbank für durchsuchbare Archive. +- **Combine with PDF conversion** – Verwenden Sie Aspose.PDF, um den extrahierten Text wieder in durchsuchbare PDFs einzubetten. +- **Batch processing on Azure Functions** – Skalieren Sie die OCR‑Arbeit, ohne Server zu verwalten. + +All diese Erweiterungen knüpfen an die Kernidee an, **Text aus TIFF** effizient zu extrahieren, während Sie weiterhin **die ersten 50 Zeichen** für schnelle UI‑Vorschauen erhalten können. + +--- + +*Viel Spaß beim Coden! Wenn Sie auf Probleme stoßen, hinterlassen Sie unten einen Kommentar – ich gebe mein Bestes, um Ihnen zu helfen, die OCR‑Pipeline fein abzustimmen.* + +![Extract text from TIFF using Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extract text from TIFF using Aspose 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/german/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/german/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..c6956500 --- /dev/null +++ b/ocr/german/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,240 @@ +--- +category: general +date: 2026-01-09 +description: Erkennen Sie Text in JPG schnell mit Aspose OCR in C#. Erfahren Sie, + wie Sie Text aus einem Bild extrahieren, das Bild in JSON und EPUB konvertieren + – alles in einem einzigen Tutorial. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: de +og_description: Texterkennung in JPG mit Aspose OCR. Dieser Leitfaden zeigt, wie man + Text aus einem Bild extrahiert, das Bild in JSON und EPUB konvertiert und ein ePub + aus einem Bild erstellt. +og_title: Texterkennung in JPG – Vollständiges C#-Tutorial +tags: +- Aspose OCR +- C# +- Image Processing +title: Texterkennung in JPG mit Aspose OCR – Vollständiger C#‑Leitfaden +url: /de/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Texterkennung in jpg – Vollständiger C# Leitfaden + +Haben Sie jemals **recognize text in jpg**-Dateien benötigt, wussten aber nicht, welche Bibliothek Sie wählen sollen? Sie sind nicht allein. Viele Entwickler stoßen an dieselbe Grenze, wenn sie zum ersten Mal versuchen, Wörter aus einem Foto oder gescannten Dokument zu extrahieren. + +Die gute Nachricht? Mit Aspose OCR können Sie **extract text from image**-Dateien in wenigen Zeilen C#‑Code extrahieren und sofort **convert image to JSON** oder sogar **convert image to EPUB** umwandeln – alles, ohne Ihre IDE zu verlassen. + +In diesem Tutorial führen wir Sie durch den gesamten Workflow: von der Installation der richtigen NuGet‑Pakete, über die Texterkennung in einer JPG, bis zum Speichern des Ergebnisses als strukturiertes JSON und als ePub‑Dokument. Am Ende können Sie **create epub from image**‑Dateien programmgesteuert erstellen – ein praktischer Trick für E‑Learning‑Plattformen, digitale Bibliotheken oder jede Anwendung, die durchsuchbare E‑Books benötigt. + +--- + +## Was Sie benötigen + +- **.NET 6+** (oder .NET Framework 4.6+). Der Code funktioniert auf jeder aktuellen Runtime. +- **Aspose.OCR** NuGet‑Paket – die Kern‑OCR‑Engine. +- **Aspose.Publishing** NuGet‑Paket – erforderlich für das ePub‑Ausgabeformat. +- Eine Bilddatei mit dem Namen `input.jpg`, die irgendwo auf Ihrer Festplatte liegt (ersetzen Sie den Pfad durch Ihren eigenen). +- Ein Texteditor oder eine IDE (Visual Studio, VS Code, Rider — Ihre Wahl). + +Das war’s. Keine zusätzlichen Dienste, keine externen APIs, nur ein paar Bibliotheken und eine JPG‑Datei. + +--- + +## Schritt 1: Richten Sie Ihr Projekt ein, um **recognize text in jpg** zu erkennen + +Zuerst erstellen Sie eine neue Konsolenanwendung (oder fügen sie einem bestehenden Projekt hinzu). Dann fügen Sie die beiden Aspose‑Pakete über den NuGet‑Paket‑Manager hinzu: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Pro Tipp:** Wenn Sie Visual Studio verwenden, klicken Sie mit der rechten Maustaste auf das Projekt → *Manage NuGet Packages* → suchen Sie nach *Aspose.OCR* und *Aspose.Publishing*, dann klicken Sie auf **Install**. + +Diese Pakete bringen alles mit, was Sie benötigen, um **extract text from image** zu erhalten und später eine ePub‑Datei auszugeben. + +--- + +## Schritt 2: **Extract text from image** mit Aspose OCR + +Jetzt schreiben wir den Code, der die JPG tatsächlich liest und die Zeichen daraus extrahiert. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Warum das funktioniert:** `OcrEngine` abstrahiert alle low‑level Bildvorverarbeitung, Spracherkennung und Zeichensegmentierung. Sie zeigen einfach auf eine Datei, und sie gibt ein `OcrResult`‑Objekt zurück, das die Klartext‑Zeichenkette (`ocrResult.Text`) und einen umfangreichen Satz Metadaten enthält. + +--- + +## Schritt 3: **Convert image to JSON** – Exportieren des OCR‑Ergebnisses + +Wenn Sie die OCR‑Ausgabe in einem strukturierten Format speichern müssen (für APIs, Datenbanken oder nachgelagerte Verarbeitung), macht Aspose es trivial, das Ergebnis nach JSON zu serialisieren. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +Das erzeugte JSON sieht ungefähr so aus (gekürzt für die Übersicht): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**Wann Sie es verwenden sollten:** JSON ist perfekt, wenn Sie die OCR‑Daten in einen Web‑Service einspeisen, in einem NoSQL‑Speicher ablegen oder einfach eine portable Darstellung benötigen, die von jeder Sprache geparst werden kann. + +--- + +## Schritt 4: **Convert image to EPUB** – Speichern als eBook + +Aspose Publishing fügt Unterstützung für mehrere e‑Book‑Formate hinzu, einschließlich EPUB. Durch Aufrufen von `Save` auf dem `OcrResult` können Sie eine vollständig konforme ePub‑Datei erzeugen, die den erkannten Text und optional das Originalbild enthält. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**Was Sie erhalten:** Ein ePub, das Sie in jedem Reader öffnen können (Calibre, Apple Books, Adobe Digital Editions). Die Datei enthält den extrahierten Text als durchsuchbaren Inhalt sowie das Quellbild als Hintergrund‑Ebene – ideal für die Erstellung von **create epub from image**‑Pipelines. + +--- + +## Schritt 5: Vollständiges funktionierendes Beispiel – Von JPG zu JSON & EPUB + +Wenn wir alles zusammenfügen, hier das komplette, sofort ausführbare Programm. Kopieren Sie es in `Program.cs`, passen Sie die Dateipfade an und drücken Sie **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Führen Sie das Programm aus und Sie sollten drei Dinge sehen: + +1. Den erkannten Text, der in der Konsole ausgegeben wird. +2. Eine `output.json`‑Datei, die die strukturierten OCR‑Daten enthält. +3. Eine `output.epub`‑Datei, die Sie mit jedem e‑Book‑Reader öffnen können. + +--- + +## Häufige Fragen & Sonderfälle + +- **Was ist, wenn das Bild ein PNG oder BMP ist?** + Aspose OCR unterstützt die meisten Rasterformate (PNG, BMP, TIFF, GIF). Ändern Sie einfach die Dateierweiterung in `inputPath`; derselbe Code funktioniert. + +- **Kann ich eine andere Sprache als Englisch angeben?** + Ja. Setzen Sie `ocrEngine.Language = OcrLanguage.French;` (oder eine beliebige unterstützte Sprache), bevor Sie `RecognizeImage` aufrufen. + +- **Wie sieht es mit mehrseitigen PDFs aus?** + Für PDFs würden Sie zuerst jede Seite in ein Bild konvertieren (Aspose.PDF kann das) und dann jedes Bild an `RecognizeImage` übergeben. Die resultierenden `OcrResult`‑Objekte können vor dem Export nach JSON oder EPUB zusammengeführt werden. + +- **Ich erhalte niedrige Vertrauenswerte. Wie kann ich die Genauigkeit verbessern?** + Bildvorverarbeitung: Kontrast erhöhen, entzerren oder in Graustufen konvertieren. Aspose OCR bietet zudem `PreprocessOptions`, die Sie anpassen können. + +--- + +## Fazit + +Sie haben nun ein solides End‑to‑End‑Rezept, um **recognize text in jpg**‑Dateien mit Aspose OCR zu verarbeiten, dann **convert image to JSON** für Datenpipelines und **convert image to EPUB** zu erstellen, um durchsuchbare E‑Books zu bauen. Der Ansatz ist leichtgewichtig, erfordert nur zwei NuGet‑Pakete und funktioniert auf allen modernen .NET‑Runtimes. + +Ab hier könnten Sie: + +- Die JSON‑Ausgabe in einen Suchindex integrieren (Azure Cognitive Search, Elastic). +- Einen Ordner mit Bildern stapelweise verarbeiten und eine Bibliothek von ePub‑Büchern erzeugen. +- Den Workflow mit Übersetzungs‑APIs erweitern, um automatisch mehrsprachige E‑Books zu erstellen. + +Probieren Sie es aus, experimentieren Sie mit verschiedenen Bildqualitäten und lassen Sie die OCR‑Engine die schwere Arbeit übernehmen. Viel Spaß beim Coden! + +--- + +![recognize text in jpg output screenshot](placeholder-image.png "recognize text in jpg 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/greek/net/ocr-configuration/_index.md b/ocr/greek/net/ocr-configuration/_index.md index 8f9f7a91..62e667be 100644 --- a/ocr/greek/net/ocr-configuration/_index.md +++ b/ocr/greek/net/ocr-configuration/_index.md @@ -2,7 +2,7 @@ title: Διαμόρφωση OCR linktitle: Διαμόρφωση OCR second_title: Aspose.OCR .NET API -description: Βελτιώστε εύκολα τις εφαρμογές σας .NET με το Aspose.OCR. Εξερευνήστε μαθήματα διαμόρφωσης OCR, συμπεριλαμβανομένων των λειτουργιών αρχειοθέτησης, φακέλων, επιλογής γλώσσας και λίστας. +description: Βελτιώστε εύκολα τις εφαρμογές σας .NET με το Aspose.OCR. Εξερευνήστε μαθήματα διαμόρφωσης OCR, συμπλαμβανομένων των λειτουργιών αρχειοθέτησης, φακέλων, επιλογής γλώσσας και λίστας. weight: 24 url: /el/net/ocr-configuration/ --- @@ -39,9 +39,14 @@ url: /el/net/ocr-configuration/ Ξεκλειδώστε ισχυρές δυνατότητες OCR με το Aspose.OCR για .NET. Εξαγωγή κειμένου από εικόνες απρόσκοπτα. ### [OCROΛειτουργία με λίστα στην Αναγνώριση εικόνας OCR](./ocr-operation-with-list/) Ξεκλειδώστε τις δυνατότητες του Aspose.OCR για .NET. Εκτελέστε χωρίς κόπο αναγνώριση εικόνας OCR με λίστες. Ενισχύστε την παραγωγικότητα και την εξαγωγή δεδομένων στις εφαρμογές σας. +### [Πώς να κάνετε OCR εικόνας σε C# – Πλήρης οδηγός με υποστήριξη GPU](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Μάθετε πώς να εκτελείτε OCR εικόνων σε C# με επιτάχυνση GPU, βήμα προς βήμα οδηγίες. +### [Αναγνώριση κειμένου από εικόνα με Aspose OCR – Πλήρης οδηγός C#](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Μάθετε πώς να εξάγετε κείμενο από εικόνες με Aspose OCR σε C# – πλήρης βήμα-προς-βήμα οδηγός. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/greek/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..45249339 --- /dev/null +++ b/ocr/greek/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-01-09 +description: Μάθετε πώς να κάνετε OCR εικόνας και να εξάγετε το κείμενο της εικόνας + χρησιμοποιώντας το Aspose.OCR. Περιλαμβάνει βήματα για τη μετατροπή σαρωμένου εγγράφου, + την ενεργοποίηση του GPU και την ανάγνωση της εικόνας με OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: el +og_description: Πώς να κάνετε OCR εικόνας γρήγορα με το Aspose.OCR. Ακολουθήστε αυτόν + τον βήμα‑βήμα οδηγό για να εξάγετε κείμενο από εικόνα, να μετατρέψετε σαρωμένο έγγραφο + και να ενεργοποιήσετε το GPU. +og_title: Πώς να κάνετε OCR εικόνας σε C# – Οδηγός με επιτάχυνση GPU +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Πώς να κάνετε OCR εικόνας σε C# – Πλήρης οδηγός με υποστήριξη GPU +url: /el/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να κάνετε OCR σε εικόνα σε C# – Πλήρης Οδηγός με Υποστήριξη GPU + +Έχετε αναρωτηθεί ποτέ **πώς να κάνετε OCR σε εικόνα** απευθείας από την .NET εφαρμογή σας; Δεν είστε οι μόνοι—οι προγραμματιστές χρειάζονται συνεχώς να εξάγουν κείμενο από PDF, TIFF και φωτογραφίες, ειδικά όταν δουλεύουν με μεγάλα σαρωμένα έγγραφα. Τα καλά νέα; Με το Aspose.OCR μπορείτε **να εξάγετε κείμενο από εικόνα** με λίγες μόνο γραμμές κώδικα, και μπορείτε ακόμη **να ενεργοποιήσετε την επιτάχυνση GPU** για ταχύτερη επεξεργασία. + +Σε αυτό το tutorial θα περάσουμε από όλα όσα χρειάζεστε: από την εγκατάσταση της βιβλιοθήκης, μέχρι την αρχικοποίηση της μηχανής OCR με εναλλακτική GPU, και τέλος **την ανάγνωση εικόνας με OCR** και την εμφάνιση του αποτελέσματος. Στο τέλος θα μπορείτε **να μετατρέψετε εικόνες σαρωμένων εγγράφων** σε επεξεργάσιμες συμβολοσειρές—χωρίς εξωτερικές υπηρεσίες. + +--- + +## Τι Θα Χρειαστείτε + +Πριν βάλουμε τα χέρια μας στη δουλειά, βεβαιωθείτε ότι έχετε τα εξής: + +- **.NET 6.0** ή νεότερο (ο κώδικας λειτουργεί και σε .NET Core και .NET Framework). +- **Άδεια** για το Aspose.OCR ή ένα προσωρινό κλειδί αξιολόγησης (η δωρεάν δοκιμή λειτουργεί για δοκιμές). +- Ένα αρχείο εικόνας που θέλετε να επεξεργαστείτε—κατά προτίμηση ένα υψηλής ανάλυσης TIFF ή PNG. +- (Προαιρετικά) Μηχάνημα με ενεργοποιημένο GPU αν θέλετε να δείτε την αύξηση ταχύτητας· διαφορετικά η μηχανή θα επιστρέψει ομαλά στην CPU. + +Η κάλυψη αυτών των προαπαιτούμενων σημαίνει ότι μπορείτε να εστιάσετε στην πραγματική ροή εργασίας OCR χωρίς να «κολλήσετε» αργότερα. + +--- + +## Βήμα 1: Εγκατάσταση του Πακέτου NuGet Aspose.OCR + +Πρώτα απ’ όλα—προσθέστε τη βιβλιοθήκη Aspose.OCR στο πρότζεκτ σας. Ανοίξτε ένα τερματικό στον φάκελο της λύσης και τρέξτε: + +```bash +dotnet add package Aspose.OCR +``` + +Ή, αν χρησιμοποιείτε το UI του NuGet στο Visual Studio, απλώς ψάξτε για **Aspose.OCR** και πατήστε εγκατάσταση. Αυτή η εντολή φέρνει όλα τα απαραίτητα DLL, συμπεριλαμβανομένων των εγγενών δυαδικών αρχείων GPU όταν είναι διαθέσιμα. + +> **Συμβουλή:** Διατηρείτε το πακέτο ενημερωμένο. Οι νέες εκδόσεις συχνά περιλαμβάνουν βελτιώσεις στα μοντέλα γλώσσας και καλύτερη υποστήριξη GPU. + +--- + +## Βήμα 2: Εισαγωγή Απαιτούμενων Namespaces + +Τώρα που το πακέτο είναι εγκατεστημένο, φέρετε τα σχετικά namespaces στο πεδίο ορατότητας. Αυτό το βήμα είναι όπου ξεκινά το **πώς να κάνετε OCR σε εικόνα** στον κώδικα. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +Αυτές οι δύο γραμμές σας δίνουν πρόσβαση στην κλάση `OcrEngine` και στο αντικείμενο ρυθμίσεων που σας επιτρέπει να ενεργοποιήσετε τη χρήση GPU. Χωρίς αυτές, ο μεταγλωττιστής δεν θα ήξερε τι σημαίνει `OcrEngine`. + +--- + +## Βήμα 3: Αρχικοποίηση της Μηχανής OCR και Ενεργοποίηση GPU + +Αν ποτέ αναρωτηθήκατε **πώς να ενεργοποιήσετε το GPU** για OCR, αυτή είναι η απάντηση. Δημιουργούμε ένα αντικείμενο `OcrEngineSettings`, θέτουμε τη σημαία `UseGpu` και το περνάμε στον κατασκευαστή της μηχανής. Η μηχανή ανιχνεύει αυτόματα αν υπάρχει συμβατό GPU· αν όχι, επιστρέφει στην CPU—οπότε δεν χρειάζεστε πρόσθετο χειρισμό σφαλμάτων. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Γιατί να ενεργοποιήσουμε το GPU; Για μεγάλες εικόνες—σκεφτείτε πολυσελίδες TIFF ή σαρώσεις υψηλής ανάλυσης—ο χρόνος επεξεργασίας μπορεί να μειωθεί από αρκετά δευτερόλεπτα σε κλάσμα του δευτερολέπτου. Αν χτίζετε μια αλυσίδα επεξεργασίας παρτίδων, αυτή η ταχύτητα προσθέτει σημαντικά. + +--- + +## Βήμα 4: Εκτέλεση OCR στην Εικόνα Στόχο + +Εδώ είναι που **διαβάζουμε την εικόνα με OCR**. Δώστε τη διαδρομή του αρχείου σας, και η μηχανή επιστρέφει το αναγνωρισμένο κείμενο ως συμβολοσειρά. Αυτό λειτουργεί για οποιαδήποτε μορφή raster υποστηρίζεται από το Aspose (PNG, JPEG, TIFF, BMP κ.λπ.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Αν χρειάζεστε **να μετατρέψετε σαρωμένο έγγραφο** σελίδα προς σελίδα, απλώς κάντε βρόχο πάνω στα ονόματα αρχείων και καλέστε `RecognizeImage` για κάθε ένα. Η μέθοδος είναι thread‑safe, οπότε μπορείτε ακόμη να παραλληλοποιήσετε το φορτίο σε πολυπύρηνη CPU. + +--- + +## Βήμα 5: Εμφάνιση ή Αποθήκευση του Εξαγόμενου Κειμένου + +Τέλος, εμφανίζουμε το αποτέλεσμα. Σε μια εφαρμογή κονσόλας, το `Console.WriteLine` κάνει τη δουλειά. Σε πραγματικό σενάριο μπορεί να γράψετε το κείμενο σε βάση δεδομένων, αρχείο JSON ή να το τροφοδοτήσετε σε ευρετήριο αναζήτησης. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +Η παραπάνω γραμμή εκτυπώνει το ακατέργαστο OCR output. Θα παρατηρήσετε αλλαγές γραμμής, περιστασιακές λανθασμένες αναγνώσεις και ίσως μερικούς άχρηστους χαρακτήρες—δεν είναι ασυνήθιστο για OCR. Η μετα-επεξεργασία (π.χ. καθαρισμός με regex) μπορεί να τα τακτοποιήσει αν χρειαστεί. + +> **Σημείωση:** Το Aspose.OCR υποστηρίζει επίσης λεξικά ανά γλώσσα. Αν επεξεργάζεστε κείμενα μη‑Αγγλικά, ορίστε `ocrEngine.Settings.Language` ανάλογα πριν καλέσετε `RecognizeImage`. + +--- + +## Πλήρες Παράδειγμα Εργασίας + +Συνδυάζοντας όλα τα παραπάνω, εδώ είναι ένα αυτόνομο πρόγραμμα που μπορείτε να αντιγράψετε‑επικολλήσετε σε ένα νέο πρότζεκτ κονσόλας: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Αναμενόμενο αποτέλεσμα** (κομμένο για συντομία): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Τρέξτε το πρόγραμμα, και θα δείτε το εξαγόμενο κείμενο να εμφανίζεται στο παράθυρο της κονσόλας. Αν το GPU είναι διαθέσιμο, ο χρόνος επεξεργασίας θα είναι αισθητά μικρότερος από τις μηχανές μόνο CPU. + +--- + +## Συνηθισμένα Προβλήματα & Πώς να τα Αποφύγετε + +| Πρόβλημα | Γιατί Συμβαίνει | Διόρθωση | +|----------|------------------|----------| +| **Ακατάλληλοι χαρακτήρες** | Χαμηλή ανάλυση πηγής ή θορυβώδες φόντο. | Προεπεξεργασία της εικόνας (αύξηση DPI, εφαρμογή δυαδικοποίησης) πριν το OCR. | +| **Το GPU δεν χρησιμοποιείται** | Δεν είναι εγκατεστημένος συμβατός οδηγός CUDA. | Επαληθεύστε την έκδοση του οδηγού, ή ορίστε `UseGpu = false` για εξαναγκαστική χρήση CPU. | +| **Έλλειψη μνήμης σε μεγάλα TIFF** | Φόρτωση ολόκληρου αρχείου ταυτόχρονα. | Χρησιμοποιήστε `OcrEngineSettings.MaxMemoryUsage` για περιορισμό, ή επεξεργαστείτε τις σελίδες ξεχωριστά. | +| **Λανθασμένος εντοπισμός γλώσσας** | Η προεπιλεγμένη γλώσσα είναι τα Αγγλικά. | Ορίστε `ocrEngine.Settings.Language = Language.YourLanguage;` πριν καλέσετε `RecognizeImage`. | + +Αντιμετωπίζοντας αυτές τις περιπτώσεις, η υλοποίησή σας **πώς να κάνετε OCR σε εικόνα** παραμένει αξιόπιστη σε διαφορετικά περιβάλλοντα. + +--- + +## Επέκταση της Λύσης + +Τώρα που μπορείτε **να εξάγετε κείμενο από εικόνα**, ίσως θέλετε να: + +- **Μετατρέψετε σαρωμένα έγγραφα** PDF σε αναζητήσιμα PDF ενσωματώνοντας το στρώμα OCR. +- Αποθηκεύσετε τα αποτελέσματα σε ευρετήριο **Azure Cognitive Search** για γρήγορη ανάκτηση. +- Συνδέσετε το OCR output με **API μετάφρασης** αν χρειάζεστε πολυγλωσσική υποστήριξη. +- Χρησιμοποιήσετε τη μέθοδο `GetBoundingBoxes` του **Aspose.OCR** για να εντοπίσετε πού εμφανίζεται κάθε λέξη στην εικόνα—χρήσιμο για εργαλεία διαγραφής. + +Όλες αυτές οι επεκτάσεις βασίζονται στην ίδια βασική αρχή που καλύψαμε: αρχικοποιήστε τη μηχανή, δώστε της μια εικόνα, και διαβάστε το κείμενο. + +--- + +## Συμπέρασμα + +Διασχίσαμε ένα πλήρες, από‑αρχή‑μέχρι‑τέλος παράδειγμα **πώς να κάνετε OCR σε εικόνα** χρησιμοποιώντας το Aspose.OCR σε C#. Με την εγκατάσταση του πακέτου NuGet, την εισαγωγή των σωστών namespaces, την ενεργοποίηση του GPU (ή την επιστροφή στην CPU) και την κλήση του `RecognizeImage`, μπορείτε αξιόπιστα **να εξάγετε κείμενο από εικόνα**, **να μετατρέψετε σαρωμένα έγγραφα** σε σελίδες και **να διαβάσετε εικόνα με OCR** σε οποιαδήποτε .NET εφαρμογή. + +Δοκιμάστε το σε μερικές από τις δικές σας σαρώσεις—πειραματιστείτε με διαφορετικές μορφές εικόνας, εναλλάξτε τη σημαία GPU, και παρατηρήστε τις αλλαγές στην απόδοση. Όταν είστε έτοιμοι, εξερευνήστε τις προχωρημένες δυνατότητες όπως λεξικά γλώσσας ή εξαγωγή περιοχών για να κάνετε τη λύση σας ακόμη πιο έξυπνη. + +Καλό κώδικα, και εύχομαι οι 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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/greek/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..355c0a50 --- /dev/null +++ b/ocr/greek/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,206 @@ +--- +category: general +date: 2026-01-09 +description: Αναγνωρίστε κείμενο από εικόνα χρησιμοποιώντας το Aspose OCR σε C#. Μάθετε + πώς να απενεργοποιήσετε την αυτόματη λήψη, να εξάγετε κινεζικό κείμενο από εικόνα + και να ορίσετε τη γλώσσα OCR. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: el +og_description: Αναγνώριση κειμένου από εικόνα χρησιμοποιώντας το Aspose OCR σε C#. + Ακολουθήστε αυτόν τον βήμα‑βήμα οδηγό για να απενεργοποιήσετε την αυτόματη λήψη, + να εξάγετε εικόνα με κινεζικό κείμενο και να ορίσετε τη γλώσσα OCR. +og_title: Αναγνώριση κειμένου από εικόνα με Aspose OCR – Πλήρης Οδηγός C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Αναγνώριση κειμένου από εικόνα με Aspose OCR – Πλήρης Οδηγός C# +url: /el/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Αναγνώριση κειμένου από εικόνα με Aspose OCR – Πλήρης Οδηγός C# + +Έχετε χρειαστεί ποτέ να **αναγνωρίσετε κείμενο από εικόνα** αλλά να έχετε κολλήσει σε λεπτομέρειες ρύθμισης; Δεν είστε μόνοι. Πολλοί προγραμματιστές αντιμετωπίζουν προβλήματα όταν η μηχανή OCR προσπαθεί να κατεβάσει πακέτα γλώσσας κατά την εκτέλεση, ή όταν δεν μπορούν να εξάγουν κινέζους χαρακτήρες από μια φωτογραφία πινακίδας. + +Σε αυτό το σεμινάριο θα περπατήσουμε βήμα‑βήμα μια πρακτική λύση που σας δείχνει πώς να **απενεργοποιήσετε την αυτόματη λήψη**, **εξάγετε κείμενο από εικόνα**, **εξάγετε κινέζικο κείμενο από εικόνα**, και **ορίσετε τη γλώσσα OCR**—όλα με το Aspose OCR για .NET. Στο τέλος θα έχετε ένα ενιαίο, εκτελέσιμο πρόγραμμα που εκτυπώνει το αναγνωρισμένο κείμενο απευθείας στην κονσόλα. + +## Τι Θα Μάθετε + +- Πώς να εγκαταστήσετε και να αναφέρετε το πακέτο NuGet Aspose.OCR. +- Γιατί η απενεργοποίηση των αυτόματων λήψεων πόρων είναι σημαντική για περιβάλλοντα εκτός σύνδεσης ή ασφαλή. +- Τα ακριβή βήματα για να κατευθύνετε τη μηχανή σε έναν τοπικό φάκελο πακέτων γλώσσας. +- Πώς να επιλέξετε τη σωστή γλώσσα (Απλοποιημένα Κινέζικα) πριν την επεξεργασία μιας εικόνας. +- Επαλήθευση του αποτελέσματος και αντιμετώπιση κοινών προβλημάτων. + +Δεν απαιτείται προηγούμενη εμπειρία με το Aspose· απλώς μια βασική ρύθμιση C# και ένα αρχείο εικόνας που θέλετε να διαβάσετε. + +## Προαπαιτούμενα + +| Απαίτηση | Λόγος | +|-------------|--------| +| .NET 6.0 ή νεότερο (ή .NET Framework 4.7+) | Το Aspose.OCR υποστηρίζει αυτά τα runtime. | +| Visual Studio 2022 (ή οποιοδήποτε IDE προτιμάτε) | Για εύκολη δημιουργία έργου και αποσφαλμάτωση. | +| Αρχείο εικόνας που περιέχει κινέζικο κείμενο (π.χ., `chinese-sign.jpg`) | Για να επιδείξουμε **extract Chinese text image**. | +| Τοπικό αντίγραφο των πακέτων γλώσσας Aspose OCR (κατεβασμένα μία φορά από το portal του Aspose) | Απαιτείται επειδή θα **disable auto download**. | + +Βεβαιωθείτε ότι τα ZIP αρχεία των πακέτων γλώσσας βρίσκονται σε έναν φάκελο που μπορείτε να αναφέρετε, για παράδειγμα `C:\MyOCR\Resources`. + +## Βήμα 1: Αναγνώριση κειμένου από εικόνα – Διαμόρφωση της μηχανής OCR + +Πρώτα απ' όλα: χρειαζόμαστε ένα αντικείμενο `OcrEngineSettings` που λέει στο Aspose πού να ψάξει για πόρους. Αυτό είναι το θεμέλιο για οποιαδήποτε λειτουργία **extract text image**. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +Γιατί να ορίσετε το `AutoDownloadResources` σε `false`; Σε περιβάλλοντα παραγωγής συχνά λειτουργείτε πίσω από τείχη προστασίας, ή απλώς δεν θέλετε η εφαρμογή σας να συνδέεται στο διαδίκτυο κατά την εκτέλεση. Η απενεργοποίηση της δυνατότητας εγγυάται ότι η μηχανή θα χρησιμοποιεί μόνο τα αρχεία που τοποθετήσατε στο `ResourceFolder`, κάτι που επίσης επιταχύνει την εκκίνηση. + +## Βήμα 2: Δημιουργία της μηχανής OCR με τις καθορισμένες ρυθμίσεις + +Τώρα που οι ρυθμίσεις είναι έτοιμες, δημιουργούμε την μηχανή. Αυτό το βήμα είναι όπου η δυνατότητα **set OCR language** θα έρθει σε χρήση αργότερα. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Το αντικείμενο `OcrEngine` είναι ελαφρύ· δεν φορτώνει πραγματικά δεδομένα γλώσσας μέχρι να ορίσετε μια γλώσσα. Αυτή η «τεμπέλικη» φόρτωση είναι ο λόγος που μπορείτε να δημιουργήσετε με ασφάλεια τη μηχανή ακόμη και αν ο φάκελος πόρων είναι κενός—δεν θα σπάσει τίποτα μέχρι να προσπαθήσετε να **extract Chinese text image**. + +## Βήμα 3: Ορισμός γλώσσας OCR – Επιλογή Απλοποιημένων Κινέζικων + +Το Aspose υποστηρίζει δεκάδες γλώσσες, η κάθε μία συσκευασμένη ως αρχείο ZIP. Δεδομένου ότι η δείγμα εικόνας μας περιέχει χαρακτήρες Απλοποιημένων Κινέζικων, ορίζουμε ρητά τη γλώσσα πριν την αναγνώριση. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +Αν ξεχάσετε αυτό το βήμα, η μηχανή θα χρησιμοποιήσει προεπιλεγμένα τα Αγγλικά και θα λάβετε ακατάλληλο αποτέλεσμα. Επίσης, σημειώστε ότι το όνομα της γλώσσας πρέπει να ταιριάζει με το όνομα του αρχείου ZIP μέσα στο `ResourceFolder`. Για παράδειγμα, πρέπει να υπάρχει το `ChineseSimplified.zip`. + +## Βήμα 4: Εξαγωγή κειμένου από την εικόνα-στόχο + +Με τη μηχανή διαμορφωμένη και τη γλώσσα ορισμένη, τελικά **αναγνωρίζουμε κείμενο από εικόνα**. Η μέθοδος επιστρέφει μια απλή συμβολοσειρά που μπορείτε να καταγράψετε, αποθηκεύσετε ή να τη δώσετε σε άλλο σύστημα. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Η κλήση στο `RecognizeImage` κάνει όλη τη βαριά δουλειά: προεπεξεργασία, τμηματοποίηση, αντιστοίχιση χαρακτήρων και τελικά συναρμολόγηση του αποτελέσματος. Αν η εικόνα είναι καθαρή και το πακέτο γλώσσας είναι σωστό, θα δείτε τους κινέζους χαρακτήρες να εκτυπώνονται στην κονσόλα. + +> **Συμβουλή:** Αν χρειάζεστε να εξάγετε μόνο μέρος της εικόνας (π.χ., μια συγκεκριμένη περιοχή), χρησιμοποιήστε την υπερφόρτωση `RecognizeImage(string, Rectangle)` για να περάσετε ένα ορθογώνιο περικοπής. + +## Πλήρες Παράδειγμα Λειτουργίας + +Παρακάτω βρίσκεται το πλήρες πρόγραμμα που μπορείτε να αντιγράψετε‑επικολλήσετε σε ένα νέο έργο κονσόλας. Περιλαμβάνει τις δηλώσεις `using`, τις ρυθμίσεις, την επιλογή γλώσσας και το τελικό αποτέλεσμα. Αποθηκεύστε το ως `Program.cs`, επαναφέρετε τα πακέτα NuGet και εκτελέστε. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Αναμενόμενο Αποτέλεσμα + +Αν το `chinese-sign.jpg` περιέχει τη φράση “欢迎光临”, η κονσόλα θα εμφανίσει κάτι παρόμοιο με: + +``` +=== Recognized Text === +欢迎光临 +``` + +Η ακριβής μορφοποίηση μπορεί να διαφέρει ανάλογα με την ποιότητα της εικόνας, αλλά οι χαρακτήρες θα πρέπει να είναι ευανάγνωστοι. + +## Συνηθισμένα Προβλήματα & Επαγγελματικές Συμβουλές + +| **Επιστράφηκε κενή συμβολοσειρά** | Το πακέτο γλώσσας δεν βρέθηκε ή το `AutoDownloadResources` προσπαθεί ακόμα να το κατεβάσει | Επαληθεύστε τη διαδρομή `ResourceFolder` και βεβαιωθείτε ότι υπάρχει το `ChineseSimplified.zip`. | +| **Ακατάλληλοι χαρακτήρες** | Η εικόνα είναι θολή ή χαμηλής αντίθεσης | Προεπεξεργαστείτε την εικόνα (αυξήστε την αντίθεση, δυαδικοποιήστε) πριν τη δώσετε στο `RecognizeImage`. | +| **Εξαίρεση: `FileNotFoundException`** | Λάθος διαδρομή εικόνας | Χρησιμοποιήστε απόλυτη διαδρομή ή τοποθετήστε την εικόνα στον φάκελο εξόδου του έργου και αναφερθείτε σε αυτήν με `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`. | +| **Καθυστέρηση απόδοσης** | Μεγάλες διαστάσεις εικόνας | Αλλάξτε το μέγεθος της εικόνας σε λογικό πλάτος (π.χ., 1024 px) πριν την αναγνώριση. | + +**Συμβουλή:** Κρατήστε τα πακέτα γλώσσας σε φάκελο ελεγχόμενο από έκδοση. Όταν αναβαθμίζετε το Aspose.OCR, τα νέα πακέτα μπορεί να έχουν διαφορετικές ονομαστικές συμβάσεις, κάτι που μπορεί σιωπηρά να σπάσει τη στρατηγική **disable auto download**. + +## Επέκταση του Παραδείγματος + +Τώρα που μπορείτε να **αναγνωρίσετε κείμενο από εικόνα**, ίσως θέλετε να: + +- **Batch process** έναν φάκελο εικόνων (βρόχος πάνω στα αρχεία, κλήση `RecognizeImage` κάθε φορά). +- **Export** τα αποτελέσματα σε αρχείο CSV ή JSON για ανάλυση downstream. +- **Combine** OCR με APIs μετάφρασης για να μετατρέψετε τις κινέζικες πινακίδες σε Αγγλικά σε πραγματικό χρόνο. + +Όλα αυτά τα σενάρια επαναχρησιμοποιούν τα ίδια βασικά βήματα: διαμορφώστε μία φορά, ορίστε τη γλώσσα και καλέστε το `RecognizeImage`. Ο μοντέλο σχεδίασης διατηρεί τον κώδικά σας καθαρό και εύκολο στη συντήρηση. + +## Συμπέρασμα + +Μόλις μάθατε πώς να **αναγνωρίζετε κείμενο από εικόνα** χρησιμοποιώντας το Aspose OCR σε C#. Με την ρητή **disable auto download**, δείχνοντας τη μηχανή σε έναν τοπικό φάκελο πόρων, και **set OCR language** στα Απλοποιημένα Κινέζικα, μπορείτε αξιόπιστα να **extract Chinese text image** και οποιαδήποτε άλλη γλώσσα παρέχετε. + +Ο πλήρης, εκτελέσιμος κώδικας παραπάνω δείχνει μια πρακτική ροή εργασίας που μπορείτε να ενσωματώσετε σε πραγματικά έργα. Από εδώ, πειραματιστείτε με διαφορετικές ποιότητες εικόνας, προσθέστε διαχείριση σφαλμάτων ή ενσωματώστε το αποτέλεσμα σε ένα μεγαλύτερο σύστημα. Οι δυνατότητες είναι πρακτικά απεριόριστες. + +Έχετε ερωτήσεις για άλλες γλώσσες, βελτιστοποίηση απόδοσης ή ανάπτυξη στο cloud; Μη διστάσετε να αφήσετε ένα σχόλιο—καλή προγραμματιστική! + +{{< /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/net/ocr-optimization/_index.md b/ocr/greek/net/ocr-optimization/_index.md index 91034532..c5a5828c 100644 --- a/ocr/greek/net/ocr-optimization/_index.md +++ b/ocr/greek/net/ocr-optimization/_index.md @@ -49,10 +49,12 @@ url: /el/net/ocr-optimization/ ### [Διόρθωση αποτελεσμάτων με ορθογραφικό έλεγχο στην αναγνώριση εικόνας OCR](./result-correction-with-spell-checking/) Βελτιώστε την ακρίβεια OCR με το Aspose.OCR για .NET. Διορθώστε την ορθογραφία, προσαρμόστε τα λεξικά και επιτύχετε την αναγνώριση κειμένου χωρίς σφάλματα χωρίς κόπο. ### [Αποθηκεύστε το αποτέλεσμα πολλαπλών σελίδων ως έγγραφο στην Αναγνώριση εικόνας OCR](./save-multipage-result-as-document/) -Ξεκλειδώστε τις δυνατότητες του Aspose.OCR για .NET. Αποθηκεύστε αβίαστα αποτελέσματα OCR πολλαπλών σελίδων ως έγγραφα με αυτόν τον αναλυτικό οδηγό βήμα προς βήμα. +Ξεκλειδώστε τις δυνατότητες του Aspose.OCR για .NET. Αποθηκεύτε αβίαστα αποτελέσματα OCR πολλαπλών σελίδων ως έγγραφα με αυτόν τον αναλυτικό οδηγό βήμα προς βήμα. +### [c# OCR σεμινάριο: Αναγνώριση κειμένου από εικόνα με προεπεξεργασία](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Μάθετε πώς να αναγνωρίζετε κείμενο από εικόνες με προεπεξεργασία χρησιμοποιώντας Aspose.OCR σε C#. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/greek/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..92b8e773 --- /dev/null +++ b/ocr/greek/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,233 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR tutorial που δείχνει πώς να αναγνωρίζετε κείμενο από εικόνα και + να προεπεξεργάζεστε την εικόνα για OCR χρησιμοποιώντας φίλτρα Aspose.OCR – βήμα‑βήμα + οδηγός. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: el +og_description: c# OCR tutorial που σας καθοδηγεί στη αναγνώριση κειμένου από εικόνα + και στην προεπεξεργασία εικόνας για OCR χρησιμοποιώντας φίλτρα Aspose.OCR. Συμπεριλαμβάνεται + πλήρης κώδικας. +og_title: c# OCR tutorial – Αναγνώριση κειμένου από εικόνα με προεπεξεργασία +tags: +- OCR +- C# +- Image Processing +title: 'c# OCR οδηγός: Αναγνώριση κειμένου από εικόνα με προεπεξεργασία' +url: /el/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Αναγνώριση κειμένου από εικόνα με προεπεξεργασία + +Έχετε αναρωτηθεί ποτέ πώς να **αναγνωρίσετε κείμενο από εικόνα** σε μια εφαρμογή C# χωρίς να ξοδεύετε εβδομάδες στην ρύθμιση φίλτρων; Δεν είστε μόνοι. Σε αυτό το **c# ocr tutorial** θα περάσουμε από ένα πλήρες, έτοιμο‑για‑εκτέλεση παράδειγμα που όχι μόνο διαβάζει το κείμενο αλλά επίσης **προετοιμάζει την εικόνα για OCR** ώστε να αυξήσει την ακρίβεια. + +Θα χρησιμοποιήσουμε τη βιβλιοθήκη Aspose.OCR επειδή περιλαμβάνει μια βολική αλυσίδα φίλτρων που σας επιτρέπει να προσθέσετε βήματα ευθυγράμμισης, αποθορυβοποίησης και ενίσχυσης αντίθεσης με λίγες μόνο γραμμές κώδικα. Στο τέλος αυτού του οδηγού θα έχετε μια εφαρμογή κονσόλας που μπορεί να πάρει ένα λοξό, θορυβώδες PNG, να το καθαρίσει και να εμφανίσει το εξαγόμενο κείμενο—όλα με σαφείς εξηγήσεις για το γιατί κάθε βήμα είναι σημαντικό. + +## Προαπαιτούμενα + +Πριν ξεκινήσουμε, βεβαιωθείτε ότι έχετε: + +| Απαίτηση | Γιατί είναι σημαντικό | +|----------|------------------------| +| .NET 6 SDK (ή νεότερο) | Σύγχρονα χαρακτηριστικά C# και καλύτερη απόδοση | +| Visual Studio 2022 (ή VS Code) | Βολικό debugging και IntelliSense | +| Πακέτο NuGet **Aspose.OCR** | Παρέχει το `OcrEngine` και τις κλάσεις φίλτρων | +| Μια εικόνα εισόδου (π.χ., `skewed‑noisy.png`) | Δείχνει την ανάγκη προεπεξεργασίας | + +Αν κάποιο από αυτά λείπει, εγκαταστήστε το πρώτα. Το βήμα NuGet καλύπτεται στην επόμενη ενότητα. + +## Βήμα 1: Εγκατάσταση Aspose.OCR μέσω NuGet + +Ανοίξτε το τερματικό σας (ή το Package Manager Console) και εκτελέστε: + +```bash +dotnet add package Aspose.OCR +``` + +> **Συμβουλή:** Χρησιμοποιήστε τη σημαία `--version` για να κλειδώσετε σε μια συγκεκριμένη έκδοση εάν χρειάζεστε αναπαραγώγιμα builds. + +Το πακέτο περιλαμβάνει όλα τα φίλτρα που θα χρειαστούμε, οπότε δεν απαιτούνται επιπλέον DLLs. + +## Βήμα 2: Αρχικοποίηση του OCR Engine – η καρδιά του c# ocr tutorial + +Η δημιουργία του engine είναι απλή, αλλά αξίζει να κατανοήσετε τι συμβαίνει στο παρασκήνιο. Το `OcrEngine` διατηρεί μια αλυσίδα **φίλτρων** που επεξεργάζονται το bitmap πριν τρέξει ο αλγόριθμος αναγνώρισης. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Γιατί να αρχικοποιήσετε πρώτα;** Το engine αποθηκεύει εσωτερικούς πόρους (όπως μοντέλα γλώσσας). Η επαναχρησιμοποίηση μιας μόνο παρουσίασης σε πολλές εικόνες εξοικονομεί μνήμη και επιταχύνει τις επόμενες αναγνώσεις. + +## Βήμα 3: Προεπεξεργασία εικόνας για OCR – προσθήκη ευθυγράμμισης, αποθορυβοποίησης και ενίσχυσης αντίθεσης + +Οι περισσότερες πραγματικές σαρώσεις δεν είναι τέλειες· είναι λοξές, σπιρτόζωτες ή πολύ σκοτεινές. Γι' αυτό το **preprocess image for OCR** είναι ένα κρίσιμο βήμα. Η Aspose παρέχει τρία φίλτρα που συνεργάζονται άψογα: + +| Φίλτρο | Τι κάνει | Τυπική περίπτωση χρήσης | +|--------|----------|--------------------------| +| `DeskewFilter` | Περιστρέφει την εικόνα για να διορθώσει την κλίση | Σαρωμένα έγγραφα από σαρωτή | +| `DenoiseFilter` | Αφαιρεί απομονωμένα pixel (θόρυβος “αλάτι‑και‑πιπέρι”) | Φωτογραφίες χαμηλού φωτισμού | +| `ContrastBoostFilter` | Αυξάνει την αντίθεση για να ενισχύσει τις άκρες του κειμένου | Ασθενείς εκτυπώσεις ή λήψεις χαμηλής ανάλυσης | + +Παρακάτω είναι ο κώδικας που προσθέτει κάθε φίλτρο στην αλυσίδα του engine: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **Πώς λειτουργεί:** Όταν καλέσετε το `RecognizeImage` αργότερα, το engine θα εκτελέσει διαδοχικά αυτά τα τρία φίλτρα πριν περάσει το καθαρισμένο bitmap στον πυρήνα αναγνώρισης. + +### Οπτική εικονογράφηση (προαιρετικό) + +Αν ενσωματώσετε μια εικόνα, βεβαιωθείτε ότι το alt κείμενο περιέχει τη βασική λέξη-κλειδί: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Βήμα 4: Αναγνώριση κειμένου από εικόνα – η στιγμή της αλήθειας + +Τώρα που η εικόνα έχει προεπεξεργαστεί, μπορούμε τελικά να εξάγουμε τους χαρακτήρες. Η μέθοδος επιστρέφει μια απλή συμβολοσειρά, την οποία μπορείτε να καταγράψετε, αποθηκεύσετε ή να τη δώσετε σε άλλο σύστημα. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Αναμενόμενη έξοδος + +Η εκτέλεση του δείγματος σε μια τυπική σάρωση τιμολογίου δίνει κάτι σαν: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +Αν η έξοδος φαίνεται ακατάληπτη, ελέγξτε ξανά την ποιότητα της εικόνας και σκεφτείτε να ρυθμίσετε το `ContrastBoostFilter.Level` (τιμές > 2.0 μπορεί να είναι πολύ επιθετικές). + +## Βήμα 5: Εξαγωγή του αποτελέσματος και προαιρετική μετα-επεξεργασία + +Μια εφαρμογή κονσόλας μπορεί απλώς να γράψει τη συμβολοσειρά, αλλά πολλά έργα χρειάζονται επιπλέον επεξεργασία—όπως αφαίρεση κενών, διαγραφή αλλαγών γραμμής ή αποθήκευση του κειμένου σε βάση δεδομένων. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Γιατί μετα-επεξεργασία; + +Ακόμη και με καλή προεπεξεργασία, το OCR συχνά εισάγει ανεπιθύμητες αλλαγές γραμμής ή αόρατους χαρακτήρες. Μια γρήγορη αλυσίδα `Replace` μπορεί να κάνει τα δεδομένα πολύ πιο χρήσιμα στο επόμενο στάδιο. + +## Βήμα 6: Πλήρες λειτουργικό παράδειγμα – έτοιμο για αντιγραφή‑επικόλληση + +Παρακάτω είναι το **πλήρες** πρόγραμμα που μπορείτε να μεταγλωττίσετε και να εκτελέσετε αμέσως. Περιλαμβάνει όλες τις δηλώσεις `using`, τη ρύθμιση φίλτρων, την κλήση OCR και τη διαχείριση εξόδου. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**Πώς να το εκτελέσετε** + +1. Αποθηκεύστε το αρχείο ως `Program.cs` μέσα σε ένα νέο έργο κονσόλας (`dotnet new console`). +2. Αντικαταστήστε το `YOUR_DIRECTORY/skewed-noisy.png` με την πραγματική διαδρομή προς την εικόνα δοκιμής σας. +3. Εκτελέστε `dotnet run`. Θα πρέπει να δείτε την έξοδο OCR να εμφανίζεται στην κονσόλα. + +## Συνηθισμένα προβλήματα & Συμβουλές (αναγνώριση κειμένου από εικόνα αξιόπιστα) + +| Πρόβλημα | Τι να ελέγξετε | Διόρθωση | +|----------|----------------|----------| +| **Ακατάληπτοι χαρακτήρες** | Η εικόνα είναι πολύ σκοτεινή ή χαμηλής ανάλυσης | Αυξήστε το `ContrastBoostFilter.Level` ή χρησιμοποιήστε πηγή υψηλότερης ανάλυσης | +| **Απουσία γραμμών** | Το Deskew δεν διόρθωσε πλήρως τη γωνία | Περιστρέψτε χειροκίνητα την εικόνα πρώτα ή προσαρμόστε την ανοχή του `DeskewFilter` | +| **Αργή απόδοση** | Επεξεργασία πολλών μεγάλων εικόνων σε βρόχο | Επαναχρησιμοποιήστε την ίδια παρουσίαση `OcrEngine` και καλέστε `ocrEngine.Clear()` μετά από κάθε εκτέλεση | +| **Μη υποστηριζόμενη γλώσσα** | Το κείμενο δεν είναι Αγγλικά | Ορίστε `ocrEngine.Language = OcrLanguage.French` (ή άλλη υποστηριζόμενη γλώσσα) πριν από την αναγνώριση | + +### Ειδική περίπτωση: διαχείριση PDF πολλαπλών σελίδων + +Αν χρειάζεται να κάνετε OCR σε PDF, μετατρέψτε κάθε σελίδα σε εικόνα (π.χ., χρησιμοποιώντας το `Aspose.PDF`) και δώστε τις μία‑μία στο ίδιο engine. Η αλυσίδα προεπεξεργασίας παραμένει η ίδια, εξασφαλίζοντας συνεπή αποτελέσματα σε όλες τις σελίδες. + +## Συμπέρασμα + +Σε αυτό το **c# ocr tutorial** καλύψαμε όλα όσα χρειάζεστε για να **αναγνωρίσετε κείμενο από εικόνα** και να **προετοιμάσετε την εικόνα για OCR** χρησιμοποιώντας τα ενσωματωμένα φίλτρα του Aspose.OCR. Αρχικοποιώντας το engine, προσθέτοντας βήματα ευθυγράμμισης, αποθορυβοποίησης και ενίσχυσης αντίθεσης, και τέλος καλώντας το `RecognizeImage`, λαμβάνετε καθαρή, αξιόπιστη εξαγωγή κειμένου με μόνο λίγες γραμμές κώδικα. + +Μη διστάσετε να πειραματιστείτε—αντικαταστήστε ένα φίλτρο, ρυθμίστε το επίπεδο αντίθεσης, ή ενσωματώστε το αποτέλεσμα σε μια μεγαλύτερη ροή δεδομένων. Οι έννοιες εδώ ισχύουν για οποιαδήποτε βιβλιοθήκη 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/net/text-recognition/_index.md b/ocr/greek/net/text-recognition/_index.md index 7c0b04e8..3e11074d 100644 --- a/ocr/greek/net/text-recognition/_index.md +++ b/ocr/greek/net/text-recognition/_index.md @@ -55,9 +55,21 @@ url: /el/net/text-recognition/ Ξεκλειδώστε τις δυνατότητες του OCR στο .NET με το Aspose.OCR. Εξαγωγή κειμένου από αρχεία PDF χωρίς κόπο. Κάντε λήψη τώρα για μια απρόσκοπτη εμπειρία ενσωμάτωσης. ### [Αναγνώριση πίνακα στην Αναγνώριση εικόνας OCR](./recognize-table/) Ξεκλειδώστε τις δυνατότητες του Aspose.OCR για .NET με τον ολοκληρωμένο οδηγό μας για την αναγνώριση πινάκων στην αναγνώριση εικόνας OCR. +### [c# OCR σεμινάριο – Εξαγωγή κειμένου Χίντι από αποδείξεις PNG](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Ανακαλύψτε πώς να εξάγετε κείμενο Χίντι από αποδείξεις PNG χρησιμοποιώντας το Aspose.OCR για .NET. +### [Εξαγωγή κειμένου από PNG – Πλήρης οδηγός Aspose OCR](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Μάθετε πώς να εξάγετε κείμενο από αρχεία PNG με το Aspose OCR σε .NET. +### [c# OCR σεμινάριο – Εξαγωγή κειμένου από εικόνες με Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +### [Αναγνώριση κειμένου σε JPG με Aspose OCR – Πλήρης οδηγός C#](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Μάθετε πώς να αναγνωρίζετε κείμενο από αρχεία JPG χρησιμοποιώντας το Aspose OCR σε C# με πλήρη βήμα-βήμα οδηγίες. +### [c# OCR σεμινάριο: Εξαγωγή κειμένου από εικόνα και αρχεία DJVU](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Μάθετε πώς να εξάγετε κείμενο από εικόνες και αρχεία DJVU χρησιμοποιώντας το Aspose.OCR σε C#. +### [Εξαγωγή κειμένου από TIFF με Aspose OCR C# – Πλήρης οδηγός](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Μάθετε πώς να εξάγετε κείμενο από αρχεία TIFF χρησιμοποιώντας το Aspose OCR σε C# με πλήρη βήμα-βήμα οδηγίες. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/greek/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..8a2f756e --- /dev/null +++ b/ocr/greek/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,216 @@ +--- +category: general +date: 2026-01-09 +description: c# οδηγός OCR για ανάγνωση κειμένου από PNG, μετατροπή εικόνας σε κείμενο + και αναγνώριση κειμένου στα Χίντι σε απόδειξη χρησιμοποιώντας το Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: el +og_description: c# OCR tutorial που σας διδάσκει πώς να διαβάζετε κείμενο από PNG, + να μετατρέπετε την εικόνα σε κείμενο και να αναγνωρίζετε κείμενο στα Χίντι σε απόδειξη + με το Aspose OCR. +og_title: c# OCR tutorial – Εξαγωγή κειμένου Χίντι από αποδείξεις PNG +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# OCR οδηγός – Εξαγωγή κειμένου στα Χίντι από αποδείξεις PNG +url: /el/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Εξαγωγή κειμένου Hindi από αποδείξεις PNG + +Έχετε ποτέ αναρωτηθεί πώς να **διαβάσετε κείμενο από PNG** αρχεία σε μια εφαρμογή C#; Ίσως έχετε μια σειρά από αποδείξεις Hindi και χρειάζεται να εξάγετε τα ποσά αυτόματα. Αυτό ακριβώς αντιμετωπίζει αυτό το c# ocr tutorial—μετατρέποντας μια εικόνα σε αναζητήσιμο κείμενο με λίγες μόνο γραμμές κώδικα. + +Σε αυτόν τον οδηγό θα περάσουμε από την εγκατάσταση του Aspose OCR, τη φόρτωση μιας απόδειξης PNG, την αναγνώριση χαρακτήρων Hindi, και τελικά την εκτύπωση της εξαγόμενης συμβολοσειράς στην κονσόλα. Στο τέλος θα μπορείτε να **μετατρέψετε εικόνα σε κείμενο**, **αναγνωρίσετε κείμενο Hindi**, και ακόμη **εξάγετε κείμενο από εικόνες αποδείξεων** χωρίς να αφήσετε το IDE σας. + +> **Σημείωση προαπαιτούμενου:** Χρειάζεστε μια έγκυρη άδεια Aspose OCR (ή μπορείτε να χρησιμοποιήσετε τη δωρεάν δοκιμή) και .NET 6+ εγκατεστημένο. Αν είστε νέοι στο NuGet, μην ανησυχείτε—θα καλύψουμε και αυτό. + +## Τι Θα Χρειαστείτε + +- **Visual Studio 2022** (ή οποιονδήποτε επεξεργαστή συμβατό με C#) +- **.NET 6 SDK** (ή νεότερο) +- **Aspose.OCR** πακέτο NuGet + ```bash + dotnet add package Aspose.OCR + ``` +- Ένα δείγμα εικόνας απόδειξης, π.χ., `hindi-receipt.png`, αποθηκευμένο στον φάκελο του έργου σας. + +Αν έχετε αυτά έτοιμα, μπορείτε να αντιγράψετε‑επικολλήσετε τον τελικό κώδικα και να πατήσετε **F5** αμέσως. + +## Βήμα 1: Ρύθμιση του Έργου και Εισαγωγή Namespaces + +Πρώτα, δημιουργήστε ένα έργο console αν δεν έχετε ήδη ένα: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Τώρα ανοίξτε το `Program.cs`. Στην κορυφή, εισάγετε τα namespaces του Aspose OCR ώστε ο μεταγλωττιστής να ξέρει πού βρίσκονται οι κλάσεις: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Γιατί είναι σημαντικό:** Το `OcrEngine` βρίσκεται στο `Aspose.OCR`, ενώ τα enums σχετιζόμενα με τη γλώσσα είναι στο `Aspose.OCR.Settings`. Η παράλειψη οποιουδήποτε θα προκαλέσει σφάλμα κατά τη μεταγλώττιση. + +## Βήμα 2: Αρχικοποίηση του OCR Engine και Επιλογή του Μοντέλου Γλώσσας + +Το OCR engine πρέπει να γνωρίζει **ποια γλώσσα** θα αναζητήσει. Η Aspose παρέχει πολλά πακέτα γλωσσών· η καθορισμός του `OcrLanguage.Hindi` λέει στο engine να κατεβάσει (αν λείπει) και να χρησιμοποιήσει το μοντέλο Hindi. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Συμβουλή επαγγελματία:** Αν σκοπεύετε να επεξεργάζεστε αποδείξεις σε πολλές γλώσσες, μπορείτε να αλλάξετε το `Language` κατά την εκτέλεση ή ακόμη και να ενεργοποιήσετε τη λειτουργία `MultiLanguage`. + +## Βήμα 3: Παροχή της Απόδειξης PNG στο Engine + +Εδώ είναι που **διαβάζουμε κείμενο από PNG**. Παρέχετε τη πλήρη διαδρομή (η σχετική προς το εκτελέσιμο λειτουργεί καλά). Η μέθοδος επιστρέφει μια απλή συμβολοσειρά που περιέχει ό,τι κατάφερε να αποκρυπτογραφήσει το engine. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Αν η εικόνα είναι υψηλής ανάλυσης και το κείμενο είναι καθαρό, θα έχετε σχεδόν τέλεια αποτελέσματα. Για θορυβώδεις σαρώσεις, σκεφτείτε προεπεξεργασία (π.χ., δυαδικοποίηση) – η Aspose προσφέρει μεθόδους `PreprocessImage` που μπορείτε να εξερευνήσετε αργότερα. + +## Βήμα 4: Εμφάνιση ή Αποθήκευση του Εξαγόμενου Κειμένου + +Οι περισσότεροι προγραμματιστές απλώς εκτυπώνουν το αποτέλεσμα στην κονσόλα κατά τη δοκιμή. Σε παραγωγικό σενάριο μπορεί να γράψετε σε βάση δεδομένων ή αρχείο CSV. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Η εκτέλεση του προγράμματος με το δείγμα απόδειξης εκτυπώνει κάτι όπως: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +Αυτό είναι το τμήμα **μετατροπής εικόνας σε κείμενο** σε δράση—χωρίς ανάγκη χειροκίνητης μεταγραφής. + +## Πλήρες Παράδειγμα Εργασίας (Έτοιμο για Αντιγραφή‑Επικόλληση) + +Παρακάτω είναι το πλήρες, αυτόνομο πρόγραμμα. Επικολλήστε το στο `Program.cs`, τοποθετήστε το `hindi-receipt.png` δίπλα στο μεταγλωττισμένο `.exe`, και πατήστε **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Αναμενόμενη Έξοδος + +Όταν η εικόνα της απόδειξης περιέχει καθαρούς χαρακτήρες Hindi, η κονσόλα θα εμφανίσει τις εξαγόμενες γραμμές, διατηρώντας τις αλλαγές γραμμής. Αν το OCR δεν αναγνωρίσει μια λέξη, θα δείτε ένα ακατάστατο τμήμα—ένα σήμα να βελτιώσετε την ποιότητα της εικόνας ή να προσαρμόσετε την προεπεξεργασία. + +## Βήμα 5: Πέρα από το Βασικό – Εξαγωγή Κειμένου από Απόδειξη Προγραμματιστικά + +Αν ο στόχος σας είναι να **εξάγετε κείμενο από πεδία απόδειξης** (ημερομηνία, σύνολο, αριθμός τιμολογίου), μπορείτε να επεξεργαστείτε το OCR string με κανονικές εκφράσεις: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +## Συνηθισμένα Προβλήματα & Πώς να τα Αποφύγετε + +| Πρόβλημα | Γιατί συμβαίνει | Διόρθωση | +|----------|------------------|-----------| +| **Κενή έξοδος** | Λάθος διαδρομή εικόνας ή το αρχείο δεν αντιγράφηκε στο φάκελο εξόδου. | Χρησιμοποιήστε `Path.GetFullPath` και επαληθεύστε ότι το αρχείο υπάρχει (`File.Exists`). | +| **Ακατάστατοι χαρακτήρες** | PNG χαμηλής ανάλυσης ή συμπιεσμένα χρώματα. | Αυξήστε την ανάλυση της εικόνας, ορίστε DPI σε 300+, ή χρησιμοποιήστε `ocrEngine.ImagePreprocessor`. | +| **Το μοντέλο γλώσσας δεν έχει ληφθεί** | Δεν υπάρχει σύνδεση στο internet κατά την πρώτη εκτέλεση. | Κατεβάστε εκ των προτέρων το μοντέλο Hindi μέσω του portal της Aspose ή φιλοξενήστε το τοπικά. | +| **Καθυστέρηση απόδοσης** | Επεξεργασία πολλών σελίδων σε βρόχο χωρίς απελευθέρωση πόρων. | Τοποθετήστε το `OcrEngine` μέσα σε μπλοκ `using` ή επαναχρησιμοποιήστε μια μόνο παρουσία. | + +## Εικονογράφηση + +![c# ocr tutorial reading Hindi text from PNG receipt](https://example.com/placeholder-image.png "c# ocr tutorial – read text from png receipt") + +*Το στιγμιότυπο δείχνει μια απόδειξη Hindi πριν και μετά τη μετατροπή OCR.* + +## Ανακεφαλαίωση: Τι Καλύψαμε + +- Ρύθμιση μιας εφαρμογής console C# και προσθήκη του πακέτου NuGet Aspose OCR. +- Αρχικοποίηση του `OcrEngine` με το μοντέλο γλώσσας **recognize hindi text**. +- **Διαβάστε κείμενο από PNG** χρησιμοποιώντας το `RecognizeImage`. +- **Μετατρέψτε εικόνα σε κείμενο** και εκτυπώσατε το αποτέλεσμα. +- Επιδειχθεί ένα απλό μοτίβο για **εξαγωγή κειμένου από πεδία απόδειξης**. + +Όλα αυτά παρασχέθηκαν σε ένα ενιαίο, εκτελέσιμο αρχείο—ακριβώς αυτό που πρέπει να παρέχει ένα **c# ocr tutorial**. + +## Επόμενα Βήματα & Σχετικά Θέματα + +1. **Batch processing** – επανάληψη μέσω φακέλου εικόνων αποδείξεων και αποθήκευση των αποτελεσμάτων σε CSV. +2. **Pre‑processing** – εξερευνήστε το `ocrEngine.ImagePreprocessor` για αφαίρεση θορύβου, διόρθωση κλίσης ή βελτίωση αντίθεσης. +3. **Multi‑language OCR** – ενεργοποιήστε το `OcrLanguage.Multilingual` για διαχείριση αποδείξεων που συνδυάζουν Hindi και English. +4. **Integration** – μεταφέρετε τα εξαγόμενα δεδομένα σε μοντέλο Entity Framework Core για μόνιμη αποθήκευση. + +Αν σας ενδιαφέρει κάποιο από αυτά, δείτε τα tutorials μας για **convert image to text in C#** και **extract structured data from OCR results**. + +### Καλό Κώδικα! + +Μη διστάσετε να αφήσετε ένα σχόλιο αν αντιμετωπίσετε προβλήματα, ή να μοιραστείτε πώς έχετε επεκτείνει αυτό το **c# ocr tutorial** στα δικά σας έργα. Θυμηθείτε, το 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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/greek/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..7946facc --- /dev/null +++ b/ocr/greek/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-01-09 +description: c# οδηγός OCR που δείχνει πώς να εξάγετε κείμενο από αρχεία εικόνας και + να μετατρέψετε DJVU σε κείμενο χρησιμοποιώντας το Aspose.OCR. Μάθετε την εξαγωγή + βήμα‑βήμα σε λίγα λεπτά. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: el +og_description: c# OCR tutorial που δείχνει γρήγορα πώς να εξάγετε κείμενο από αρχεία + εικόνας και να μετατρέψετε DJVU σε κείμενο χρησιμοποιώντας το Aspose.OCR. Ακολουθήστε + τον οδηγό για μια λειτουργική λύση. +og_title: c# OCR οδηγός – Εξαγωγή κειμένου από εικόνα & DJVU +tags: +- OCR +- C# +- Aspose +title: 'c# OCR οδηγός: Εξαγωγή κειμένου από εικόνα και αρχεία DJVU' +url: /el/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR tutorial – Εξαγωγή κειμένου από εικόνα και αρχεία DJVU + +Αναρωτηθήκατε ποτέ πώς να εξάγετε κείμενο από αρχεία εικόνας χωρίς να τσακώσετε τα μαλλιά σας; Σε αυτό το **c# OCR tutorial** θα περάσουμε από ένα πλήρες, έτοιμο‑για‑εκτέλεση παράδειγμα που εξάγει κείμενο από μια κανονική εικόνα *και* ένα έγγραφο DJVU. + +Αν ψάχνετε επίσης για έναν γρήγορο τρόπο να **convert DJVU to text**, βρίσκεστε στο σωστό μέρος—χωρίς επιπλέον μετατροπείς, μόνο καθαρός κώδικας C#. + +## Τι θα μάθετε + +- Πώς να εγκαταστήσετε τη βιβλιοθήκη Aspose.OCR σε ένα έργο .NET. +- Ο ακριβής κώδικας που χρειάζεστε για **extract text from image** αρχεία. +- Μια σύντομη μέθοδος για **extracting text from DJVU** αρχεία (ναι, η ίδια μηχανή το κάνει). +- Κοινά προβλήματα (μεγάλα αρχεία, ελλιπείς γραμματοσειρές, άδειες) και πώς να τα αποφύγετε. + +Το μόνο που χρειάζεστε είναι ένα πρόσφατο .NET SDK και σύνδεση στο διαδίκτυο για να κατεβάσετε το πακέτο NuGet. Δεν απαιτείται προηγούμενη εμπειρία OCR. + +## Προαπαιτούμενα + +| Απαίτηση | Γιατί είναι σημαντικό | +|-------------|----------------| +| .NET 6.0 ή νεότερο | Το Aspose.OCR στοχεύει στο .NET Standard 2.0, έτσι το .NET 6+ προσφέρει την καλύτερη απόδοση. | +| Visual Studio 2022 (ή VS Code) | Τα IDE κάνουν τη διαχείριση πακέτων απλή, αλλά οποιοσδήποτε επεξεργαστής λειτουργεί. | +| Πακέτο NuGet **Aspose.OCR** | Αυτή είναι η μηχανή που πραγματικά κάνει τη βαριά δουλειά. | +| Ένα δείγμα εικόνας (`sample.png`) και ένα αρχείο DJVU (`sample.djvu`) | Θα τα χρησιμοποιήσουμε για να δείξουμε και τα δύο σενάρια εξαγωγής. | + +Μπορείτε να εγκαταστήσετε το πακέτο με την ακόλουθη εντολή: + +```bash +dotnet add package Aspose.OCR +``` + +> **Συμβουλή:** Αν βρίσκεστε σε διακομιστή CI, προσθέστε `--no-restore` στο βήμα κατασκευής και κάντε restore μία φορά στην αρχή για να επιταχύνετε τη διαδικασία. + +## Βήμα 1: Αρχικοποίηση της μηχανής OCR – η καρδιά του c# OCR tutorial + +Το πρώτο που κάνουμε είναι να δημιουργήσουμε μια παρουσία του `OcrEngine`. Σκεφτείτε το σαν να ενεργοποιείτε το σαρωτή στο λογισμικό σας. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Γιατί να δημιουργούμε νέα μηχανή κάθε φορά; Επειδή η μηχανή κρατάει ρυθμίσεις (γλώσσα, λειτουργία ανίχνευσης κλπ.). Ξεκινώντας φρέσκο αποφεύγετε τις παλιές ρυθμίσεις να διαρρέουν μεταξύ εκτελέσεων. + +## Βήμα 2: Φόρτωση και αναγνώριση εικόνας – πώς να extract text from image + +Τώρα θα τροφοδοτήσουμε μια κανονική bitmap (PNG, JPEG, BMP…) στη μηχανή. Η μέθοδος `RecognizeImage` επιστρέφει τη ανιχνευμένη συμβολοσειρά. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +Μερικά πράγματα που πρέπει να σημειώσετε: + +* **Υπάρχον αρχείο** – Αν η διαδρομή είναι λανθασμένη η μέθοδος ρίχνει `FileNotFoundException`. Τυλίξτε την σε `try/catch` αν περιμένετε διαδρομές από χρήστη. +* **Ποιότητα εικόνας** – Το OCR λειτουργεί καλύτερα σε 300 dpi ή περισσότερο. Σαρώσεις χαμηλής ανάλυσης μπορεί να παράγουν ακατάστατο κείμενο. +* **Υποστήριξη γλώσσας** – Από προεπιλογή το Aspose.OCR υποθέτει Αγγλικά. Για αλλαγή, ορίστε `ocrEngine.Language = Language.Spanish;` πριν το `RecognizeImage`. + +## Βήμα 3: Αναγνώριση κειμένου από έγγραφο DJVU – convert DJVU to text + +Το DJVU είναι μορφή κοντέινερ που μπορεί να περιέχει πολλαπλές σελίδες. Το Aspose.OCR μπορεί να το διαχειριστεί άμεσα· απλώς δείχνετε στο αρχείο. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +Στο παρασκήνιο, η μηχανή εξάγει κάθε σελίδα ως εικόνα και εκτελεί την ίδια διαδικασία αναγνώρισης. Γι’ αυτό δεν χρειάζεται ξεχωριστό βήμα “convert DJVU to text”—η μηχανή OCR το κάνει για εσάς. + +### Διαχείριση αρχείων DJVU πολλαπλών σελίδων + +Αν το DJVU σας περιέχει πολλές σελίδες, το `RecognizeImage` τις συνενώνει με τη σειρά. Αν χρειάζεστε κάθε σελίδα ξεχωριστά, μπορείτε να χρησιμοποιήσετε την υπερφόρτωση που επιστρέφει `List`: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Βήμα 4: Λεπτομερής ρύθμιση της μηχανής για καλύτερη ακρίβεια – γιατί είναι σημαντικό + +Τα αρχικά αποτελέσματα είναι αποδεκτά, αλλά μπορείτε να τα βελτιώσετε ρυθμίζοντας μερικές παραμέτρους: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Αυτές οι σημαίες είναι ιδιαίτερα χρήσιμες όταν **how to extract text** από σαρωμένα PDF που πρώτα αποθηκεύτηκαν ως DJVU. Η ενεργοποίηση της ανίχνευσης προσανατολισμού σας εξοικονομεί το χειροκίνητο περιστροφή των εικόνων. + +## Βήμα 5: Διαχείριση αδειών και σφαλμάτων χρόνου εκτέλεσης + +Το Aspose.OCR διανέμεται με δωρεάν δοκιμή που προσθέτει το σήμα “Demo” στην έξοδο μετά από μερικές σελίδες. Για να αφαιρέσετε το υδατογράφημα, προσθέστε το αρχείο άδειας: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Αν ξεχάσετε αυτό το βήμα, η μηχανή λειτουργεί, αλλά το αποτέλεσμα θα περιέχει τη λέξη “Demo”. Επίσης, προσέξτε το `OutOfMemoryException` όταν επεξεργάζεστε τεράστια αρχεία DJVU—σκεφτείτε επεξεργασία σελίδα‑με‑σελίδα όπως φαίνεται νωρίτερα. + +## Πλήρες, εκτελέσιμο παράδειγμα + +Παρακάτω είναι ένα αυτόνομο πρόγραμμα κονσόλας που συνδυάζει όλα. Αντιγράψτε‑επικολλήστε, προσαρμόστε τις διαδρομές αρχείων, και πατήστε **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Expected output** (assuming the files contain the phrase “Hello World”): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Αν η πηγή περιέχει πολλές γραμμές, θα εμφανιστούν ακριβώς όπως στο αρχικό έγγραφο. + +## Συχνές ερωτήσεις & διαχείριση ειδικών περιπτώσεων + +* **Τι γίνεται αν η εικόνα είναι ασπρόμαυρη;** + Το OCR λειτουργεί καλά, αλλά μπορείτε να βελτιώσετε την αντίθεση με `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +* **Μπορώ να εξάγω μόνο αριθμούς;** + Ναι—ορίστε `ocrEngine.CharWhitelist = "0123456789";` πριν καλέσετε το `RecognizeImage`. + +* **Υπάρχει όριο στο μέγεθος του αρχείου;** + Η μηχανή διαβάζει ολόκληρο το αρχείο στη μνήμη. Για αρχεία μεγαλύτερα από ~100 MB, επεξεργαστείτε σελίδα‑με‑σελίδα (δείτε την υπερφόρτωση λίστας του Βήματος 3). + +* **Πώς διαφέρει αυτό από το Tesseract;** + Το Aspose.OCR είναι εμπορική βιβλιοθήκη με ενσωματωμένη υποστήριξη DJVU και χωρίς εγγενείς εξαρτήσεις, ενώ το Tesseract απαιτεί εγγενή binaries και ξεχωριστά εργαλεία μετατροπής DJVU. + +## Συμπέρασμα + +Μόλις ολοκληρώσατε ένα **c# OCR tutorial** που δείχνει πώς να **extract text from image** αρχεία και αβίαστα **convert DJVU to text** χρησιμοποιώντας το Aspose.OCR. Το παράδειγμα καλύπτει τα πάντα από την εγκατάσταση του πακέτου μέχρι τις άδειες, από την εξαγωγή εικόνας μιας σελίδας μέχρι τη διαχείριση DJVU πολλαπλών σελίδων, και ακόμη συμβουλές για βελτίωση της ακρίβειας. + +Στη συνέχεια, μπορείτε να εξερευνήσετε **how to extract text** από PDF, να ενσωματώσετε το βήμα OCR σε ένα web API, ή να πειραματιστείτε με πακέτα γλωσσών για πολυγλωσσικά έγγραφα. Ο ουρανός είναι το όριο—απλώς θυμηθείτε τα βασικά: ρυθμίστε τη μηχανή, τροφοδοτήστε την με ένα αρχείο, και διαβάστε τη συμβολοσειρά πίσω. + +Έχετε περισσότερες ερωτήσεις; Αφήστε ένα σχόλιο, δοκιμάστε τον κώδικα στα δικά σας έγγραφα, και καλή προγραμματιστική! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# 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/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/greek/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..39ddde95 --- /dev/null +++ b/ocr/greek/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR οδηγός που δείχνει πώς να εξάγετε κείμενο από αρχεία εικόνας, + να αναγνωρίζετε κείμενο από PNG, να μετατρέπετε την εικόνα σε συμβολοσειρά και να + ανιχνεύετε τη γλώσσα αυτόματα χρησιμοποιώντας το Aspose.OCR. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: el +og_description: c# OCR tutorial που σας καθοδηγεί στην εξαγωγή κειμένου από εικόνες, + στην αναγνώριση κειμένου από αρχεία png, στη μετατροπή εικόνων σε συμβολοσειρές + και στην αυτόματη ανίχνευση γλώσσας χρησιμοποιώντας το Aspose OCR. +og_title: c# OCR tutorial – Εξαγωγή κειμένου από εικόνες +tags: +- C# +- OCR +- Aspose +- Image Processing +title: c# OCR tutorial – Εξαγωγή κειμένου από εικόνες με το Aspose OCR +url: /el/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Εξαγωγή Κειμένου από Εικόνες με το Aspose OCR + +Ποτέ χρειάστηκε ένα **c# ocr tutorial** που να λειτουργεί πραγματικά σε ένα πραγματικό αρχείο PNG; Ίσως να δημιουργείτε έναν σαρωτή αποδείξεων, έναν πολυγλωσσικό επεξεργαστή φορμών, ή απλώς να θέλετε να μάθετε πώς να μετατρέψετε μια φωτογραφία κειμένου σε μια αναζητήσιμη συμβολοσειρά. Ό,τι και να είναι, βρίσκεστε στο σωστό μέρος. + +Σε αυτόν τον οδηγό θα σας δείξουμε βήμα‑βήμα πώς να **εξάγετε κείμενο από εικόνα** αρχεία, **αναγνωρίσετε κείμενο από png**, **μετατρέψετε την εικόνα σε συμβολοσειρά**, και ακόμη **ανιχνεύσετε τη γλώσσα αυτόματα**—όλα με τη βιβλιοθήκη Aspose.OCR. Χωρίς ασαφείς αναφορές, μόνο ένα πλήρες, εκτελέσιμο παράδειγμα που μπορείτε να αντιγράψετε‑επικολλήσετε στο Visual Studio. + +## Τι Θα Χρειαστείτε + +- .NET 6.0 ή νεότερο (ο κώδικας λειτουργεί επίσης με .NET Core και .NET Framework) +- Μια αναφορά NuGet στο `Aspose.OCR` (έκδοση 23.9 ή νεότερη) +- Ένα αρχείο εικόνας (`mixed‑script.png` σε αυτό το παράδειγμα) τοποθετημένο κάπου που η εφαρμογή μπορεί να το διαβάσει +- Βασική κατανόηση της C# (αν έχετε γράψει ένα “Hello World”, είστε εντάξει) + +> **Pro tip:** Αν δεν έχετε ήδη άδεια, η Aspose προσφέρει δωρεάν προσωρινή άδεια για δοκιμές. Απλώς τοποθετήστε το αρχείο `.lic` δίπλα στο εκτελέσιμο σας. + +## Βήμα 1 – Εγκατάσταση του Πακέτου NuGet Aspose.OCR + +Πρώτα, προσθέστε τη βιβλιοθήκη στο έργο σας. Ανοίξτε το Package Manager Console και εκτελέστε: + +```powershell +Install-Package Aspose.OCR +``` + +Ή, αν προτιμάτε το UI, κάντε δεξί‑κλικ *Dependencies → Manage NuGet Packages* και αναζητήστε **Aspose.OCR**. + +## Βήμα 2 – Προετοιμασία της Μηχανής OCR (c# ocr tutorial core) + +Τώρα θα δημιουργήσουμε ένα στιγμιότυπο `OcrEngine`, θα του πούμε να ανιχνεύσει αυτόματα τη γλώσσα, και θα το κατευθύνουμε στο αρχείο PNG μας. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Γιατί ορίζουμε `Language = OcrLanguage.AutoDetect` + +Η αυτόματη ανίχνευση γλώσσας σας εξοικονομεί το μαντεύω αν η εικόνα περιέχει Αγγλικά, Ρώσικα, Αραβικά ή ένα μείγμα. Είναι η πιο ευέλικτη επιλογή για σενάριο **detect language automatically**, και λειτουργεί αμέσως για τις περισσότερες γραφές που υποστηρίζει η Aspose. + +## Βήμα 3 – Εκτέλεση της Εφαρμογής και Επαλήθευση του Αποτελέσματος + +Συγκεντρώστε και εκτελέστε το πρόγραμμα (`dotnet run` ή πατήστε **F5** στο Visual Studio). Αν όλα είναι σωστά συνδεδεμένα, θα δείτε κάτι όπως: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +Αυτό το αποτέλεσμα αποδεικνύει ότι εξάγαμε επιτυχώς **κείμενο από εικόνα**, **αναγνωρίσαμε κείμενο από png**, και **μετατρέψαμε την εικόνα σε συμβολοσειρά** – όλα σε ένα μόνο, συνοπτικό απόσπασμα. + +## Βήμα 4 – Συνηθισμένες Παραλλαγές & Ακραίες Περιπτώσεις + +### Διαχείριση Πολλαπλών Εικόνων + +Αν χρειάζεται να επεξεργαστείτε έναν φάκελο PNG, τυλίξτε την κλήση αναγνώρισης σε έναν βρόχο `foreach`: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Καθορισμός Σταθερής Γλώσσας + +Μερικές φορές γνωρίζετε τη γλώσσα εκ των προτέρων (π.χ., μόνο Αγγλικά). Μπορείτε να αντικαταστήσετε το `AutoDetect` με `OcrLanguage.English` για να επιταχύνετε την επεξεργασία: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Αντιμετώπιση Σαρωμάτων Χαμηλής Ποιότητας + +Η Aspose.OCR προσφέρει επιλογές προεπεξεργασίας (μείωση θορύβου, διόρθωση κλίσης). Για μια γρήγορη λύση: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Αποθήκευση του Αποτελέσματος σε Αρχείο + +Αντί να εκτυπώνετε στην κονσόλα, ίσως θέλετε να γράψετε το εξαγόμενο κείμενο σε αρχείο `.txt`: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Βήμα 5 – Πλήρες Παράδειγμα Εργασίας (Έτοιμο για Αντιγραφή‑Επικόλληση) + +Παρακάτω βρίσκεται το **πλήρες πρόγραμμα** συμπεριλαμβανομένης της προαιρετικής προεπεξεργασίας και της λογικής εξόδου σε αρχείο. Μη διστάσετε να προσαρμόσετε τις διαδρομές. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Αναμενόμενο Αποτέλεσμα + +Η εκτέλεση του προγράμματος σε ένα PNG που περιέχει Αγγλικά, Ρώσικα και Αραβικά δίνει: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +Αν η εικόνα είναι κενή ή μη αναγνώσιμη, η μηχανή επιστρέφει μια κενή συμβολοσειρά—χειριστείτε αυτήν την περίπτωση ελέγχοντας `string.IsNullOrWhiteSpace(extractedText)` πριν προχωρήσετε. + +## Συχνές Ερωτήσεις (FAQs) + +**Q: Υποστηρίζει η Aspose.OCR χειρόγραφο κείμενο;** +A: Επικεντρώνεται σε τυπωμένο OCR. Για χειρόγραφο κείμενο θα χρειαστείτε ένα εξειδικευμένο μοντέλο ML ή μια υπηρεσία όπως το Azure Computer Vision. + +**Q: Μπορώ να το τρέξω σε Linux/macOS;** +A: Απόλυτα. Η Aspose.OCR είναι cross‑platform· απλώς εγκαταστήστε το .NET runtime για το λειτουργικό σας σύστημα. + +**Q: Τι γίνεται αν χρειαστεί να επεξεργαστώ PDFs αντί για PNGs;** +A: Μετατρέψτε πρώτα κάθε σελίδα PDF σε εικόνα (π.χ., χρησιμοποιώντας το `Aspose.PDF`) και μετά δώστε την εικόνα στη μηχανή OCR. + +## Συμπέρασμα + +Μόλις ολοκληρώσαμε ένα **c# ocr tutorial** που σας οδηγεί μέσα από **εξαγωγή κειμένου από εικόνα** αρχείων, **αναγνώριση κειμένου από png**, **μετατροπή της εικόνας σε συμβολοσειρά**, και **αυτόματη ανίχνευση γλώσσας** χρησιμοποιώντας το Aspose.OCR. Ο κώδικας είναι σύντομος, οι έννοιες σαφείς, και μπορείτε να τον επεκτείνετε για επεξεργασία παρτίδων, προσαρμοσμένες ρυθμίσεις γλώσσας, ή ακόμη και ενσωμάτωση σε web API. + +Τι επόμενα; Δοκιμάστε να τροφοδοτήσετε το αποτέλεσμα OCR σε ευρετήριο αναζήτησης, σε υπηρεσία μετάφρασης, ή συνδυάστε το με το Azure Cognitive Services για ακόμη πιο πλούσιες ροές δεδομένων. Ο ουρανός είναι το όριο μόλις κυριαρχήσετε τα βασικά της μετατροπής εικόνας‑σε‑κείμενο σε C#. + +Καλή προγραμματιστική, και μην ξεχάσετε να πειραματιστείτε με διαφορετικές ποιότητες εικόνας—η μηχανή OCR σας θα το εκτιμήσει! + +![c# ocr tutorial – παράδειγμα αποτελέσματος OCR σε PNG με μεικτό κείμενο](placeholder-image.png "c# ocr tutorial – Στιγμιότυπο αποτελέσματος 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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/greek/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..5d41001d --- /dev/null +++ b/ocr/greek/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-01-09 +description: Εξάγετε κείμενο από PNG γρήγορα με το Aspose OCR. Μάθετε πώς να διαβάζετε + το κείμενο της εικόνας, να βελτιώσετε την ακρίβεια του OCR και να λαμβάνετε καθαρά + αποτελέσματα σε C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: el +og_description: Εξάγετε κείμενο από PNG γρήγορα με το Aspose OCR. Μάθετε πώς να διαβάζετε + κείμενο εικόνας, να βελτιώνετε την ακρίβεια του OCR και να λαμβάνετε καθαρά αποτελέσματα + σε C#. +og_title: Εξαγωγή κειμένου από PNG – Πλήρης οδηγός OCR Aspose +tags: +- Aspose OCR +- C# +- Image Processing +title: Εξαγωγή κειμένου από PNG – Πλήρες σεμινάριο Aspose OCR +url: /el/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Εξαγωγή Κειμένου από PNG – Πλήρης Εκμάθηση Aspose OCR + +Έχετε ποτέ χρειαστεί να **εξάγετε κείμενο από PNG** αρχεία, αλλά τα αποτελέσματα ήταν γεμάτα ακατανόητο κείμενο; Δεν είστε μόνοι. Σε πολλά πραγματικά έργα – τιμολόγια, αποδείξεις ή σαρωμένες φόρμες – η ποιότητα της εξόδου OCR μπορεί να κάνει ή να σπάσει τις γραμμές αυτοματισμού. + +Σε αυτόν τον οδηγό θα σας δείξουμε έναν **βήμα‑βήμα** τρόπο για να διαβάσετε κείμενο εικόνας χρησιμοποιώντας Aspose OCR, να προσθέσετε ένα προσαρμοσμένο λεξικό για **βελτίωση της ακρίβειας OCR**, να καθαρίσετε τον θόρυβο και τελικά να εκτυπώσετε μια τακτοποιημένη συμβολοσειρά. Στο τέλος θα έχετε μια έτοιμη προς εκτέλεση εφαρμογή κονσόλας C# που εξάγει αξιόπιστα κείμενο από PNG εικόνες. + +> **Τι θα αποκομίσετε** +> * Ένα πλήρες, εκτελέσιμο δείγμα κώδικα. +> * Κατανόηση του γιατί ένα προσαρμοσμένο λεξικό είναι σημαντικό. +> * Συμβουλές για τη διαχείριση ειδικών περιπτώσεων όπως σαρώσεις χαμηλής αντίθεσης. + +## Προαπαιτούμενα + +- .NET 6 SDK ή νεότερο (ο κώδικας στοχεύει στο .NET 6, αλλά το .NET 5 λειτουργεί επίσης). +- Visual Studio 2022 ή οποιονδήποτε επεξεργαστή προτιμάτε. +- Μια εικόνα **PNG** που θέλετε να επεξεργαστείτε – για παράδειγμα `invoice.png`. +- Το πακέτο NuGet **Aspose.OCR** (`dotnet add package Aspose.OCR`). + +Δεν απαιτούνται επιπλέον αρχεία ρυθμίσεων· όλα βρίσκονται σε ένα μόνο αρχείο `.cs`. + +## Βήμα 1 – Εγκατάσταση και Αναφορά στο Aspose OCR + +Πρώτα, προσθέστε τη βιβλιοθήκη στο έργο σας. Ανοίξτε ένα τερματικό στο φάκελο της λύσης και εκτελέστε: + +```bash +dotnet add package Aspose.OCR +``` + +Αυτή η εντολή κατεβάζει την πιο πρόσφατη σταθερή έκδοση (από Ιαν 2026, έκδοση 23.9). Το πακέτο περιλαμβάνει την κλάση `OcrEngine` που θα χρησιμοποιήσουμε σε όλη την εκμάθηση. + +## Βήμα 2 – Αρχικοποίηση του OCR Engine + +Η δημιουργία μιας παρουσίας `OcrEngine` είναι η βάση. Σκεφτείτε το ως το άνοιγμα ενός σαρωτή που είναι έτοιμος να ερμηνεύσει εικονοστοιχεία. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Συμβουλή επαγγελματία:** Εάν σκοπεύετε να επεξεργαστείτε πολλές εικόνες σε βρόχο, επαναχρησιμοποιήστε την ίδια παρουσία `OcrEngine`. Κρατά εσωτερικούς πόρους στην κρυφή μνήμη και επιταχύνει τις επόμενες κλήσεις. + +## Βήμα 3 – Βελτίωση της Ακρίβειας με Προσαρμοσμένο Λεξικό + +Το OCR έτοιμο για χρήση είναι καλό, αλλά μπορεί να δυσκολευτεί με ειδικούς όρους όπως “Aspose”, “OCR” ή “SDK”. Η προσθήκη αυτών των όρων σε ένα **προσαρμοσμένο λεξικό** ενημερώνει τη μηχανή ότι αυτές οι αλφαριθμητικές ακολουθίες είναι έγκυρες, μειώνοντας τις λανθασμένες αναγνώσεις. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Γιατί ένα προσαρμοσμένο λεξικό βοηθά + +- **Στατιστικά μοντέλα** πίσω από το OCR δίνουν μεγάλη βαρύτητα σε κοινά γλωσσικά μοτίβα. Οι σπάνιοι όροι έχουν χαμηλή πιθανότητα και μπορεί να αντικατασταθούν από παρόμοιους χαρακτήρες. +- Αναφέροντάς τα ρητά, παρακάμπτετε τις εικασίες του μοντέλου. +- Είναι ιδιαίτερα χρήσιμο για **ανάγνωση κειμένου εικόνας** που περιέχει κωδικούς προϊόντων, συντομογραφίες ή ονόματα εμπορικών σημάτων. + +## Βήμα 4 – Αναγνώριση Κειμένου από το Αρχείο PNG + +Τώρα παρέχουμε στη μηχανή τη διαδρομή της εικόνας. Η μέθοδος `RecognizeImage` επιστρέφει μια ακατέργαστη συμβολοσειρά που εξακολουθεί να περιέχει άγνωστα σύμβολα (π.χ., “#@!”) που η μηχανή δεν μπόρεσε να αντιστοιχίσει. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Περίπτωση άκρης:** Εάν το αρχείο δεν βρεθεί, η `RecognizeImage` ρίχνει μια `FileNotFoundException`. Τυλίξτε την κλήση σε μπλοκ try‑catch για κώδικα παραγωγής. + +## Βήμα 5 – Καθαρισμός του Αποτελέσματος με `CleanText` + +Το Aspose OCR παρέχει έναν βοηθό που αφαιρεί χαρακτήρες που επισημαίνει ως “άγνωστοι”. Αυτό το βήμα είναι κρίσιμο για έργα **εξαγωγής κειμένου από εικόνα** όπου οι επόμενοι αναλυτές αναμένουν μόνο αλφαριθμητικούς χαρακτήρες και βασική στίξη. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +Η μέθοδος `CleanText` επίσης ομαλοποιεί τις λήξεις γραμμής, κάνοντας την έξοδο ασφαλή για αποθήκευση σε βάσεις δεδομένων ή μεταφορά σε άλλες υπηρεσίες. + +## Βήμα 6 – Εξαγωγή του Καθαρισμένου Κειμένου + +Τέλος, εμφανίστε ή αποθηκεύστε το αποτέλεσμα. Σε μια εφαρμογή κονσόλας, η `Console.WriteLine` κάνει τη δουλειά. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +Όταν εκτελέσετε το πρόγραμμα, θα πρέπει να δείτε ένα τακτοποιημένο μπλοκ κειμένου που αντικατοπτρίζει το περιεχόμενο του `invoice.png`. Εάν η εικόνα περιέχει τη λέξη “Aspose”, το προσαρμοσμένο λεξικό εξασφαλίζει ότι εμφανίζεται σωστά αντί για κάτι όπως “A5p0se”. + +## Πλήρες Παράδειγμα Λειτουργίας + +Συνδυάζοντας όλα, εδώ είναι το πλήρες `Program.cs` που μπορείτε να αντιγράψετε‑επικολλήσετε σε ένα νέο έργο κονσόλας: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Αναμενόμενη έξοδος** (υποθέτοντας ότι το PNG περιέχει ένα απλό τιμολόγιο): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Εάν δείτε άσχετα σύμβολα, ελέγξτε ξανά την ποιότητα της εικόνας ή επεκτείνετε το προσαρμοσμένο λεξικό με περισσότερους όρους. + +## Επιπλέον: Διαχείριση Σαρώσεων Χαμηλής Ποιότητας + +Μερικές φορές τα PNG σαρώνονται στα 72 dpi ή έχουν έντονα σφάλματα συμπίεσης. Εδώ είναι μερικές γρήγορες τεχνικές για **βελτίωση της ακρίβειας OCR** χωρίς να αφήσετε τη C#: + +1. **Προεπεξεργασία της εικόνας** με μια βιβλιοθήκη όπως `SixLabors.ImageSharp` – αύξηση αντίθεσης, μετατροπή σε κλίμακα του γκρι, ή εφαρμογή ελαφριάς θολότητας για μείωση του θορύβου. +2. **Ορίστε την ιδιότητα `Resolution`** στο `OcrEngine` (π.χ., `ocrEngine.Resolution = 300;`) για να ενημερώσετε τη μηχανή ότι η εικόνα είναι υψηλότερης ανάλυσης. +3. **Ενεργοποιήστε τα πακέτα γλώσσας** εάν εργάζεστε με κείμενο μη‑Αγγλικής γλώσσας (`ocrEngine.Language = Language.English;`). + +Οι τρεις προσεγγίσεις μπορούν να προστεθούν πριν από την κλήση `RecognizeImage`. + +## Συχνές Ερωτήσεις + +- **Λειτουργεί αυτό με άλλες μορφές εικόνας;** + Ναι. Η `RecognizeImage` δέχεται JPEG, BMP, TIFF, και ακόμη PDF (ως κοντέινερ εικόνας). Τα ίδια βήματα ισχύουν. + +- **Μπορώ να εξάγω κείμενο από πολλά PNG σε έναν φάκελο;** + Απόλυτα. Τυλίξτε τη βασική λογική σε βρόχο `foreach (var file in Directory.GetFiles(folder, "*.png"))` και αποθηκεύστε κάθε αποτέλεσμα σε λίστα ή γράψτε σε ξεχωριστά αρχεία. + +- **Τι γίνεται αν χρειάζομαι τις συντεταγμένες του κειμένου;** + Το Aspose OCR παρέχει επίσης αντικείμενα `OcrResult` που περιλαμβάνουν τα πλαίσια οριοθέτησης. Χρησιμοποιήστε `ocrEngine.RecognizeImageToResult(imagePath)` για αυτό το προχωρημένο σενάριο. + +## Συμπέρασμα + +Διασχίσαμε μια **πλήρη, από‑αρχή‑μέχρι‑τέλος** λύση για **εξαγωγή κειμένου από PNG** αρχεία χρησιμοποιώντας Aspose OCR. Αρχικοποιώντας τη μηχανή, τροφοδοτώντας την με ένα **προσαρμοσμένο λεξικό**, καθαρίζοντας την ακατέργαστη έξοδο και αντιμετωπίζοντας μερικές κοινές παγίδες, μπορείτε αξιόπιστα να **διαβάζετε κείμενο εικόνας** και να **βελτιώνετε την ακρίβεια OCR** στις δικές σας εφαρμογές C#. + +Έτοιμοι για το επόμενο βήμα; Δοκιμάστε να αντικαταστήσετε το PNG με μια σαρωμένη απόδειξη, προσθέστε περισσότερες ειδικές λέξεις στο λεξικό, ή ενσωματώστε την έξοδο σε μια βάση δεδομένων για αυτοματοποιημένη επεξεργασία τιμολογίων. Ο ουρανός είναι το όριο όταν συνδυάζετε το Aspose OCR με το πλούσιο οικοσύστημα του .NET. + +Καλό προγραμματισμό, και εύχομαι το OCR σας να είναι πάντα ακριβές! + +![Extract text from png example](/images/extract-text-from-png.png "extract text from png – Aspose OCR demo") + +{{< /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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/greek/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..87cb6489 --- /dev/null +++ b/ocr/greek/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,261 @@ +--- +category: general +date: 2026-01-09 +description: Εξαγωγή κειμένου από αρχεία TIFF χρησιμοποιώντας το Aspose OCR σε C#. + Μάθετε πώς να λαμβάνετε τους πρώτους 50 χαρακτήρες από κάθε αποτέλεσμα σε αυτόν + τον οδηγό βήμα‑βήμα. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: el +og_description: Εξαγωγή κειμένου από TIFF χρησιμοποιώντας το Aspose OCR σε C#. Αυτός + ο οδηγός δείχνει πώς να λαμβάνετε τους πρώτους 50 χαρακτήρες από κάθε αποτέλεσμα + OCR, βήμα προς βήμα. +og_title: Εξαγωγή κειμένου από TIFF με Aspose OCR – Πλήρης οδηγός C# +tags: +- Aspose OCR +- C# +- TIFF processing +title: Εξαγωγή κειμένου από TIFF με Aspose OCR C# – Πλήρης οδηγός +url: /el/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Εξαγωγή Κειμένου από TIFF – Πλήρης Οδηγός Aspose OCR C# + +Έχετε ποτέ χρειαστεί να **εξάγετε κείμενο από εικόνες TIFF** αλλά δεν ήσασταν σίγουροι ποια βιβλιοθήκη να εμπιστευτείτε; Δεν είστε μόνοι. Πολλοί προγραμματιστές συναντούν πρόβλημα όταν προσπαθούν να εξάγουν αναζητήσιμο κείμενο από πολυσελιδικές TIFF, ειδικά όταν η απόδοση είναι σημαντική. + +Σε αυτόν τον **aspose ocr c# οδηγό** θα περάσουμε από ένα έτοιμο παράδειγμα που όχι μόνο εξάγει το πλήρες κείμενο αλλά και δείχνει πώς να **παίρετε τους πρώτους 50 χαρακτήρες** κάθε σελίδας για γρήγορες προεπισκοπήσεις. Στο τέλος θα έχετε ένα αυτόνομο πρόγραμμα που μπορείτε να ενσωματώσετε σε οποιοδήποτε έργο .NET. + +## Τι Θα Χρειαστείτε + +- .NET 6 (ή οποιαδήποτε πρόσφατη έκδοση .NET) – ο κώδικας μεταγλωττίζεται τόσο με .NET Core όσο και με .NET Framework. +- Μία ενεργή άδεια Aspose.OCR για .NET (μπορείτε να ξεκινήσετε με δωρεάν δοκιμή). +- Ένας φάκελος που περιέχει ένα ή περισσότερα αρχεία `.tif` που θέλετε να επεξεργαστείτε. +- Visual Studio, VS Code ή οποιοδήποτε IDE προτιμάτε – το παράδειγμα είναι απλό C# οπότε η επιλογή του επεξεργαστή δεν έχει σημασία. + +> **Συμβουλή:** Εάν βρίσκεστε σε διακομιστή CI, προσθέστε το πακέτο NuGet Aspose.OCR (`Aspose.OCR`) στο αρχείο έργου σας· η βιβλιοθήκη είναι πλήρως διαχειριζόμενη και δεν έχει εγγενείς εξαρτήσεις. + +## Βήμα 1: Εγκατάσταση του πακέτου NuGet Aspose OCR + +Πρώτα απ' όλα, ας φέρουμε τη μηχανή OCR στο έργο. Ανοίξτε ένα τερματικό στον φάκελο της λύσης σας και εκτελέστε: + +```bash +dotnet add package Aspose.OCR +``` + +Αυτή η εντολή κατεβάζει την πιο πρόσφατη σταθερή έκδοση (από Ιαν 2026 είναι 23.9) και ενημερώνει αυτόματα το `.csproj` σας. Δεν απαιτείται χειροκίνητη διαχείριση DLL. + +## Βήμα 2: Αρχικοποίηση της Μηχανής OCR + +Τώρα δημιουργούμε μια παρουσία του `OcrEngine`. Σκεφτείτε το ως το “εγκέφαλο” που θα διαβάσει κάθε σελίδα TIFF. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Γιατί δημιουργούμε την μηχανή μόνο μία φορά; Επειδή το `RecognizeImages` μπορεί να δεχτεί μια συλλογή διαδρομών αρχείων, επιτρέποντας στη μηχανή να επαναχρησιμοποιεί εσωτερικές μνήμες και να επιταχύνει δραματικά την επεξεργασία δέσμης. + +## Βήμα 3: Συλλογή Όλων των Αρχείων TIFF με Μία Κλήση + +Αντί να κάνετε βρόχο στον κατάλογο εσείς, αφήνουμε το .NET να κάνει τη βαριά δουλειά. Η μέθοδος `Directory.GetFiles` επιστρέφει ένα `IEnumerable` που μπορούμε να περάσουμε απευθείας στην κλήση OCR. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **Τι γίνεται αν οι εικόνες μου είναι JPEG ή PNG;** Απλώς αλλάξτε το πρότυπο αναζήτησης (`"*.jpg"` ή `"*.*"`). Το Aspose OCR λειτουργεί με όλες τις κοινές μορφές raster. + +## Βήμα 4: Εκτέλεση OCR στην Ολόκληρη Συλλογή + +Αυτή είναι η μαγική γραμμή που επεξεργάζεται κάθε αρχείο σε μία μόνο αίτηση. Η μέθοδος επιστρέφει ένα λεξικό όπου το κλειδί είναι η διαδρομή του αρχείου και η τιμή είναι ένα αντικείμενο `OcrResult` που περιέχει το αναγνωρισμένο κείμενο. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Γιατί η επεξεργασία δέσμης; Μειώνει το κόστος φόρτωσης της μηχανής OCR επανειλημμένα, και σε πολυπύρηνες μηχανές το Aspose παράλληλοποιεί εσωτερικά τη δουλειά, προσφέροντας αισθητή αύξηση ταχύτητας. + +## Βήμα 5: Εμφάνιση Προεπισκόπησης – Λήψη Πρώτων 50 Χαρακτήρων + +Οι περισσότερες περιπτώσεις UI χρειάζονται μόνο ένα απόσπασμα, όχι ολόκληρο το έγγραφο. Θα εξάγουμε τους πρώτους 50 χαρακτήρες (ή λιγότερους αν η σελίδα είναι σύντομη) και θα τους εκτυπώσουμε μαζί με το όνομα του αρχείου. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Η γραμμή `Math.Min(50, fullText.Length)` εγγυάται ότι δεν υπερβαίνουμε τα όρια της συμβολοσειράς – ένα μικρό μέτρο ασφαλείας που αποτρέπει το `ArgumentOutOfRangeException` όταν το αποτέλεσμα OCR είναι μικρότερο από 50 χαρακτήρες. + +### Αναμενόμενη Εξαγωγή στην Κονσόλα + +Υποθέτοντας ότι έχετε δύο αρχεία TIFF (`invoice1.tif` και `receipt2.tif`) η κονσόλα μπορεί να εμφανίσει: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Κάθε γραμμή τελειώνει με αποσιωπητικά (`...`) για να υποδείξει ότι η προεπισκόπηση είναι μόνο η αρχή ενός μεγαλύτερου κειμένου. + +## Βήμα 6: Διαχείριση Ακραίων Περιπτώσεων και Συνηθισμένων Παγίδων + +### Κενά ή Κατεστραμμένα Αρχεία + +Αν ένα αρχείο δεν μπορεί να διαβαστεί, το `RecognizeImages` εξακολουθεί να επιστρέφει μια καταχώρηση με κενή ιδιότητα `Text`. Μπορείτε να τις φιλτράρετε: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Μεγάλες Δέσμες + +Η επεξεργασία χιλιάδων TIFF μπορεί να καταναλώσει πολύ μνήμη. Σε τέτοιες περιπτώσεις, χρησιμοποιήστε την υπερφόρτωση που δέχεται ένα `Stream` ανά εικόνα, ή επεξεργαστείτε τη λίστα σε μικρότερα τμήματα: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Υποστήριξη Γλώσσας και Γραμματοσειράς + +Αν τα έγγραφά σας περιέχουν μη λατινικούς χαρακτήρες, ορίστε τη γλώσσα πριν καλέσετε το `RecognizeImages`: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Αυτή η μικρή ρύθμιση μπορεί να αυξήσει δραματικά την ακρίβεια. + +## Βήμα 7: Πλήρες Παράδειγμα Εργασίας (Έτοιμο για Αντιγραφή‑Επικόλληση) + +Παρακάτω είναι το πλήρες πρόγραμμα που μπορείτε να επικολλήσετε σε ένα νέο έργο κονσόλας (`dotnet new console`) και να το τρέξετε όπως είναι (απλώς αντικαταστήστε το `YOUR_DIRECTORY/Batch` με την πραγματική διαδρομή). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Τρέξτε το πρόγραμμα με `dotnet run`. Θα πρέπει να δείτε μια σύντομη προεπισκόπηση για κάθε αρχείο TIFF, επιβεβαιώνοντας ότι έχετε εξαγάγει επιτυχώς **κείμενο από TIFF** εικόνες χρησιμοποιώντας το Aspose OCR. + +## Συχνές Ερωτήσεις (FAQ) + +**Ε: Λειτουργεί αυτό με πολυσελιδικά TIFF;** +Α: Ναι. Το Aspose OCR αντιμετωπίζει κάθε σελίδα ως ξεχωριστή εικόνα εσωτερικά, έτσι ένα πολυσελιδικό TIFF παράγει μία ενιαία συνενωμένη συμβολοσειρά ανά αρχείο. Μπορείτε να τη χωρίσετε αργότερα αν χρειαστεί. + +**Ε: Πόσο ακριβές είναι το OCR έτοιμο προς χρήση;** +Α: Για καθαρές, υψηλής ανάλυσης σαρώσεις (300 DPI ή περισσότερο) μπορείτε να περιμένετε >95 % ακρίβεια στο αγγλικό κείμενο. Η προεπεξεργασία (ευθυγράμμιση, δυαδικοποίηση) μπορεί να το αυξήσει ακόμη περισσότερο. + +**Ε: Μπορώ να εξάγω τα αποτελέσματα σε αρχείο CSV;** +Α: Απόλυτα. Αντικαταστήστε το `Console.WriteLine` με ένα `StreamWriter` και γράψτε γραμμές `fileName,preview`. Θυμηθείτε να διαφύγετε τα κόμματα στο κείμενο προεπισκόπησης. + +## Επόμενα Βήματα και Σχετικά Θέματα + +- **Αποθήκευση αποτελεσμάτων OCR** – Αποθηκεύστε το πλήρες κείμενο σε βάση δεδομένων για αρχεία με δυνατότητα αναζήτησης. +- **Συνδυασμός με μετατροπή PDF** – Χρησιμοποιήστε το Aspose.PDF για να ενσωματώσετε το εξαγόμενο κείμενο πίσω σε PDF με δυνατότητα αναζήτησης. +- **Επεξεργασία δέσμης σε Azure Functions** – Κλιμακώστε την εργασία OCR χωρίς διαχείριση διακομιστών. + +Όλες αυτές οι επεκτάσεις συνδέονται με την κεντρική ιδέα της **εξαγωγής κειμένου από TIFF** αποδοτικά, ενώ εξακολουθείτε να μπορείτε να **παίρετε τους πρώτους 50 χαρακτήρες** για γρήγορες προεπισκοπήσεις UI. + +*Καλό κώδικα! Αν συναντήσετε προβλήματα, αφήστε ένα σχόλιο παρακάτω – θα κάνω ό,τι μπορώ για να σας βοηθήσω να βελτιώσετε τη ροή OCR.* + +![Εξαγωγή κειμένου από TIFF χρησιμοποιώντας Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Εξαγωγή κειμένου από TIFF χρησιμοποιώντας Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/greek/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..48565be9 --- /dev/null +++ b/ocr/greek/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,224 @@ +--- +category: general +date: 2026-01-09 +description: Αναγνωρίστε κείμενο σε JPG γρήγορα χρησιμοποιώντας το Aspose OCR σε C#. + Μάθετε πώς να εξάγετε κείμενο από εικόνα, να μετατρέψετε την εικόνα σε JSON και + EPUB σε ένα ενιαίο σεμινάριο. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: el +og_description: Αναγνώριση κειμένου σε jpg με το Aspose OCR. Αυτός ο οδηγός δείχνει + πώς να εξάγετε κείμενο από εικόνα, να μετατρέψετε την εικόνα σε JSON και EPUB, και + να δημιουργήσετε ένα ePub από μια εικόνα. +og_title: αναγνώριση κειμένου σε jpg – Πλήρης οδηγός C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Αναγνώριση κειμένου σε jpg με το Aspose OCR – Πλήρης Οδηγός C# +url: /el/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# αναγνώριση κειμένου σε jpg – Πλήρης Οδηγός C# + +Έχετε χρειαστεί ποτέ να **αναγνωρίσετε κείμενο σε jpg** αρχεία αλλά δεν ήσασταν σίγουροι ποια βιβλιοθήκη να επιλέξετε; Δεν είστε μόνοι. Πολλοί προγραμματιστές αντιμετωπίζουν το ίδιο πρόβλημα όταν προσπαθούν για πρώτη φορά να εξάγουν λέξεις από μια φωτογραφία ή σαρωμένο έγγραφο. + +Τα καλά νέα; Με το Aspose OCR μπορείτε να **εξάγετε κείμενο από εικόνα** αρχεία με λίγες γραμμές κώδικα C#, και στη συνέχεια άμεσα **μετατρέψετε την εικόνα σε JSON** ή ακόμη και **μετατρέψετε την εικόνα σε EPUB**—όλα χωρίς να φύγετε από το IDE σας. + +Σε αυτόν τον οδηγό θα περάσουμε από όλη τη ροή εργασίας: από την εγκατάσταση των σωστών πακέτων NuGet, μέσω της αναγνώρισης κειμένου σε JPG, μέχρι την αποθήκευση του αποτελέσματος ως δομημένο JSON και ως έγγραφο ePub. Στο τέλος θα μπορείτε να **δημιουργήσετε epub από εικόνα** προγραμματιστικά, ένα χρήσιμο κόλπο για πλατφόρμες e‑learning, ψηφιακές βιβλιοθήκες ή οποιαδήποτε εφαρμογή που χρειάζεται αναζητήσιμα e‑books. + +--- + +## Τι Θα Χρειαστεί + +- **.NET 6+** (ή .NET Framework 4.6+). Ο κώδικας λειτουργεί σε οποιοδήποτε πρόσφατο runtime. +- **Aspose.OCR** πακέτο NuGet – η κύρια μηχανή OCR. +- **Aspose.Publishing** πακέτο NuGet – απαιτείται για τη μορφή εξόδου ePub. +- Ένα αρχείο εικόνας με όνομα `input.jpg` τοποθετημένο κάπου στον δίσκο σας (αντικαταστήστε τη διαδρομή με τη δική σας). +- Ένα κειμενογράφο ή IDE (Visual Studio, VS Code, Rider—όπως προτιμάτε). + +Αυτό είναι όλο. Χωρίς επιπλέον υπηρεσίες, χωρίς εξωτερικά APIs, μόνο μερικές βιβλιοθήκες και ένα αρχείο JPG. + +## Βήμα 1: Ρυθμίστε το Έργο σας για **αναγνώριση κειμένου σε jpg** + +Πρώτα, δημιουργήστε μια νέα εφαρμογή κονσόλας (ή προσθέστε σε υπάρχον έργο). Στη συνέχεια προσθέστε τα δύο πακέτα Aspose μέσω του NuGet Package Manager: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Συμβουλή:** Αν χρησιμοποιείτε Visual Studio, κάντε δεξί‑κλικ στο έργο → *Manage NuGet Packages* → αναζητήστε *Aspose.OCR* και *Aspose.Publishing*, στη συνέχεια κάντε κλικ στο **Install**. + +Αυτά τα πακέτα φέρνουν όλα όσα χρειάζεστε για να **εξάγετε κείμενο από εικόνα** και για να δημιουργήσετε αργότερα ένα αρχείο ePub. + +## Βήμα 2: **Εξαγωγή κειμένου από εικόνα** Χρησιμοποιώντας Aspose OCR + +Τώρα θα γράψουμε τον κώδικα που διαβάζει το JPG και εξάγει τους χαρακτήρες από αυτό. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Γιατί λειτουργεί:** Το `OcrEngine` αφαιρεί όλες τις χαμηλού επιπέδου προεπεξεργασίες εικόνας, την ανίχνευση γλώσσας και τη διαχωρισμό χαρακτήρων. Απλώς το δείχνετε σε ένα αρχείο και επιστρέφει ένα αντικείμενο `OcrResult` που περιέχει τη συμβολοσειρά απλού κειμένου (`ocrResult.Text`) και ένα πλούσιο σύνολο μεταδεδομένων. + +## Βήμα 3: **Μετατροπή εικόνας σε JSON** – Εξαγωγή του Αποτελέσματος OCR + +Αν χρειάζεται να αποθηκεύσετε το αποτέλεσμα OCR σε δομημένη μορφή (για APIs, βάσεις δεδομένων ή επεξεργασία downstream), το Aspose το κάνει εύκολο να σειριοποιήσετε το αποτέλεσμα σε JSON. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +Το παραγόμενο JSON φαίνεται περίπου έτσι (περιορισμένο για συντομία): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**Πότε να το χρησιμοποιήσετε:** Το JSON είναι τέλειο αν τροφοδοτείτε τα δεδομένα OCR σε μια υπηρεσία web, τα αποθηκεύετε σε αποθήκη NoSQL, ή απλώς χρειάζεστε μια φορητή αναπαράσταση που μπορεί να αναλυθεί από οποιαδήποτε γλώσσα. + +## Βήμα 4: **Μετατροπή εικόνας σε EPUB** – Αποθήκευση ως eBook + +Το Aspose Publishing προσθέτει υποστήριξη για διάφορες μορφές e‑book, συμπεριλαμβανομένου του EPUB. Καλώντας το `Save` στο `OcrResult` μπορείτε να δημιουργήσετε ένα πλήρως συμβατό αρχείο ePub που περιέχει το αναγνωρισμένο κείμενο και, προαιρετικά, την αρχική εικόνα. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**Τι λαμβάνετε:** Ένα ePub που μπορείτε να ανοίξετε σε οποιονδήποτε αναγνώστη (Calibre, Apple Books, Adobe Digital Editions). Το αρχείο περιλαμβάνει το εξαγόμενο κείμενο ως αναζητήσιμο περιεχόμενο, καθώς και την πηγή εικόνας ως στρώση φόντου—ιδανικό για τη δημιουργία **δημιουργίας epub από εικόνα** pipelines. + +## Βήμα 5: Πλήρες Παράδειγμα Εργασίας – Από JPG σε JSON & EPUB + +Συνδυάζοντας όλα, εδώ είναι το πλήρες, έτοιμο‑για‑εκτέλεση πρόγραμμα. Αντιγράψτε‑και‑επικολλήστε το στο `Program.cs`, προσαρμόστε τις διαδρομές αρχείων και πατήστε **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Εκτελέστε το πρόγραμμα και θα πρέπει να δείτε τρία πράγματα: + +1. Το αναγνωρισμένο κείμενο εκτυπωμένο στην κονσόλα. +2. Ένα αρχείο `output.json` που περιέχει τα δομημένα δεδομένα OCR. +3. Ένα αρχείο `output.epub` που μπορείτε να ανοίξετε με οποιονδήποτε αναγνώστη e‑book. + +## Συχνές Ερωτήσεις & Ακραίες Περιπτώσεις + +- **Τι γίνεται αν η εικόνα είναι PNG ή BMP;** + Το Aspose OCR υποστηρίζει τις περισσότερες μορφές raster (PNG, BMP, TIFF, GIF). Απλώς αλλάξτε την επέκταση αρχείου στο `inputPath`; ο ίδιος κώδικας λειτουργεί. + +- **Μπορώ να ορίσω γλώσσα διαφορετική από τα Αγγλικά;** + Ναι. Ορίστε `ocrEngine.Language = OcrLanguage.French;` (ή οποιαδήποτε υποστηριζόμενη γλώσσα) πριν καλέσετε το `RecognizeImage`. + +- **Τι γίνεται με PDF πολλαπλών σελίδων;** + Για PDF, πρώτα θα μετατρέψετε κάθε σελίδα σε εικόνα (το Aspose.PDF μπορεί να το κάνει) και στη συνέχεια θα δώσετε κάθε εικόνα στο `RecognizeImage`. Τα προκύπτοντα αντικείμενα `OcrResult` μπορούν να συγχωνευτούν πριν την εξαγωγή σε JSON ή EPUB. + +- **Λαμβάνω χαμηλές βαθμολογίες εμπιστοσύνης. Πώς μπορώ να βελτιώσω την ακρίβεια;** + Προεπεξεργαστείτε την εικόνα: αυξήστε την αντίθεση, διορθώστε την κλίση ή μετατρέψτε την σε γκρι κλίμακα. Το Aspose OCR προσφέρει επίσης `PreprocessOptions` που μπορείτε να ρυθμίσετε. + +## Συμπέρασμα + +Τώρα έχετε μια σταθερή, ολοκληρωμένη συνταγή για **αναγνώριση κειμένου σε jpg** αρχεία χρησιμοποιώντας Aspose OCR, στη συνέχεια **μετατροπή εικόνας σε JSON** για pipelines δεδομένων και **μετατροπή εικόνας σε EPUB** για τη δημιουργία αναζητήσιμων e‑books. Η προσέγγιση είναι ελαφριά, απαιτεί μόνο δύο πακέτα NuGet και λειτουργεί σε όλα τα σύγχρονα runtime .NET. + +Από εδώ μπορείτε: + +- Να ενσωματώσετε το JSON αποτέλεσμα σε ευρετήριο αναζήτησης (Azure Cognitive Search, Elastic). +- Να επεξεργαστείτε κατά παρτίδες έναν φάκελο εικόνων και να δημιουργήσετε μια βιβλιοθήκη βιβλίων ePub. +- Να επεκτείνετε τη ροή εργασίας με APIs μετάφρασης για αυτόματη δημιουργία πολύγλωσσων e‑books. + +Δοκιμάστε το, πειραματιστείτε με διαφορετικές ποιότητες εικόνας και αφήστε τη μηχανή OCR να κάνει το δύσκολο έργο. Καλό κώδικα! + +![αναγνώριση κειμένου σε jpg εξαγωγή στιγμιότυπο](placeholder-image.png "παράδειγμα αναγνώρισης κειμένου σε 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/net/ocr-configuration/_index.md b/ocr/hindi/net/ocr-configuration/_index.md index fcdbf9b6..f88881b3 100644 --- a/ocr/hindi/net/ocr-configuration/_index.md +++ b/ocr/hindi/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ Aspose.OCR के साथ .NET में OCR छवि पहचान की .NET के लिए Aspose.OCR के साथ शक्तिशाली OCR क्षमताओं को अनलॉक करें। छवियों से पाठ को निर्बाध रूप से निकालें। ### [ओसीआर छवि पहचान में सूची के साथ ओसीआरऑपरेशन](./ocr-operation-with-list/) .NET के लिए Aspose.OCR की क्षमता को अनलॉक करें। सूचियों के साथ OCR छवि पहचान सहजता से निष्पादित करें। अपने अनुप्रयोगों में उत्पादकता और डेटा निष्कर्षण को बढ़ावा दें। +### [C# में OCR इमेज कैसे करें – GPU समर्थन के साथ पूर्ण गाइड](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +GPU समर्थन के साथ C# में इमेज OCR करने की पूरी गाइड +### [Aspose OCR के साथ इमेज से टेक्स्ट पहचानें – पूर्ण C# गाइड](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Aspose OCR के साथ C# में इमेज से टेक्स्ट निकालने की पूरी गाइड + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/hindi/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..7cde3f83 --- /dev/null +++ b/ocr/hindi/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-01-09 +description: Aspose.OCR का उपयोग करके छवि को OCR करने और छवि का पाठ निकालने का तरीका + सीखें। इसमें स्कैन किए गए दस्तावेज़ को बदलने, GPU सक्षम करने और OCR के साथ छवि पढ़ने + के चरण शामिल हैं। +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: hi +og_description: Aspose.OCR के साथ छवि को तेज़ी से OCR करने का तरीका। छवि का टेक्स्ट + निकालने, स्कैन किए गए दस्तावेज़ को बदलने और GPU सक्षम करने के लिए इस चरण‑दर‑चरण + ट्यूटोरियल का पालन करें। +og_title: C# में इमेज OCR कैसे करें – GPU‑त्वरित गाइड +tags: +- OCR +- C# +- Aspose +- Image Processing +title: C# में इमेज को OCR कैसे करें – GPU समर्थन के साथ पूर्ण गाइड +url: /hi/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C# में इमेज को OCR कैसे करें – GPU समर्थन के साथ पूर्ण गाइड + +क्या आपने कभी सोचा है कि **how to OCR image** फ़ाइलों को सीधे अपने .NET ऐप से कैसे पढ़ा जाए? आप अकेले नहीं हैं—डेवलपर्स को लगातार PDFs, TIFFs, और फ़ोटो से टेक्स्ट निकालना पड़ता है, विशेष रूप से बड़े स्कैन किए गए दस्तावेज़ों के साथ काम करते समय। अच्छी खबर? Aspose.OCR के साथ आप सिर्फ कुछ लाइनों में **extract image text** कर सकते हैं, और आप तेज़ प्रोसेसिंग के लिए **enable GPU** एक्सेलेरेशन भी सक्षम कर सकते हैं। + +इस ट्यूटोरियल में हम आपको वह सब बताएँगे जो आपको जानना आवश्यक है: लाइब्रेरी को इंस्टॉल करने से लेकर GPU फ़ॉलबैक के साथ OCR इंजन को इनिशियलाइज़ करने तक, और अंत में **read image with OCR** करके परिणाम दिखाने तक। अंत तक आप **convert scanned document** इमेज को एडिटेबल स्ट्रिंग्स में बदल सकेंगे—बिना किसी बाहरी सेवा के। + +--- + +## आपको क्या चाहिए + +- **.NET 6.0** या बाद का (कोड .NET Core और .NET Framework पर भी काम करता है)। +- Aspose.OCR के लिए एक **license** या एक अस्थायी इवैल्यूएशन की (फ्री ट्रायल टेस्टिंग के लिए काम करता है)। +- एक इमेज फ़ाइल जिसे आप प्रोसेस करना चाहते हैं—अधिमानतः हाई‑रेज़ोल्यूशन TIFF या PNG। +- (वैकल्पिक) एक GPU‑सक्षम मशीन यदि आप स्पीड बूस्ट देखना चाहते हैं; अन्यथा इंजन सुगमता से CPU पर फ़ॉलबैक हो जाएगा। + +इन प्री‑रिक्विज़िट्स को पूरा करने से आप बाद में किसी समस्या का सामना किए बिना वास्तविक OCR वर्कफ़्लो पर ध्यान केंद्रित कर सकते हैं। + +--- + +## चरण 1: Aspose.OCR NuGet पैकेज इंस्टॉल करें + +सबसे पहले—अपने प्रोजेक्ट में Aspose.OCR लाइब्रेरी जोड़ें। अपने सॉल्यूशन फ़ोल्डर में एक टर्मिनल खोलें और चलाएँ: + +```bash +dotnet add package Aspose.OCR +``` + +या, यदि आप Visual Studio के NuGet UI का उपयोग कर रहे हैं, तो बस **Aspose.OCR** खोजें और इंस्टॉल पर क्लिक करें। यह एकल कमांड सभी आवश्यक DLLs को लाता है, जिसमें उपलब्ध होने पर नेेटिव GPU बाइनरीज़ भी शामिल हैं। + +> **Pro tip:** पैकेज को अपडेट रखें। नई रिलीज़ अक्सर भाषा मॉडल सुधार और बेहतर GPU समर्थन शामिल करती हैं। + +--- + +## चरण 2: आवश्यक नेमस्पेसेज़ इम्पोर्ट करें + +अब पैकेज इंस्टॉल हो गया है, संबंधित नेमस्पेसेज़ को स्कोप में लाएँ। यही वह चरण है जहाँ हम कोड में **how to OCR image** शुरू करते हैं। + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +ये दो लाइनों से आपको `OcrEngine` क्लास और सेटिंग्स ऑब्जेक्ट तक पहुँच मिलती है जो GPU उपयोग को टॉगल करने देता है। इनके बिना, कंपाइलर को नहीं पता होगा कि `OcrEngine` क्या है। + +--- + +## चरण 3: OCR इंजन को इनिशियलाइज़ करें और GPU सक्षम करें + +यदि आपने कभी **how to enable GPU** for OCR पूछा है, तो यह उत्तर है। हम एक `OcrEngineSettings` इंस्टेंस बनाते हैं, `UseGpu` फ़्लैग को टॉगल करते हैं, और इसे इंजन कंस्ट्रक्टर में पास करते हैं। इंजन स्वचालित रूप से पता लगाता है कि कोई संगत GPU मौजूद है या नहीं; यदि नहीं, तो यह CPU पर फ़ॉलबैक हो जाता है—इसलिए आपको अतिरिक्त एरर हैंडलिंग की जरूरत नहीं। + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +GPU को सक्षम क्यों करें? बड़े इमेजेज़ के लिए—जैसे मल्टी‑पेज TIFFs या हाई‑रेज़ोल्यूशन स्कैन—प्रोसेसिंग समय कई सेकंड से घटकर एक सेकंड के अंश में आ सकता है। यदि आप बैच‑प्रोसेसिंग पाइपलाइन बना रहे हैं, तो यह स्पीड गेन जल्दी ही जोड़ता है। + +--- + +## चरण 4: अपने टार्गेट इमेज पर OCR करें + +यहीं पर हम वास्तव में **read image with OCR** करते हैं। अपनी फ़ाइल का पाथ दें, और इंजन पहचाने गए टेक्स्ट को स्ट्रिंग के रूप में रिटर्न करता है। यह Aspose द्वारा समर्थित किसी भी रास्टर फ़ॉर्मेट (PNG, JPEG, TIFF, BMP, आदि) के लिए काम करता है। + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +यदि आपको **convert scanned document** पेज़ एक‑एक करके चाहिए, तो फ़ाइल नामों पर लूप करें और प्रत्येक के लिए `RecognizeImage` कॉल करें। यह मेथड थ्रेड‑सेफ़ है, इसलिए आप इसे मल्टी‑कोर CPU पर भी पैरललाइज़ कर सकते हैं। + +--- + +## चरण 5: निकाले गए टेक्स्ट को दिखाएँ या सहेजें + +अंत में, हम परिणाम आउटपुट करते हैं। एक कंसोल ऐप में, `Console.WriteLine` काम करता है। वास्तविक परिदृश्य में आप टेक्स्ट को डेटाबेस, JSON फ़ाइल, या सर्च इंडेक्स में लिख सकते हैं। + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +ऊपर की लाइन रॉ OCR आउटपुट प्रिंट करती है। आप लाइन ब्रेक, कभी‑कभी गलत पहचान, और शायद कुछ अनचाहे कैरेक्टर देखेंगे—OCR के लिए यह सामान्य है। पोस्ट‑प्रोसेसिंग (जैसे regex क्लीन‑अप) आवश्यक होने पर चीज़ों को साफ़ कर सकता है। + +> **Note:** Aspose.OCR भाषा‑विशिष्ट डिक्शनरीज़ को भी सपोर्ट करता है। यदि आप गैर‑अंग्रेज़ी टेक्स्ट प्रोसेस कर रहे हैं, तो `RecognizeImage` कॉल करने से पहले `ocrEngine.Settings.Language` को उचित रूप से सेट करें। + +--- + +## पूर्ण कार्यशील उदाहरण + +सब कुछ एक साथ मिलाकर, यहाँ एक सेल्फ‑कंटेन्ड प्रोग्राम है जिसे आप नई कंसोल प्रोजेक्ट में कॉपी‑पेस्ट कर सकते हैं: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Expected output** (संक्षिप्त रूप में): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +प्रोग्राम चलाएँ, और आपको कंसोल विंडो में निकाला गया टेक्स्ट दिखेगा। यदि GPU उपलब्ध है, तो प्रोसेसिंग समय CPU‑ओनली मशीनों की तुलना में स्पष्ट रूप से कम होगा। + +--- + +## सामान्य समस्याएँ और उन्हें कैसे टालें + +| समस्या | क्यों होता है | समाधान | +|-------|----------------|-----| +| **गंदे अक्षर** | निम्न‑रेज़ोल्यूशन स्रोत या शोरयुक्त पृष्ठभूमि। | OCR से पहले इमेज को प्री‑प्रोसेस करें (DPI बढ़ाएँ, बाइनराइज़ेशन लागू करें)। | +| **GPU उपयोग नहीं हो रहा** | कोई संगत CUDA ड्राइवर स्थापित नहीं है। | ड्राइवर संस्करण जांचें, या CPU को मजबूर करने के लिए `UseGpu = false` सेट करें। | +| **बड़े TIFFs पर मेमोरी समाप्त** | पूरी फ़ाइल को एक साथ लोड करना। | `OcrEngineSettings.MaxMemoryUsage` का उपयोग करके मेमोरी उपयोग सीमित करें, या पेज़ को व्यक्तिगत रूप से प्रोसेस करें। | +| **भाषा पहचान में त्रुटि** | डिफ़ॉल्ट भाषा अंग्रेज़ी है। | `RecognizeImage` कॉल करने से पहले `ocrEngine.Settings.Language = Language.YourLanguage;` सेट करें। | + +इन एज केसों को संबोधित करने से आपका **how to OCR image** इम्प्लीमेंटेशन विभिन्न वातावरणों में मजबूत बना रहता है। + +--- + +## समाधान का विस्तार + +अब जब आप **extract image text** कर सकते हैं, आप चाहेंगे: + +- **convert scanned document** PDFs को OCR लेयर एम्बेड करके सर्चेबल PDFs में बदलें। +- तेज़ रिट्रीवल के लिए परिणामों को **Azure Cognitive Search** इंडेक्स में स्टोर करें। +- यदि आपको बहुभाषी समर्थन चाहिए तो OCR आउटपुट को **translation API** से जोड़ें। +- प्रत्येक शब्द की इमेज पर स्थिति पता करने के लिए **Aspose.OCR’s** `GetBoundingBoxes` मेथड का उपयोग करें—रेडैक्शन टूल्स के लिए उपयोगी। + +इन सभी एक्सटेंशन का आधार वही मूल सिद्धांत है जो हमने कवर किया: इंजन को इनिशियलाइज़ करें, उसे इमेज फ़ीड करें, और टेक्स्ट पढ़ें। + +--- + +## निष्कर्ष + +हमने Aspose.OCR का उपयोग करके C# में **how to OCR image** का एक पूर्ण, एंड‑टू‑एंड उदाहरण दिखाया। NuGet पैकेज इंस्टॉल करके, सही नेमस्पेसेज़ इम्पोर्ट करके, GPU सक्षम करके (या CPU पर फ़ॉलबैक करके), और `RecognizeImage` कॉल करके आप विश्वसनीय रूप से **extract image text**, **convert scanned document** पेजेज़, और **read image with OCR** किसी भी .NET एप्लिकेशन में कर सकते हैं। + +अपने कुछ स्कैन पर इसे आज़माएँ—विभिन्न इमेज फ़ॉर्मेट्स के साथ प्रयोग करें, GPU फ़्लैग टॉगल करें, और देखें कि प्रदर्शन कैसे बदलता है। जब आप तैयार हों, तो भाषा डिक्शनरी या बाउंडिंग‑बॉक्स एक्सट्रैक्शन जैसी उन्नत सुविधाओं का अन्वेषण करें ताकि आपका समाधान और भी स्मार्ट बन सके। + +कोडिंग का आनंद लें, और आपकी 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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/hindi/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..8a98ec29 --- /dev/null +++ b/ocr/hindi/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,207 @@ +--- +category: general +date: 2026-01-09 +description: C# में Aspose OCR का उपयोग करके छवि से टेक्स्ट पहचानें। ऑटो‑डाउनलोड को + कैसे निष्क्रिय करें, चीनी टेक्स्ट वाली छवि निकालें, और OCR भाषा सेट करना सीखें। +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: hi +og_description: C# में Aspose OCR का उपयोग करके छवि से पाठ पहचानें। स्वचालित डाउनलोड + को अक्षम करने, चीनी पाठ वाली छवि निकालने और OCR भाषा सेट करने के लिए इस चरण‑दर‑चरण + ट्यूटोरियल का पालन करें। +og_title: Aspose OCR के साथ छवि से टेक्स्ट पहचानें – पूर्ण C# गाइड +tags: +- Aspose OCR +- C# +- Image Processing +title: Aspose OCR के साथ छवि से टेक्स्ट पहचानें – पूर्ण C# गाइड +url: /hi/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR के साथ छवि से टेक्स्ट पहचानें – पूर्ण C# गाइड + +क्या आपको कभी **छवि से टेक्स्ट पहचानने** की जरूरत पड़ी लेकिन कॉन्फ़िगरेशन विवरणों में फँस गए? आप अकेले नहीं हैं। कई डेवलपर्स को तब समस्या आती है जब OCR इंजन रनटाइम पर भाषा पैक्स डाउनलोड करने की कोशिश करता है, या जब वे साइन फोटो से चीनी अक्षर नहीं निकाल पाते। + +इस ट्यूटोरियल में हम एक व्यावहारिक समाधान के माध्यम से चलेंगे जो आपको दिखाएगा कि कैसे **ऑटो डाउनलोड को निष्क्रिय करें**, **टेक्स्ट इमेज निकालें**, **चीनी टेक्स्ट इमेज निकालें**, और **OCR भाषा सेट करें**—सब Aspose OCR for .NET के साथ। अंत तक आपके पास एक एकल, चलाने योग्य प्रोग्राम होगा जो पहचाने गए टेक्स्ट को सीधे कंसोल में प्रिंट करेगा। + +## आप क्या सीखेंगे + +- Aspose.OCR NuGet पैकेज को कैसे इंस्टॉल और रेफ़रेंस करें। +- ऑफ़लाइन या सुरक्षित वातावरण में स्वचालित रिसोर्स डाउनलोड को बंद करने का महत्व क्यों है। +- इंजन को स्थानीय भाषा‑पैक फ़ोल्डर की ओर इंगित करने के सटीक चरण। +- छवि प्रोसेस करने से पहले सही भाषा (सिंप्लिफाइड चीनी) कैसे चुनें। +- आउटपुट की पुष्टि करना और सामान्य समस्याओं का निवारण। + +Aspose के साथ कोई पूर्व अनुभव आवश्यक नहीं है; केवल एक बेसिक C# सेटअप और वह इमेज फ़ाइल चाहिए जिसे आप पढ़ना चाहते हैं। + +## आवश्यकताएँ + +| आवश्यकता | कारण | +|-------------|--------| +| .NET 6.0 या बाद का (या .NET Framework 4.7+) | Aspose.OCR इन रनटाइम्स को सपोर्ट करता है। | +| Visual Studio 2022 (या कोई भी IDE जो आपको पसंद हो) | आसान प्रोजेक्ट निर्माण और डिबगिंग के लिए। | +| एक इमेज फ़ाइल जिसमें चीनी टेक्स्ट हो (जैसे `chinese-sign.jpg`) | **extract Chinese text image** दिखाने के लिए। | +| Aspose OCR भाषा पैक्स की स्थानीय कॉपी (Aspose पोर्टल से एक बार डाउनलोड किया गया) | हमें **disable auto download** करने की आवश्यकता है। | + +सुनिश्चित करें कि भाषा‑पैक ZIP फ़ाइलें ऐसे फ़ोल्डर में हों जिसे आप रेफ़रेंस कर सकें, उदाहरण के लिए `C:\MyOCR\Resources`। + +## चरण 1: छवि से टेक्स्ट पहचानें – OCR इंजन को कॉन्फ़िगर करें + +सबसे पहले: हमें एक `OcrEngineSettings` ऑब्जेक्ट चाहिए जो Aspose को बताता है कि रिसोर्सेज़ कहाँ देखें। यह किसी भी **extract text image** ऑपरेशन की बुनियाद है। + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +क्यों `AutoDownloadResources` को `false` सेट करें? प्रोडक्शन वातावरण में आप अक्सर फ़ायरवॉल के पीछे चलते हैं, या आप बस नहीं चाहते कि आपका ऐप रनटाइम पर इंटरनेट तक पहुँचे। इस फीचर को निष्क्रिय करने से यह सुनिश्चित होता है कि इंजन केवल उन फ़ाइलों का उपयोग करेगा जो आपने `ResourceFolder` में रखी हैं, जिससे इनिशियलाइज़ेशन भी तेज़ हो जाता है। + +## चरण 2: निर्दिष्ट सेटिंग्स के साथ OCR इंजन बनाएं + +अब सेटिंग्स तैयार हैं, हम इंजन को इंस्टैंशिएट करते हैं। यह चरण वह है जहाँ **set OCR language** क्षमता बाद में काम आएगी। + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +`OcrEngine` ऑब्जेक्ट हल्का है; यह वास्तव में कोई भाषा डेटा नहीं लोड करता जब तक आप भाषा असाइन नहीं करते। यह लेज़ी लोडिंग इसलिए है कि आप सुरक्षित रूप से इंजन बना सकते हैं भले ही रिसोर्स फ़ोल्डर खाली हो—जब तक आप **extract Chinese text image** करने की कोशिश नहीं करते, कुछ नहीं टूटेगा। + +## चरण 3: OCR भाषा सेट करें – सिंप्लिफाइड चीनी चुनें + +Aspose दर्जनों भाषाओं को सपोर्ट करता है, प्रत्येक एक ZIP फ़ाइल में पैक्ड है। चूँकि हमारे सैंपल इमेज में सिंप्लिफाइड चीनी अक्षर हैं, हम पहचान से पहले स्पष्ट रूप से भाषा सेट करते हैं। + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +यदि आप यह चरण भूल जाते हैं, तो इंजन डिफ़ॉल्ट रूप से अंग्रेज़ी उपयोग करेगा और आपको गड़बड़ आउटपुट मिलेगा। साथ ही, ध्यान रखें कि भाषा का नाम `ResourceFolder` के अंदर ZIP फ़ाइल के नाम से मेल खाना चाहिए। उदाहरण के लिए, `ChineseSimplified.zip` मौजूद होना चाहिए। + +## चरण 4: लक्ष्य इमेज से टेक्स्ट निकालें + +इंजन को कॉन्फ़िगर करने और भाषा सेट करने के बाद, हम अंततः **छवि से टेक्स्ट पहचानते** हैं। यह मेथड एक साधारण स्ट्रिंग रिटर्न करता है जिसे आप लॉग, स्टोर या किसी अन्य सिस्टम में फीड कर सकते हैं। + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +`RecognizeImage` कॉल सभी भारी काम करता है: प्री‑प्रोसेसिंग, सेगमेंटेशन, कैरेक्टर मैचिंग, और अंत में परिणाम को असेंबल करना। यदि इमेज स्पष्ट है और भाषा पैक सही है, तो आप कंसोल में चीनी अक्षर प्रिंट होते देखेंगे। + +> **सुझाव:** यदि आपको केवल इमेज का एक हिस्सा निकालना है (जैसे, कोई विशिष्ट क्षेत्र), तो ओवरलोड `RecognizeImage(string, Rectangle)` का उपयोग करके एक क्रॉपिंग रेक्टैंगल पास करें। + +## पूर्ण कार्यशील उदाहरण + +नीचे पूरा प्रोग्राम है जिसे आप नई कंसोल प्रोजेक्ट में कॉपी‑पेस्ट कर सकते हैं। इसमें `using` स्टेटमेंट्स, सेटिंग्स, भाषा चयन, और अंतिम आउटपुट शामिल हैं। इसे `Program.cs` के रूप में सेव करें, NuGet पैकेज रिस्टोर करें, और चलाएँ। + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### अपेक्षित आउटपुट + +यदि `chinese-sign.jpg` में वाक्यांश “欢迎光临” है, तो कंसोल कुछ इस प्रकार दिखाएगा: + +``` +=== Recognized Text === +欢迎光临 +``` + +सटीक फ़ॉर्मेटिंग इमेज की क्वालिटी पर निर्भर कर सकती है, लेकिन अक्षर पठनीय होने चाहिए। + +## सामान्य समस्याएँ एवं प्रो टिप्स + +| लक्षण | संभावित कारण | समाधान | +|---------|--------------|-----| +| **खाली स्ट्रिंग रिटर्न हुई** | भाषा पैक नहीं मिला या `AutoDownloadResources` अभी भी इसे फ़ेच करने की कोशिश कर रहा है | `ResourceFolder` पाथ की जाँच करें और सुनिश्चित करें कि `ChineseSimplified.zip` मौजूद है। | +| **गड़बड़ अक्षर** | इमेज धुंधली या कम कॉन्ट्रास्ट वाली है | `RecognizeImage` को फीड करने से पहले इमेज को प्री‑प्रोसेस करें (कॉन्ट्रास्ट बढ़ाएँ, बाइनराइज़ करें)। | +| **Exception: `FileNotFoundException`** | गलत इमेज पाथ | एक एब्सॉल्यूट पाथ उपयोग करें या इमेज को प्रोजेक्ट की आउटपुट डायरेक्टरी में रखें और इसे `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")` से रेफ़रेंस करें। | +| **परफ़ॉर्मेंस लैग** | इमेज का आकार बहुत बड़ा है | पहचान से पहले इमेज को उचित चौड़ाई (जैसे, 1024 px) में रिसाइज़ करें। | + +**प्रो टिप:** भाषा पैक्स को एक वर्ज़न‑कंट्रोल्ड फ़ोल्डर में रखें। जब आप Aspose.OCR को अपग्रेड करते हैं, तो नए पैक्स में अलग नामकरण नियम हो सकते हैं, जो आपके **disable auto download** रणनीति को चुपचाप तोड़ सकते हैं। + +## उदाहरण का विस्तार + +अब जब आप **छवि से टेक्स्ट पहचान** सकते हैं, आप चाह सकते हैं: + +- **बैच प्रोसेस** इमेजों के फ़ोल्डर को (फ़ाइलों पर लूप, हर बार `RecognizeImage` कॉल)। +- **एक्सपोर्ट** परिणामों को CSV या JSON फ़ाइल में डाउनस्ट्रीम एनालिटिक्स के लिए। +- **कंबाइन** OCR को ट्रांसलेशन API के साथ, ताकि चीनी साइन को रियल‑टाइम में अंग्रेज़ी में बदला जा सके। + +इन सभी परिदृश्यों में वही कोर स्टेप्स दोहराए जाते हैं: एक बार कॉन्फ़िगर करें, भाषा सेट करें, और `RecognizeImage` कॉल करें। मॉड्यूलर डिज़ाइन आपके कोड को साफ़ और मेंटेन करने में आसान रखता है। + +## निष्कर्ष + +आपने अभी सीखा कि कैसे Aspose OCR in C# का उपयोग करके **छवि से टेक्स्ट पहचानें**। स्पष्ट रूप से **disable auto download** करके, इंजन को स्थानीय रिसोर्स फ़ोल्डर की ओर इंगित करके, और **set OCR language** को सिंप्लिफाइड चीनी पर सेट करके, आप भरोसेमंद रूप से **extract Chinese text image** और कोई भी अन्य भाषा निकाल सकते हैं। + +ऊपर दिया गया पूर्ण, चलाने योग्य कोड एक व्यावहारिक वर्कफ़्लो दर्शाता है जिसे आप वास्तविक प्रोजेक्ट्स में उपयोग कर सकते हैं। यहाँ से, विभिन्न इमेज क्वालिटी के साथ प्रयोग करें, एरर हैंडलिंग जोड़ें, या आउटपुट को बड़े सिस्टम में इंटीग्रेट करें। संभावनाएँ लगभग असीमित हैं। + +अन्य भाषाओं, परफ़ॉर्मेंस ट्यून, या क्लाउड डिप्लॉयमेंट के बारे में प्रश्न हैं? बेझिझक टिप्पणी छोड़ें—हैप्पी कोडिंग! + +{{< /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/net/ocr-optimization/_index.md b/ocr/hindi/net/ocr-optimization/_index.md index 84fa05d9..a8dd2693 100644 --- a/ocr/hindi/net/ocr-optimization/_index.md +++ b/ocr/hindi/net/ocr-optimization/_index.md @@ -49,10 +49,12 @@ url: /hi/net/ocr-optimization/ ### [ओसीआर छवि पहचान में वर्तनी जांच के साथ परिणाम सुधार](./result-correction-with-spell-checking/) .NET के लिए Aspose.OCR के साथ OCR सटीकता बढ़ाएँ। वर्तनी को सही करें, शब्दकोशों को अनुकूलित करें और त्रुटि रहित पाठ पहचान को सहजता से प्राप्त करें। ### [मल्टीपेज परिणाम को ओसीआर छवि पहचान में दस्तावेज़ के रूप में सहेजें](./save-multipage-result-as-document/) -.NET के लिए Aspose.OCR की क्षमता को अनलॉक करें। इस व्यापक चरण-दर-चरण मार्गदर्शिका के साथ बहुपृष्ठ OCR परिणामों को दस्तावेज़ के रूप में सहजता से सहेजें। +.NET की क्षमता को अनलॉक करें। इस व्यापक चरण-दर-चरण मार्गदर्शिका के साथ बहुपृष्ठ OCR परिणामों को दस्तावेज़ के रूप में सहजता से सहेजें। +### [c# OCR ट्यूटोरियल: प्रीप्रोसेसिंग के साथ छवि से पाठ पहचानें](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +.NET के लिए Aspose.OCR के साथ प्रीप्रोसेसिंग द्वारा छवि से पाठ को सटीकता से पहचानें। {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/hindi/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..d7304ab8 --- /dev/null +++ b/ocr/hindi/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,233 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR ट्यूटोरियल जो दिखाता है कि कैसे इमेज से टेक्स्ट को पहचानें और + Aspose.OCR फ़िल्टर का उपयोग करके OCR के लिए इमेज को प्री‑प्रोसेस करें – चरण‑दर‑चरण + गाइड। +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: hi +og_description: c# OCR ट्यूटोरियल जो आपको इमेज से टेक्स्ट पहचानने और Aspose.OCR फ़िल्टर + का उपयोग करके OCR के लिए इमेज को प्रीप्रोसेस करने के माध्यम से ले जाता है। पूर्ण + कोड शामिल है। +og_title: c# OCR ट्यूटोरियल – इमेज से टेक्स्ट को प्रीप्रोसेसिंग के साथ पहचानें +tags: +- OCR +- C# +- Image Processing +title: 'c# OCR ट्यूटोरियल: प्रीप्रोसेसिंग के साथ इमेज से टेक्स्ट को पहचानें' +url: /hi/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr ट्यूटोरियल – इमेज से टेक्स्ट को पहचानें प्रीप्रोसेसिंग के साथ + +क्या आपने कभी सोचा है कि C# एप्लिकेशन में **इमेज से टेक्स्ट को पहचानें** बिना हफ़्तों तक फ़िल्टरों को ट्यून किए? आप अकेले नहीं हैं। इस **c# ocr ट्यूटोरियल** में हम एक पूर्ण, तैयार‑चलाने‑योग्य उदाहरण के माध्यम से चलेंगे जो न केवल टेक्स्ट पढ़ता है बल्कि **OCR के लिए इमेज को प्रीप्रोसेस** भी करता है ताकि सटीकता बढ़े। + +हम Aspose.OCR लाइब्रेरी का उपयोग करेंगे क्योंकि यह एक सुविधाजनक फ़िल्टर पाइपलाइन के साथ आती है जो आपको केवल कुछ लाइनों में डेस्क्यू, डिनॉइज़, और कॉन्ट्रास्ट‑बूस्ट स्टेप्स जोड़ने देती है। इस गाइड के अंत तक आपके पास एक कंसोल ऐप होगा जो तिरछी, शोरयुक्त PNG को ले सकता है, उसे साफ़ कर सकता है, और निकाले गए स्ट्रिंग को आउटपुट कर सकता है—साथ ही यह स्पष्ट करता है कि प्रत्येक चरण क्यों महत्वपूर्ण है। + +## आवश्यकताएँ + +Before we dive in, make sure you have: + +| आवश्यकता | क्यों महत्वपूर्ण है | +|-------------|----------------| +| .NET 6 SDK (या बाद का) | आधुनिक C# फीचर्स और बेहतर प्रदर्शन | +| Visual Studio 2022 (या VS Code) | सुविधाजनक डिबगिंग और IntelliSense | +| NuGet package **Aspose.OCR** | `OcrEngine` और फ़िल्टर क्लासेज़ प्रदान करता है | +| An input image (e.g., `skewed‑noisy.png`) | प्रीप्रोसेसिंग की आवश्यकता को दर्शाता है | + +यदि इनमें से कोई भी अनुपलब्ध है, पहले उन्हें स्थापित करें। NuGet चरण अगले सेक्शन में कवर किया गया है। + +## चरण 1: NuGet के माध्यम से Aspose.OCR स्थापित करें + +Open your terminal (or Package Manager Console) and run: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** यदि आपको पुनरुत्पादक बिल्ड्स चाहिए तो विशिष्ट रिलीज़ को लॉक करने के लिए `--version` फ़्लैग का उपयोग करें। + +The package ships with all the filters we’ll need, so no extra DLLs are required. + +## चरण 2: OCR इंजन को इनिशियलाइज़ करें – c# ocr ट्यूटोरियल का हृदय + +Creating the engine is straightforward, but it’s worth understanding what happens under the hood. The `OcrEngine` holds a pipeline of **filters** that manipulate the bitmap before the recognition algorithm runs. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Why initialize first?** The engine caches internal resources (like language models). Re‑using a single instance across multiple images saves memory and speeds up subsequent recognitions. + +## चरण 3: OCR के लिए इमेज को प्रीप्रोसेस करें – डेस्क्यू, डिनॉइज़, और कॉन्ट्रास्ट बूस्ट जोड़ना + +Most real‑world scans aren’t perfect; they’re tilted, speckled, or too dark. That’s why **preprocess image for OCR** is a critical step. Aspose provides three filters that work together nicely: + +| फ़िल्टर | क्या करता है | सामान्य उपयोग केस | +|--------|--------------|------------------| +| `DeskewFilter` | इमेज को घुमाकर झुकाव को ठीक करता है | स्कैनर से स्कैन किए गए दस्तावेज़ | +| `DenoiseFilter` | अलग‑अलग पिक्सेल (“सॉल्ट‑एंड‑पेपर” शोर) को हटाता है | कम रोशनी वाली फ़ोटो | +| `ContrastBoostFilter` | कॉन्ट्रास्ट बढ़ाकर टेक्स्ट किनारों को तेज़ करता है | फीके प्रिंट या कम‑रिज़ॉल्यूशन कैप्चर | + +Below is the code that adds each filter to the engine’s pipeline: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **How it works:** When you call `RecognizeImage` later, the engine will sequentially run these three filters before feeding the cleaned bitmap to the recognition core. + +### दृश्य चित्रण (वैकल्पिक) + +If you embed an image, make sure the alt text contains the primary keyword: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## चरण 4: इमेज से टेक्स्ट को पहचानें – सत्य का क्षण + +Now that the image is pre‑processed, we can finally extract the characters. The method returns a plain string, which you can log, store, or feed into another system. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### अपेक्षित आउटपुट + +Running the sample against a typical invoice scan yields something like: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +If the output looks garbled, double‑check the image quality and consider tweaking the `ContrastBoostFilter.Level` (values > 2.0 can be too aggressive). + +## चरण 5: परिणाम आउटपुट करें और वैकल्पिक पोस्ट‑प्रोसेसिंग + +A console app can simply write the string, but many projects need extra handling—like trimming whitespace, removing line breaks, or feeding the text into a database. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### पोस्ट‑प्रोसेस क्यों? + +Even with good preprocessing, OCR often introduces stray line breaks or invisible characters. A quick `Replace` chain can make the data far more usable downstream. + +## चरण 6: पूर्ण कार्यशील उदाहरण – कॉपी‑पेस्ट तैयार + +Below is the **complete** program you can compile and run immediately. It includes all the using statements, filter setup, OCR call, and output handling. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**इसे कैसे चलाएँ** + +1. Save the file as `Program.cs` inside a new console project (`dotnet new console`). +2. Replace `YOUR_DIRECTORY/skewed-noisy.png` with the real path to your test image. +3. Execute `dotnet run`. You should see the OCR output printed to the terminal. + +## सामान्य समस्याएँ एवं टिप्स (इमेज से टेक्स्ट को विश्वसनीय रूप से पहचानें) + +| समस्या | क्या जांचें | समाधान | +|-------|----------------|-----| +| **Garbage characters** | Image is too dark or low‑resolution | Increase `ContrastBoostFilter.Level` or use a higher‑resolution source | +| **Missing lines** | Deskew didn’t correct the angle fully | Manually rotate the image first, or adjust `DeskewFilter` tolerance | +| **Slow performance** | Processing many large images in a loop | Reuse the same `OcrEngine` instance and call `ocrEngine.Clear()` after each run | +| **Unsupported language** | Text is not English | Set `ocrEngine.Language = OcrLanguage.French` (or another supported language) before recognition | + +### किनारे का केस: मल्टी‑पेज PDFs को संभालना + +If you need to OCR a PDF, convert each page to an image (e.g., using `Aspose.PDF`) and feed them one‑by‑one to the same engine. The preprocessing pipeline remains identical, ensuring consistent results across pages. + +## निष्कर्ष + +In this **c# ocr ट्यूटोरियल** we covered everything you need to **recognize text from image** and **preprocess image for OCR** using Aspose.OCR’s built‑in filters. By initializing the engine, adding deskew, denoise, and contrast‑boost steps, and finally calling `RecognizeImage`, you get clean, reliable text extraction with just a handful of lines of code. + +Feel free to experiment—swap in a different filter, tweak the contrast level, or integrate the result into a larger data‑pipeline. The concepts here apply to any OCR library: preprocessing is often the difference between a half‑read invoice and a perfectly captured document. + +Got more questions? Maybe you’re curious about handling handwritten text or batch‑processing thousands of files. Drop a comment, and we’ll explore those scenarios together. 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/hindi/net/text-recognition/_index.md b/ocr/hindi/net/text-recognition/_index.md index 0512ee10..a9cb3c77 100644 --- a/ocr/hindi/net/text-recognition/_index.md +++ b/ocr/hindi/net/text-recognition/_index.md @@ -19,7 +19,7 @@ url: /hi/net/text-recognition/ ## ओसीआर छवि पहचान में मान्यता प्राप्त पात्रों के लिए विकल्प प्राप्त करें -इस ट्यूटोरियल में, हम आपकी छवि पहचान क्षमताओं को बढ़ाने के लिए .NET के लिए Aspose.OCR की शक्ति का लाभ उठाने में आपका मार्गदर्शन करेंगे। चरण-दर-चरण जानें कि अपने अनुप्रयोगों में सटीकता और दक्षता सुनिश्चित करते हुए, मान्यता प्राप्त पात्रों के लिए विकल्प कैसे प्राप्त करें। Aspose.OCR की अत्याधुनिक सुविधाओं के साथ अपने OCR अनुभव को उन्नत करें। +इस ट्यूटोरियल में, हम आपकी छवि पहचान क्षमताओं को बढ़ाने के लिए .NET के लिए Aspose.OCR की शक्ति का लाभ उठाने में आपका मार्गदर्शन करेंगे। चरण-दर-स्टेप जानें कि अपने अनुप्रयोगों में सटीकता और दक्षता सुनिश्चित करते हुए, मान्यता प्राप्त पात्रों के लिए विकल्प कैसे प्राप्त करें। Aspose.OCR की अत्याधुनिक सुविधाओं के साथ अपने OCR अनुभव को उन्नत करें। ## ओसीआर छवि पहचान में मान्यता परिणाम प्राप्त करें @@ -27,7 +27,7 @@ url: /hi/net/text-recognition/ ## OCR छवि पहचान में JSON के रूप में परिणाम प्राप्त करें -आसानी से JSON प्रारूप में OCR परिणाम प्राप्त करने का तरीका सीखकर .NET के लिए Aspose.OCR की पूरी क्षमता का उपयोग करें। यह चरण-दर-चरण मार्गदर्शिका आपकी छवि पहचान क्षमताओं को बढ़ाने की दिशा में एक सहज यात्रा सुनिश्चित करती है। Aspose.OCR की मजबूत विशेषताओं और उद्योग-अग्रणी तकनीक के साथ अपने एप्लिकेशन की दक्षता बढ़ाएँ। +आसानी से JSON प्रारूप में OCR परिणाम प्राप्त करने का तरीका सीखकर .NET के लिए Aspose.OCR की पूरी क्षमता का उपयोग करें। यह चरण-दर-स्टेप मार्गदर्शिका आपकी छवि पहचान क्षमताओं को बढ़ाने की दिशा में एक सहज यात्रा सुनिश्चित करती है। Aspose.OCR की मजबूत विशेषताओं और उद्योग-अग्रणी तकनीक के साथ अपने एप्लिकेशन की दक्षता बढ़ाएँ। ## ओसीआर छवि पहचान में ओसीआर डिटेक्ट एरिया मोड @@ -39,25 +39,38 @@ Aspose.OCR के साथ .NET में OCR की क्षमता को ## ओसीआर छवि पहचान में तालिका को पहचानें -.NET के लिए Aspose.OCR के साथ OCR छवि पहचान में तालिकाओं को पहचानने की जटिलताओं पर नेविगेट करें। हमारी व्यापक मार्गदर्शिका आपको Aspose.OCR की पूरी क्षमता को अनलॉक करने का अधिकार देती है, जिससे आपके अनुप्रयोगों में सटीक और कुशल तालिका पहचान सुनिश्चित होती है। उद्योग-अग्रणी ओसीआर समाधान के साथ अपनी परियोजनाओं को उन्नत करें। +.NET के लिए Aspose.OCR के साथ OCR छवि पहचान में तालिकाओं को पहचानने की जटिलताओं पर नेविगेट करें। हमारी व्यापक मार्गदर्शिका आपको Aspose.OCR की पूरी क्षमता को अनलॉक करने का अधिकार देती है, जिससे आपके अनुप्रयोगों में सटीक और कुशल तालिका पहचान सुनिश्चित होती है। उद्योग-अग्रणी OCR समाधान के साथ अपनी परियोजनाओं को उन्नत करें। -क्या आप अपने .NET अनुप्रयोगों में क्रांति लाने के लिए तैयार हैं? हमारे टेक्स्ट रिकग्निशन ट्यूटोरियल्स में गोता लगाएँ और छवियों में सटीक और कुशल टेक्स्ट पहचान के लिए Aspose.OCR की शक्ति का उपयोग करें। अभी डाउनलोड करें और उन्नत ओसीआर क्षमताओं की यात्रा पर निकलें। +क्या आप अपने .NET अनुप्रयोगों में क्रांति लाने के लिए तैयार हैं? हमारे टेक्स्ट रिकग्निशन ट्यूटोरियल्स में गोता लगाएँ और छवियों में सटीक और कुशल टेक्स्ट पहचान के लिए Aspose.OCR की शक्ति का उपयोग करें। अभी डाउनलोड करें और उन्नत OCR क्षमताओं की यात्रा पर निकलें। ## पाठ पहचान ट्यूटोरियल ### [ओसीआर छवि पहचान में मान्यता प्राप्त पात्रों के लिए विकल्प प्राप्त करें](./get-choices-for-recognized-characters/) -सटीक चरित्र पहचान के लिए Aspose.OCR के साथ अपने .NET अनुप्रयोगों को बेहतर बनाएं। छवि पहचान में मान्यता प्राप्त पात्रों के विकल्प पुनः प्राप्त करने के लिए हमारी चरण-दर-चरण मार्गदर्शिका का पालन करें। +सटीक चरित्र पहचान के लिए Aspose.OCR के साथ अपने .NET अनुप्रयोगों को बेहतर बनाएं। छवि पहचान में मान्यता प्राप्त पात्रों के विकल्प पुनः प्राप्त करने के लिए हमारी चरण-दर-स्टेप मार्गदर्शिका का पालन करें। ### [ओसीआर छवि पहचान में मान्यता परिणाम प्राप्त करें](./get-recognition-result/) .NET के लिए Aspose.OCR का अन्वेषण करें, जो छवियों में निर्बाध पाठ पहचान के लिए एक शक्तिशाली OCR समाधान है। ### [OCR छवि पहचान में JSON के रूप में परिणाम प्राप्त करें](./get-result-as-json/) -.NET के लिए Aspose.OCR की शक्ति को उजागर करें। JSON प्रारूप में OCR परिणाम सहजता से प्राप्त करना सीखें। इस चरण-दर-चरण मार्गदर्शिका के साथ अपनी छवि पहचान बढ़ाएँ। +.NET के लिए Aspose.OCR की शक्ति को उजागर करें। JSON प्रारूप में OCR परिणाम सहजता से प्राप्त करना सीखें। इस चरण-दर-स्टेप मार्गदर्शिका के साथ अपनी छवि पहचान बढ़ाएँ। ### [ओसीआर छवि पहचान में ओसीआर डिटेक्ट एरिया मोड](./ocr-detect-areas-mode/) कुशल छवि पाठ पहचान के लिए Aspose.OCR के साथ अपने .NET अनुप्रयोगों को बेहतर बनाएं। सटीक परिणामों के लिए ओसीआर डिटेक्ट एरिया मोड का अन्वेषण करें। ### [ओसीआर छवि पहचान में पीडीएफ को पहचानें](./recognize-pdf/) Aspose.OCR के साथ .NET में OCR की क्षमता को अनलॉक करें। पीडीएफ़ से आसानी से टेक्स्ट निकालें। सहज एकीकरण अनुभव के लिए अभी डाउनलोड करें। ### [ओसीआर छवि पहचान में तालिका को पहचानें](./recognize-table/) OCR छवि पहचान में तालिकाओं को पहचानने पर हमारे व्यापक गाइड के साथ .NET के लिए Aspose.OCR की क्षमता को अनलॉक करें। +### [c# OCR ट्यूटोरियल – PNG रसीदों से हिंदी टेक्स्ट निकालें](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +c# में Aspose.OCR का उपयोग करके PNG रसीदों से हिंदी टेक्स्ट निकालने की चरण-दर-स्टेप मार्गदर्शिका। +### [c# OCR ट्यूटोरियल – इमेज और DJVU फ़ाइलों से टेक्स्ट निकालें](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +c# में Aspose.OCR का उपयोग करके इमेज और DJVU फ़ाइलों से टेक्स्ट निकालने की चरण-दर-स्टेप मार्गदर्शिका। +### [Aspose OCR के साथ JPG में टेक्स्ट पहचानें – पूर्ण C# गाइड](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Aspose OCR का उपयोग करके JPG इज में टेक्स्ट पहचानने के लिए पूर्ण C# गाइड। चरण-दर-शरण निर्देश। +### [Aspose OCR के साथ TIFF से टेक्स्ट निकालें – पूर्ण ट्यूटोरियल](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +C# में Aspose OCR का उपयोग करके TIFF इज से टेक्स्ट निकालने की चरण-दर-स्टेप पूर्ण गाइड। +### [c# OCR ट्यूटोरियल – Aspose OCR के साथ इमेज से टेक्स्ट निकालें](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Aspose OCR का उपयोग करके इमेज से टेक्स्ट निकालने की चरण-दर-शरण गाइड। C# में आसान OCR कार्यान्वयन सीखें। +### [PNG से टेक्स्ट निकालें – पूर्ण Aspose OCR ट्यूटोरियल](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Aspose OCR के साथ PNG इमेज से टेक्स्ट निकालने के लिए पूर्ण C# गाइड। चरण-दर-चरण निर्देशों के साथ आसान कार्यान्वयन। + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/hindi/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..94f7e554 --- /dev/null +++ b/ocr/hindi/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR ट्यूटोरियल जो PNG से टेक्स्ट पढ़ता है, इमेज को टेक्स्ट में बदलता + है और Aspose OCR का उपयोग करके रसीद पर हिंदी टेक्स्ट को पहचानता है। +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: hi +og_description: c# OCR ट्यूटोरियल जो आपको PNG से टेक्स्ट पढ़ना, इमेज को टेक्स्ट में + बदलना और Aspose OCR के साथ रसीद पर हिंदी टेक्स्ट को पहचानना सिखाता है। +og_title: c# OCR ट्यूटोरियल – PNG रसीदों से हिंदी टेक्स्ट निकालें +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# OCR ट्यूटोरियल – PNG रसीदों से हिंदी टेक्स्ट निकालें +url: /hi/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – PNG रसीदों से हिंदी टेक्स्ट निकालें + +क्या आप कभी सोचते थे कि C# एप्लिकेशन में **PNG से टेक्स्ट पढ़ना** कैसे किया जाए? शायद आपके पास कई हिंदी रसीदें हैं और आपको स्वचालित रूप से राशि निकालनी है। यही इस c# ocr ट्यूटोरियल का उद्देश्य है—इमेज को कुछ ही लाइनों के कोड से सर्चेबल टेक्स्ट में बदलना। + +इस गाइड में हम Aspose OCR को इंस्टॉल करना, PNG रसीद लोड करना, हिंदी अक्षरों को पहचानना, और अंत में निकाले गए स्ट्रिंग को कंसोल में प्रिंट करना देखेंगे। अंत तक आप **convert image to text**, **recognize Hindi text**, और यहाँ तक कि **extract text from receipt** इमेज को बिना IDE छोड़े निकाल सकेंगे। + +> **Prerequisite note:** आपको एक वैध Aspose OCR लाइसेंस चाहिए (या आप फ्री ट्रायल इस्तेमाल कर सकते हैं) और .NET 6+ इंस्टॉल होना चाहिए। यदि आप NuGet में नए हैं, तो चिंता न करें—हम इसे भी कवर करेंगे। + +--- + +## आपको क्या चाहिए + +- **Visual Studio 2022** (या कोई भी C#‑compatible एडिटर) +- **.NET 6 SDK** (या बाद का संस्करण) +- **Aspose.OCR** NuGet पैकेज + ```bash + dotnet add package Aspose.OCR + ``` +- एक सैंपल रसीद इमेज, जैसे `hindi-receipt.png`, आपके प्रोजेक्ट फ़ोल्डर में सेव करें। + +इन सबको तैयार रखने से आप अंतिम कोड को कॉपी‑पेस्ट करके तुरंत **F5** दबा सकते हैं। + +--- + +## चरण 1: प्रोजेक्ट सेट अप करें और नेमस्पेसेस इम्पोर्ट करें + +पहले, यदि आपके पास अभी तक कोई कंसोल प्रोजेक्ट नहीं है तो एक बनाएं: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +अब `Program.cs` खोलें। शीर्ष पर, Aspose OCR नेमस्पेसेस इम्पोर्ट करें ताकि कंपाइलर को क्लासेज़ कहाँ मिलें पता चल सके: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Why this matters:** `OcrEngine` `Aspose.OCR` में रहता है, जबकि भाषा‑से संबंधित enums `Aspose.OCR.Settings` में हैं। इनमें से किसी को भूलने पर कंपाइल‑टाइम एरर आएगा। + +--- + +## चरण 2: OCR इंजन को इनिशियलाइज़ करें और भाषा मॉडल चुनें + +OCR इंजन को यह पता होना चाहिए कि वह **कौन सी भाषा** देखे। Aspose कई भाषा पैक्स के साथ आता है; `OcrLanguage.Hindi` निर्दिष्ट करने से इंजन (यदि नहीं है) हिंदी मॉडल डाउनलोड करके उपयोग करेगा। + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Pro tip:** यदि आप कई भाषाओं में रसीदें प्रोसेस करने की योजना बना रहे हैं, तो आप रन‑टाइम पर `Language` बदल सकते हैं या `MultiLanguage` मोड भी एनेबल कर सकते हैं। + +--- + +## चरण 3: PNG रसीद को इंजन में फीड करें + +यहीं पर हम **PNG से टेक्स्ट पढ़ते** हैं। पूर्ण पाथ दें (एक्जीक्यूटेबल के सापेक्ष पाथ भी ठीक रहता है)। यह मेथड एक साधारण स्ट्रिंग रिटर्न करता है जिसमें इंजन ने जो कुछ भी समझा है वह होता है। + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +यदि इमेज हाई‑रेज़ोल्यूशन और टेक्स्ट साफ़ है, तो आपको लगभग परफ़ेक्ट रिज़ल्ट मिलेगा। शोरयुक्त स्कैन के लिए, प्री‑प्रोसेसिंग (जैसे बाइनराइज़ेशन) पर विचार करें – Aspose `PreprocessImage` मेथड्स प्रदान करता है जिन्हें आप बाद में एक्सप्लोर कर सकते हैं। + +--- + +## चरण 4: निकाले गए टेक्स्ट को डिस्प्ले या सेव करें + +ज्यादातर डेवलपर्स टेस्टिंग के दौरान परिणाम को कंसोल में डंप कर देते हैं। प्रोडक्शन में आप इसे डेटाबेस या CSV फ़ाइल में लिख सकते हैं। + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +सैंपल रसीद के साथ प्रोग्राम चलाने पर कुछ इस तरह प्रिंट होगा: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +यह **convert image to text** का भाग है—कोई मैन्युअल ट्रांसक्रिप्शन नहीं चाहिए। + +--- + +## पूर्ण कार्यशील उदाहरण (कॉपी‑पेस्ट तैयार) + +नीचे पूरा, स्व-निहित प्रोग्राम है। इसे `Program.cs` में पेस्ट करें, `hindi-receipt.png` को कम्पाइल्ड `.exe` के बगल में रखें, और **Ctrl + F5** दबाएँ। + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### अपेक्षित आउटपुट + +जब रसीद इमेज में स्पष्ट हिंदी अक्षर हों, तो कंसोल निकाली गई लाइनों को लाइन ब्रेक के साथ दिखाएगा। यदि OCR किसी शब्द को पहचान नहीं पाता, तो आप एक गड़बड़ हिस्सा देखेंगे—जो इमेज क्वालिटी सुधारने या प्री‑प्रोसेसिंग को ट्यून करने का संकेत है। + +--- + +## चरण 5: आगे बढ़ें – प्रोग्रामेटिकली रसीद से टेक्स्ट निकालें + +यदि आपका लक्ष्य **extract text from receipt** फ़ील्ड्स (तारीख, कुल, इनवॉइस नंबर) निकालना है, तो आप OCR स्ट्रिंग को रेगुलर एक्सप्रेशन के साथ पोस्ट‑प्रोसेस कर सकते हैं: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +यह छोटा स्निपेट दिखाता है कि रॉ OCR आउटपुट को स्ट्रक्चर्ड डेटा में कैसे बदला जाए—एकाउंटिंग सॉफ़्टवेयर में फीड करने के लिए परफेक्ट। + +--- + +## सामान्य समस्याएँ और उन्हें कैसे टालें + +| समस्या | क्यों होता है | समाधान | +|-------|----------------|-----| +| **Blank output** | इमेज पाथ गलत है या फ़ाइल आउटपुट फ़ोल्डर में कॉपी नहीं हुई। | `Path.GetFullPath` इस्तेमाल करें और फ़ाइल मौजूद है (`File.Exists`) यह जांचें। | +| **Garbage characters** | लो‑रेज़ोल्यूशन PNG या कमप्रेस्ड कलर्स। | इमेज को अपस्केल करें, DPI को 300+ सेट करें, या `ocrEngine.ImagePreprocessor` इस्तेमाल करें। | +| **Language model not downloaded** | पहली बार रन पर इंटरनेट कनेक्शन नहीं है। | Aspose पोर्टल से हिंदी मॉडल पहले से डाउनलोड करें या लोकली होस्ट करें। | +| **Performance lag** | लूप में कई पेज प्रोसेस करते समय डिस्पोज़ नहीं किया। | `OcrEngine` को `using` ब्लॉक में रखें या एक ही इंस्टेंस को रीयूज़ करें। | + +--- + +## इमेज इल्युस्ट्रेशन + +![c# ocr tutorial PNG रसीद से हिंदी टेक्स्ट पढ़ रहा है](https://example.com/placeholder-image.png "c# ocr tutorial – PNG रसीद से टेक्स्ट पढ़ें") + +*स्क्रीनशॉट में OCR कन्वर्ज़न से पहले और बाद की हिंदी रसीद दिखायी गई है।* + +--- + +## पुनरावलोकन: हमने क्या कवर किया + +- C# कंसोल ऐप सेट अप किया और Aspose OCR NuGet पैकेज जोड़ा। +- `OcrEngine` को **recognize hindi text** भाषा मॉडल के साथ इनिशियलाइज़ किया। +- `RecognizeImage` का उपयोग करके **Read text from PNG** किया। +- **Convert image to text** किया और परिणाम प्रिंट किया। +- **extract text from receipt** फ़ील्ड्स निकालने के लिए एक सरल पैटर्न दिखाया। + +इन सबको एक ही रन करने योग्य फ़ाइल में दिया गया—बिल्कुल वही जो एक **c# ocr tutorial** को देना चाहिए। + +--- + +## अगले कदम और संबंधित विषय + +1. **Batch processing** – रसीद इमेजों के फ़ोल्डर को लूप करके CSV में परिणाम स्टोर करें। +2. **Pre‑processing** – शोर हटाने, स्क्यू करेक्शन या कंट्रास्ट एन्हांसमेंट के लिए `ocrEngine.ImagePreprocessor` एक्सप्लोर करें। +3. **Multi‑language OCR** – हिंदी और अंग्रेज़ी मिश्रित रसीदों को हैंडल करने के लिए `OcrLanguage.Multilingual` एनेबल करें। +4. **Integration** – एक्सट्रैक्टेड डेटा को पर्सिस्टेंट स्टोरेज के लिए Entity Framework Core मॉडल में पुश करें। + +यदि आप इनमें से किसी में रुचि रखते हैं, तो हमारे ट्यूटोरियल देखें **convert image to text in C#** और **extract structured data from OCR results** पर। + +### कोडिंग का आनंद लें! + +यदि आपको कोई समस्या आती है तो टिप्पणी छोड़ें, या बताएं कि आपने इस **c# ocr tutorial** को अपने प्रोजेक्ट्स में कैसे विस्तारित किया। याद रखें, 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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/hindi/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..124e2167 --- /dev/null +++ b/ocr/hindi/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-01-09 +description: C# OCR ट्यूटोरियल जो दिखाता है कि इमेज फ़ाइलों से टेक्स्ट कैसे निकालें + और Aspose.OCR का उपयोग करके DJVU को टेक्स्ट में कैसे बदलें। मिनटों में चरण‑दर‑चरण + निष्कर्षण सीखें। +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: hi +og_description: c# OCR ट्यूटोरियल जो जल्दी से दिखाता है कि इमेज फ़ाइलों से टेक्स्ट + कैसे निकालें और Aspose.OCR का उपयोग करके DJVU को टेक्स्ट में कैसे बदलें। कार्यशील + समाधान के लिए गाइड का पालन करें। +og_title: c# OCR ट्यूटोरियल – इमेज और DJVU से टेक्स्ट निकालें +tags: +- OCR +- C# +- Aspose +title: 'c# OCR ट्यूटोरियल: इमेज और DJVU फ़ाइलों से टेक्स्ट निकालें' +url: /hi/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR ट्यूटोरियल – इमेज और DJVU फ़ाइलों से टेक्स्ट निकालें + +क्या आप कभी सोचते थे कि इमेज फ़ाइलों से टेक्स्ट कैसे निकालें बिना सिर खुजलाए? इस **c# OCR ट्यूटोरियल** में हम एक पूर्ण, तैयार‑चलाने‑योग्य उदाहरण के माध्यम से दिखाएंगे कि कैसे सामान्य तस्वीर *और* DJVU दस्तावेज़ से टेक्स्ट निकाला जाए। + +यदि आप **DJVU को टेक्स्ट में बदलने** का तेज़ तरीका ढूँढ़ रहे हैं, तो आप सही जगह पर हैं—कोई अतिरिक्त कनवर्टर नहीं, सिर्फ़ शुद्ध C# कोड। + +## आप क्या सीखेंगे + +- Aspose.OCR लाइब्रेरी को .NET प्रोजेक्ट में सेट अप करने का तरीका। +- इमेज फ़ाइलों से **टेक्स्ट निकालने** के लिए आवश्यक सटीक कोड। +- DJVU फ़ाइलों से **टेक्स्ट निकालने** की संक्षिप्त विधि (हाँ, वही इंजन इसका काम करता है)। +- सामान्य समस्याएँ (बड़ी फ़ाइलें, गायब फ़ॉन्ट, लाइसेंसिंग) और उन्हें कैसे टाला जाए। + +आपको केवल एक नवीन .NET SDK और इंटरनेट कनेक्शन की आवश्यकता है ताकि आप NuGet पैकेज प्राप्त कर सकें। पहले से OCR का कोई अनुभव आवश्यक नहीं है। + +## पूर्वापेक्षाएँ + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6.0 या बाद का | Aspose.OCR .NET Standard 2.0 को टार्गेट करता है, इसलिए .NET 6+ बेहतर प्रदर्शन देता है। | +| Visual Studio 2022 (या VS Code) | IDE पैकेज मैनेजमेंट को आसान बनाते हैं, लेकिन कोई भी एडिटर काम करेगा। | +| NuGet पैकेज **Aspose.OCR** | यह वही इंजन है जो वास्तव में भारी काम करता है। | +| एक सैंपल इमेज (`sample.png`) और एक DJVU फ़ाइल (`sample.djvu`) | हम इनका उपयोग दोनों एक्सट्रैक्शन परिदृश्यों को दिखाने के लिए करेंगे। | + +आप पैकेज को निम्न कमांड से इंस्टॉल कर सकते हैं: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** यदि आप CI सर्वर पर हैं, तो बिल्ड स्टेप में `--no-restore` जोड़ें और शुरुआत में एक बार रिस्टोर करें ताकि गति बढ़े। + +## चरण 1: OCR इंजन को इनिशियलाइज़ करें – c# OCR ट्यूटोरियल का दिल + +पहला काम हम `OcrEngine` का एक इंस्टेंस बनाते हैं। इसे अपने सॉफ़्टवेयर में स्कैनर चालू करने जैसा समझें। + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +हर बार नया इंजन क्यों बनाते हैं? क्योंकि इंजन में कॉन्फ़िगरेशन (भाषा, डिटेक्शन मोड, आदि) रहता है। नई शुरुआत करके आप पुरानी सेटिंग्स के रन‑टू‑रन लीक होने से बचते हैं। + +## चरण 2: इमेज लोड करें और पहचानें – इमेज से टेक्स्ट कैसे निकालें + +अब हम एक सामान्य बिटमैप (PNG, JPEG, BMP…) को इंजन में फीड करेंगे। `RecognizeImage` मेथड डिटेक्टेड स्ट्रिंग लौटाता है। + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +कुछ बातों पर ध्यान दें: + +* **फ़ाइल की मौजूदगी** – यदि पाथ गलत है तो मेथड `FileNotFoundException` फेंकेगा। यदि आप उपयोगकर्ता‑द्वारा प्रदान किए गए पाथ की उम्मीद करते हैं तो इसे `try/catch` में रैप करें। +* **इमेज क्वालिटी** – OCR 300 dpi या उससे अधिक पर सबसे अच्छा काम करता है। कम‑रिज़ॉल्यूशन स्कैन से गड़बड़ आउटपुट मिल सकता है। +* **भाषा समर्थन** – डिफ़ॉल्ट रूप से Aspose.OCR अंग्रेज़ी मानता है। इसे बदलने के लिए `ocrEngine.Language = Language.Spanish;` को `RecognizeImage` से पहले सेट करें। + +## चरण 3: DJVU दस्तावेज़ से टेक्स्ट पहचानें – DJVU को टेक्स्ट में बदलें + +DJVU एक कंटेनर फ़ॉर्मेट है जो कई पेज रख सकता है। Aspose.OCR इसे सीधे संभाल सकता है; आपको केवल फ़ाइल की ओर इशारा करना है। + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +इंजन के अंदर, प्रत्येक पेज को इमेज के रूप में एक्सट्रैक्ट किया जाता है और वही पहचान पाइपलाइन चलती है। इसलिए आपको अलग “DJVU को टेक्स्ट में बदलें” स्टेप की ज़रूरत नहीं है—OCR इंजन यह आपके लिए करता है। + +### मल्टी‑पेज DJVU फ़ाइलों को संभालना + +यदि आपके DJVU में कई पेज हैं, तो `RecognizeImage` उन्हें क्रम में जोड़ देता है। यदि आपको प्रत्येक पेज अलग चाहिए, तो आप वह ओवरलोड उपयोग कर सकते हैं जो `List` लौटाता है: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## चरण 4: बेहतर सटीकता के लिए इंजन को फाइन‑ट्यून करें – यह क्यों महत्वपूर्ण है + +डिफ़ॉल्ट परिणाम ठीक‑ठाक होते हैं, लेकिन आप कुछ सेटिंग्स बदलकर उन्हें बेहतर बना सकते हैं: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +ये फ़्लैग विशेष रूप से उपयोगी होते हैं जब स्कैन किए गए PDFs को पहले DJVU के रूप में सेव किया गया हो और आप **टेक्स्ट कैसे निकालें**। ओरिएंटेशन डिटेक्शन ऑन करने से आपको इमेज को मैन्युअली घुमाने की ज़रूरत नहीं पड़ेगी। + +## चरण 5: लाइसेंसिंग और रन‑टाइम एरर्स से निपटना + +Aspose.OCR एक फ्री ट्रायल के साथ आता है जो कुछ पेजों के बाद आउटपुट पर “Demo” स्टैम्प लगाता है। वॉटरमार्क हटाने के लिए, अपना लाइसेंस फ़ाइल जोड़ें: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +यदि आप यह स्टेप भूल जाते हैं, तो भी इंजन काम करेगा, लेकिन परिणाम में शब्द “Demo” रहेगा। साथ ही, बड़े DJVU फ़ाइलों को प्रोसेस करते समय `OutOfMemoryException` से सावधान रहें—जैसा कि पहले दिखाया गया है, पेज‑बाय‑पेज प्रोसेस करने पर विचार करें। + +## पूर्ण, चलाने योग्य उदाहरण + +नीचे एक स्व-निहित कंसोल प्रोग्राम है जो सब कुछ एक साथ लाता है। कॉपी‑पेस्ट करें, फ़ाइल पाथ समायोजित करें, और **Run** दबाएँ। + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**अपेक्षित आउटपुट** (मान लेते हैं कि फ़ाइलों में वाक्य “Hello World” है): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +यदि स्रोत में कई लाइन्स हैं, तो वे मूल दस्तावेज़ की तरह ही दिखेंगे। + +## सामान्य प्रश्न और एज‑केस हैंडलिंग + +* **यदि इमेज ब्लैक‑एंड‑व्हाइट है तो क्या?** + OCR ठीक काम करता है, लेकिन आप कंट्रास्ट को `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;` से सुधार सकते हैं। + +* **क्या मैं केवल नंबर निकाल सकता हूँ?** + हाँ—`RecognizeImage` कॉल करने से पहले `ocrEngine.CharWhitelist = "0123456789";` सेट करें। + +* **फ़ाइल आकार पर कोई सीमा है?** + इंजन पूरी फ़ाइल को मेमोरी में पढ़ता है। ~100 MB से बड़ी फ़ाइलों के लिए पेज‑बाय‑पेज प्रोसेस करें (देखें चरण 3 का लिस्ट ओवरलोड)। + +* **यह Tesseract से कैसे अलग है?** + Aspose.OCR एक कमर्शियल लाइब्रेरी है जिसमें बिल्ट‑इन DJVU सपोर्ट है और कोई नेटिव डिपेंडेंसी नहीं है, जबकि Tesseract को नेटिव बाइनरी और अलग DJVU कनवर्ज़न टूल्स की ज़रूरत होती है। + +## निष्कर्ष + +आपने अभी एक **c# OCR ट्यूटोरियल** पूरा किया है जो दिखाता है कि **इमेज फ़ाइलों से टेक्स्ट निकालें** और Aspose.OCR का उपयोग करके **DJVU को टेक्स्ट में बदलें**। यह उदाहरण पैकेज इंस्टॉलेशन से लेकर लाइसेंसिंग, सिंगल‑पेज इमेज एक्सट्रैक्शन से मल्टी‑पेज DJVU हैंडलिंग तक, और सटीकता बढ़ाने के टिप्स तक सब कुछ कवर करता है। + +अगला, आप **PDF से टेक्स्ट निकालने** की खोज कर सकते हैं, OCR स्टेप को वेब API में इंटीग्रेट कर सकते हैं, या मल्टी‑लैंग्वेज़ डॉक्यूमेंट्स के लिए लैंग्वेज पैक्स के साथ प्रयोग कर सकते हैं। संभावनाएँ असीम हैं—बस मुख्य बात याद रखें: इंजन सेट करें, फ़ाइल फीड करें, और स्ट्रिंग पढ़ें। + +और सवाल हैं? कमेंट छोड़ें, अपने दस्तावेज़ों पर कोड आज़माएँ, और कोडिंग का आनंद लें! + +![c# OCR ट्यूटोरियल स्क्रीनशॉट जिसमें कंसोल आउटपुट दिखाया गया है](/images/csharp-ocr-tutorial.png "c# 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/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/hindi/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..59b31573 --- /dev/null +++ b/ocr/hindi/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR ट्यूटोरियल जो दिखाता है कि इमेज फ़ाइलों से टेक्स्ट कैसे निकाला + जाए, PNG से टेक्स्ट पहचाना जाए, इमेज को स्ट्रिंग में बदला जाए, और Aspose.OCR का + उपयोग करके भाषा को स्वचालित रूप से पहचाना जाए। +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: hi +og_description: c# OCR ट्यूटोरियल जो आपको इमेज से टेक्स्ट निकालने, PNG फ़ाइलों से + टेक्स्ट पहचानने, इमेज को स्ट्रिंग में बदलने, और Aspose OCR का उपयोग करके भाषा का + स्वचालित पता लगाने में मार्गदर्शन करता है। +og_title: c# OCR ट्यूटोरियल – छवियों से टेक्स्ट निकालें +tags: +- C# +- OCR +- Aspose +- Image Processing +title: c# OCR ट्यूटोरियल – Aspose OCR के साथ छवियों से टेक्स्ट निकालें +url: /hi/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Aspose OCR के साथ इमेज से टेक्स्ट निकालें + +क्या आपको कभी **c# ocr tutorial** की ज़रूरत पड़ी है जो वास्तविक‑दुनिया की PNG फ़ाइल पर काम करे? शायद आप रसीद‑स्कैनर, बहुभाषी फ़ॉर्म प्रोसेसर बना रहे हैं, या सिर्फ यह जानना चाहते हैं कि टेक्स्ट की तस्वीर को खोज योग्य स्ट्रिंग में कैसे बदला जाए। जो भी कारण हो, आप सही जगह पर हैं। + +इस गाइड में हम आपको चरण‑दर‑चरण दिखाएंगे कि **इमेज फ़ाइल से टेक्स्ट निकालें**, **png से टेक्स्ट पहचानें**, **इमेज को स्ट्रिंग में बदलें**, और यहाँ तक कि **भाषा को स्वचालित रूप से पहचानें**—सब कुछ Aspose.OCR लाइब्रेरी के साथ। कोई अस्पष्ट रेफ़रेंस नहीं, सिर्फ एक पूर्ण, चलाने योग्य उदाहरण जिसे आप Visual Studio में कॉपी‑पेस्ट कर सकते हैं। + +## What You’ll Need + +- .NET 6.0 या बाद का संस्करण (कोड .NET Core और .NET Framework पर भी काम करता है) +- `Aspose.OCR` का NuGet रेफ़रेंस (वर्ज़न 23.9 या नया) +- एक इमेज फ़ाइल (`mixed‑script.png` इस उदाहरण में) जिसे एप्लिकेशन पढ़ सके +- C# की बुनियादी समझ (यदि आपने “Hello World” लिखा है, तो आप तैयार हैं) + +> **Pro tip:** यदि आपके पास लाइसेंस नहीं है, तो Aspose परीक्षण के लिए एक मुफ्त अस्थायी लाइसेंस देता है। बस `.lic` फ़ाइल को अपने executable के बगल में रखें। + +## Step 1 – Install the Aspose.OCR NuGet Package + +पहले, लाइब्रेरी को अपने प्रोजेक्ट में जोड़ें। Package Manager Console खोलें और चलाएँ: + +```powershell +Install-Package Aspose.OCR +``` + +या, यदि आप UI पसंद करते हैं, तो *Dependencies → Manage NuGet Packages* पर राइट‑क्लिक करें और **Aspose.OCR** खोजें। + +## Step 2 – Prepare the OCR Engine (c# ocr tutorial core) + +अब हम एक `OcrEngine` इंस्टेंस बनाएँगे, उसे ऑटो‑डिटेक्ट लैंग्वेज सेट करेंगे, और हमारे PNG फ़ाइल की ओर इशारा करेंगे। + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Why we set `Language = OcrLanguage.AutoDetect` + +ऑटोमैटिक भाषा पहचान आपको यह अनुमान लगाने से बचाती है कि इमेज में अंग्रेज़ी, रूसी, अरबी या मिश्रित भाषा है। यह **detect language automatically** परिदृश्य के लिए सबसे लचीला विकल्प है, और Aspose द्वारा समर्थित अधिकांश स्क्रिप्ट्स के लिए बॉक्स‑से‑बॉक्स काम करता है। + +## Step 3 – Run the Application and Verify the Output + +प्रोग्राम को कम्पाइल और रन करें (`dotnet run` या Visual Studio में **F5** दबाएँ)। यदि सब कुछ सही ढंग से सेट है, तो आपको कुछ इस तरह का आउटपुट दिखेगा: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +यह आउटपुट साबित करता है कि हमने सफलतापूर्वक **extract text from image**, **recognize text from png**, और **convert image to string** – सभी एक ही संक्षिप्त स्निपेट में किया। + +## Step 4 – Common Variations & Edge Cases + +### Handling Multiple Images + +यदि आपको PNG की डायरेक्टरी प्रोसेस करनी है, तो पहचान कॉल को `foreach` लूप में रैप करें: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Specifying a Fixed Language + +कभी‑कभी आप पहले से भाषा जानते हैं (जैसे केवल अंग्रेज़ी)। प्रोसेसिंग को तेज़ करने के लिए `AutoDetect` को `OcrLanguage.English` से बदल सकते हैं: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Dealing With Low‑Quality Scans + +Aspose.OCR प्री‑प्रोसेसिंग विकल्प (नॉइज़ रिडक्शन, डेस्क्यू) प्रदान करता है। एक त्वरित समाधान के लिए: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Saving the Result to a File + +कंसोल में प्रिंट करने के बजाय, आप निकाले गए टेक्स्ट को `.txt` फ़ाइल में लिखना चाह सकते हैं: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Step 5 – Full Working Example (Copy‑Paste Ready) + +नीचे **पूरा प्रोग्राम** दिया गया है जिसमें वैकल्पिक प्री‑प्रोसेसिंग और फ़ाइल‑आउटपुट लॉजिक शामिल है। पाथ्स को अपनी आवश्यकता अनुसार बदलें। + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Expected Output + +एक PNG जिसमें अंग्रेज़ी, रूसी, और अरबी मिश्रित हैं, पर प्रोग्राम चलाने पर यह आउटपुट मिलेगा: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +यदि इमेज खाली या अपठनीय है, तो इंजन खाली स्ट्रिंग रिटर्न करता है—आगे बढ़ने से पहले `string.IsNullOrWhiteSpace(extractedText)` की जाँच करके इस केस को हैंडल करें। + +## Frequently Asked Questions (FAQs) + +**Q: क्या Aspose.OCR हस्तलिखित (handwritten) टेक्स्ट को सपोर्ट करता है?** +A: यह प्रिंटेड OCR पर केंद्रित है। हस्तलिखित टेक्स्ट के लिए आपको एक समर्पित ML मॉडल या Azure Computer Vision जैसी सेवा की जरूरत होगी। + +**Q: क्या मैं इसे Linux/macOS पर चला सकता हूँ?** +A: बिल्कुल। Aspose.OCR क्रॉस‑प्लेटफ़ॉर्म है; बस अपने OS के लिए .NET रनटाइम इंस्टॉल करें। + +**Q: यदि मुझे PNG के बजाय PDF प्रोसेस करना है तो क्या करें?** +A: पहले प्रत्येक PDF पेज को इमेज में बदलें (जैसे `Aspose.PDF` का उपयोग करके) और फिर इमेज को OCR इंजन में फीड करें। + +## Conclusion + +हमने अभी एक **c# ocr tutorial** पूरा किया जिसमें **इमेज फ़ाइल से टेक्स्ट निकालना**, **png से टेक्स्ट पहचानना**, **इमेज को स्ट्रिंग में बदलना**, और **भाषा को स्वचालित रूप से पहचानना** Aspose.OCR के साथ दिखाया गया। कोड छोटा है, अवधारणाएँ स्पष्ट हैं, और आप इसे बैच प्रोसेसिंग, कस्टम भाषा सेटिंग्स, या वेब API में इंटीग्रेट करने के लिए विस्तारित कर सकते हैं। + +अगले कदम? OCR आउटपुट को सर्च इंडेक्स में फीड करें, इसे ट्रांसलेशन सर्विस को भेजें, या Azure Cognitive Services के साथ मिलाकर और भी समृद्ध डेटा पाइपलाइन बनाएं। एक बार जब आप C# में इमेज‑टू‑टेक्स्ट कन्वर्ज़न की बुनियादें समझ लेते हैं, तो संभावनाएँ असीमित हैं। + +हैप्पी कोडिंग, और विभिन्न इमेज क्वालिटी के साथ प्रयोग करना न भूलें—आपका OCR इंजन आपका धन्यवाद करेगा! + +![c# ocr tutorial – example of OCR output on a mixed‑script PNG](placeholder-image.png "c# ocr tutorial – OCR result screenshot") + +{{< /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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/hindi/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..b6dcefed --- /dev/null +++ b/ocr/hindi/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-01-09 +description: Aspose OCR के साथ PNG से तेज़ी से टेक्स्ट निकालें। जानें कि इमेज टेक्स्ट + कैसे पढ़ें, OCR की सटीकता कैसे बढ़ाएँ, और C# में साफ़ परिणाम प्राप्त करें। +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: hi +og_description: Aspose OCR के साथ PNG से तेज़ी से टेक्स्ट निकालें। इमेज टेक्स्ट पढ़ना + सीखें, OCR की सटीकता बढ़ाएँ, और C# में साफ़ परिणाम प्राप्त करें। +og_title: PNG से टेक्स्ट निकालें – पूर्ण Aspose OCR ट्यूटोरियल +tags: +- Aspose OCR +- C# +- Image Processing +title: PNG से टेक्स्ट निकालें – पूर्ण Aspose OCR ट्यूटोरियल +url: /hi/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNG से टेक्स्ट निकालें – पूर्ण Aspose OCR ट्यूटोरियल + +क्या आपको कभी **PNG से टेक्स्ट निकालना** पड़ा है लेकिन परिणाम बेतुके अक्षरों से भरे हुए थे? आप अकेले नहीं हैं। कई वास्तविक‑दुनिया के प्रोजेक्ट्स – इनवॉइस, रसीदें, या स्कैन किए गए फॉर्म – में OCR आउटपुट की गुणवत्ता ऑटोमेशन पाइपलाइन को सफल या विफल कर सकती है। + +इस गाइड में हम आपको Aspose OCR का उपयोग करके इमेज टेक्स्ट पढ़ने का **स्टेप‑बाय‑स्टेप** तरीका दिखाएंगे, कस्टम डिक्शनरी जोड़कर **OCR की सटीकता बढ़ाएँगे**, शोर को साफ़ करेंगे, और अंत में एक साफ़ स्ट्रिंग प्रिंट करेंगे। अंत तक आपके पास एक तैयार‑चलाने‑योग्य C# कंसोल ऐप होगा जो PNG इमेज से भरोसेमंद रूप से टेक्स्ट निकालता है। + +> **आपको क्या मिलेगा** +> * एक पूर्ण, चलाने योग्य कोड सैंपल। +> * यह समझना कि कस्टम डिक्शनरी क्यों महत्वपूर्ण है। +> * लो‑कॉन्ट्रास्ट स्कैन जैसे एज केस को संभालने के टिप्स। + +## आवश्यकताएँ + +- .NET 6 SDK या बाद का (कोड .NET 6 को टार्गेट करता है, लेकिन .NET 5 भी काम करता है)। +- Visual Studio 2022 या आपका पसंदीदा कोई भी एडिटर। +- एक **PNG** इमेज जिसे आप प्रोसेस करना चाहते हैं – उदाहरण के लिए `invoice.png`। +- **Aspose.OCR** NuGet पैकेज (`dotnet add package Aspose.OCR`)। + +कोई अतिरिक्त कॉन्फ़िगरेशन फ़ाइल की आवश्यकता नहीं है; सब कुछ एक ही `.cs` फ़ाइल में रहता है। + +## चरण 1 – Aspose OCR स्थापित करें और संदर्भित करें + +पहले, लाइब्रेरी को अपने प्रोजेक्ट में जोड़ें। अपने सॉल्यूशन फ़ोल्डर में एक टर्मिनल खोलें और चलाएँ: + +```bash +dotnet add package Aspose.OCR +``` + +यह एकल लाइन नवीनतम स्थिर संस्करण (जनवरी 2026 तक, संस्करण 23.9) को फ़ेच करती है। पैकेज में `OcrEngine` क्लास शामिल है जिसका हम पूरे ट्यूटोरियल में उपयोग करेंगे। + +## चरण 2 – OCR इंजन को प्रारंभ करें + +एक `OcrEngine` इंस्टेंस बनाना बुनियाद है। इसे ऐसे समझें जैसे आप एक स्कैनर को चालू कर रहे हैं जो पिक्सेल को पढ़ने के लिए तैयार है। + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **प्रो टिप:** यदि आप लूप में कई इमेज प्रोसेस करने की योजना बना रहे हैं, तो वही `OcrEngine` इंस्टेंस पुनः उपयोग करें। यह आंतरिक संसाधनों को कैश करता है और बाद के कॉल्स को तेज़ बनाता है। + +## चरण 3 – कस्टम डिक्शनरी के साथ सटीकता बढ़ाएँ + +आउट‑ऑफ़‑द‑बॉक्स OCR अच्छा है, लेकिन यह “Aspose”, “OCR”, या “SDK” जैसे डोमेन‑स्पेसिफिक शब्दों पर ठोकर खा सकता है। इन शब्दों को **कस्टम डिक्शनरी** में जोड़ने से इंजन को पता चलता है कि ये स्ट्रिंग्स वैध हैं, जिससे गलत पहचान कम होती है। + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### कस्टम डिक्शनरी क्यों मदद करती है + +- OCR के पीछे **स्टैटिस्टिकल मॉडल** सामान्य भाषा पैटर्न को भारी वज़न देते हैं। दुर्लभ शब्दों की संभावना कम होती है और वे समान दिखने वाले अक्षरों से बदल सकते हैं। +- उन्हें स्पष्ट रूप से सूचीबद्ध करके आप मॉडल की अनुमानित प्रक्रिया को ओवरराइड करते हैं। +- यह विशेष रूप से **इमेज टेक्स्ट पढ़ने** के लिए उपयोगी है जिसमें प्रोडक्ट कोड, संक्षिप्ताक्षर, या ब्रांड नाम होते हैं। + +## चरण 4 – PNG फ़ाइल से टेक्स्ट पहचानें + +अब हम इंजन को इमेज पाथ देते हैं। `RecognizeImage` मेथड एक रॉ स्ट्रिंग रिटर्न करता है जिसमें अभी भी अज्ञात टोकन (जैसे “#@!”) हो सकते हैं जिन्हें इंजन मैप नहीं कर सका। + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **एज केस:** यदि फ़ाइल नहीं मिलती, तो `RecognizeImage` `FileNotFoundException` फेंकता है। प्रोडक्शन कोड में इसे try‑catch ब्लॉक में रैप करें। + +## चरण 5 – `CleanText` के साथ परिणाम साफ़ करें + +Aspose OCR एक हेल्पर के साथ आता है जो “अज्ञात” के रूप में चिन्हित अक्षरों को हटाता है। यह चरण **इमेज से टेक्स्ट निकालने** वाले प्रोजेक्ट्स के लिए महत्वपूर्ण है जहाँ डाउनस्ट्रीम पार्सर केवल अल्फ़ान्यूमेरिक और बेसिक पंक्चुएशन की उम्मीद करता है। + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +`CleanText` मेथड लाइन एंडिंग्स को भी सामान्यीकृत करता है, जिससे आउटपुट को डेटाबेस में सुरक्षित रूप से स्टोर किया जा सके या अन्य सर्विसेज को पास किया जा सके। + +## चरण 6 – साफ़ किए गए टेक्स्ट को आउटपुट करें + +अंत में, परिणाम को डिस्प्ले या स्टोर करें। एक कंसोल ऐप में `Console.WriteLine` यह काम कर देता है। + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +जब आप प्रोग्राम चलाएँगे, तो आपको `invoice.png` की सामग्री को प्रतिबिंबित करने वाला एक साफ़ टेक्स्ट ब्लॉक दिखना चाहिए। यदि इमेज में शब्द “Aspose” है, तो कस्टम डिक्शनरी सुनिश्चित करती है कि वह सही रूप में दिखे, न कि “A5p0se” जैसा। + +## पूर्ण कार्यशील उदाहरण + +सब कुछ एक साथ मिलाते हुए, यहाँ पूरा `Program.cs` है जिसे आप नई कंसोल प्रोजेक्ट में कॉपी‑पेस्ट कर सकते हैं: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**अपेक्षित आउटपुट** (मान लेते हैं PNG में एक साधारण इनवॉइस है): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +यदि आपको अनचाहे प्रतीक दिखें, तो इमेज की क्वालिटी दोबारा जांचें या कस्टम डिक्शनरी में और शब्द जोड़ें। + +## बोनस: कम‑गुणवत्ता स्कैन को संभालना + +कभी‑कभी PNG 72 dpi पर स्कैन किए जाते हैं या उनमें भारी कम्प्रेशन आर्टिफैक्ट्स होते हैं। यहाँ कुछ त्वरित ट्रिक्स हैं जिससे **OCR की सटीकता बढ़े** बिना C# छोड़े: + +1. `SixLabors.ImageSharp` जैसी लाइब्रेरी से **इमेज को प्री‑प्रोसेस** करें – कंट्रास्ट बढ़ाएँ, ग्रेस्केल में बदलें, या शोर कम करने के लिए हल्का ब्लर लागू करें। +2. `OcrEngine` पर **`Resolution` प्रॉपर्टी सेट करें** (जैसे, `ocrEngine.Resolution = 300;`) ताकि इंजन इमेज को हाई‑रेज़ोल्यूशन मान ले। +3. यदि आप गैर‑इंग्लिश टेक्स्ट के साथ काम कर रहे हैं तो **भाषा पैक सक्षम करें** (`ocrEngine.Language = Language.English;`)। + +इन सभी तीन तरीकों को `RecognizeImage` कॉल से पहले जोड़ा जा सकता है। + +## अक्सर पूछे जाने वाले प्रश्न + +- **क्या यह अन्य इमेज फ़ॉर्मैट्स के साथ काम करता है?** + हाँ। `RecognizeImage` JPEG, BMP, TIFF, और यहाँ तक कि PDF (इमेज कंटेनर के रूप में) को भी स्वीकार करता है। वही स्टेप्स लागू होते हैं। + +- **क्या मैं फ़ोल्डर में कई PNG से टेक्स्ट निकाल सकता हूँ?** + बिल्कुल। कोर लॉजिक को `foreach (var file in Directory.GetFiles(folder, "*.png"))` लूप में रैप करें और प्रत्येक परिणाम को लिस्ट में स्टोर करें या अलग फ़ाइलों में लिखें। + +- **अगर मुझे टेक्स्ट के कॉर्डिनेट्स चाहिए तो?** + Aspose OCR `OcrResult` ऑब्जेक्ट्स भी देता है जिनमें बाउंडिंग बॉक्स शामिल होते हैं। उन्नत परिदृश्य के लिए `ocrEngine.RecognizeImageToResult(imagePath)` का उपयोग करें। + +## निष्कर्ष + +हमने Aspose OCR का उपयोग करके **PNG फ़ाइलों से टेक्स्ट निकालने** के लिए **पूरा, एंड‑टू‑एंड** समाधान दिखाया। इंजन को इनिशियलाइज़ करके, उसे **कस्टम डिक्शनरी** फ़ीड करके, रॉ आउटपुट को साफ़ करके, और कुछ सामान्य पिटफ़ॉल्स को संभालकर आप अपने C# एप्लिकेशन में भरोसेमंद रूप से **इमेज टेक्स्ट पढ़** सकते हैं और **OCR की सटीकता बढ़ा** सकते हैं। + +अगला कदम तैयार है? PNG को स्कैन की गई रसीद से बदलें, डिक्शनरी में और डोमेन‑स्पेसिफिक शब्द जोड़ें, या आउटपुट को डेटाबेस के साथ इंटीग्रेट करके ऑटोमैटिक इनवॉइस प्रोसेसिंग बनाएं। जब आप Aspose OCR को .NET के समृद्ध इकोसिस्टम के साथ मिलाते हैं तो संभावनाएँ अनंत हैं। + +हैप्पी कोडिंग, और आपका OCR हमेशा स्पॉट‑ऑन रहे! + +![PNG से टेक्स्ट निकालने का उदाहरण](/images/extract-text-from-png.png "PNG से टेक्स्ट निकालें – Aspose 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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/hindi/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..b8569add --- /dev/null +++ b/ocr/hindi/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,259 @@ +--- +category: general +date: 2026-01-09 +description: C# में Aspose OCR का उपयोग करके TIFF फ़ाइलों से टेक्स्ट निकालें। इस चरण‑दर‑चरण + ट्यूटोरियल में प्रत्येक परिणाम के पहले 50 अक्षर कैसे प्राप्त करें, सीखें। +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: hi +og_description: Aspose OCR का उपयोग करके C# में TIFF से टेक्स्ट निकालें। यह गाइड दिखाता + है कि प्रत्येक OCR परिणाम के पहले 50 अक्षर कैसे प्राप्त करें, चरण दर चरण। +og_title: Aspose OCR के साथ TIFF से टेक्स्ट निकालें – पूर्ण C# गाइड +tags: +- Aspose OCR +- C# +- TIFF processing +title: Aspose OCR C# के साथ TIFF से टेक्स्ट निकालें – पूर्ण ट्यूटोरियल +url: /hi/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# TIFF से टेक्स्ट निकालें – पूर्ण Aspose OCR C# ट्यूटोरियल + +क्या आपको कभी **TIFF से टेक्स्ट निकालने** की जरूरत पड़ी है लेकिन यह नहीं पता था कि किस लाइब्रेरी पर भरोसा किया जाए? आप अकेले नहीं हैं। कई डेवलपर्स को मल्टी‑पेज TIFFs से सर्चेबल टेक्स्ट निकालने में दिक्कत आती है, खासकर जब प्रदर्शन महत्वपूर्ण हो। + +इस **aspose ocr c# tutorial** में हम एक तैयार‑चलाने‑योग्य उदाहरण के माध्यम से चलेंगे जो न केवल पूरा टेक्स्ट निकालता है बल्कि आपको दिखाता है कि कैसे प्रत्येक पेज के **पहले 50 अक्षर** जल्दी प्रीव्यू के लिए प्राप्त करें। अंत तक आपके पास एक स्व-निहित प्रोग्राम होगा जिसे आप किसी भी .NET प्रोजेक्ट में डाल सकते हैं। + +## आपको क्या चाहिए + +- .NET 6 (या कोई भी हालिया .NET संस्करण) – कोड .NET Core और .NET Framework दोनों के साथ कम्पाइल होता है। +- एक सक्रिय Aspose.OCR for .NET लाइसेंस (आप मुफ्त ट्रायल से शुरू कर सकते हैं)। +- `.tif` फ़ाइलें वाली एक फ़ोल्डर जिसमें आप प्रोसेस करना चाहते हैं। +- Visual Studio, VS Code, या कोई भी IDE जो आप पसंद करें – उदाहरण साधारण C# है इसलिए एडिटर का चयन महत्व नहीं रखता। + +> **Pro tip:** यदि आप CI सर्वर पर हैं, तो अपने प्रोजेक्ट फ़ाइल में Aspose.OCR NuGet पैकेज (`Aspose.OCR`) जोड़ें; लाइब्रेरी पूरी तरह मैनेज्ड है और इसमें कोई नेटिव डिपेंडेंसी नहीं है। + +## चरण 1: Aspose OCR NuGet पैकेज स्थापित करें + +सबसे पहले, चलिए OCR इंजन को प्रोजेक्ट में लाते हैं। अपने सॉल्यूशन फ़ोल्डर में टर्मिनल खोलें और चलाएँ: + +```bash +dotnet add package Aspose.OCR +``` + +## चरण 2: OCR इंजन को इनिशियलाइज़ करें + +अब हम `OcrEngine` का एक इंस्टेंस बनाते हैं। इसे उस “ब्रेन” की तरह समझें जो हर TIFF पेज को पढ़ेगा। + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +हम इंजन को केवल एक बार क्यों बनाते हैं? क्योंकि `RecognizeImages` फ़ाइल पाथ्स के संग्रह को स्वीकार कर सकता है, जिससे इंजन आंतरिक बफ़र्स को पुनः उपयोग कर सकता है और बैच प्रोसेसिंग को काफी तेज़ बना देता है। + +## चरण 3: सभी TIFF फ़ाइलों को एक कॉल में इकट्ठा करें + +डायरेक्टरी पर खुद लूप करने के बजाय, हम .NET को भारी काम करने देते हैं। `Directory.GetFiles` मेथड एक `IEnumerable` लौटाता है जिसे हम सीधे OCR कॉल में पास कर सकते हैं। + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **What if my images are JPEG or PNG?** बस सर्च पैटर्न बदलें (`"*.jpg"` या `"*.*"`). Aspose OCR सभी सामान्य रास्टर फ़ॉर्मेट्स के साथ काम करता है। + +## चरण 4: पूरी कलेक्शन पर OCR चलाएँ + +यहाँ वह जादुई लाइन है जो हर फ़ाइल को एक ही अनुरोध में प्रोसेस करती है। मेथड एक डिक्शनरी लौटाता है जहाँ कुंजी फ़ाइल पाथ है और मान एक `OcrResult` ऑब्जेक्ट है जिसमें पहचाना गया टेक्स्ट होता है। + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +बैच‑प्रोसेस क्यों? यह OCR इंजन को बार‑बार लोड करने के ओवरहेड को कम करता है, और मल्टी‑कोर मशीनों पर Aspose आंतरिक रूप से काम को समानांतर करता है, जिससे आपको स्पष्ट गति वृद्धि मिलती है। + +## चरण 5: प्रीव्यू दिखाएँ – पहले 50 अक्षर प्राप्त करें + +अधिकांश UI परिदृश्यों को केवल एक स्निपेट चाहिए, पूरा दस्तावेज़ नहीं। हम पहले 50 अक्षर (या यदि पेज छोटा है तो कम) निकालेंगे और फ़ाइल नाम के साथ प्रिंट करेंगे। + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +`Math.Min(50, fullText.Length)` लाइन यह सुनिश्चित करती है कि हम स्ट्रिंग की सीमा से बाहर न जाएँ – एक छोटा सुरक्षा उपाय जो `ArgumentOutOfRangeException` को रोकता है जब OCR परिणाम 50 अक्षरों से छोटा हो। + +### अपेक्षित कंसोल आउटपुट + +मान लीजिए आपके पास दो TIFF फ़ाइलें (`invoice1.tif` और `receipt2.tif`) हैं, कंसोल इस तरह दिखा सकता है: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +प्रत्येक लाइन के अंत में एलिप्सिस (`...`) होता है यह दर्शाने के लिए कि प्रीव्यू केवल लंबे टेक्स्ट ब्लॉक की शुरुआत है। + +## चरण 6: एज केस और सामान्य pitfalls को संभालें + +### खाली या भ्रष्ट फ़ाइलें + +यदि कोई फ़ाइल पढ़ी नहीं जा सकती, तो भी `RecognizeImages` एक एंट्री लौटाता है जिसमें `Text` प्रॉपर्टी खाली होती है। आप इन्हें फ़िल्टर कर सकते हैं: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### बड़े बैच + +हजारों TIFF प्रोसेस करने से बहुत मेमोरी खर्च हो सकती है। ऐसे मामलों में, वह ओवरलोड उपयोग करें जो प्रति इमेज `Stream` स्वीकार करता है, या सूची को छोटे हिस्सों में प्रोसेस करें: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### भाषा और फ़ॉन्ट समर्थन + +यदि आपके दस्तावेज़ में गैर‑लैटिन अक्षर हैं, तो `RecognizeImages` कॉल करने से पहले भाषा सेट करें: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +यह छोटा बदलाव सटीकता को उल्लेखनीय रूप से बढ़ा सकता है। + +## चरण 7: पूर्ण कार्यशील उदाहरण (कॉपी‑पेस्ट तैयार) + +नीचे पूर्ण प्रोग्राम है जिसे आप नए कंसोल प्रोजेक्ट (`dotnet new console`) में पेस्ट कर सकते हैं और जैसा है वैसा चला सकते हैं (सिर्फ `YOUR_DIRECTORY/Batch` को वास्तविक पाथ से बदलें)। + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +`dotnet run` के साथ प्रोग्राम चलाएँ। आपको प्रत्येक TIFF फ़ाइल के लिए एक संक्षिप्त प्रीव्यू दिखना चाहिए, जो पुष्टि करता है कि आपने Aspose OCR का उपयोग करके सफलतापूर्वक **TIFF से टेक्स्ट निकाला** है। + +## अक्सर पूछे जाने वाले प्रश्न (FAQ) + +**Q: क्या यह मल्टी‑पेज TIFFs के साथ काम करता है?** +A: हाँ। Aspose OCR प्रत्येक पेज को आंतरिक रूप से एक अलग इमेज मानता है, इसलिए मल्टी‑पेज TIFF प्रत्येक फ़ाइल के लिए एक एकल संयोजित स्ट्रिंग देता है। आवश्यकता पड़ने पर आप बाद में इसे विभाजित कर सकते हैं। + +**Q: OCR की डिफ़ॉल्ट सटीकता कितनी है?** +A: साफ़, हाई‑रिज़ॉल्यूशन स्कैन (300 DPI या उससे अधिक) के लिए आप अंग्रेज़ी टेक्स्ट पर >95 % सटीकता की उम्मीद कर सकते हैं। प्री‑प्रोसेसिंग (डेस्क्यू, बाइनराइज़ेशन) इसे और भी बढ़ा सकता है। + +**Q: क्या मैं परिणामों को CSV फ़ाइल में आउटपुट कर सकता हूँ?** +A: बिल्कुल। `Console.WriteLine` को `StreamWriter` से बदलें और `fileName,preview` पंक्तियों को लिखें। प्रीव्यू टेक्स्ट में कॉमा को एस्केप करना याद रखें। + +## अगले कदम और संबंधित विषय + +- **Persist OCR results** – पूर्ण टेक्स्ट को डेटाबेस में स्टोर करें ताकि सर्चेबल आर्काइव बन सके। +- **Combine with PDF conversion** – Aspose.PDF का उपयोग करके निकाले गए टेक्स्ट को फिर से सर्चेबल PDFs में एम्बेड करें। +- **Batch processing on Azure Functions** – सर्वर प्रबंधन के बिना OCR कार्य को स्केल आउट करने के लिए Azure Functions पर बैच प्रोसेसिंग करें। + +इन सभी एक्सटेंशन का मूल विचार **TIFF से टेक्स्ट को कुशलतापूर्वक निकालना** है, जबकि आप अभी भी **पहले 50 अक्षर** जल्दी UI प्रीव्यू के लिए प्राप्त कर सकते हैं। + +--- + +*कोडिंग का आनंद लें! यदि आपको कोई अजीब बात मिलती है, तो नीचे टिप्पणी छोड़ें – मैं OCR पाइपलाइन को फाइन‑ट्यून करने में पूरी मदद करूँगा।* + +![Aspose OCR का उपयोग करके TIFF से टेक्स्ट निकालें](https://example.com/images/extract-text-from-tiff.png "Aspose OCR का उपयोग करके TIFF से टेक्स्ट निकालें") + +{{< /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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/hindi/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..c8b2a2c5 --- /dev/null +++ b/ocr/hindi/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-01-09 +description: C# में Aspose OCR का उपयोग करके JPG में टेक्स्ट को जल्दी पहचानें। एक + ही ट्यूटोरियल में इमेज से टेक्स्ट निकालना, इमेज को JSON और EPUB में बदलना सीखें। +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: hi +og_description: Aspose OCR के साथ JPG में टेक्स्ट को पहचानें। यह गाइड दिखाता है कि + कैसे छवि से टेक्स्ट निकाला जाए, छवि को JSON और EPUB में परिवर्तित किया जाए, और छवि + से एक ePub बनाया जाए। +og_title: JPG में टेक्स्ट को पहचानें – पूर्ण C# ट्यूटोरियल +tags: +- Aspose OCR +- C# +- Image Processing +title: Aspose OCR के साथ JPG में टेक्स्ट पहचानें – पूर्ण C# गाइड +url: /hi/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# jpg में टेक्स्ट पहचानें – Complete C# Guide + +क्या आपको कभी **jpg में टेक्स्ट पहचानने** की ज़रूरत पड़ी है लेकिन यह नहीं पता था कि कौन सी लाइब्रेरी चुनें? आप अकेले नहीं हैं। कई डेवलपर्स को वही समस्या आती है जब वे पहली बार फोटो या स्कैन किए हुए दस्तावेज़ से शब्द निकालने की कोशिश करते हैं। + +अच्छी खबर? Aspose OCR के साथ आप कुछ ही पंक्तियों के C# कोड में **image से टेक्स्ट निकाल सकते** हैं, फिर तुरंत **image को JSON में बदल सकते** हैं या यहाँ तक कि **image को EPUB में बदल सकते** हैं—बिना अपने IDE से निकले। + +इस ट्यूटोरियल में हम पूरे वर्कफ़्लो को देखेंगे: सही NuGet पैकेज इंस्टॉल करने से, JPG में टेक्स्ट पहचानने तक, और परिणाम को संरचित JSON तथा ePub दस्तावेज़ के रूप में सहेजने तक। अंत तक आप प्रोग्रामेटिकली **image से epub बनाना** सक्षम हो जाएंगे, जो e‑learning प्लेटफ़ॉर्म, डिजिटल लाइब्रेरीज़, या किसी भी ऐप के लिए उपयोगी है जिसे सर्चेबल e‑books चाहिए। + +--- + +## आपको क्या चाहिए + +- **.NET 6+** (या .NET Framework 4.6+). कोड किसी भी नवीनतम रनटाइम पर काम करता है। +- **Aspose.OCR** NuGet पैकेज – मुख्य OCR इंजन। +- **Aspose.Publishing** NuGet पैकेज – ePub आउटपुट फ़ॉर्मेट के लिए आवश्यक। +- एक इमेज फ़ाइल जिसका नाम `input.jpg` है, आपके डिस्क पर कहीं स्थित (पथ को अपने अनुसार बदलें)। +- एक टेक्स्ट एडिटर या IDE (Visual Studio, VS Code, Rider—आपकी पसंद)। + +बस इतना ही। कोई अतिरिक्त सर्विसेज नहीं, कोई बाहरी API नहीं, सिर्फ दो लाइब्रेरीज़ और एक JPG फ़ाइल। + +## चरण 1: अपने प्रोजेक्ट को **jpg में टेक्स्ट पहचानने** के लिए सेट अप करें + +First, create a new console application (or add to an existing project). Then add the two Aspose packages via the NuGet Package Manager: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Pro tip:** यदि आप Visual Studio का उपयोग कर रहे हैं, तो प्रोजेक्ट पर राइट‑क्लिक करें → *Manage NuGet Packages* → *Aspose.OCR* और *Aspose.Publishing* खोजें, फिर **Install** पर क्लिक करें। + +These packages bring in everything you need to **extract text from image** and to output an ePub file later on. + +## चरण 2: Aspose OCR का उपयोग करके **image से टेक्स्ट निकालें** + +अब हम वह कोड लिखेंगे जो वास्तव में JPG को पढ़ता है और उसमें से अक्षर निकालता है। + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Why this works:** `OcrEngine` सभी लो‑लेवल इमेज प्री‑प्रोसेसिंग, भाषा पहचान, और कैरेक्टर सेगमेंटेशन को एब्स्ट्रैक्ट कर देता है। आप बस इसे फ़ाइल की ओर इंगित करते हैं और यह एक `OcrResult` ऑब्जेक्ट लौटाता है जिसमें प्लेन‑टेक्स्ट स्ट्रिंग (`ocrResult.Text`) और मेटाडाटा का समृद्ध सेट होता है। + +## चरण 3: **image को JSON में बदलें** – OCR परिणाम को एक्सपोर्ट करना + +यदि आपको OCR आउटपुट को एक संरचित फ़ॉर्मेट में स्टोर करना है (API, डेटाबेस, या डाउनस्ट्रीम प्रोसेसिंग के लिए), तो Aspose इसे JSON में सीरियलाइज़ करना बहुत आसान बनाता है। + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +जेनरेट किया गया JSON लगभग इस तरह दिखता है (संक्षिप्तता के लिए ट्रिम किया गया): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**When to use it:** यदि आप OCR डेटा को वेब सर्विस में फीड कर रहे हैं, NoSQL स्टोर में स्टोर कर रहे हैं, या बस एक पोर्टेबल प्रतिनिधित्व चाहिए जिसे कोई भी भाषा पार्स कर सके, तो JSON एकदम उपयुक्त है। + +## चरण 4: **image को EPUB में बदलें** – eBook के रूप में सहेजना + +Aspose Publishing कई e‑book फ़ॉर्मेट्स, जिसमें EPUB भी शामिल है, का समर्थन जोड़ता है। `OcrResult` पर `Save` कॉल करके आप एक पूरी तरह से कॉम्प्लायंट ePub फ़ाइल बना सकते हैं जिसमें पहचाना गया टेक्स्ट और वैकल्पिक रूप से मूल इमेज शामिल हो। + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**What you get:** एक ePub जिसे आप किसी भी रीडर (Calibre, Apple Books, Adobe Digital Editions) में खोल सकते हैं। फ़ाइल में निकाला गया टेक्स्ट सर्चेबल कंटेंट के रूप में शामिल है, साथ ही स्रोत इमेज बैकग्राउंड लेयर के रूप में—**image से epub बनाना** पाइपलाइन बनाने के लिए आदर्श। + +## चरण 5: पूर्ण कार्यशील उदाहरण – JPG से JSON & EPUB तक + +सब कुछ मिलाकर, यहाँ पूरा, तैयार‑चलाने योग्य प्रोग्राम है। इसे `Program.cs` में कॉपी‑पेस्ट करें, फ़ाइल पाथ समायोजित करें, और **F5** दबाएँ। + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +प्रोग्राम चलाएँ और आपको तीन चीज़ें दिखनी चाहिए: + +1. कंसोल में प्रिंट किया गया पहचाना गया टेक्स्ट। +2. `output.json` फ़ाइल जिसमें संरचित OCR डेटा है। +3. `output.epub` फ़ाइल जिसे आप किसी भी e‑book रीडर से खोल सकते हैं। + +## सामान्य प्रश्न और किनारे के मामलों + +- **यदि इमेज PNG या BMP है तो क्या?** + Aspose OCR अधिकांश रास्टर फ़ॉर्मेट्स (PNG, BMP, TIFF, GIF) को सपोर्ट करता है। बस `inputPath` में फ़ाइल एक्सटेंशन बदल दें; वही कोड काम करेगा। + +- **क्या मैं अंग्रेज़ी के अलावा कोई अन्य भाषा निर्दिष्ट कर सकता हूँ?** + हाँ। `ocrEngine.Language = OcrLanguage.French;` (या कोई भी समर्थित भाषा) को `RecognizeImage` कॉल करने से पहले सेट करें। + +- **बहु‑पृष्ठ PDFs के बारे में क्या?** + PDF के लिए आप पहले प्रत्येक पृष्ठ को इमेज में बदलेंगे (Aspose.PDF यह कर सकता है) और फिर प्रत्येक इमेज को `RecognizeImage` को देंगे। प्राप्त `OcrResult` ऑब्जेक्ट्स को JSON या EPUB में एक्सपोर्ट करने से पहले मर्ज किया जा सकता है। + +- **मुझे कम कॉन्फिडेंस स्कोर मिल रहे हैं। सटीकता कैसे बढ़ाएँ?** + इमेज को प्री‑प्रोसेस करें: कंट्रास्ट बढ़ाएँ, डेस्क्यू करें, या ग्रेस्केल में बदलें। Aspose OCR `PreprocessOptions` भी प्रदान करता है जिसे आप ट्यून कर सकते हैं। + +## निष्कर्ष + +अब आपके पास एक ठोस, एंड‑टू‑एंड रेसिपी है जिससे आप Aspose OCR का उपयोग करके **jpg में टेक्स्ट पहचान** सकते हैं, फिर डेटा पाइपलाइन के लिए **image को JSON में बदल** सकते हैं और सर्चेबल e‑books बनाने के लिए **image को EPUB में बदल** सकते हैं। यह तरीका हल्का है, केवल दो NuGet पैकेज की आवश्यकता है, और सभी आधुनिक .NET रनटाइम्स पर काम करता है। + +अब आप कर सकते हैं: + +- JSON आउटपुट को एक सर्च इंडेक्स (Azure Cognitive Search, Elastic) में इंटीग्रेट करें। +- इमेजों के फ़ोल्डर को बैच‑प्रोसेस करें और ePub पुस्तकों की लाइब्रेरी बनाएं। +- वर्कफ़्लो को ट्रांसलेशन API के साथ विस्तारित करें ताकि मल्टी‑लिंगुअल e‑books ऑटोमैटिकली बन सकें। + +इसे आज़माएँ, विभिन्न इमेज क्वालिटी के साथ प्रयोग करें, और OCR इंजन को भारी काम करने दें। कोडिंग का आनंद लें! + +![jpg में टेक्स्ट पहचान आउटपुट स्क्रीनशॉट](placeholder-image.png "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/net/ocr-configuration/_index.md b/ocr/hongkong/net/ocr-configuration/_index.md index 7a560151..04dfb85c 100644 --- a/ocr/hongkong/net/ocr-configuration/_index.md +++ b/ocr/hongkong/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ url: /zh-hant/net/ocr-configuration/ 使用 Aspose.OCR for .NET 解鎖強大的 OCR 功能。將文字無縫地從圖像中提取。 ### [OCR 影像辨識中的 OCROperation 與列表](./ocr-operation-with-list/) 釋放 Aspose.OCR for .NET 的潛能。使用清單輕鬆執行 OCR 影像辨識。提高應用程式的生產力和資料提取。 +### [如何在 C# 中執行 OCR 圖像 – 完整指南與 GPU 支援](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +使用 Aspose.OCR 在 C# 中執行圖像文字辨識,完整步驟說明並支援 GPU 加速,提高處理效能。 +### [使用 Aspose OCR 從圖像辨識文字 – 完整 C# 指南](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +使用 Aspose.OCR 在 C# 中完整執行圖像文字辨識,提供逐步說明與最佳實踐。 + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/hongkong/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..59d12426 --- /dev/null +++ b/ocr/hongkong/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,197 @@ +--- +category: general +date: 2026-01-09 +description: 學習如何使用 Aspose.OCR 進行圖像 OCR 並提取圖像文字。包括將掃描文件轉換、啟用 GPU 以及使用 OCR 讀取圖像的步驟。 +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: zh-hant +og_description: 如何使用 Aspose.OCR 快速進行圖像 OCR。跟隨本步驟教學,提取圖像文字、轉換掃描文件,並啟用 GPU。 +og_title: 如何在 C# 中進行圖像 OCR – GPU 加速指南 +tags: +- OCR +- C# +- Aspose +- Image Processing +title: 如何在 C# 中對圖像進行光學字符辨識 – 完整的 GPU 支援指南 +url: /zh-hant/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 C# 中進行影像 OCR – 完整指南(支援 GPU) + +你是否曾好奇 **how to OCR image** 檔案如何直接從 .NET 應用程式中讀取?你並非唯一有此需求的開發者——開發者經常需要從 PDF、TIFF 與相片中擷取文字,尤其是處理大量掃描文件時。好消息是?使用 Aspose.OCR,你只需幾行程式碼即可 **extract image text**,甚至可以 **enable GPU** 加速以提升處理速度。 + +在本教學中,我們將逐步說明你需要了解的所有內容:從安裝函式庫、初始化具 GPU 後備機制的 OCR 引擎,到最終 **read image with OCR** 並顯示結果。完成後,你將能夠 **convert scanned document** 影像轉換為可編輯的字串——無需外部服務。 + +--- + +## 需要的條件 + +- **.NET 6.0** 或更新版本(此程式碼同樣適用於 .NET Core 與 .NET Framework)。 +- 一個 **license** 給 Aspose.OCR 或暫時的評估金鑰(免費試用可用於測試)。 +- 你想要處理的影像檔案——最好是高解析度的 TIFF 或 PNG。 +- (可選)具備 GPU 的機器,如果你想看到效能提升;否則引擎會自動回退至 CPU。 + +具備上述前置條件,即可專注於實際的 OCR 工作流程,而不會在之後卡關。 + +--- + +## 步驟 1:安裝 Aspose.OCR NuGet 套件 + +首先,將 Aspose.OCR 函式庫加入你的專案。於解決方案資料夾開啟終端機並執行: + +```bash +dotnet add package Aspose.OCR +``` + +或者,若你使用 Visual Studio 的 NuGet UI,只需搜尋 **Aspose.OCR** 並點擊安裝。此單一指令會下載所有必要的 DLL,包括可用時的原生 GPU 二進位檔。 + +> **專業提示:** 保持套件為最新版本。新版本通常會包含語言模型的改進與更好的 GPU 支援。 + +--- + +## 步驟 2:匯入必要的命名空間 + +套件安裝完成後,將相關的命名空間引入範圍。這一步即是我們在程式碼中開始 **how to OCR image** 的地方。 + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +這兩行程式碼讓你可以存取 `OcrEngine` 類別以及可切換 GPU 使用的設定物件。若缺少它們,編譯器將無法辨識 `OcrEngine` 是什麼。 + +--- + +## 步驟 3:初始化 OCR 引擎並啟用 GPU + +如果你曾想過 **how to enable GPU** 用於 OCR,這就是答案。我們建立 `OcrEngineSettings` 實例,將 `UseGpu` 旗標打開,並將其傳入引擎建構子。引擎會自動偵測是否有相容的 GPU;若無,則回退至 CPU——因此不需要額外的錯誤處理。 + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +為什麼要啟用 GPU?對於大型影像——例如多頁 TIFF 或高解析度掃描,處理時間可從數秒縮短至毫秒等級。若你在建構批次處理管線,這樣的效能提升會快速累積。 + +--- + +## 步驟 4:對目標影像執行 OCR + +這裡才是真正 **read image with OCR** 的地方。提供檔案路徑給引擎,即可取得辨識後的文字字串。此方式支援 Aspose 所支援的任何點陣圖格式(PNG、JPEG、TIFF、BMP 等)。 + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +若你需要 **convert scanned document** 頁面逐一處理,只要迴圈檔名並對每個檔案呼叫 `RecognizeImage` 即可。此方法為執行緒安全,你甚至可以在多核心 CPU 上平行化工作負載。 + +--- + +## 步驟 5:顯示或儲存擷取的文字 + +最後,我們輸出結果。在主控台應用程式中,`Console.WriteLine` 即可完成。實務上,你可能會將文字寫入資料庫、JSON 檔,或送入搜尋索引。 + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +上述程式碼會印出原始的 OCR 輸出。你會看到換行、偶爾的錯誤辨識,甚至少量雜訊字元——這在 OCR 中屬於正常現象。若有需要,可透過後處理(例如正規表達式清理)來整理結果。 + +> **注意:** Aspose.OCR 亦支援語言特定的字典。若你處理非英文文字,請在呼叫 `RecognizeImage` 前適當設定 `ocrEngine.Settings.Language`。 + +--- + +## 完整範例 + +將上述步驟整合起來,以下是一個可直接複製貼上至新主控台專案的完整程式: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**預期輸出**(為簡潔起見已截斷): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +執行程式後,你應該會在主控台視窗看到擷取的文字。若 GPU 可用,處理時間將明顯比僅使用 CPU 的機器更短。 + +--- + +## 常見陷阱與避免方式 + +| Issue | Why It Happens | Fix | +|-------|----------------|-----| +| **雜訊字元** | 低解析度來源或背景噪點。 | 在 OCR 前先前處理影像(提升 DPI、套用二值化)。 | +| **GPU 未使用** | 未安裝相容的 CUDA 驅動程式。 | 檢查驅動版本,或將 `UseGpu = false` 強制使用 CPU。 | +| **大型 TIFF 記憶體不足** | 一次載入整個檔案。 | 使用 `OcrEngineSettings.MaxMemoryUsage` 限制佔用,或逐頁處理。 | +| **語言偵測錯誤** | 預設語言為英文。 | 在呼叫 `RecognizeImage` 前設定 `ocrEngine.Settings.Language = Language.YourLanguage;`。 | + +--- + +## 擴充解決方案 + +既然你已能 **extract image text**,接下來可能想要: + +- **Convert scanned document** PDF 轉換為可搜尋的 PDF,方法是嵌入 OCR 層。 +- 將結果儲存於 **Azure Cognitive Search** 索引,以便快速檢索。 +- 若需要多語言支援,將 OCR 輸出串接至 **translation API**。 +- 使用 **Aspose.OCR** 的 `GetBoundingBoxes` 方法,找出每個單詞在影像上的位置——對於遮蔽工具相當便利。 + +所有這些擴充功能皆基於我們先前討論的核心原則:初始化引擎、提供影像,然後讀取文字。 + +--- + +## 結論 + +我們已完整示範了在 C# 中使用 Aspose.OCR 進行 **how to OCR image** 的端對端範例。透過安裝 NuGet 套件、匯入正確的命名空間、啟用 GPU(或回退至 CPU),以及呼叫 `RecognizeImage`,你即可可靠地 **extract image text**、**convert scanned document** 頁面,並在任何 .NET 應用程式中 **read image with OCR**。 + +試著在幾張自己的掃描檔上執行——嘗試不同的影像格式、切換 GPU 旗標,觀察效能變化。當你準備好時,可探索語言字典或邊界框提取等進階功能,讓你的解決方案更聰明。 + +祝程式開發順利,願你的 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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/hongkong/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..1e1b7955 --- /dev/null +++ b/ocr/hongkong/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,204 @@ +--- +category: general +date: 2026-01-09 +description: 使用 Aspose OCR 於 C# 辨識圖像文字。了解如何停用自動下載、擷取中文文字圖像,以及設定 OCR 語言。 +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: zh-hant +og_description: 使用 Aspose OCR 在 C# 中辨識圖像文字。請依照本步驟教學停用自動下載、提取中文文字圖像,並設定 OCR 語言。 +og_title: 使用 Aspose OCR 識別圖像文字 – 完整 C# 指南 +tags: +- Aspose OCR +- C# +- Image Processing +title: 使用 Aspose OCR 從圖像辨識文字 – 完整 C# 指南 +url: /zh-hant/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 使用 Aspose OCR 從圖像辨識文字 – 完整 C# 教學 + +有沒有曾經需要**從圖像辨識文字**,卻卡在設定細節上?你並不孤單。許多開發者在 OCR 引擎嘗試於執行時下載語言套件,或是無法從招牌照片中擷取中文字符時,會碰到瓶頸。 + +在本教學中,我們將一步步示範實作解決方案,教你如何**停用自動下載**、**擷取文字圖像**、**擷取中文文字圖像**,以及**設定 OCR 語言**——全部使用 Aspose OCR for .NET。完成後,你將擁有一個可直接執行的程式,將辨識出的文字直接印到主控台。 + +## 你將學會 + +- 如何安裝與引用 Aspose.OCR NuGet 套件。 +- 為何在離線或安全環境中關閉自動資源下載很重要。 +- 將引擎指向本機語言套件資料夾的具體步驟。 +- 在處理圖像前,如何選擇正確的語言(簡體中文)。 +- 驗證輸出結果並排除常見問題。 + +不需要任何 Aspose 的先前經驗;只要具備基本的 C# 環境與想要讀取的圖像檔案即可。 + +## 前置條件 + +| Requirement | Reason | +|-------------|--------| +| .NET 6.0 或更新版(或 .NET Framework 4.7+) | Aspose.OCR 支援這些執行環境。 | +| Visual Studio 2022(或任何你喜歡的 IDE) | 方便建立專案與除錯。 | +| 包含中文文字的圖像檔(例如 `chinese-sign.jpg`) | 用於示範**擷取中文文字圖像**。 | +| 本機 Aspose OCR 語言套件的副本(從 Aspose 入口網站下載一次) | 因為我們將**停用自動下載**。 | + +確保語言套件的 ZIP 檔案放置於可供參考的資料夾,例如 `C:\MyOCR\Resources`。 + +## 步驟 1:從圖像辨識文字 – 設定 OCR 引擎 + +首先,我們需要一個 `OcrEngineSettings` 物件,告訴 Aspose 資源的搜尋位置。這是任何**擷取文字圖像**操作的基礎。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +為什麼要將 `AutoDownloadResources` 設為 `false`?在生產環境中,你常常位於防火牆內,或是不希望應用程式在執行時連上網路。停用此功能可保證引擎僅使用你放在 `ResourceFolder` 的檔案,同時也加快初始化速度。 + +## 步驟 2:使用指定設定建立 OCR 引擎 + +設定完成後,我們開始實例化引擎。這一步之後,**設定 OCR 語言**的功能才會發揮作用。 + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +`OcrEngine` 物件相當輕量;在指派語言之前不會載入任何語言資料。這種延遲載入的機制讓你即使資源資料夾是空的也能安全建立引擎——直到你嘗試**擷取中文文字圖像**時才會需要語言檔案。 + +## 步驟 3:設定 OCR 語言 – 選擇簡體中文 + +Aspose 支援數十種語言,每種語言皆以 ZIP 檔案包裝。由於我們的範例圖像包含簡體中文字符,我們在辨識前會明確設定語言。 + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +如果遺漏此步驟,引擎會預設使用英文,導致輸出雜亂。另請注意,語言名稱必須與 `ResourceFolder` 內的 ZIP 檔案名稱相符。例如,應存在 `ChineseSimplified.zip`。 + +## 步驟 4:從目標圖像擷取文字 + +在引擎完成設定且語言已指定後,我們終於可以**從圖像辨識文字**。此方法會回傳純文字字串,你可以將其記錄、儲存,或傳遞給其他系統。 + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +`RecognizeImage` 的呼叫會完成所有繁重工作:前處理、分割、字符比對,最後組合結果。若圖像清晰且語言套件正確,你將在主控台看到中文字符。 + +> **提示:** 若只想擷取圖像的某一部分(例如特定區域),可使用 `RecognizeImage(string, Rectangle)` 的重載,傳入裁切矩形。 + +## 完整範例程式 + +以下是完整程式碼,你可以直接複製貼上到新的主控台專案中。它包含 `using` 陳述式、設定、語言選擇以及最終輸出。將檔案存為 `Program.cs`,還原 NuGet 套件後執行。 + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### 預期輸出 + +如果 `chinese-sign.jpg` 包含「欢迎光临」這句話,主控台將顯示類似以下內容: + +``` +=== Recognized Text === +欢迎光临 +``` + +具體格式可能因圖像品質而異,但字符應該是可辨識的。 + +## 常見問題與專業提示 + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| **空字串回傳** | 找不到語言套件或 `AutoDownloadResources` 仍在嘗試下載 | 確認 `ResourceFolder` 路徑,且 `ChineseSimplified.zip` 已存在。 | +| **雜訊字符** | 圖像模糊或低對比度 | 在傳入 `RecognizeImage` 前先前處理圖像(提升對比、二值化)。 | +| **例外:`FileNotFoundException`** | 圖像路徑錯誤 | 使用絕對路徑,或將圖像放在專案輸出目錄,並以 `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")` 參考。 | +| **效能延遲** | 圖像尺寸過大 | 在辨識前將圖像調整至合理寬度(例如 1024 px)。 | + +**專業提示:** 將語言套件放在受版本控制的資料夾中。升級 Aspose.OCR 時,新套件可能使用不同的命名規則,這可能會悄悄破壞你的**停用自動下載**策略。 + +## 擴充範例 + +既然你已能**從圖像辨識文字**,你可能想要: + +- **批次處理** 資料夾中的圖像(迴圈檔案,每次呼叫 `RecognizeImage`)。 +- **匯出** 結果為 CSV 或 JSON 檔案,以供後續分析。 +- **結合** OCR 與翻譯 API,即時將中文招牌轉為英文。 + +所有這些情境皆重複相同的核心步驟:一次設定、設定語言,然後呼叫 `RecognizeImage`。模組化設計讓程式碼保持乾淨且易於維護。 + +## 結論 + +你剛剛學會如何在 C# 中使用 Aspose 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/net/ocr-optimization/_index.md b/ocr/hongkong/net/ocr-optimization/_index.md index 05c42f92..a4c44cda 100644 --- a/ocr/hongkong/net/ocr-optimization/_index.md +++ b/ocr/hongkong/net/ocr-optimization/_index.md @@ -50,9 +50,12 @@ url: /zh-hant/net/ocr-optimization/ 使用 Aspose.OCR for .NET 提高 OCR 準確性。輕鬆修正拼字、自訂字典並實現無錯誤的文字辨識。 ### [在 OCR 影像辨識中將多頁結果儲存為文檔](./save-multipage-result-as-document/) 釋放 Aspose.OCR for .NET 的潛能。透過這份全面的分步指南,輕鬆將多頁 OCR 結果儲存為文件。 +### [C# OCR 教學:使用預處理辨識圖像文字](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +學習如何在 C# 中使用 Aspose.OCR 進行圖像預處理,提升文字辨識準確度。 + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/hongkong/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..672f2051 --- /dev/null +++ b/ocr/hongkong/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: C# OCR 教學,展示如何從圖像辨識文字以及使用 Aspose.OCR 篩選器對圖像進行 OCR 前處理 – 步驟說明指南。 +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: zh-hant +og_description: c# OCR 教學,逐步帶你從影像辨識文字,並使用 Aspose.OCR 過濾器進行影像前處理。附完整程式碼。 +og_title: c# OCR 教學 – 透過前置處理辨識圖像文字 +tags: +- OCR +- C# +- Image Processing +title: c# OCR 教學:使用前處理從圖片辨識文字 +url: /zh-hant/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr 教學 – 使用前處理辨識影像文字 + +Ever wondered how to **recognize text from image** in a C# application without spending weeks tweaking filters? You're not alone. In this **c# ocr tutorial** we’ll walk through a complete, ready‑to‑run example that not only reads the text but also **preprocesses the image for OCR** to boost accuracy. + +We’ll use the Aspose.OCR library because it ships with a handy filter pipeline that lets you plug‑in deskew, denoise, and contrast‑boost steps in just a few lines. By the end of this guide you’ll have a console app that can take a skewed, noisy PNG, clean it up, and spit out the extracted string—all with clear explanations of why each step matters. + +## 前置條件 + +Before we dive in, make sure you have: + +| 需求 | 為何重要 | +|------|----------| +| .NET 6 SDK (or later) | 現代 C# 功能與更佳效能 | +| Visual Studio 2022 (or VS Code) | 便利的除錯與 IntelliSense | +| NuGet package **Aspose.OCR** | 提供 `OcrEngine` 與濾鏡類別 | +| An input image (e.g., `skewed‑noisy.png`) | 展示前處理的必要性 | + +If any of these are missing, install them first. The NuGet step is covered in the next section. + +## 步驟 1:透過 NuGet 安裝 Aspose.OCR + +Open your terminal (or Package Manager Console) and run: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** 使用 `--version` 旗標鎖定特定版本,以確保可重現的建置。 + +The package ships with all the filters we’ll need, so no extra DLLs are required. + +## 步驟 2:初始化 OCR Engine – c# ocr 教學的核心 + +Creating the engine is straightforward, but it’s worth understanding what happens under the hood. The `OcrEngine` holds a pipeline of **filters** that manipulate the bitmap before the recognition algorithm runs. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Why initialize first?** 引擎會快取內部資源(例如語言模型)。在多張影像間重複使用同一個實例可節省記憶體並加速後續辨識。 + +## 步驟 3:前處理影像以供 OCR – 加入去斜、去噪與對比度提升 + +Most real‑world scans aren’t perfect; they’re tilted, speckled, or too dark. That’s why **preprocess image for OCR** is a critical step. Aspose provides three filters that work together nicely: + +| 濾鏡 | 功能說明 | 典型使用情境 | +|------|----------|--------------| +| `DeskewFilter` | 旋轉影像以校正傾斜 | 掃描器掃描的文件 | +| `DenoiseFilter` | 移除孤立像素(「鹽與胡椒」雜訊) | 低光照照片 | +| `ContrastBoostFilter` | 提升對比度以加強文字邊緣 | 褪色的列印品或低解析度的擷取 | + +Below is the code that adds each filter to the engine’s pipeline: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **How it works:** 當稍後呼叫 `RecognizeImage` 時,engine 會依序執行這三個濾鏡,然後將清理過的位圖傳遞給辨識核心。 + +### 視覺說明(可選) + +If you embed an image, make sure the alt text contains the primary keyword: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## 步驟 4:辨識影像文字 – 真正的關鍵時刻 + +Now that the image is pre‑processed, we can finally extract the characters. The method returns a plain string, which you can log, store, or feed into another system. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### 預期輸出 + +Running the sample against a typical invoice scan yields something like: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +If the output looks garbled, double‑check the image quality and consider tweaking the `ContrastBoostFilter.Level` (values > 2.0 can be too aggressive). + +## 步驟 5:輸出結果與可選的後處理 + +A console app can simply write the string, but many projects need extra handling—like trimming whitespace, removing line breaks, or feeding the text into a database. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### 為何需要後處理? + +Even with good preprocessing, OCR often introduces stray line breaks or invisible characters. A quick `Replace` chain can make the data far more usable downstream. + +## 步驟 6:完整範例 – 可直接複製貼上 + +Below is the **complete** program you can compile and run immediately. It includes all the using statements, filter setup, OCR call, and output handling. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**如何執行** + +1. 將檔案儲存為 `Program.cs`,放在新建立的 console 專案中(`dotnet new console`)。 +2. 將 `YOUR_DIRECTORY/skewed-noisy.png` 替換為實際測試影像的路徑。 +3. 執行 `dotnet run`。你應該會在終端機看到 OCR 輸出。 + +## 常見問題與技巧(可靠地辨識影像文字) + +| 問題 | 檢查項目 | 解決方式 | +|------|----------|----------| +| **Garbage characters** | 影像過暗或解析度太低 | 提升 `ContrastBoostFilter.Level` 或使用更高解析度的來源 | +| **Missing lines** | Deskew 未完全校正角度 | 先手動旋轉影像,或調整 `DeskewFilter` 容差 | +| **Slow performance** | 在迴圈中處理大量大型影像 | 重複使用同一個 `OcrEngine` 實例,並在每次執行後呼叫 `ocrEngine.Clear()` | +| **Unsupported language** | 文字不是英文 | 在辨識前設定 `ocrEngine.Language = OcrLanguage.French`(或其他支援的語言) | + +### 邊緣案例:處理多頁 PDF + +If you need to OCR a PDF, convert each page to an image (e.g., using `Aspose.PDF`) and feed them one‑by‑one to the same engine. The preprocessing pipeline remains identical, ensuring consistent results across pages. + +## 結論 + +In this **c# ocr tutorial** we covered everything you need to **recognize text from image** and **preprocess image for OCR** using Aspose.OCR’s built‑in filters. By initializing the engine, adding deskew, denoise, and contrast‑boost steps, and finally calling `RecognizeImage`, you get clean, reliable text extraction with just a handful of lines of code. + +Feel free to experiment—swap in a different filter, tweak the contrast level, or integrate the result into a larger data‑pipeline. The concepts here apply to any OCR library: preprocessing is often the difference between a half‑read invoice and a perfectly captured document. + +Got more questions? Maybe you’re curious about handling handwritten text or batch‑processing thousands of files. Drop a comment, and we’ll explore those scenarios together. 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/hongkong/net/text-recognition/_index.md b/ocr/hongkong/net/text-recognition/_index.md index 948767d8..968034c0 100644 --- a/ocr/hongkong/net/text-recognition/_index.md +++ b/ocr/hongkong/net/text-recognition/_index.md @@ -55,9 +55,20 @@ url: /zh-hant/net/text-recognition/ 使用 Aspose.OCR 釋放 .NET 中 OCR 的潛力。輕鬆從 PDF 中提取文字。立即下載以獲得無縫整合體驗。 ### [OCR影像辨識中的辨識表](./recognize-table/) 透過我們關於 OCR 影像辨識中表格辨識的綜合指南,釋放 Aspose.OCR for .NET 的潛力。 +### [C# OCR 教程 – 從 PNG 收據中提取印地語文字](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +使用 Aspose.OCR,從 PNG 收據圖像中提取印地語文字,提升您的 .NET 應用程式的多語言 OCR 能力。 +### [使用 Aspose OCR 識別 JPG 圖片文字 – 完整 C# 教程](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +### [使用 Aspose OCR 識別 PNG 圖片文字 – 完整 C# 教程](./extract-text-from-png-complete-aspose-ocr-tutorial/) +### [C# OCR 教程:從圖像和 DJVU 檔案中提取文字](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +使用 Aspose.OCR 從圖像和 DJVU 檔案中提取文字,提升您的 .NET 應用程式的 OCR 能力。 +### [使用 Aspose OCR C# 從 TIFF 提取文字 – 完整教學](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +學習如何使用 Aspose OCR C# 從 TIFF 圖像中提取文字,完整步驟教學,提升您的 .NET OCR 能力。 +### [C# OCR 教程 – 使用 Aspose OCR 從圖像提取文字](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +使用 Aspose OCR,從各類圖像中提取文字,提升您的 .NET 應用程式的 OCR 功能。 + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/hongkong/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..efada5bf --- /dev/null +++ b/ocr/hongkong/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,233 @@ +--- +category: general +date: 2026-01-09 +description: C# OCR 教學:從 PNG 讀取文字,將影像轉換為文字,並使用 Aspose OCR 識別收據上的印地語文字。 +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: zh-hant +og_description: C# OCR 教學,教您如何從 PNG 讀取文字、將圖像轉換為文字,並使用 Aspose OCR 識別收據上的印地語文字。 +og_title: c# OCR 教學 – 從 PNG 收據中提取印地語文字 +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# OCR 教學 – 從 PNG 收據提取印地語文字 +url: /zh-hant/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR 教學 – 從 PNG 收據中提取印地語文字 + +有沒有想過如何在 C# 應用程式中 **讀取 PNG** 檔案的文字?也許你手頭有一堆印地語收據,需要自動提取金額。這正是本 c# OCR 教學要解決的——只需幾行程式碼即可將影像轉換為可搜尋的文字。 + +在本指南中,我們將逐步說明如何安裝 Aspose OCR、載入 PNG 收據、辨識印地語字元,最後將擷取的字串印出到主控台。完成後,你將能夠 **將影像轉換為文字**、**辨識印地語文字**,甚至 **從收據影像中提取文字**,且全程不離開 IDE。 + +> **先決條件說明:** 你需要一個有效的 Aspose OCR 授權(或使用免費試用版),並已安裝 .NET 6 以上版本。如果你是 NuGet 新手,別擔心——我們也會說明。 + +--- + +## 需要的工具 + +- **Visual Studio 2022**(或任何相容 C# 的編輯器) +- **.NET 6 SDK**(或更新版本) +- **Aspose.OCR** NuGet 套件 + ```bash + dotnet add package Aspose.OCR + ``` +- 範例收據影像,例如 `hindi-receipt.png`,存放於專案資料夾中。 + +準備好以上項目後,你就能直接複製貼上最終程式碼,並立即按 **F5** 執行。 + +--- + +## 步驟 1:建立專案並匯入命名空間 + +首先,若尚未有專案,請建立一個 Console 專案: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +接著開啟 `Program.cs`。在檔案頂部匯入 Aspose OCR 的命名空間,讓編譯器能找到相關類別: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **為什麼重要:** `OcrEngine` 位於 `Aspose.OCR`,而語言相關的列舉則在 `Aspose.OCR.Settings`。若遺漏任一項,將導致編譯時錯誤。 + +--- + +## 步驟 2:初始化 OCR 引擎並選擇語言模型 + +OCR 引擎必須知道要辨識 **哪種語言**。Aspose 提供多種語言套件;指定 `OcrLanguage.Hindi` 即可告訴引擎下載(若尚未存在)並使用印地語模型。 + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **專業提示:** 若你打算處理多語言收據,可在執行時切換 `Language`,甚至啟用 `MultiLanguage` 模式。 + +--- + +## 步驟 3:將 PNG 收據送入引擎 + +這裡就是 **讀取 PNG 文字** 的地方。提供完整路徑(相對於可執行檔亦可),此方法會回傳一個純文字字串,包含引擎能辨識的所有內容。 + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +若影像解析度高且文字清晰,將得到近乎完美的結果。對於雜訊較多的掃描,可考慮前處理(例如二值化)——Aspose 提供 `PreprocessImage` 方法,日後可進一步探索。 + +--- + +## 步驟 4:顯示或儲存擷取的文字 + +大多數開發者在測試時會直接將結果輸出到主控台。實務上,你可能會寫入資料庫或 CSV 檔案。 + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +執行程式並使用範例收據時,會輸出類似以下內容: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +這就是 **將影像轉換為文字** 的實際運作——不需要手動抄寫。 + +--- + +## 完整範例(可直接複製貼上) + +以下是完整、獨立的程式碼。將其貼入 `Program.cs`,把 `hindi-receipt.png` 放在編譯後的 `.exe` 同目錄,然後按 **Ctrl + F5** 執行。 + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### 預期輸出 + +當收據影像中的印地語字元清晰時,主控台會顯示擷取的行,並保留換行。若 OCR 無法辨識某個字詞,則會出現亂碼片段——提示你需要提升影像品質或調整前處理。 + +--- + +## 步驟 5:更進一步 – 程式化擷取收據文字 + +若你的目標是 **從收據中提取文字**(如日期、總金額、發票號碼),可以使用正規表達式對 OCR 結果字串進行後處理: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +--- + +## 常見問題與避免方法 + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **空白輸出** | 影像路徑錯誤或檔案未複製至輸出資料夾。 | 使用 `Path.GetFullPath`,並確認檔案存在 (`File.Exists`)。 | +| **雜訊字元** | PNG 解析度低或顏色被壓縮。 | 將影像放大,將 DPI 設為 300 以上,或使用 `ocrEngine.ImagePreprocessor`。 | +| **語言模型未下載** | 首次執行時無網路連線。 | 透過 Aspose 入口網站預先下載印地語模型,或自行在本機部署。 | +| **效能延遲** | 在迴圈中處理大量頁面卻未釋放資源。 | 將 `OcrEngine` 包於 `using` 區塊,或重複使用同一個實例。 | + +--- + +## 圖片說明 + +![c# OCR 教學:從 PNG 收據讀取印地語文字](https://example.com/placeholder-image.png "c# OCR 教學 – 從 PNG 收據讀取文字") + +*此截圖顯示印地語收據在 OCR 轉換前後的樣子。* + +--- + +## 重點回顧:我們學了什麼 + +- 建立 C# Console 應用程式並加入 Aspose OCR NuGet 套件。 +- 使用 **recognize hindi text** 語言模型初始化 `OcrEngine`。 +- **Read text from PNG** 使用 `RecognizeImage`。 +- **Convert image to text** 並印出結果。 +- 示範簡單的模式以 **extract text from receipt** 欄位。 + +--- + +## 往後步驟與相關主題 + +1. **Batch processing** – 迴圈處理資料夾中的收據影像,並將結果儲存為 CSV。 +2. **Pre‑processing** – 探索 `ocrEngine.ImagePreprocessor` 以進行噪點移除、傾斜校正或對比度增強。 +3. **Multi‑language OCR** – 啟用 `OcrLanguage.Multilingual` 以處理同時包含印地語與英文的收據。 +4. **Integration** – 將擷取的資料寫入 Entity Framework Core 模型,以實現永久儲存。 + +如果你對上述任一主題感興趣,可參考我們關於 **convert image to text in C#** 與 **extract structured data from OCR results** 的教學。 + +### 祝開發順利! + +如果遇到問題,歡迎留下評論,或分享你在專案中如何擴充此 **c# 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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/hongkong/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..2a6b8aa7 --- /dev/null +++ b/ocr/hongkong/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,251 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR 教學,示範如何從圖像檔案提取文字,並使用 Aspose.OCR 將 DJVU 轉換為文字。分鐘內學會一步步提取。 +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: zh-hant +og_description: C# OCR 教學,快速示範如何從圖像檔案提取文字,並使用 Aspose.OCR 將 DJVU 轉換為文字。請按照指南獲得可行的解決方案。 +og_title: C# OCR 教學 – 從圖像與 DJVU 提取文字 +tags: +- OCR +- C# +- Aspose +title: c# OCR 教學:從圖像與 DJVU 檔案提取文字 +url: /zh-hant/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR 教學 – 從圖像與 DJVU 檔案提取文字 + +有沒有想過如何在不抓狂的情況下從圖像檔案中提取文字?在本 **c# OCR 教學** 中,我們將逐步示範一個完整、可直接執行的範例,從一般圖片 *以及* DJVU 文件中提取文字。 + +如果你也在尋找快速的 **將 DJVU 轉換為文字** 方法,恭喜你來對地方了——不需要額外的轉換工具,僅使用純 C# 程式碼。 + +## 你將學到 + +- 如何在 .NET 專案中設定 Aspose.OCR 函式庫。 +- 取得 **從圖像提取文字** 所需的完整程式碼。 +- 一個簡潔的 **從 DJVU 提取文字** 方法(是的,同一個引擎即可完成)。 +- 常見的陷阱(大型檔案、缺少字型、授權問題)以及避免方式。 + +你只需要最新的 .NET SDK 以及網路連線以下載 NuGet 套件。無需任何 OCR 先前經驗。 + +## 前置條件 + +在深入之前,請確保你已具備以下條件: + +| 需求 | 原因說明 | +|------|----------| +| .NET 6.0 or later | Aspose.OCR 目標為 .NET Standard 2.0,使用 .NET 6 以上可獲得最佳效能。 | +| Visual Studio 2022 (or VS Code) | IDE 可讓套件管理變得輕鬆,但任何編輯器皆可使用。 | +| NuGet package **Aspose.OCR** | 這是實際執行繁重工作的引擎。 | +| A sample image (`sample.png`) and a DJVU file (`sample.djvu`) | 我們將使用它們示範兩種提取情境。 | + +你可以使用以下指令安裝套件: + +```bash +dotnet add package Aspose.OCR +``` + +> **小技巧:** 若在 CI 伺服器上,於建置步驟加入 `--no-restore`,並在開始時一次還原,以加快速度。 + +## 步驟 1:初始化 OCR 引擎 – c# OCR 教學的核心 + +我們首先要做的是建立 `OcrEngine` 的實例。可以把它想像成在程式中開啟掃描器。 + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +為什麼每次都要建立新引擎?因為引擎會保存設定(語言、偵測模式等)。重新建立可避免舊設定在執行間互相影響。 + +## 步驟 2:載入並辨識圖像 – 如何從圖像提取文字 + +現在我們將一般位圖(PNG、JPEG、BMP…)輸入引擎。`RecognizeImage` 方法會回傳辨識出的字串。 + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +* **File existence** – 若路徑錯誤,方法會拋出 `FileNotFoundException`。若預期使用者提供路徑,請以 `try/catch` 包住。 +* **Image quality** – OCR 在 300 dpi 以上的圖像上表現最佳。低解析度的掃描可能產生亂碼。 +* **Language support** – 預設 Aspose.OCR 假設使用英文。若要變更語言,請在 `RecognizeImage` 前設定 `ocrEngine.Language = Language.Spanish;`。 + +## 步驟 3:辨識 DJVU 文件中的文字 – 將 DJVU 轉換為文字 + +DJVU 是一種可容納多頁的容器格式。Aspose.OCR 能直接處理,只需指向該檔案即可。 + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +在底層,引擎會將每一頁提取為圖像,並使用相同的辨識流程。因此不需要額外的「將 DJVU 轉換為文字」步驟——OCR 引擎會自行完成。 + +### 處理多頁 DJVU 檔案 + +若 DJVU 包含多頁,`RecognizeImage` 會依序串接它們。若需要每頁分開取得,可使用回傳 `List` 的重載方法: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## 步驟 4:微調引擎以提升準確度 – 為什麼這很重要 + +預設的辨識結果已相當不錯,但透過調整幾個設定仍可進一步提升: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +這些旗標在 **如何從先儲存為 DJVU 的掃描 PDF 提取文字** 時特別有用。開啟方向偵測可免除手動旋轉圖像的步驟。 + +## 步驟 5:處理授權與執行時錯誤 + +Aspose.OCR 提供免費試用版,會在輸出數頁後加上「Demo」水印。若要移除水印,請加入授權檔案: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +若遺漏此步驟,引擎仍會運作,但結果會包含「Demo」字樣。另外,處理大型 DJVU 檔案時要留意 `OutOfMemoryException`——可參考前述逐頁處理的方式。 + +## 完整、可執行的範例 + +以下是一個獨立的 Console 程式,將所有步驟整合在一起。直接複製貼上、調整檔案路徑,然後按 **Run** 即可。 + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**預期輸出**(假設檔案內含「Hello World」字串): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +若來源檔案有多行文字,將會完整保留原始文件的換行。 + +## 常見問題與邊緣案例處理 + +* **如果圖像是黑白的呢?** + OCR 仍能正常運作,但可透過 `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;` 提升對比度。 + +* **我只能提取數字嗎?** + 可以——在呼叫 `RecognizeImage` 前設定 `ocrEngine.CharWhitelist = "0123456789";`。 + +* **檔案大小有上限嗎?** + 引擎會將整個檔案載入記憶體。對於超過約 100 MB 的檔案,建議改為逐頁處理(參見步驟 3 的 List 重載)。 + +* **這與 Tesseract 有何不同?** + Aspose.OCR 為商業函式庫,內建 DJVU 支援且無需本機相依檔案;而 Tesseract 需要本機二進位檔及額外的 DJVU 轉換工具。 + +## 結論 + +你剛完成一個 **c# OCR 教學**,示範如何使用 Aspose.OCR **從圖像檔案提取文字**,以及無縫 **將 DJVU 轉換為文字**。此範例涵蓋從套件安裝到授權、從單頁圖像提取到多頁 DJVU 處理,甚至還提供提升準確度的技巧。 + +接下來,你可以探索 **如何從 PDF 提取文字**、將 OCR 步驟整合至 Web API,或嘗試語言套件以處理多語言文件。沒有任何限制——只要記住關鍵要點:設定引擎、提供檔案、讀取回傳的字串。 + +還有其他問題嗎?歡迎留言、在自己的文件上測試程式碼,祝開發愉快! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# OCR tutorial – console output 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/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/hongkong/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..9bf628b8 --- /dev/null +++ b/ocr/hongkong/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR 教學,示範如何從圖像檔案提取文字、從 PNG 識別文字、將圖像轉換為字串,並使用 Aspose.OCR 自動偵測語言。 +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: zh-hant +og_description: C# OCR 教學,一步步帶領你從圖像中提取文字、辨識 PNG 檔案中的文字、將圖像轉換為字串,並使用 Aspose OCR 自動偵測語言。 +og_title: C# OCR 教學 – 從圖像提取文字 +tags: +- C# +- OCR +- Aspose +- Image Processing +title: C# OCR 教學 – 使用 Aspose OCR 從圖像提取文字 +url: /zh-hant/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr 教學 – 使用 Aspose OCR 從影像中擷取文字 + +有沒有需要一個實際可用於真實 PNG 檔案的 **c# ocr 教學**?也許你正在開發收據掃描器、多語言表單處理器,或只是好奇如何把文字圖片轉換成可搜尋的字串。無論是哪種情況,你都來對地方了。 + +在本指南中,我們將一步一步示範如何 **extract text from image** 檔案、**recognize text from png**、**convert image to string**,甚至 **detect language automatically**——全部使用 Aspose.OCR 函式庫。沒有模糊的參考,只有完整、可執行的範例,你可以直接複製貼上到 Visual Studio。 + +## 需要的條件 + +- .NET 6.0 或更新版本(程式碼同樣支援 .NET Core 與 .NET Framework) +- NuGet 參考 `Aspose.OCR`(版本 23.9 或更新) +- 一個影像檔案(本例中的 `mixed‑script.png`),放在程式可讀取的位置 +- 基本的 C# 語法了解(只要寫過「Hello World」就足夠) + +> **Pro tip:** 若尚未取得授權,Aspose 提供免費的臨時授權供測試使用。只要把 `.lic` 檔案放在可執行檔旁邊即可。 + +## 第一步 – 安裝 Aspose.OCR NuGet 套件 + +首先,將函式庫加入專案。開啟 Package Manager Console 並執行: + +```powershell +Install-Package Aspose.OCR +``` + +或是使用 UI,右鍵點選 *Dependencies → Manage NuGet Packages*,搜尋 **Aspose.OCR**。 + +## 第二步 – 準備 OCR 引擎 (c# ocr 教學核心) + +現在我們要建立 `OcrEngine` 實例,設定自動偵測語言,並指向 PNG 檔案。 + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### 為什麼要設定 `Language = OcrLanguage.AutoDetect` + +自動語言偵測可避免你必須猜測影像是英文、俄文、阿拉伯文或混合語言。這是 **detect language automatically** 情境下最彈性的選擇,且對 Aspose 支援的大多數文字腳本皆可直接使用。 + +## 第三步 – 執行應用程式並驗證輸出 + +編譯並執行程式(`dotnet run` 或在 Visual Studio 按 **F5**)。若一切設定正確,你會看到類似以下的結果: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +此輸出證明我們成功 **extract text from image**、**recognize text from png**,以及 **convert image to string**——全部在一段簡潔的程式碼中完成。 + +## 第四步 – 常見變化與邊緣情況 + +### 處理多張影像 + +如果需要處理整個 PNG 目錄,可將辨識呼叫包在 `foreach` 迴圈中: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### 指定固定語言 + +有時你已知影像的語言(例如僅英文),可將 `AutoDetect` 改為 `OcrLanguage.English` 以加速處理: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### 處理低品質掃描 + +Aspose.OCR 提供前處理選項(降噪、去斜)。快速解決方式如下: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### 將結果儲存至檔案 + +若不想輸出到主控台,可將擷取的文字寫入 `.txt` 檔案: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## 第五步 – 完整可執行範例(可直接複製貼上) + +以下是 **complete program**,包含可選的前處理與檔案輸出邏輯。請自行調整路徑。 + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### 預期輸出 + +在包含英文、俄文與阿拉伯文的 PNG 上執行程式,會得到: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +若影像為空白或無法辨識,引擎會回傳空字串——請在後續處理前檢查 `string.IsNullOrWhiteSpace(extractedText)`。 + +## 常見問題 (FAQs) + +**Q: Aspose.OCR 支援手寫文字嗎?** +A: 它專注於印刷文字的 OCR。若需辨識手寫文字,需使用專門的機器學習模型或像 Azure Computer Vision 之類的服務。 + +**Q: 我可以在 Linux/macOS 上執行嗎?** +A: 當然可以。Aspose.OCR 為跨平台套件,只要安裝相應的 .NET 執行環境即可。 + +**Q: 若要處理 PDF 而非 PNG,該怎麼做?** +A: 先將每頁 PDF 轉成影像(例如使用 `Aspose.PDF`),再將影像送入 OCR 引擎。 + +## 結論 + +我們剛完成一個 **c# ocr 教學**,帶你走過 **extracting text from image** 檔案、**recognizing text from png**、**converting the image to a string**,以及使用 Aspose.OCR **detecting language automatically** 的完整流程。程式碼簡潔、概念清晰,你可以將其擴展為批次處理、客製語言設定,甚至整合到 Web API 中。 + +接下來的步驟是什麼?試著把 OCR 輸出送入搜尋索引、翻譯服務,或與 Azure Cognitive Services 結合,打造更豐富的資料管線。只要掌握了 C# 圖片轉文字的基礎,未來的可能性無限。 + +祝開發順利,別忘了嘗試不同品質的影像——你的 OCR 引擎會感謝你的! + +![c# ocr 教學 – 混合文字 PNG 的 OCR 輸出範例](placeholder-image.png "c# 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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/hongkong/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..824e640e --- /dev/null +++ b/ocr/hongkong/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-01-09 +description: 使用 Aspose OCR 快速從 PNG 提取文字。了解如何讀取影像文字、提升 OCR 準確度,並在 C# 中獲得乾淨的結果。 +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: zh-hant +og_description: 使用 Aspose OCR 快速從 PNG 提取文字。了解如何讀取圖像文字、提升 OCR 準確度,並在 C# 中獲得乾淨的結果。 +og_title: 從 PNG 提取文字 – 完整 Aspose OCR 教程 +tags: +- Aspose OCR +- C# +- Image Processing +title: 從 PNG 提取文字 – 完整 Aspose OCR 教程 +url: /zh-hant/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 從 PNG 提取文字 – 完整 Aspose OCR 教學 + +有沒有曾經需要**從 PNG 提取文字**,卻發現結果充斥著亂碼?你並不孤單。在許多實務專案中——發票、收據或掃描表格——OCR 輸出的品質可能決定自動化流程的成敗。 + +在本指南中,我們將示範一個**逐步**使用 Aspose OCR 讀取影像文字的方法,加入自訂字典以**提升 OCR 準確度**,清除雜訊,最後輸出整潔的字串。完成後,你將擁有一個可直接執行的 C# 主控台應用程式,可靠地從 PNG 圖片中提取文字。 + +> **你將學到** +> * 完整、可執行的程式碼範例。 +> * 為何自訂字典重要的概念。 +> * 處理低對比掃描等邊緣案例的技巧。 + +## 前置條件 + +- .NET 6 SDK 或更新版本(程式碼目標為 .NET 6,但 .NET 5 亦可運作)。 +- Visual Studio 2022 或你偏好的任何編輯器。 +- 你想處理的 **PNG** 圖片,例如 `invoice.png`。 +- **Aspose.OCR** NuGet 套件(`dotnet add package Aspose.OCR`)。 + +不需要額外的設定檔;所有程式碼皆在單一 `.cs` 檔案中。 + +## 步驟 1 – 安裝並參考 Aspose OCR + +首先,將函式庫加入你的專案。於解決方案資料夾開啟終端機並執行: + +```bash +dotnet add package Aspose.OCR +``` + +這一行指令會取得最新的穩定版(截至 2026 年 1 月,版本 23.9)。此套件包含我們在整個教學中會使用的 `OcrEngine` 類別。 + +## 步驟 2 – 初始化 OCR 引擎 + +建立 `OcrEngine` 實例是基礎。可將其想像為開啟一台準備解讀像素的掃描器。 + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **專業提示:** 若你打算在迴圈中處理大量影像,請重複使用同一個 `OcrEngine` 實例。它會快取內部資源,提升後續呼叫的速度。 + +## 步驟 3 – 使用自訂字典提升準確度 + +即時可用的 OCR 已相當不錯,但在面對領域專屬詞彙如 “Aspose”、 “OCR” 或 “SDK” 時仍可能出錯。將這些詞彙加入**自訂字典**,即可告訴引擎這些字串是有效的,減少辨識錯誤。 + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### 為何自訂字典有幫助 + +- OCR 背後的**統計模型**會高度權衡常見語言模式。不常見的詞彙機率低,可能被相似外觀的字元取代。 +- 透過明確列出這些詞彙,你可以覆寫模型的猜測。 +- 這對於包含產品代碼、縮寫或品牌名稱的**讀取影像文字**特別有用。 + +## 步驟 4 – 從 PNG 檔案辨識文字 + +現在我們將影像路徑傳入引擎。`RecognizeImage` 方法會回傳原始字串,仍可能包含引擎無法對應的未知符號(例如 “#@!”)。 + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **邊緣情況:** 若檔案未找到,`RecognizeImage` 會拋出 `FileNotFoundException`。在正式環境的程式碼中,請將呼叫包在 try‑catch 區塊內。 + +## 步驟 5 – 使用 `CleanText` 清理結果 + +Aspose OCR 內建一個協助工具,可剔除被標記為「未知」的字元。此步驟對於**從影像提取文字**的專案至關重要,因為後續的解析器只接受英數字與基本標點符號。 + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +`CleanText` 方法同時會正規化換行字元,確保輸出可安全存入資料庫或傳遞給其他服務。 + +## 步驟 6 – 輸出已清理的文字 + +最後,顯示或儲存結果。在主控台應用程式中,`Console.WriteLine` 即可完成。 + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +執行程式後,你應該會看到一段整潔的文字,與 `invoice.png` 的內容相符。若影像中包含 “Aspose” 這個詞,自訂字典會確保它正確顯示,而不是變成類似 “A5p0se” 的錯誤。 + +## 完整範例程式 + +將所有步驟整合起來,以下是完整的 `Program.cs`,你可以直接複製貼上到新的主控台專案中: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**預期輸出**(假設 PNG 為簡易發票內容): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +若看到雜散符號,請再次檢查影像品質,或在自訂字典中加入更多詞彙。 + +## 加分項:處理低品質掃描 + +有時 PNG 以 72 dpi 掃描或有嚴重壓縮雜訊。以下提供幾個快速技巧,能在不離開 C# 的情況下**提升 OCR 準確度**: + +1. 使用如 `SixLabors.ImageSharp` 的函式庫**前處理影像**——提升對比、轉為灰階,或稍微模糊以降低雜訊。 +2. 在 `OcrEngine` 上**設定 `Resolution` 屬性**(例如 `ocrEngine.Resolution = 300;`),告訴引擎將影像視為較高解析度。 +3. 若處理非英文文字,**啟用語言套件**(`ocrEngine.Language = Language.English;`)。 + +上述三種做法皆可在 `RecognizeImage` 呼叫之前加入。 + +## 常見問題 + +- **這能用於其他影像格式嗎?** + 可以。`RecognizeImage` 支援 JPEG、BMP、TIFF,甚至 PDF(作為影像容器)。步驟相同。 + +- **我可以一次從資料夾內的多個 PNG 提取文字嗎?** + 當然可以。將核心邏輯包在 `foreach (var file in Directory.GetFiles(folder, "*.png"))` 迴圈中,並將每個結果存入清單或寫入個別檔案。 + +- **如果需要文字座標怎麼辦?** + Aspose OCR 也提供包含邊界框的 `OcrResult` 物件。可使用 `ocrEngine.RecognizeImageToResult(imagePath)` 取得進階資訊。 + +## 結論 + +我們已完整示範一個**端對端**的解決方案,使用 Aspose OCR **從 PNG 檔案提取文字**。透過初始化引擎、加入**自訂字典**、清理原始輸出,並處理一些常見的陷阱,你即可在自己的 C# 應用程式中可靠地**讀取影像文字**,並**提升 OCR 準確度**。 + +準備好下一步了嗎?試著將 PNG 換成掃描收據、在字典中加入更多領域專屬詞彙,或將輸出整合至資料庫以實現自動化發票處理。結合 Aspose OCR 與 .NET 豐富的生態系統,無所不能。 + +祝程式開發順利,願你的 OCR 永遠精準! + +![從 png 提取文字範例](/images/extract-text-from-png.png "從 png 提取文字 – Aspose 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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/hongkong/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..33901df9 --- /dev/null +++ b/ocr/hongkong/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,259 @@ +--- +category: general +date: 2026-01-09 +description: 使用 Aspose OCR 在 C# 中從 TIFF 檔案提取文字。了解如何在本分步教學中取得每個結果的前 50 個字元。 +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: zh-hant +og_description: 使用 Aspose OCR 於 C# 從 TIFF 提取文字。本指南逐步說明如何取得每個 OCR 結果的前 50 個字元。 +og_title: 使用 Aspose OCR 從 TIFF 提取文字 – 完整 C# 指南 +tags: +- Aspose OCR +- C# +- TIFF processing +title: 使用 Aspose OCR C# 從 TIFF 提取文字 – 完整教學 +url: /zh-hant/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 從 TIFF 提取文字 – 完整 Aspose OCR C# 教程 + +是否曾經需要 **從 TIFF 提取文字** 圖片,但不確定該信任哪個函式庫?你並不孤單。許多開發者在嘗試從多頁 TIFF 中提取可搜尋文字時會卡住,尤其在性能很重要的情況下。 + +在本 **aspose ocr c# tutorial** 中,我們將示範一個即時可執行的範例,不僅能提取完整文字,還會示範如何 **取得每頁前 50 個字元** 以快速預覽。完成後,你將擁有一個可直接放入任何 .NET 專案的獨立程式。 + +## 需要的環境 + +- .NET 6(或任何較新的 .NET 版本)– 此程式碼可在 .NET Core 與 .NET Framework 上編譯。 +- 有效的 Aspose.OCR for .NET 授權(可先使用免費試用版)。 +- 包含一個或多個欲處理的 `.tif` 檔案的資料夾。 +- Visual Studio、VS Code 或任何你偏好的 IDE – 範例是純 C#,編輯器選擇不影響。 + +> **專業提示:** 若你在 CI 伺服器上,請將 Aspose.OCR NuGet 套件 (`Aspose.OCR`) 加入你的專案檔;此函式庫為完全受管理,且沒有原生相依性。 + +## 第一步:安裝 Aspose OCR NuGet 套件 + +首先,讓我們把 OCR 引擎加入專案。於解決方案資料夾開啟終端機並執行: + +```bash +dotnet add package Aspose.OCR +``` + +此指令會取得最新的穩定版(截至 2026 年 1 月為 23.9),並自動更新你的 `.csproj`。不需要手動處理 DLL。 + +## 第二步:初始化 OCR 引擎 + +現在我們建立 `OcrEngine` 的實例。可將其視為會讀取每一頁 TIFF 的「大腦」。 + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +為什麼只實例化一次引擎?因為 `RecognizeImages` 能接受檔案路徑集合,讓引擎重複使用內部緩衝區,顯著加快批次處理速度。 + +## 第三步:一次性收集所有 TIFF 檔案 + +與其自行遍歷目錄,我們讓 .NET 處理繁重工作。`Directory.GetFiles` 方法會回傳 `IEnumerable`,可直接傳入 OCR 呼叫。 + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **如果我的影像是 JPEG 或 PNG 呢?** 只需更改搜尋模式(`"*.jpg"` 或 `"*.*"`)。Aspose OCR 支援所有常見的點陣圖格式。 + +## 第四步:對整個集合執行 OCR + +以下這行程式碼會一次處理所有檔案。此方法回傳一個字典,鍵為檔案路徑,值為包含辨識文字的 `OcrResult` 物件。 + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +為什麼要批次處理?它減少了重複載入 OCR 引擎的開銷,且在多核心機器上,Aspose 會在內部平行化工作,為你帶來顯著的速度提升。 + +## 第五步:顯示預覽 – 取得前 50 個字元 + +大多數 UI 情境只需要一小段文字,而非整份文件。我們將擷取前 50 個字元(若頁面較短則更少),並與檔名一起印出。 + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +`Math.Min(50, fullText.Length)` 這行確保不會超出字串範圍——一個小小的保護措施,可防止在 OCR 結果少於 50 個字元時拋出 `ArgumentOutOfRangeException`。 + +### 預期的 Console 輸出 + +假設你有兩個 TIFF 檔案(`invoice1.tif` 與 `receipt2.tif`),Console 可能會顯示: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +每行以省略號(`...`)結尾,表示預覽僅是較長文字區塊的開頭。 + +## 第六步:處理邊緣情況與常見陷阱 + +### 空檔或損毀檔案 + +如果檔案無法讀取,`RecognizeImages` 仍會回傳一個 `Text` 屬性為空的項目。你可以將其過濾掉: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### 大批次處理 + +處理數千個 TIFF 可能會佔用大量記憶體。此時可使用接受每張影像 `Stream` 的重載,或將清單分成較小的批次處理: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### 語言與字型支援 + +若文件包含非拉丁字元,請在呼叫 `RecognizeImages` 前設定語言: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +此小調整可大幅提升辨識準確度。 + +## 第七步:完整可執行範例(直接複製貼上) + +以下是完整程式碼,你可以貼到新建的 console 專案(`dotnet new console`)中直接執行(只需將 `YOUR_DIRECTORY/Batch` 替換為實際路徑)。 + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +使用 `dotnet run` 執行程式。你應該會看到每個 TIFF 檔案的簡短預覽,證明你已成功使用 Aspose OCR **從 TIFF 提取文字**。 + +## 常見問題 (FAQ) + +**Q: 這能處理多頁 TIFF 嗎?** +A: 可以。Aspose OCR 會在內部將每頁視為獨立影像,因此多頁 TIFF 會產生每個檔案一個合併的字串。之後如有需要可再分割。 + +**Q: OCR 的即時準確度如何?** +A: 對於乾淨且高解析度(300 DPI 或以上)的掃描,英文文字的準確率可超過 95%。前處理(去斜、二值化)可進一步提升。 + +**Q: 我可以將結果輸出為 CSV 檔嗎?** +A: 當然可以。將 `Console.WriteLine` 改成 `StreamWriter`,寫入 `fileName,preview` 行。記得對預覽文字中的逗號進行跳脫。 + +## 後續步驟與相關主題 + +- **持久化 OCR 結果** – 將完整文字存入資料庫,以供可搜尋的檔案庫使用。 +- **結合 PDF 轉換** – 使用 Aspose.PDF 將提取的文字嵌入可搜尋的 PDF。 +- **在 Azure Functions 上批次處理** – 無需自行管理伺服器即可擴展 OCR 工作。 + +所有這些延伸皆圍繞著高效 **從 TIFF 提取文字** 的核心概念,同時仍能讓你 **取得前 50 個字元** 以供 UI 快速預覽。 + +--- + +*祝程式開發順利!若遇到任何問題,歡迎在下方留言,我會盡力協助你微調 OCR 流程。* + +![Extract text from TIFF using Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extract text from TIFF using Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/hongkong/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..703aa3b4 --- /dev/null +++ b/ocr/hongkong/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,237 @@ +--- +category: general +date: 2026-01-09 +description: 使用 Aspose OCR 於 C# 快速辨識 jpg 圖片中的文字。學習如何從圖片擷取文字,將圖片轉換為 JSON 與 EPUB,一站式完整教學。 +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: zh-hant +og_description: 使用 Aspose OCR 識別 JPG 圖片中的文字。本指南展示如何從圖像中提取文字、將圖像轉換為 JSON 與 EPUB,並從圖像製作 + ePub。 +og_title: 辨識 JPG 圖片中的文字 – 完整 C# 教學 +tags: +- Aspose OCR +- C# +- Image Processing +title: 使用 Aspose OCR 識別 JPG 圖片文字 – 完整 C# 指南 +url: /zh-hant/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 在 jpg 中識別文字 – 完整 C# 指南 + +有沒有需要 **在 jpg 中識別文字** 卻不確定該選哪個函式庫?你並不孤單。許多開發者在第一次嘗試從相片或掃描文件中抽取文字時,都會卡在這裡。 + +好消息是?使用 Aspose OCR,你只要寫幾行 C# 程式碼就能 **從影像抽取文字**,接著立即 **將影像轉換為 JSON**,甚至 **將影像轉換為 EPUB**——全部在 IDE 裡完成,無需離開開發環境。 + +本教學將一步步帶你完成整個工作流程:從安裝正確的 NuGet 套件、在 JPG 中識別文字,到將結果儲存為結構化的 JSON 以及 ePub 文件。完成後,你將能夠程式化 **從影像建立 epub**,這對於 e‑learning 平台、數位圖書館,或任何需要可搜尋電子書的應用都相當實用。 + +--- + +## 你需要的環境 + +- **.NET 6+**(或 .NET Framework 4.6+)。程式碼在任何近期的執行環境皆可執行。 +- **Aspose.OCR** NuGet 套件 – 核心 OCR 引擎。 +- **Aspose.Publishing** NuGet 套件 – 輸出 ePub 格式所必需。 +- 一個名為 `input.jpg` 的影像檔,放在磁碟任意位置(請自行替換路徑)。 +- 文字編輯器或 IDE(Visual Studio、VS Code、Rider…隨你喜好)。 + +就這樣。沒有額外服務、沒有外部 API,只需要兩個函式庫與一張 JPG 檔。 + +--- + +## 第一步:設定專案以 **在 jpg 中識別文字** + +首先,建立一個新的 Console 應用程式(或在現有專案中加入)。接著透過 NuGet 套件管理員加入兩個 Aspose 套件: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **小技巧:** 若使用 Visual Studio,右鍵點擊專案 → *Manage NuGet Packages* → 搜尋 *Aspose.OCR* 與 *Aspose.Publishing*,然後點選 **Install**。 + +這兩個套件會把 **從影像抽取文字** 以及之後輸出 ePub 所需的全部功能帶入專案。 + +--- + +## 第二步:使用 Aspose OCR **從影像抽取文字** + +現在,我們來寫程式碼,實際讀取 JPG 並把文字抽出來。 + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**為什麼這樣可行:** `OcrEngine` 會自動處理所有低階的影像前處理、語言偵測與字元分割。只要指向檔案,它就會回傳一個 `OcrResult` 物件,內含純文字字串 (`ocrResult.Text`) 以及豐富的中繼資料。 + +--- + +## 第三步:**將影像轉換為 JSON** – 匯出 OCR 結果 + +如果你需要以結構化格式儲存 OCR 輸出(供 API、資料庫或後續處理使用),Aspose 可輕鬆將結果序列化為 JSON。 + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +產生的 JSON 大致如下(為簡潔起見已截斷): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**使用時機:** 當你要把 OCR 資料送入 Web 服務、存入 NoSQL 資料庫,或需要任何語言都能解析的可攜式表示時,JSON 是最佳選擇。 + +--- + +## 第四步:**將影像轉換為 EPUB** – 儲存為電子書 + +Aspose Publishing 為多種電子書格式提供支援,包括 EPUB。只要對 `OcrResult` 呼叫 `Save`,即可產生符合規範的 ePub 檔,內含識別出的文字,並可選擇加入原始影像。 + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**你會得到什麼:** 一個可在任何閱讀器(Calibre、Apple Books、Adobe Digital Editions)開啟的 ePub。檔案內含可搜尋的文字內容,外加原始影像作為背景層——非常適合建構 **從影像建立 epub** 的工作流程。 + +--- + +## 第五步:完整範例 – 從 JPG 產生 JSON 與 EPUB + +把前面的步驟整合起來,以下是完整、可直接執行的程式。將它貼到 `Program.cs`,調整檔案路徑後,按 **F5** 執行。 + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +執行程式後,你應該會看到三件事: + +1. 在主控台印出識別出的文字。 +2. 產生 `output.json`,內含結構化的 OCR 資料。 +3. 產生 `output.epub`,可用任何電子書閱讀器開啟。 + +--- + +## 常見問題與特殊情況 + +- **如果影像是 PNG 或 BMP 呢?** + Aspose OCR 支援大多數點陣圖格式(PNG、BMP、TIFF、GIF)。只要把 `inputPath` 的副檔名改成相應格式,程式碼即可正常運作。 + +- **可以指定非英文語言嗎?** + 可以。於呼叫 `RecognizeImage` 前設定 `ocrEngine.Language = OcrLanguage.French;`(或其他支援語言)。 + +- **PDF 多頁該怎麼處理?** + PDF 必須先將每頁轉為影像(可使用 Aspose.PDF),再將每張影像餵給 `RecognizeImage`。取得的多個 `OcrResult` 物件可在匯出為 JSON 或 EPUB 前合併。 + +- **信心分數太低,怎麼提升準確度?** + 前處理影像:提升對比、去斜、或轉為灰階。Aspose OCR 也提供 `PreprocessOptions` 可自行調整。 + +--- + +## 結論 + +現在,你已掌握使用 Aspose OCR **在 jpg 中識別文字**,再 **將影像轉換為 JSON** 供資料管線使用,以及 **將影像轉換為 EPUB** 以建立可搜尋的電子書。此流程輕量、只需兩個 NuGet 套件,且相容所有現代 .NET 執行環境。 + +接下來,你可以: + +- 把 JSON 輸出整合至搜尋索引(Azure Cognitive Search、Elastic)。 +- 批次處理整個資料夾,產生一整套 ePub 書庫。 +- 結合翻譯 API,自動產出多語系電子書。 + +試試看,調整不同的影像品質,讓 OCR 引擎為你完成繁重的文字辨識工作。祝開發順利! + +--- + +![在 jpg 中識別文字的輸出螢幕截圖](placeholder-image.png "在 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/hungarian/net/ocr-configuration/_index.md b/ocr/hungarian/net/ocr-configuration/_index.md index 1c23339c..0371e9aa 100644 --- a/ocr/hungarian/net/ocr-configuration/_index.md +++ b/ocr/hungarian/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ Az Aspose.OCR segítségével felszabadíthatja az OCR képfelismerés erejét a Fedezze fel a hatékony OCR-képességeket az Aspose.OCR for .NET segítségével. Zökkenőmentesen vonja ki a szöveget a képekből. ### [OCROművelet listával az OCR képfelismerésben](./ocr-operation-with-list/) Engedje ki az Aspose.OCR-ben rejlő lehetőségeket a .NET számára. Könnyedén végrehajthatja az OCR képfelismerést listák segítségével. Növelje alkalmazásaiban a termelékenységet és az adatkinyerést. +### [Hogyan OCR-elj képet C#-ban – Teljes útmutató GPU támogatással](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Ismerje meg, hogyan használhatja az Aspose.OCR-t GPU-val a C# képfelismeréshez, lépésről lépésre útmutató. +### [Képről szöveg felismerése az Aspose OCR-rel – Teljes C# útmutató](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Ismerje meg, hogyan használhatja az Aspose OCR-t képek szövegének felismerésére C#-ban, lépésről lépésre útmutató. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/hungarian/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..975c28d8 --- /dev/null +++ b/ocr/hungarian/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-01-09 +description: Tanulja meg, hogyan lehet OCR-rel képet feldolgozni és a képen lévő szöveget + kinyerni az Aspose.OCR használatával. Tartalmazza a beolvasott dokumentum átalakításának + lépéseit, a GPU engedélyezését és a kép OCR-rel történő olvasását. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: hu +og_description: Hogyan OCR-eljünk képet gyorsan az Aspose.OCR-rel. Kövesse ezt a lépésről‑lépésre + útmutatót a képszöveg kinyeréséhez, a beolvasott dokumentum konvertálásához és a + GPU engedélyezéséhez. +og_title: Hogyan OCR-eljünk képet C#‑ban – GPU‑gyorsított útmutató +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Hogyan OCR-eljünk képet C#-ban – Teljes útmutató GPU támogatással +url: /hu/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan OCR-eljünk képet C#-ban – Teljes útmutató GPU támogatással + +Gondoltad már valaha, hogyan **OCR-eljünk képfájlokat** közvetlenül a .NET alkalmazásodból? Nem vagy egyedül – a fejlesztőknek folyamatosan szöveget kell kinyerniük PDF‑ekből, TIFF‑ekből és fényképekből, különösen nagy beolvasott dokumentumok esetén. A jó hír? Az Aspose.OCR-rel **kivonhatod a képen lévő szöveget** néhány sor kóddal, és még **GPU** gyorsítást is engedélyezhetsz a gyorsabb feldolgozáshoz. + +Ebben az útmutatóban mindent végigvázolunk, amit tudnod kell: a könyvtár telepítésétől, az OCR motor GPU tartalékos beállításával történő inicializálásig, egészen a **képek OCR‑os olvasásáig** és az eredmény megjelenítéséig. A végére képes leszel **beolvasott dokumentum** képeket szerkeszthető karakterláncokká konvertálni – külső szolgáltatások nélkül. + +--- + +## Amire szükséged lesz + +Mielőtt belevágnánk, győződj meg róla, hogy a következőkkel rendelkezel: + +- **.NET 6.0** vagy újabb (a kód .NET Core‑on és .NET Framework‑ön is működik). +- **Licenc** az Aspose.OCR‑hez vagy egy ideiglenes értékelő kulcs (az ingyenes próba a teszteléshez megfelelő). +- Egy képfájl, amelyet feldolgozni szeretnél – lehetőleg magas felbontású TIFF vagy PNG. +- (Opcionális) GPU‑t támogató gép, ha szeretnéd látni a sebességjavulást; egyébként a motor elegánsan visszatér a CPU‑ra. + +Ha ezek az előfeltételek teljesülnek, a tényleges OCR munkafolyamatra koncentrálhatsz anélkül, hogy később akadályba ütköznél. + +--- + +## 1. lépés: Aspose.OCR NuGet csomag telepítése + +Először is—add hozzá az Aspose.OCR könyvtárat a projektedhez. Nyiss egy terminált a megoldás mappájában, és futtasd a következőt: + +```bash +dotnet add package Aspose.OCR +``` + +Vagy ha a Visual Studio NuGet felületét használod, egyszerűen keresd meg a **Aspose.OCR**‑t, és kattints a telepítésre. Ez az egyetlen parancs letölti az összes szükséges DLL‑t, beleértve a natív GPU binárisokat is, ha elérhetők. + +> **Pro tipp:** Tartsd naprakészen a csomagot. Az új kiadások gyakran tartalmaznak nyelvi modell fejlesztéseket és jobb GPU támogatást. + +--- + +## 2. lépés: Szükséges névterek importálása + +Miután a csomag telepítve van, hozd be a szükséges névtereket a láthatóságba. Ez a lépés, ahol a **hogyan OCR-eljünk képet** kódban elkezdődik. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +Ezek a két sor hozzáférést biztosítanak az `OcrEngine` osztályhoz és a beállítási objektumhoz, amely lehetővé teszi a GPU használatának be- és kikapcsolását. Nélkülük a fordító nem tudná, mi az `OcrEngine`. + +--- + +## 3. lépés: OCR motor inicializálása és GPU engedélyezése + +Ha valaha is kérdezted, **hogyan engedélyezzük a GPU** OCR‑hez, ez a válasz. Létrehozunk egy `OcrEngineSettings` példányt, beállítjuk a `UseGpu` jelzőt, és átadjuk a motor konstruktorának. A motor automatikusan felismeri, hogy van‑e kompatibilis GPU; ha nincs, visszatér a CPU‑ra – így nincs szükség extra hibakezelésre. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Miért engedélyezzük egyáltalán a GPU‑t? Nagy képek esetén – gondoljunk többoldalas TIFF‑ekre vagy nagy felbontású beolvasásokra – a feldolgozási idő több másodpercről egy töredék másodpercre csökkenhet. Ha kötegelt feldolgozási csővezetéket építesz, ez a sebességnyereség gyorsan összeadódik. + +--- + +## 4. lépés: OCR végrehajtása a célképen + +Itt történik a tényleges **kép OCR‑os olvasása**. Add meg a fájl elérési útját, és a motor visszaadja a felismert szöveget karakterláncként. Ez minden, az Aspose által támogatott raszteres formátumra működik (PNG, JPEG, TIFF, BMP stb.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Ha egyesével kell **beolvasott dokumentum** oldalakat konvertálni, egyszerűen iterálj a fájlneveken, és hívj `RecognizeImage`‑t mindegyikre. A metódus szálbiztos, így akár többmagos CPU‑n is párhuzamosíthatod a feladatot. + +--- + +## 5. lépés: Kinyert szöveg megjelenítése vagy tárolása + +Végül kiírjuk az eredményt. Konzolalkalmazásban a `Console.WriteLine` elvégzi a feladatot. Valódi környezetben a szöveget adatbázisba, JSON fájlba írhatod, vagy keresőindexbe táplálhatod. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +A fenti sor a nyers OCR‑kimenetet írja ki. Észre fogod venni a sortöréseket, időnkénti hibás felismeréseket, és esetleg néhány felesleges karaktert – ez nem szokatlan az OCR‑nél. Utófeldolgozás (pl. regex‑es tisztítás) segíthet, ha szükséges. + +> **Megjegyzés:** Az Aspose.OCR nyelvspecifikus szótárakat is támogat. Ha nem‑angol szövegeket dolgozol fel, állítsd be a `ocrEngine.Settings.Language`‑t a megfelelő nyelvre a `RecognizeImage` hívása előtt. + +--- + +## Teljes működő példa + +Összeállítva mindent, itt egy önálló program, amelyet beilleszthetsz egy új konzolprojektbe: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Várható kimenet** (rövidítve a tömörség kedvéért): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Futtasd a programot, és a kinyert szöveget a konzolablakban kell látnod. Ha a GPU elérhető, a feldolgozási idő észrevehetően rövidebb lesz, mint CPU‑csak gépeken. + +--- + +## Gyakori buktatók és hogyan kerüld el őket + +| Issue | Why It Happens | Fix | +|-------|----------------|-----| +| **Garbage characters** | Alacsony felbontású forrás vagy zajos háttér. | Készíts előfeldolgozást a képen (növeld a DPI‑t, alkalmazz binarizálást) OCR előtt. | +| **GPU not used** | Nincs kompatibilis CUDA driver telepítve. | Ellenőrizd a driver verziót, vagy állítsd `UseGpu = false`‑ra a CPU kényszerítéséhez. | +| **Out‑of‑memory on large TIFFs** | A teljes fájl egyszerre történő betöltése. | Használd az `OcrEngineSettings.MaxMemoryUsage`‑t a memóriahasználat korlátozásához, vagy dolgozd fel az oldalakat egyenként. | +| **Incorrect language detection** | Alapértelmezett nyelv az angol. | Állítsd be `ocrEngine.Settings.Language = Language.YourLanguage;`‑t a `RecognizeImage` hívása előtt. | + +Ezeknek az edge eseteknek a kezelése biztosítja, hogy a **hogyan OCR-eljünk képet** implementációd robusztus maradjon különböző környezetekben. + +--- + +## A megoldás kibővítése + +Most, hogy **kivonhatod a képen lévő szöveget**, lehet, hogy szeretnél: + +- **Convert scanned document** PDF‑eket kereshető PDF‑ekké az OCR réteg beágyazásával. +- Az eredményeket egy **Azure Cognitive Search** indexben tárolni a gyors lekérdezéshez. +- Az OCR kimenetet egy **translation API**‑hoz láncolni, ha többnyelvű támogatásra van szükség. +- Az **Aspose.OCR** `GetBoundingBoxes` metódusát használni, hogy megtaláld, hol jelenik meg minden szó a képen – hasznos redakciós eszközökhöz. + +Mindezek a kiterjesztések ugyanarra az alapelvre épülnek, amit bemutattunk: inicializáld a motort, add át neki a képet, és olvasd ki a szöveget. + +--- + +## Összegzés + +Áttekintettünk egy teljes, vég‑től‑végig példát arra, **hogyan OCR-eljünk képet** az Aspose.OCR használatával C#‑ban. A NuGet csomag telepítésével, a megfelelő névterek importálásával, a GPU engedélyezésével (vagy CPU‑ra visszatérve), és a `RecognizeImage` hívásával megbízhatóan **kivonhatod a képen lévő szöveget**, **beolvasott dokumentum** oldalakat **konvertálhatsz**, és **kép OCR‑os olvasását** bármely .NET alkalmazásban elvégezheted. + +Próbáld ki néhány saját beolvasott anyagoddal – kísérletezz különböző képtípusokkal, kapcsolgass a GPU jelzőn, és figyeld meg, hogyan változik a teljesítmény. Amikor készen állsz, fedezd fel a haladó funkciókat, mint a nyelvi szótárak vagy a bounding‑box kinyerés, hogy még intelligensebbé tedd a megoldást. + +Boldog kódolást, és legyenek az OCR folyamatok gyorsak, pontosak és gondtalanok! + +{{< /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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/hungarian/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..ca099a87 --- /dev/null +++ b/ocr/hungarian/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-01-09 +description: Szöveg felismerése képről az Aspose OCR használatával C#-ban. Tanulja + meg, hogyan tiltható le az automatikus letöltés, hogyan nyerhető ki kínai szöveg + a képből, és hogyan állítható be az OCR nyelve. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: hu +og_description: Szöveg felismerése képről az Aspose OCR használatával C#-ban. Kövesse + ezt a lépésről‑lépésre útmutatót az automatikus letöltés letiltásához, a kínai szöveges + kép kinyeréséhez és az OCR nyelvének beállításához. +og_title: Szöveg felismerése képről az Aspose OCR-rel – Teljes C# útmutató +tags: +- Aspose OCR +- C# +- Image Processing +title: Szöveg felismerése képről az Aspose OCR-rel – Teljes C# útmutató +url: /hu/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# szöveg felismerése képről az Aspose OCR‑rel – Teljes C# útmutató + +Valaha is szükséged volt **szöveg felismerésére képről**, de elakadtál a konfigurációs részleteknél? Nem vagy egyedül. Sok fejlesztő szembesül nehézségekkel, amikor az OCR motor futásidőben megpróbálja letölteni a nyelvcsomagokat, vagy amikor nem tudja kinyerni a kínai karaktereket egy táblás fényképről. + +Ebben az útmutatóban lépésről lépésre bemutatunk egy gyakorlati megoldást, amely megmutatja, hogyan **tiltsd le az automatikus letöltést**, **szöveg képet nyerj ki**, **kínai szöveg képet nyerj ki**, és **állítsd be az OCR nyelvet** – mindezt az Aspose OCR for .NET segítségével. A végére egyetlen, futtatható programod lesz, amely a felismert szöveget közvetlenül a konzolra írja. + +## Mit fogsz megtanulni + +- Hogyan telepítsd és hivatkozd meg az Aspose.OCR NuGet csomagot. +- Miért fontos az automatikus erőforrás‑letöltés kikapcsolása offline vagy biztonságos környezetekben. +- A pontos lépések, hogyan irányítsd a motort egy helyi nyelvcsomag mappára. +- Hogyan válaszd ki a megfelelő nyelvet (egyszerűsített kínai) a kép feldolgozása előtt. +- A kimenet ellenőrzése és a gyakori hibák elhárítása. + +Nem szükséges előzetes Aspose tapasztalat; elegendő egy alap C# környezet és egy képfájl, amelyet be szeretnél olvasni. + +## Előfeltételek + +| Követelmény | Indoklás | +|-------------|----------| +| .NET 6.0 vagy újabb (vagy .NET Framework 4.7+) | Az Aspose.OCR támogatja ezeket a futtatókörnyezeteket. | +| Visual Studio 2022 (vagy bármely kedvenc IDE) | A projekt egyszerű létrehozása és hibakeresése érdekében. | +| Egy képfájl, amely kínai szöveget tartalmaz (pl. `chinese-sign.jpg`) | A **kínai szöveg képet kinyer** bemutatásához. | +| A Aspose OCR nyelvcsomagok helyi másolata (egyszer egyszer letöltve az Aspose portálról) | Szükséges, mert **letiltjuk az automatikus letöltést**. | + +Győződj meg róla, hogy a nyelvcsomag ZIP fájlok egy hivatkozható mappában vannak, például `C:\MyOCR\Resources`. + +## 1. lépés: Szöveg felismerése képről – OCR motor konfigurálása + +Először is szükségünk van egy `OcrEngineSettings` objektumra, amely megmondja az Aspose-nak, hol keresse az erőforrásokat. Ez a bármely **szöveg képet kinyerő** művelet alapja. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +Miért állítsuk a `AutoDownloadResources` értékét `false`‑ra? Gyártási környezetekben gyakran tűzfal mögött futsz, vagy egyszerűen nem akarod, hogy az alkalmazásod futásidőben az internetre csatlakozzon. A funkció letiltása garantálja, hogy a motor csak a `ResourceFolder`‑ben elhelyezett fájlokat használja, ami emellett felgyorsítja a inicializálást. + +## 2. lépés: OCR motor létrehozása a megadott beállításokkal + +Miután a beállítások készen állnak, példányosítjuk a motort. Ebben a lépésben fog később szerepet kapni a **OCR nyelv beállítása** képesség. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Az `OcrEngine` objektum könnyű; valójában nem tölt be nyelvi adatot, amíg nem rendelsz hozzá egy nyelvet. Ez a lusta betöltés teszi lehetővé, hogy nyugodtan létrehozd a motort még akkor is, ha az erőforrás mappa üres – semmi sem fog meghibásodni, amíg nem próbálod meg a **kínai szöveg képet kinyerni**. + +## 3. lépés: OCR nyelv beállítása – Válaszd az egyszerűsített kínait + +Az Aspose több tucat nyelvet támogat, mindegyik ZIP fájlban van csomagolva. Mivel a mintaképünk egyszerűsített kínai karaktereket tartalmaz, a felismerés előtt kifejezetten beállítjuk a nyelvet. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +Ha kihagyod ezt a lépést, a motor alapértelmezés szerint angolt használ, és értelmetlen kimenetet kapsz. Emellett vedd figyelembe, hogy a nyelv neve meg kell egyezzen a `ResourceFolder`‑ben lévő ZIP fájl nevével. Például a `ChineseSimplified.zip`‑nek jelen kell lennie. + +## 4. lépés: Szöveg kinyerése a célképből + +Miután a motor be van állítva és a nyelv meg van adva, végre **szöveget ismerünk fel a képről**. A metódus egy egyszerű karakterláncot ad vissza, amelyet naplózhatsz, tárolhatsz vagy egy másik rendszerbe továbbíthatsz. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +A `RecognizeImage` hívás elvégzi a nehéz munkát: előfeldolgozás, szegmentálás, karakter egyezés, majd a végeredmény összeállítása. Ha a kép tiszta és a nyelvcsomag megfelelő, a kínai karakterek megjelennek a konzolon. + +> **Tipp:** Ha csak a kép egy részét szeretnéd kinyerni (pl. egy adott területet), használd a `RecognizeImage(string, Rectangle)` túlterhelést, amely egy vágó téglalapot kap. + +## Teljes működő példa + +Az alábbiakban a teljes program látható, amelyet beilleszthetsz egy új konzolprojektbe. Tartalmazza a `using` direktívákat, a beállításokat, a nyelvválasztást és a végső kimenetet. Mentsd el `Program.cs`‑ként, állítsd vissza a NuGet csomagokat, és futtasd. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Várható kimenet + +Ha a `chinese-sign.jpg` a „欢迎光临” kifejezést tartalmazza, a konzol valami ilyesmit fog megjeleníteni: + +``` +=== Recognized Text === +欢迎光临 +``` + +A pontos formázás a kép minőségétől függően változhat, de a karaktereknek olvashatónak kell lenniük. + +## Gyakori hibák és profi tippek + +| Tünet | Valószínű ok | Megoldás | +|-------|---------------|----------| +| **Üres karakterlánc visszatér** | Nyelvcsomag nem található vagy a `AutoDownloadResources` még mindig megpróbálja letölteni | Ellenőrizd a `ResourceFolder` útvonalát és győződj meg róla, hogy a `ChineseSimplified.zip` létezik. | +| **Rossz karakterek** | A kép elmosódott vagy alacsony kontrasztú | Előfeldolgozd a képet (növeld a kontrasztot, binarizáld) mielőtt a `RecognizeImage`‑nek adnád. | +| **Kivétel: `FileNotFoundException`** | Helytelen kép útvonal | Használj abszolút útvonalat vagy helyezd a képet a projekt kimeneti könyvtárába, és hivatkozz rá a `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`‑vel. | +| **Teljesítmény lassulás** | Nagy képméretek | Méretezd át a képet egy ésszerű szélességre (pl. 1024 px) a felismerés előtt. | + +**Pro tip:** Tartsd a nyelvcsomagokat egy verziókezelés alatt álló mappában. Amikor frissíted az Aspose.OCR‑t, az új csomagok más elnevezési konvencióval rendelkezhetnek, ami csendben megtörheti a **letiltott automatikus letöltés** stratégiádat. + +## A példa kiterjesztése + +Most, hogy már **szöveget tudsz felismerni képről**, esetleg szeretnéd: + +- **Kötegelt feldolgozás** egy mappában lévő képekkel (fájlok ciklusba vétele, minden alkalommal a `RecognizeImage` hívása). +- **Exportálni** az eredményeket CSV vagy JSON fájlba a további elemzésekhez. +- **Kombinálni** az OCR‑t fordítási API‑kkal, hogy a kínai táblákat valós időben angolra fordítsd. + +Ezek a forgatókönyvek mind ugyanazokat az alaplépéseket használják: egyszer konfigurálod, beállítod a nyelvet, és meghívod a `RecognizeImage`‑t. A moduláris felépítés tisztán tartja a kódot és könnyen karbantarthatóvá teszi. + +## Következtetés + +Most megtanultad, hogyan **ismerj fel szöveget képről** az Aspose OCR segítségével C#‑ban. Azáltal, hogy kifejezetten **letiltod az automatikus letöltést**, a motort egy helyi erőforrás mappára irányítod, és **beállítod az OCR nyelvet** egyszerűsített kínaira, megbízhatóan **kinyerheted a kínai szöveget a képből** és bármely más nyelvet, amelyet biztosítasz. + +A fenti teljes, futtatható kód egy gyakorlati munkafolyamatot mutat be, amelyet könnyedén beilleszthetsz valós projektekbe. Innen kezdve kísérletezz különböző képminőségekkel, adj hozzá hibakezelést, vagy integráld a kimenetet egy nagyobb rendszerbe. A lehetőségek gyakorlatilag végtelenek. + +Van kérdésed más nyelvekkel, teljesítményhangolással vagy felhőbe telepítéssel kapcsolatban? Nyugodtan hagyj megjegyzést – 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/net/ocr-optimization/_index.md b/ocr/hungarian/net/ocr-optimization/_index.md index b92ca485..2cc29074 100644 --- a/ocr/hungarian/net/ocr-optimization/_index.md +++ b/ocr/hungarian/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ Fedezze fel az Aspose.OCR-t .NET-hez. Növelje az OCR pontosságát előfeldolgo Növelje az OCR pontosságát az Aspose.OCR for .NET segítségével. Helyesírások javítása, szótárak testreszabása és hibamentes szövegfelismerés problémamentesen. ### [Mentse el a többoldalas eredményt dokumentumként az OCR képfelismerésben](./save-multipage-result-as-document/) Engedje ki az Aspose.OCR-ben rejlő lehetőségeket a .NET számára. Ezzel az átfogó, lépésenkénti útmutatóval könnyedén mentheti a többoldalas OCR-eredményeket dokumentumként. +### [c# OCR oktatóanyag: Szöveg felismerése képről előfeldolgozással](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Ismerje fel a szöveget képről előfeldolgozási lépésekkel az Aspose.OCR .NET segítségével. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/hungarian/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..59c1374f --- /dev/null +++ b/ocr/hungarian/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,233 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR oktatóanyag, amely bemutatja, hogyan lehet szöveget felismerni + képről, és hogyan előfeldolgozni a képet OCR-hez az Aspose.OCR szűrők használatával + – lépésről lépésre útmutató. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: hu +og_description: c# OCR oktatóanyag, amely végigvezet a képről szöveg felismerésén + és a kép előfeldolgozásán OCR-hez az Aspose.OCR szűrők használatával. Teljes kód + mellékelve. +og_title: c# OCR útmutató – Szöveg felismerése képről előfeldolgozással +tags: +- OCR +- C# +- Image Processing +title: 'c# OCR útmutató: Szöveg felismerése képről előfeldolgozással' +url: /hu/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Szöveg felismerése képről előfeldolgozással + +Valaha is elgondolkodtál, hogyan **szöveg felismerése képről** egy C# alkalmazásban anélkül, hogy hetekig finomítanád a szűrőket? Nem vagy egyedül. Ebben a **c# ocr tutorial**‑ban végigvezetünk egy teljes, azonnal futtatható példán, amely nem csak beolvassa a szöveget, hanem **kép előfeldolgozása OCR-hez** is elvégzi a pontosság növelése érdekében. + +Az Aspose.OCR könyvtárat fogjuk használni, mert egy kényelmes szűrőcsővezetékkel érkezik, amely lehetővé teszi a deskew, denoise és contrast‑boost lépések beillesztését néhány sorban. A útmutató végére egy konzolalkalmazásod lesz, amely képes egy ferde, zajos PNG-t felvenni, megtisztítani, és kiadni a kinyert karakterláncot – mindezzel egyértelmű magyarázatokkal arról, hogy miért fontos minden egyes lépés. + +## Előkövetelmények + +Mielőtt belemerülnénk, győződj meg róla, hogy rendelkezel a következőkkel: + +| Követelmény | Miért fontos | +|-------------|----------------| +| .NET 6 SDK (or later) | Modern C# funkciók és jobb teljesítmény | +| Visual Studio 2022 (or VS Code) | Kényelmes hibakeresés és IntelliSense | +| NuGet package **Aspose.OCR** | Biztosítja az `OcrEngine` és a szűrő osztályokat | +| An input image (e.g., `skewed‑noisy.png`) | Bemutatja az előfeldolgozás szükségességét | + +Ha valamelyik hiányzik, először telepítsd azt. A NuGet lépés a következő szakaszban van leírva. + +## 1. lépés: Aspose.OCR telepítése NuGet-en keresztül + +Nyisd meg a terminált (vagy a Package Manager Console-t) és futtasd: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** Használd a `--version` kapcsolót, hogy egy adott kiadásra rögzíts, ha reprodukálható buildekre van szükséged. + +A csomag tartalmazza az összes szükséges szűrőt, így nincs szükség további DLL-ekre. + +## 2. lépés: Az OCR motor inicializálása – a c# ocr tutorial szíve + +A motor létrehozása egyszerű, de érdemes megérteni, mi történik a háttérben. Az `OcrEngine` egy **szűrők** csővezetéket tartalmaz, amely a bitmapet módosítja, mielőtt a felismerési algoritmus lefut. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Miért inicializáljuk először?** A motor belső erőforrásokat (például nyelvi modelleket) cache-eli. Egyetlen példány újrahasználata több kép esetén memóriát takarít meg és felgyorsítja a későbbi felismeréseket. + +## 3. lépés: Kép előfeldolgozása OCR-hez – deskew, denoise és contrast boost hozzáadása + +A legtöbb valós világban készült beolvasás nem tökéletes; ferde, szemcsés vagy túl sötét. Ezért a **kép előfeldolgozása OCR-hez** kritikus lépés. Az Aspose három szűrőt biztosít, amelyek jól együttműködnek: + +| Szűrő | Mit csinál | Tipikus felhasználási eset | +|--------|--------------|------------------| +| `DeskewFilter` | Elforgatja a képet, hogy korrigálja a ferdeséget | Szkennelt dokumentumok szkennerről | +| `DenoiseFilter` | Eltávolítja az izolált pixeleket („só‑és‑bors” zaj) | Gyenge fényviszonyú fényképek | +| `ContrastBoostFilter` | Növeli a kontrasztot a szövegszegélyek élesítéséhez | Kopott nyomatok vagy alacsony felbontású felvételek | + +Az alábbi kód hozzáadja az egyes szűrőket a motor csővezetékéhez: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **Hogyan működik:** Amikor később meghívod a `RecognizeImage`-t, a motor sorban futtatja ezeket a három szűrőt, mielőtt a megtisztított bitmapet átadná a felismerő magnak. + +### Vizuális illusztráció (opcionális) + +Ha beágyazol egy képet, győződj meg róla, hogy az alt szöveg tartalmazza az elsődleges kulcsszót: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## 4. lépés: Szöveg felismerése képről – a döntő pillanat + +Miután a kép előfeldolgozása megtörtént, végre kinyerhetjük a karaktereket. A metódus egy egyszerű stringet ad vissza, amelyet naplózhatsz, tárolhatsz vagy egy másik rendszerbe továbbíthatsz. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Várt kimenet + +A mintát egy tipikus számla beolvasásán futtatva valami ilyesmit ad: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +Ha a kimenet összezavartnak tűnik, ellenőrizd a kép minőségét, és fontold meg a `ContrastBoostFilter.Level` finomhangolását (a > 2.0 értékek túl agresszívek lehetnek). + +## 5. lépés: Az eredmény kiírása és opcionális utófeldolgozás + +Egy konzolalkalmazás egyszerűen kiírhatja a stringet, de sok projektnek extra kezelést igényel – például a szóközök levágását, sortörések eltávolítását vagy a szöveg adatbázisba való betáplálását. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Miért utófeldolgozás? + +Még jó előfeldolgozás esetén is az OCR gyakran bevezet felesleges sortöréseket vagy láthatatlan karaktereket. Egy gyors `Replace` lánc sokkal felhasználhatóbbá teheti az adatot a további feldolgozás során. + +## 6. lépés: Teljes működő példa – másolás-beillesztés kész + +Az alábbi **teljes** program, amelyet azonnal lefordíthatsz és futtathatsz. Tartalmazza az összes using utasítást, a szűrő beállítást, az OCR hívást és az eredménykezelést. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**Hogyan futtasd** + +1. Mentsd a fájlt `Program.cs` néven egy új konzolprojekten belül (`dotnet new console`). +2. `YOUR_DIRECTORY/skewed-noisy.png` helyettesítsd a tesztképed valós útvonalával. +3. Futtasd a `dotnet run` parancsot. A terminálon meg kell jelennie az OCR kimenetnek. + +## Gyakori buktatók és tippek (szöveg felismerése képről megbízhatóan) + +| Probléma | Mit ellenőrizz | Megoldás | +|-------|----------------|-----| +| **Garbage characters** | A kép túl sötét vagy alacsony felbontású | Növeld a `ContrastBoostFilter.Level` értékét vagy használj magasabb felbontású forrást | +| **Missing lines** | A Deskew nem korrigálta teljesen a szöget | Manuálisan előbb forgasd el a képet, vagy állítsd be a `DeskewFilter` toleranciát | +| **Slow performance** | Sok nagy kép feldolgozása ciklusban | Használd újra ugyanazt az `OcrEngine` példányt, és minden futtatás után hívd a `ocrEngine.Clear()`-t | +| **Unsupported language** | A szöveg nem angol | Állítsd be a `ocrEngine.Language = OcrLanguage.French`-et (vagy egy másik támogatott nyelvet) a felismerés előtt | + +### Szélsőséges eset: többoldalas PDF-ek kezelése + +Ha PDF-et kell OCR-ozni, konvertáld minden oldalt képpé (például a `Aspose.PDF` használatával), és egyesével add őket ugyanahhoz a motorhoz. Az előfeldolgozó csővezeték változatlan marad, biztosítva a konzisztens eredményeket az oldalak között. + +## Következtetés + +Ebben a **c# ocr tutorial**‑ban mindent lefedtünk, amire szükséged van a **szöveg felismeréséhez képről** és a **kép előfeldolgozásához OCR-hez** az Aspose.OCR beépített szűrőivel. A motor inicializálásával, a deskew, denoise és contrast‑boost lépések hozzáadásával, majd végül a `RecognizeImage` meghívásával tiszta, megbízható szövegkinyerést kapsz néhány sor kóddal. + +Nyugodtan kísérletezz – cseréld ki egy másik szűrőre, finomítsd a kontraszt szintet, vagy integráld az eredményt egy nagyobb adatfolyamba. A koncepciók bármely OCR könyvtárra alkalmazhatók: az előfeldolgozás gyakran a félolvasott számla és a tökéletesen rögzített dokumentum közti különbség. + +Van még kérdésed? Talán érdekel a kézírásos szöveg kezelése vagy a több ezer fájl kötegelt feldolgozása. Hagyj megjegyzést, és együtt felfedezzük ezeket a helyzeteket. Boldog 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/net/text-recognition/_index.md b/ocr/hungarian/net/text-recognition/_index.md index 61ddd9f7..03347755 100644 --- a/ocr/hungarian/net/text-recognition/_index.md +++ b/ocr/hungarian/net/text-recognition/_index.md @@ -55,9 +55,22 @@ Bővítse .NET-alkalmazásait az Aspose.OCR segítségével a hatékony képszö Az Aspose.OCR segítségével tárja fel az OCR-ben rejlő lehetőségeket a .NET-ben. Könnyedén bontsa ki a szöveget a PDF-ekből. Töltse le most a zökkenőmentes integrációs élményért. ### [Táblázat felismerése az OCR képfelismerésben](./recognize-table/) A .NET-hez készült Aspose.OCR-ben rejlő lehetőségeket az OCR-képfelismerés tábláinak felismeréséről szóló átfogó útmutatónkkal tárja fel. +### [c# OCR oktatóanyag – Hindi szöveg kinyerése PNG nyugtákból](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Tanulja meg, hogyan használja a c#-os Aspose.OCR-t hindi szöveg kinyerésére PNG nyugtákból. +### [c# OCR oktatóanyag: Szöveg kinyerése képekből és DJVU fájlokból](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Tanulja meg, hogyan nyerhet ki szöveget képekből és DJVU fájlokból a c# Aspose.OCR segítségével, részletes lépésről-lépésre útmutatóval. +### [c# OCR oktatóanyag – Szöveg kinyerése képekből az Aspose OCR segítségével](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Tanulja meg, hogyan nyerhet ki szöveget képekből az Aspose OCR C# könyvtárral, részletes lépésről-lépésre útmutatóval. +### [JPG-ben szöveg felismerése az Aspose OCR segítségével – Teljes C# útmutató](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Fedezze fel, hogyan ismerheti fel a szöveget JPG képeken az Aspose OCR .NET könyvtárral, részletes C# példákkal. +### [TIFF-ben szöveg kinyerése az Aspose OCR segítségével – Teljes C# útmutató](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Tanulja meg, hogyan nyerhet ki szöveget TIFF fájlokból az Aspose OCR C# könyvtárral, részletes lépésről-lépésre útmutatóval. +### [Szöveg kinyerése PNG-ből – Teljes Aspose OCR útmutató](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Tanulja meg, hogyan nyerhet ki szöveget PNG képekből az Aspose OCR segítségével, részletes, lépésről-lépésre útmutatóval. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/hungarian/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..5a88c6ea --- /dev/null +++ b/ocr/hungarian/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR útmutató PNG-ből szöveg olvasásához, képet szöveggé konvertáláshoz + és hindi szöveg felismeréséhez egy nyugtán az Aspose OCR használatával. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: hu +og_description: c# OCR oktatóanyag, amely megtanítja, hogyan olvassunk szöveget PNG-ből, + konvertáljunk képet szöveggé, és hogyan ismerjük fel a hindui szöveget egy nyugtán + az Aspose OCR segítségével. +og_title: c# OCR útmutató – Hindi szöveg kinyerése PNG nyugtákról +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# OCR útmutató – Hindi szöveg kinyerése PNG nyugtákról +url: /hu/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR tutorial – Hindi szöveg kinyerése PNG nyugtákból + +Gondolkodtál már azon, hogyan **olvashatsz szöveget PNG** fájlokból egy C# alkalmazásban? Lehet, hogy sok hindi nyugtád van, és automatikusan szeretnéd kinyerni a összegeket. Ez pontosan azt a feladatot oldja meg ez a c# ocr tutorial—egy képet kereshető szöveggé alakít néhány kódsorral. + +Ebben az útmutatóban végigvezetünk az Aspose OCR telepítésén, egy PNG nyugta betöltésén, a hindi karakterek felismerésén, és végül a kinyert karakterlánc kiíratán a konzolra. A végére képes leszel **képet szöveggé konvertálni**, **hindi szöveget felismerni**, és akár **szöveget kinyerni nyugta** képekből anélkül, hogy elhagynád az IDE-t. + +> **Előfeltétel:** Érvényes Aspose OCR licencre van szükséged (vagy használhatod az ingyenes próbaverziót) és .NET 6+ telepítve kell legyen. Ha újonc vagy a NuGet‑ben, ne aggódj – erről is szó lesz. + +--- + +## Amire szükséged lesz + +- **Visual Studio 2022** (vagy bármely C#‑kompatibilis szerkesztő) +- **.NET 6 SDK** (vagy újabb) +- **Aspose.OCR** NuGet csomag + ```bash + dotnet add package Aspose.OCR + ``` +- Egy minta nyugta kép, például `hindi-receipt.png`, a projekt mappájában mentve. + +Ha ezek készen állnak, azonnal másolhatod‑beillesztheted a végleges kódot és nyomhatsz **F5**‑öt. + +--- + +## 1. lépés: A projekt beállítása és a névterek importálása + +Először hozz létre egy konzolos projektet, ha még nincs: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Most nyisd meg a `Program.cs`‑t. A tetején importáld az Aspose OCR névtereket, hogy a fordító tudja, hol találja az osztályokat: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Miért fontos:** Az `OcrEngine` a `Aspose.OCR`‑ban található, míg a nyelvhez kapcsolódó enumok a `Aspose.OCR.Settings`‑ben vannak. Bármelyik kihagyása fordítási hibát eredményez. + +--- + +## 2. lépés: Az OCR motor inicializálása és a nyelvi modell kiválasztása + +Az OCR motornak tudnia kell, **melyik nyelvet** keresse. Az Aspose számos nyelvi csomagot tartalmaz; a `OcrLanguage.Hindi` megadása azt mondja a motornak, hogy töltse le (ha hiányzik) és használja a hindi modellt. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Pro tipp:** Ha több nyelven szeretnél nyugtákat feldolgozni, a `Language`‑t futásidőben átválthatod, vagy akár engedélyezheted a `MultiLanguage` módot. + +--- + +## 3. lépés: A PNG nyugta betáplálása a motorba + +Itt **olvasunk szöveget PNG**‑ből. Add meg a teljes elérési utat (a végrehajthatóhoz relatív is megfelelő). A metódus egy egyszerű karakterláncot ad vissza, amely tartalmazza mindazt, amit a motor fel tudott ismerni. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Ha a kép nagy felbontású és a szöveg tiszta, majdnem tökéletes eredményt kapsz. Zajos beolvasások esetén fontold meg az előfeldolgozást (pl. binarizálás) – az Aspose `PreprocessImage` metódusokat kínál, amelyeket később felfedezhetsz. + +--- + +## 4. lépés: A kinyert szöveg megjelenítése vagy tárolása + +A legtöbb fejlesztő egyszerűen a konzolra írja az eredményt tesztelés közben. Egy éles környezetben adatbázisba vagy CSV fájlba is írhatod. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +A program futtatása a minta nyugtával valami ilyesmit nyomtat: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +Ez a **képet szöveggé konvertálás** része működés közben – manuális átírásra nincs szükség. + +--- + +## Teljes működő példa (másolás‑beillesztés kész) + +Az alábbiakban a teljes, önálló program látható. Illeszd be a `Program.cs`‑be, helyezd a `hindi-receipt.png`‑t a lefordított `.exe` mellé, és nyomd meg a **Ctrl + F5**‑öt. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Várható kimenet + +Ha a nyugta képe tiszta hindi karaktereket tartalmaz, a konzol megjeleníti a kinyert sorokat, megtartva a sortöréseket. Ha az OCR nem ismer fel egy szót, egy összezavaró részletet látsz – ez csak jelzés a képminőség javítására vagy az előfeldolgozás finomhangolására. + +--- + +## 5. lépés: Tovább lépés – Szöveg kinyerése nyugtából programozottan + +Ha a célod a **szöveg kinyerése nyugtából** mezőkből (dátum, összeg, számla szám), az OCR karakterláncot utófeldolgozhatod reguláris kifejezésekkel: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +Ez a kis kódrészlet bemutatja, hogyan alakítható a nyers OCR kimenet strukturált adatokra – tökéletes a könyvelő szoftverbe való betápláláshoz. + +--- + +## Gyakori buktatók és hogyan kerüld el őket + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Üres kimenet** | A kép útvonala hibás vagy a fájl nincs másolva a kimeneti mappába. | `Path.GetFullPath` használata és ellenőrizd, hogy a fájl létezik (`File.Exists`). | +| **Zavaros karakterek** | Alacsony felbontású PNG vagy tömörített színek. | Nagyobb felbontású képet használj, állítsd be a DPI‑t 300+‑ra, vagy használd az `ocrEngine.ImagePreprocessor`‑t. | +| **Nyelvi modell nem lett letöltve** | Nincs internetkapcsolat az első futtatáskor. | Töltsd le előre a hindi modellt az Aspose portálon, vagy helyezd el helyben. | +| **Teljesítménycsökkenés** | Sok oldal feldolgozása ciklusban anélkül, hogy felszabadítanád. | Tedd az `OcrEngine`‑t egy `using` blokkba, vagy használd újra ugyanazt a példányt. | + +--- + +## Kép illusztráció + +![c# ocr tutorial reading Hindi text from PNG receipt](https://example.com/placeholder-image.png "c# ocr tutorial – read text from png receipt") + +*The screenshot shows a Hindi receipt before and after OCR conversion.* +*A képernyőkép egy hindi nyugtát mutat OCR konverzió előtt és után.* + +--- + +## Összefoglalás: Mit fedtünk le + +- C# konzolos alkalmazás beállítása és az Aspose OCR NuGet csomag hozzáadása. +- `OcrEngine` inicializálása a **hindi szöveg felismerése** nyelvi modellel. +- `RecognizeImage` használatával **szöveg olvasása PNG**‑ből. +- **Képet szöveggé konvertálás** és az eredmény kiíratása. +- Egyszerű minta bemutatása a **szöveg kinyerésére nyugtából** mezőkből. + +Mindez egyetlen, futtatható fájlban került bemutatásra – pontosan, amit egy **c# ocr tutorial** nyújtania kell. + +## Következő lépések és kapcsolódó témák + +1. **Kötegelt feldolgozás** – végigjárni egy mappát nyugta képekkel és az eredményeket CSV‑ben tárolni. +2. **Előfeldolgozás** – felfedezni az `ocrEngine.ImagePreprocessor`‑t zajeltávolításra, ferde korrigálásra vagy kontraszt növelésre. +3. **Többnyelvű OCR** – engedélyezni az `OcrLanguage.Multilingual`‑t, hogy a nyugták keverjék a hindi és angol nyelvet. +4. **Integráció** – a kinyert adatokat egy Entity Framework Core modellbe küldeni tartós tárolásra. + +Ha érdekelnek ezek, nézd meg a **képet szöveggé konvertálás C#‑ban** és a **strukturált adatok kinyerése OCR eredményekből** című oktatóanyagainkat. + +### Jó kódolást! + +Nyugodtan hagyj megjegyzést, ha elakadsz, vagy oszd meg, hogyan bővítetted ezt a **c# ocr tutorial**‑t a saját projektjeidben. Ne feledd, az OCR csak az első lépés – a tiszta adatok jelentik a valódi varázslatot. 🚀 + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/hungarian/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..1791eeca --- /dev/null +++ b/ocr/hungarian/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-01-09 +description: C# OCR útmutató, amely bemutatja, hogyan lehet szöveget kinyerni képfájlokból, + és DJVU-t szöveggé konvertálni az Aspose.OCR segítségével. Tanulja meg a lépésről‑lépésre + történő kinyerést percek alatt. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: hu +og_description: c# OCR oktatóanyag, amely gyorsan bemutatja, hogyan lehet szöveget + kinyerni képfájlokból, és DJVU-t szöveggé konvertálni az Aspose.OCR használatával. + Kövesd az útmutatót egy működő megoldásért. +og_title: c# OCR útmutató – Szöveg kinyerése képből és DJVU-ból +tags: +- OCR +- C# +- Aspose +title: 'c# OCR útmutató: Szöveg kinyerése képből és DJVU fájlokból' +url: /hu/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR tutorial – Szöveg kinyerése képekből és DJVU fájlokból + +Valaha is elgondolkodtál, hogyan lehet szöveget kinyerni képfájlokból anélkül, hogy a hajadba nyúlnál? Ebben a **c# OCR tutorial**‑ban egy teljes, azonnal futtatható példán keresztül mutatjuk be, hogyan nyerhetünk ki szöveget egy szokásos képből *és* egy DJVU dokumentumból. + +Ha gyors módot keresel a **DJVU szöveggé konvertálására**, jó helyen vagy – nincs szükség extra konverterekre, csak tiszta C# kód. + +## Mit fogsz megtanulni + +- Hogyan állítsd be az Aspose.OCR könyvtárat egy .NET projektben. +- A pontos kód, amire szükséged van a **képfájlokból szöveg kinyeréséhez**. +- Egy tömör módszer a **DJVU fájlokból szöveg kinyerésére** (igen, ugyanaz a motor végzi). +- Gyakori buktatók (nagy fájlok, hiányzó betűkészletek, licencelés) és hogyan kerüld el őket. + +Csak egy naprakész .NET SDK-re és internetkapcsolatra van szükséged a NuGet csomag letöltéséhez. Korábbi OCR tapasztalat nem szükséges. + +## Előfeltételek + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6.0 or later | Az Aspose.OCR a .NET Standard 2.0-ra céloz, ezért a .NET 6+ a legjobb teljesítményt nyújtja. | +| Visual Studio 2022 (or VS Code) | Az IDE-k megkönnyítik a csomagkezelést, de bármely szerkesztő működik. | +| NuGet package **Aspose.OCR** | Ez a motor, amely ténylegesen elvégzi a nehéz munkát. | +| A sample image (`sample.png`) and a DJVU file (`sample.djvu`) | Ezeket fogjuk használni a két kinyerési forgatókönyv bemutatásához. | + +A csomagot a következő paranccsal telepítheted: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tipp:** Ha CI szerveren vagy, add hozzá a `--no-restore` kapcsolót a build lépéshez, és a kezdetkor egyszer állítsd vissza a csomagokat a gyorsabb futtatás érdekében. + +## 1. lépés: Az OCR motor inicializálása – a c# OCR tutorial szíve + +Az első dolog, amit teszünk, egy `OcrEngine` példány létrehozása. Gondolj rá úgy, mint a szkenner bekapcsolására a szoftveredben. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Miért hozunk létre minden alkalommal új motort? Mert a motor tárolja a konfigurációt (nyelv, detektálási mód stb.). Egy friss indítással elkerülheted, hogy a régi beállítások átkerüljenek a futások között. + +## 2. lépés: Kép betöltése és felismerése – hogyan nyerjünk ki szöveget képből + +Most egy szokásos bitmapet (PNG, JPEG, BMP…) adunk a motorhoz. A `RecognizeImage` metódus visszaadja a felismert karakterláncot. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +Néhány fontos megjegyzés: + +* **Fájl létezése** – Ha az útvonal hibás, a metódus `FileNotFoundException`-t dob. Tedd `try/catch`-be, ha felhasználó által megadott útvonalakat vársz. +* **Képminőség** – Az OCR a legjobban 300 dpi vagy annál magasabb felbontáson működik. Alacsony felbontású beolvasások torz kimenetet eredményezhetnek. +* **Nyelvtámogatás** – Alapértelmezés szerint az Aspose.OCR angolt feltételez. A módosításhoz állítsd be `ocrEngine.Language = Language.Spanish;` a `RecognizeImage` előtt. + +## 3. lépés: Szöveg felismerése DJVU dokumentumból – DJVU szöveggé konvertálása + +A DJVU egy konténerformátum, amely több oldalt is tartalmazhat. Az Aspose.OCR közvetlenül képes kezelni; csak a fájlra mutatsz. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +A motor a háttérben minden oldalt képként kinyer, majd ugyanazt a felismerési folyamatot futtatja. Ezért nincs szükség külön “DJVU szöveggé konvertálás” lépésre – az OCR motor elvégzi helyetted. + +### Többoldalas DJVU fájlok kezelése + +Ha a DJVU több oldalt tartalmaz, a `RecognizeImage` sorban összefűzi őket. Ha külön oldalakat szeretnél, használhatod a túlterhelést, amely `List`-et ad vissza: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## 4. lépés: A motor finomhangolása a jobb pontosságért – miért fontos + +Az alapértelmezett eredmények elfogadhatóak, de néhány beállítás módosításával jelentősen javíthatók: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Ezek a jelzők különösen hasznosak, amikor **szöveget kell kinyerni** beolvasott PDF-ekből, amelyeket először DJVU‑ként mentettek. Az orientáció felismerés bekapcsolása megspórolja a képek manuális forgatását. + +## 5. lépés: Licencelés és futásidejű hibák kezelése + +Az Aspose.OCR egy ingyenes próba verzióval érkezik, amely néhány oldal után a kimenetre a „Demo” feliratot helyezi. A vízjel eltávolításához add hozzá a licencfájlt: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Ha kihagyod ezt a lépést, a motor továbbra is működik, de az eredmény tartalmazni fogja a „Demo” szót. Emellett figyelj a `OutOfMemoryException`-ra nagy DJVU fájlok feldolgozásakor – fontold meg az oldalankénti feldolgozást, ahogyan azt korábban bemutattuk. + +## Teljes, futtatható példa + +Az alábbi önálló konzolprogram mindent egy helyre gyűjt. Másold be, állítsd be a fájl útvonalakat, és nyomd meg a **Run** gombot. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Várható kimenet** (feltételezve, hogy a fájlok a „Hello World” kifejezést tartalmazzák): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Ha a forrás több sort tartalmaz, azok pontosan úgy jelennek meg, mint az eredeti dokumentumban. + +## Gyakori kérdések és szélsőséges esetek kezelése + +* **Mi van, ha a kép fekete‑fehér?** + Az OCR rendben működik, de a kontrasztot javíthatod a `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;` beállítással. + +* **Kizárólag számokat tudok kinyerni?** + Igen – állítsd be a `ocrEngine.CharWhitelist = "0123456789";` értéket a `RecognizeImage` hívása előtt. + +* **Van fájlméret korlát?** + A motor a teljes fájlt memóriába tölti. 100 MB-nál nagyobb fájlok esetén dolgozz oldalanként (lásd a 3. lépés listátulajdonságát). + +* **Miben különbözik ez a Tesseract‑tól?** + Az Aspose.OCR egy kereskedelmi könyvtár beépített DJVU támogatással és natív függőségek nélkül, míg a Tesseract natív binárisokat és külön DJVU konvertáló eszközöket igényel. + +## Összegzés + +Most befejezted a **c# OCR tutorial**‑t, amely bemutatja, hogyan **nyerjünk ki szöveget képfájlokból** és hogyan **konvertáljunk DJVU‑t szöveggé** az Aspose.OCR használatával. A példa mindent lefed a csomag telepítésétől a licencelésig, az egyoldalas képek kinyerésétől a többoldalas DJVU kezeléséig, sőt tippeket is ad a pontosság növeléséhez. + +Ezután érdemes lehet felfedezni, **hogyan nyerjünk ki szöveget** PDF‑ekből, integrálni az OCR lépést egy web API‑ba, vagy kísérletezni nyelvi csomagokkal többnyelvű dokumentumokhoz. A lehetőségek végtelenek – csak tartsd szem előtt a fő tanulságot: állítsd be a motort, add neki a fájlt, és olvasd vissza a karakterláncot. + +Van még kérdésed? Hagyj egy megjegyzést, próbáld ki a kódot a saját dokumentumaidon, és jó kódolást! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# OCR tutorial – console output 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/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/hungarian/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..bdf341d9 --- /dev/null +++ b/ocr/hungarian/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: C# OCR oktatóanyag, amely bemutatja, hogyan lehet szöveget kinyerni képfájlokból, + szöveget felismerni PNG-ből, képet karakterlánccá konvertálni, és automatikusan + felismerni a nyelvet az Aspose.OCR használatával. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: hu +og_description: c# OCR oktatóanyag, amely végigvezet a képekből szöveg kinyerésén, + png fájlok szövegének felismerésén, képek karakterláncokká konvertálásán és az Aspose + OCR használatával történő automatikus nyelvfelismerésen. +og_title: c# OCR útmutató – Képekből szöveg kinyerése +tags: +- C# +- OCR +- Aspose +- Image Processing +title: c# OCR útmutató – Szöveg kinyerése képekből az Aspose OCR-rel +url: /hu/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Szöveg kinyerése képekből az Aspose OCR-rel + +Valaha szükséged volt egy **c# ocr tutorial**-ra, ami valóban működik egy valós PNG fájlon? Lehet, hogy egy nyugtavizsgáló, egy többnyelvű űrlapfeldolgozó rendszert építesz, vagy egyszerűen csak kíváncsi vagy, hogyan lehet egy szöveges képet kereshető karakterlánccá alakítani. Bármelyik is legyen, jó helyen vagy. + +Ebben az útmutatóban lépésről lépésre megmutatjuk, hogyan **extract text from image** fájlokból, **recognize text from png**, **convert image to string**, és még **detect language automatically** – mindezt az Aspose.OCR könyvtárral. Nincs homályos hivatkozás, csak egy teljes, futtatható példa, amit be tudsz másolni a Visual Studio-ba. + +## Amire szükséged lesz + +- .NET 6.0 vagy újabb (a kód működik .NET Core és .NET Framework esetén is) +- NuGet hivatkozás a `Aspose.OCR`-ra (23.9 vagy újabb verzió) +- Egy képfájl (`mixed‑script.png` ebben a példában), amelyet az alkalmazás el tud olvasni +- Alapvető C# ismeretek (ha már írtál egy “Hello World” programot, akkor rendben vagy) + +> **Pro tip:** Ha még nincs licenced, az Aspose ingyenes ideiglenes licencet kínál teszteléshez. Egyszerűen helyezd a `.lic` fájlt a futtatható állomány mellé. + +## 1. lépés – Az Aspose.OCR NuGet csomag telepítése + +Először add hozzá a könyvtárat a projekthez. Nyisd meg a Package Manager Console-t és futtasd: + +```powershell +Install-Package Aspose.OCR +``` + +Vagy, ha inkább a felhasználói felületet használod, jobb‑klikkelj a *Dependencies → Manage NuGet Packages* menüre, és keresd a **Aspose.OCR**-t. + +## 2. lépés – Az OCR motor előkészítése (c# ocr tutorial core) + +Most létrehozunk egy `OcrEngine` példányt, beállítjuk, hogy automatikusan felismerje a nyelvet, és megadjuk a PNG fájlt. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Miért állítjuk be a `Language = OcrLanguage.AutoDetect` értéket + +Az automatikus nyelvfelismerés megkímél attól, hogy kitaláld, az kép angol, orosz, arab vagy vegyes szöveget tartalmaz‑e. Ez a legflexibilisebb megoldás egy **detect language automatically** helyzetben, és a legtöbb, az Aspose által támogatott írásrendszernél azonnal működik. + +## 3. lépés – Az alkalmazás futtatása és a kimenet ellenőrzése + +Fordítsd le és futtasd a programot (`dotnet run` vagy nyomd meg a **F5**‑öt a Visual Studio‑ban). Ha minden helyesen van beállítva, valami ilyesmit látsz majd: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +Ez a kimenet bizonyítja, hogy sikeresen **extract text from image**, **recognize text from png**, és **convert image to string** – mindezt egyetlen, tömör kódrészletben. + +## 4. lépés – Gyakori változatok és szélsőséges esetek + +### Több kép kezelése + +Ha egy PNG‑könyvtárat kell feldolgoznod, tedd a felismerési hívást egy `foreach` ciklusba: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Rögzített nyelv megadása + +Néha előre tudod a nyelvet (pl. csak angol). A `AutoDetect` helyett használhatod az `OcrLanguage.English`‑t a feldolgozás felgyorsításához: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Alacsony minőségű szkenek kezelése + +Az Aspose.OCR előfeldolgozási lehetőségeket kínál (zajcsökkentés, kiegyenesítés). Egy gyors megoldáshoz: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Az eredmény fájlba mentése + +A konzolra írás helyett érdemes lehet a kinyert szöveget egy `.txt` fájlba írni: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## 5. lépés – Teljes működő példa (másolás‑beillesztés kész) + +Alább a **complete program** látható, amely tartalmazza az opcionális előfeldolgozást és a fájl‑kimeneti logikát. Nyugodtan módosítsd az elérési útvonalakat. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Várható kimenet + +A program futtatása egy olyan PNG‑n, amely angol, orosz és arab szöveget tartalmaz, a következőt eredményezi: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +Ha a kép üres vagy olvashatatlan, a motor egy üres karakterláncot ad vissza – kezeld ezt az esetet a `string.IsNullOrWhiteSpace(extractedText)` ellenőrzésével, mielőtt folytatnád. + +## Gyakran Ismételt Kérdések (GYIK) + +**Q: Támogatja az Aspose.OCR a kézírásos szöveget?** +A: Elsősorban nyomtatott OCR-re fókuszál. Kézírás esetén dedikált ML modellt vagy például az Azure Computer Vision szolgáltatást kell használni. + +**Q: Futtatható ez Linux‑on/macOS‑on?** +A: Természetesen. Az Aspose.OCR platformfüggetlen; csak telepítsd a .NET futtatókörnyezetet az operációs rendszeredhez. + +**Q: Mi a teendő, ha PDF‑eket kell feldolgozni PNG‑k helyett?** +A: Először konvertáld a PDF oldalakat képpé (pl. a `Aspose.PDF` használatával), majd add át a képet az OCR motorhoz. + +## Összegzés + +Most befejeztük a **c# ocr tutorial**‑t, amely végigvezet a **extracting text from image** fájlok, **recognize text from png**, **convert image to string**, és **detect language automatically** folyamatán az Aspose.OCR használatával. A kód rövid, a koncepciók világosak, és könnyen bővíthető kötegelt feldolgozásra, egyedi nyelvi beállításokra, vagy akár web‑API‑ba való integrálásra. + +Következő lépések? Próbáld meg az OCR kimenetet egy keresőindexbe betáplálni, egy fordítási szolgáltatásba, vagy kombináld az Azure Cognitive Services‑szel a még gazdagabb adatfolyamatokért. A lehetőségek határtalanok, ha már elsajátítottad a kép‑szöveggé konvertálás alapjait C#‑ban. + +Boldog kódolást, és ne felejts el különböző képminőségekkel kísérletezni – az OCR motorod meg fogja köszönni! + +![c# ocr tutorial – példa az OCR kimenetre egy vegyes‑írású PNG‑n](placeholder-image.png "c# ocr tutorial – OCR eredmény képernyőképe") + +{{< /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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/hungarian/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..348d2072 --- /dev/null +++ b/ocr/hungarian/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-01-09 +description: Gyorsan extrahálja a szöveget PNG‑ből az Aspose OCR‑rel. Tanulja meg, + hogyan olvassa ki a képen lévő szöveget, javítsa az OCR pontosságát, és kapjon tiszta + eredményeket C#‑ban. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: hu +og_description: Gyorsan nyerjen ki szöveget PNG-ből az Aspose OCR-rel. Tanulja meg, + hogyan olvassa el a képek szövegét, javítsa az OCR pontosságát, és szerezzen tiszta + eredményeket C#‑ban. +og_title: Szöveg kinyerése PNG-ből – Teljes Aspose OCR útmutató +tags: +- Aspose OCR +- C# +- Image Processing +title: Szöveg kinyerése PNG-ből – Teljes Aspose OCR útmutató +url: /hu/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNG-ből szöveg kinyerése – Teljes Aspose OCR bemutató + +Valaha is szükséged volt **szöveg kinyerése PNG-ből** fájlokból, de az eredmények tele voltak érthetetlen szöveggel? Nem vagy egyedül. Sok valós projektben – számlák, bizonylatok vagy beolvasott űrlapok – az OCR kimenet minősége döntő lehet az automatizálási folyamatok sikerében. + +Ebben az útmutatóban lépésről‑lépésre megmutatjuk, hogyan olvassuk ki a képen lévő szöveget az Aspose OCR segítségével, hogyan használjunk egy egyedi szótárat az **OCR pontosságának javításához**, hogyan tisztítsuk meg a zajt, és végül hogyan nyomtassunk egy rendezett karakterláncot. A végére egy futtatható C# konzolalkalmazást kapsz, amely megbízhatóan kinyeri a szöveget PNG‑képekből. + +> **Mit fogsz megtanulni** +> * Egy komplett, futtatható kódmintát. +> * Miért fontos egy egyedi szótár. +> * Tippek a nehéz esetek, például alacsony kontrasztú beolvasások kezeléséhez. + +## Előfeltételek + +- .NET 6 SDK vagy újabb (a kód .NET 6‑ra céloz, de .NET 5 is működik). +- Visual Studio 2022 vagy bármelyik kedvenc szerkesztő. +- Egy **PNG** kép, amelyet feldolgozni szeretnél – például `invoice.png`. +- Az **Aspose.OCR** NuGet csomag (`dotnet add package Aspose.OCR`). + +Külön konfigurációs fájlra nincs szükség; minden egyetlen `.cs` fájlban van. + +## 1. lépés – Aspose OCR telepítése és hivatkozása + +Először húzd be a könyvtárat a projektedbe. Nyiss egy terminált a megoldás mappájában és futtasd: + +```bash +dotnet add package Aspose.OCR +``` + +Ez az egyetlen sor letölti a legújabb stabil verziót (2026. januárjában, 23.9 verzió). A csomag tartalmazza a `OcrEngine` osztályt, amelyet a teljes útmutató során használni fogunk. + +## 2. lépés – Az OCR motor inicializálása + +Az `OcrEngine` példány létrehozása az alap. Olyan, mintha bekapcsolnád a szkennert, amely készen áll a pixelek értelmezésére. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Pro tipp:** Ha sok képet szeretnél egy ciklusban feldolgozni, használd újra ugyanazt az `OcrEngine` példányt. Ez belső erőforrásokat cache‑el és felgyorsítja a későbbi hívásokat. + +## 3. lépés – Pontosság növelése egy egyedi szótárral + +A kész OCR jó, de elakadhat a domain‑specifikus szavaknál, mint például „Aspose”, „OCR” vagy „SDK”. Ezeknek a kifejezéseknek az **egyedi szótárba** való felvétele azt mondja a motornak, hogy ezek a karakterláncok érvényesek, ezáltal csökkentve a félreolvasásokat. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Miért segít egy egyedi szótár + +- **Statisztikai modellek** az OCR mögött erősen súlyozzák a gyakori nyelvi mintákat. A ritka szavak alacsony valószínűséggel bírnak, és hasonló kinézetű karakterekkel helyettesülhetnek. +- Ha kifejezetten felsorolod őket, felülbírálod a modell találgatását. +- Különösen hasznos **képen lévő szöveg olvasásához**, ha a szöveg termékkódokat, rövidítéseket vagy márkaneveket tartalmaz. + +## 4. lépés – Szöveg felismerése a PNG fájlból + +Most adjuk meg a motor számára a kép elérési útját. A `RecognizeImage` metódus egy nyers karakterláncot ad vissza, amely még ismeretlen tokeneket (pl. „#@!”) tartalmazhat, amelyeket a motor nem tudott leképezni. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Külön eset:** Ha a fájl nem található, a `RecognizeImage` `FileNotFoundException`‑t dob. Éles környezetben tedd a hívást try‑catch blokkba. + +## 5. lépés – Az eredmény tisztítása a `CleanText`‑el + +Az Aspose OCR egy segédfüggvényt biztosít, amely eltávolítja azokat a karaktereket, amelyeket „ismeretlennek” jelöl. Ez a lépés kulcsfontosságú **szöveg kinyerése képből** projektekhez, ahol a downstream parser csak alfanumerikus karaktereket és alapvető írásjeleket vár. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +A `CleanText` metódus emellett normalizálja a sorvégeket, így a kimenet biztonságosan tárolható adatbázisokban vagy továbbadható más szolgáltatásoknak. + +## 6. lépés – A tisztított szöveg kiírása + +Végül jelenítsd meg vagy tárold az eredményt. Egy konzolalkalmazásban a `Console.WriteLine` elvégzi a feladatot. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +A program futtatásakor egy rendezett szövegrészt kell látnod, amely tükrözi a `invoice.png` tartalmát. Ha a kép tartalmazza az „Aspose” szót, az egyedi szótár biztosítja, hogy helyesen jelenjen meg, nem pedig például „A5p0se”. + +## Teljes működő példa + +Összegezve, itt van a teljes `Program.cs`, amelyet egyszerűen beilleszthetsz egy új konzolprojektbe: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Várt kimenet** (feltételezve, hogy a PNG egy egyszerű számlát tartalmaz): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Ha idegen szimbólumokat látsz, ellenőrizd a kép minőségét, vagy bővítsd ki az egyedi szótárat további kifejezésekkel. + +## Bónusz: Alacsony minőségű beolvasások kezelése + +Néha a PNG‑k 72 dpi‑en vannak beolvasva, vagy erős tömörítési artefaktusokkal rendelkeznek. Íme néhány gyors trükk az **OCR pontosságának javításához** C#‑on kívül: + +1. **Előfeldolgozás** egy olyan könyvtárral, mint a `SixLabors.ImageSharp` – növeld a kontrasztot, konvertáld szürkeárnyalatosra, vagy alkalmazz enyhe elmosást a zaj csökkentésére. +2. **Állítsd be a `Resolution` tulajdonságot** az `OcrEngine`‑en (pl. `ocrEngine.Resolution = 300;`) hogy a motor a képet nagyobb felbontásúnak tekintse. +3. **Engedélyezd a nyelvi csomagokat**, ha nem‑angol szöveggel dolgozol (`ocrEngine.Language = Language.English;`). + +Mindhárom megközelítést a `RecognizeImage` hívás előtt hozzáadhatod. + +## Gyakran ismételt kérdések + +- **Működik ez más képformátumokkal is?** + Igen. A `RecognizeImage` elfogadja a JPEG, BMP, TIFF és még a PDF‑et is (képkonténerként). Ugyanazok a lépések érvényesek. + +- **Kinyerhetem a szöveget több PNG‑ból egy mappában?** + Természetesen. Csomagold a főlogikát egy `foreach (var file in Directory.GetFiles(folder, "*.png"))` ciklusba, és tárold az eredményeket listában vagy külön fájlokba írd őket. + +- **Mi van, ha a szöveg koordinátáira is szükségem van?** + Az Aspose OCR biztosít `OcrResult` objektumokat, amelyek tartalmazzák a határoló dobozokat. Ehhez használd a `ocrEngine.RecognizeImageToResult(imagePath)` metódust a fejlettebb forgatókönyvekhez. + +## Következtetés + +Végigvezettünk egy **komplett, vég‑től‑végig** megoldáson a **szöveg kinyerése PNG‑ből** az Aspose OCR segítségével. Az motor inicializálásával, egy **egyedi szótár** hozzáadásával, a nyers kimenet tisztításával és néhány gyakori buktató kezelésével megbízhatóan **olvasni tudod a képen lévő szöveget** és **javíthatod az OCR pontosságát** saját C# alkalmazásaidban. + +Készen állsz a következő lépésre? Próbáld ki a PNG‑t egy beolvasott bizonylattal, adj hozzá több domain‑specifikus szót a szótárhoz, vagy integráld a kimenetet egy adatbázissal az automatikus számlafeldolgozáshoz. Az ég a határ, amikor az Aspose OCR‑t a .NET gazdag ökoszisztémájával kombinálod. + +Boldog kódolást, és legyen az OCR mindig pontos! + +![Extract text from png example](/images/extract-text-from-png.png "extract text from png – Aspose OCR demo") + +{{< /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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/hungarian/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..b7f7df3a --- /dev/null +++ b/ocr/hungarian/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,263 @@ +--- +category: general +date: 2026-01-09 +description: Szöveg kinyerése TIFF fájlokból az Aspose OCR használatával C#-ban. Tanulja + meg, hogyan kapja meg az egyes eredmények első 50 karakterét ebben a lépésről‑lépésre + útmutatóban. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: hu +og_description: Szöveg kinyerése TIFF fájlból az Aspose OCR használatával C#-ban. + Ez az útmutató lépésről lépésre bemutatja, hogyan lehet az egyes OCR-eredmények + első 50 karakterét lekérni. +og_title: Szöveg kinyerése TIFF-fájlból az Aspose OCR segítségével – Teljes C# útmutató +tags: +- Aspose OCR +- C# +- TIFF processing +title: Szöveg kinyerése TIFF-fájlból az Aspose OCR C#-vel – Teljes útmutató +url: /hu/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Szöveg kinyerése TIFF‑ből – Teljes Aspose OCR C# útmutató + +Szükséged volt már **szöveg kinyerésére TIFF** képekből, de nem tudtad, melyik könyvtárra bízhatod a feladatot? Nem vagy egyedül. Sok fejlesztő elakad, amikor kereshető szöveget próbál kinyerni többoldalas TIFF‑ekből, különösen, ha a teljesítmény is számít. + +Ebben a **aspose ocr c# tutorial**‑ban egy kész, futtatható példán keresztül mutatjuk be, hogyan nyerheted ki a teljes szöveget, és hogyan **kaphatod meg az első 50 karaktert** minden oldalról a gyors előnézethez. A végére egy önálló programod lesz, amelyet bármely .NET projektbe beilleszthetsz. + +## Amire szükséged lesz + +- .NET 6 (vagy bármely friss .NET verzió) – a kód .NET Core‑ral és .NET Framework‑kel egyaránt lefordítható. +- Aktív Aspose.OCR for .NET licenc (kezdhetsz egy ingyenes próbaverzióval). +- Egy mappa, amely egy vagy több `.tif` fájlt tartalmaz, amelyet feldolgozni szeretnél. +- Visual Studio, VS Code vagy bármely kedvenc IDE – a példa tiszta C# kód, így a szerkesztő választása nem lényeges. + +> **Pro tipp:** Ha CI szerveren dolgozol, add hozzá az Aspose.OCR NuGet csomagot (`Aspose.OCR`) a projektfájlodhoz; a könyvtár teljesen menedzselt, és nincs natív függősége. + +## 1. lépés: Telepítsd az Aspose OCR NuGet csomagot + +Először is hozzuk be az OCR motorját a projektbe. Nyiss egy terminált a megoldásod mappájában, és futtasd: + +```bash +dotnet add package Aspose.OCR +``` + +Ez a parancs a legújabb stabil verziót (2026. januárjában 23.9) tölti le, és automatikusan frissíti a `.csproj` fájlt. Kézi DLL‑kezelésre nincs szükség. + +## 2. lépés: Inicializáld az OCR motort + +Most hozunk létre egy `OcrEngine` példányt. Tekintsd úgy, mint a “agyat”, amely minden TIFF oldalt beolvas. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Miért csak egyszer példányosítjuk a motort? Mert a `RecognizeImages` képes egy fájlútra mutató gyűjteményt fogadni, így a motor újra felhasználja a belső puffereket, és drámaian felgyorsítja a kötegelt feldolgozást. + +## 3. lépés: Gyűjtsd össze az összes TIFF fájlt egy hívással + +Ahelyett, hogy saját magad iterálnád a könyvtárat, hagyjuk, hogy a .NET végezze a nehéz munkát. A `Directory.GetFiles` metódus egy `IEnumerable`‑et ad vissza, amelyet közvetlenül átadhatunk az OCR hívásnak. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **Mi van, ha a képeim JPEG vagy PNG?** Csak módosítsd a keresési mintát (`"*.jpg"` vagy `"*.*"`). Az Aspose OCR minden általános raszteres formátummal működik. + +## 4. lépés: Futtasd az OCR‑t a teljes gyűjteményen + +Ez a varázslatos sor egyszerre dolgozza fel az összes fájlt. A metódus egy szótárat ad vissza, ahol a kulcs a fájl útvonala, az érték pedig egy `OcrResult` objektum, amely a felismert szöveget tartalmazza. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Miért kötegelt feldolgozás? Csökkenti az OCR motor többszöri betöltésének terhelését, és többmagos gépeken az Aspose belsőleg párhuzamosítja a munkát, így jelentős sebességnövekedést érhetsz el. + +## 5. lépés: Mutass előnézetet – az első 50 karakter + +A legtöbb UI esetben csak egy részletre van szükség, nem a teljes dokumentumra. Kivesszük az első 50 karaktert (vagy kevesebbet, ha az oldal rövid), és kiírjuk a fájlnév mellett. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +A `Math.Min(50, fullText.Length)` sor garantálja, hogy soha ne lépjünk túl a karakterlánc határain – egy apró védelem, amely megakadályozza az `ArgumentOutOfRangeException` kivételt, ha az OCR eredmény rövidebb, mint 50 karakter. + +### Várható konzolkimenet + +Tegyük fel, hogy két TIFF fájlod van (`invoice1.tif` és `receipt2.tif`), a konzol a következőt jelenítheti meg: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Minden sor három ponttal (`...`) végződik, jelezve, hogy az előnézet csak a hosszabb szövegblokk eleje. + +## 6. lépés: Széljegyek és gyakori buktatók kezelése + +### Üres vagy sérült fájlok + +Ha egy fájlt nem lehet beolvasni, a `RecognizeImages` még mindig visszaad egy bejegyzést üres `Text` tulajdonsággal. Ezeket kiszűrheted: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Nagy kötegek + +Több ezer TIFF feldolgozása sok memóriát igényelhet. Ilyenkor használd azt a túlterhelést, amely `Stream`‑et fogad képenként, vagy dolgozd fel a listát kisebb darabokra: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Nyelv‑ és betűtípus‑támogatás + +Ha a dokumentumaid nem latin karaktereket tartalmaznak, állítsd be a nyelvet a `RecognizeImages` hívása előtt: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Ez az apró módosítás drámai módon növelheti a pontosságot. + +## 7. lépés: Teljes működő példa (másolás‑beillesztés készen) + +Az alábbi program teljes, beilleszthető egy új konzolprojektbe (`dotnet new console`), és úgy futtatható, ahogy van (csak cseréld le a `YOUR_DIRECTORY/Batch`‑t a valódi útvonalra). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Futtasd a programot `dotnet run`‑nal. Egy tömör előnézetet kell látnod minden TIFF fájlhoz, amely megerősíti, hogy **szöveget nyertél ki TIFF** képekből az Aspose OCR segítségével. + +## Gyakran Ismételt Kérdések (GYIK) + +**K: Működik ez többoldalas TIFF‑ekkel?** +V: Igen. Az Aspose OCR belsőleg minden oldalt külön képként kezel, így egy többoldalas TIFF egyetlen összefűzött karakterláncot ad vissza fájlonként. Később szét is darabolhatod, ha szükséges. + +**K: Mennyire pontos az OCR alapértelmezés szerint?** +V: Tiszta, nagy felbontású (300 DPI vagy nagyobb) beolvasások esetén >95 % pontosságot várhatsz angol szövegnél. Az előfeldolgozás (kiegyenesítés, binarizálás) még magasabb eredményt hozhat. + +**K: Ki tudom-e írni az eredményeket CSV fájlba?** +V: Természetesen. Cseréld le a `Console.WriteLine`‑t egy `StreamWriter`‑re, és írj `fileName,preview` sorokat. Ne felejtsd el a vesszőket escape‑elni az előnézet szövegében. + +## Következő lépések és kapcsolódó témák + +- **OCR eredmények megőrzése** – Tárold a teljes szöveget egy adatbázisban kereshető archívumokhoz. +- **PDF konverzióval kombinálva** – Használd az Aspose.PDF‑t, hogy a kinyert szöveget visszaágyazd kereshető PDF‑ekbe. +- **Kötegelt feldolgozás Azure Functions‑ön** – Skálázd az OCR feladatot szerverek kezelése nélkül. + +Mindezek a kiterjesztések visszavezetnek a **szöveg kinyerése TIFF‑ből** hatékony megvalósításához, miközben továbbra is lehetővé teszik a **első 50 karakter** gyors UI‑előnézetekhez. + +--- + +*Boldog kódolást! Ha bármilyen furcsasággal találkozol, írj egy megjegyzést alul – a lehető legjobban segítek finomhangolni az OCR csővezetéked.* + +![Extract text from TIFF using Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extract text from TIFF using Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/hungarian/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..b1c87091 --- /dev/null +++ b/ocr/hungarian/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,240 @@ +--- +category: general +date: 2026-01-09 +description: Ismerje fel a szöveget a JPG-ben gyorsan az Aspose OCR segítségével C#-ban. + Tanulja meg, hogyan lehet szöveget kinyerni a képből, a képet JSON-re és EPUB-re + konvertálni egyetlen oktatóanyagon belül. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: hu +og_description: szöveg felismerése jpg-ben az Aspose OCR-rel. Ez az útmutató bemutatja, + hogyan lehet szöveget kinyerni a képből, a képet JSON-re és EPUB-ra konvertálni, + valamint ePub-ot létrehozni egy képből. +og_title: Szöveg felismerése jpg-ben – Teljes C# útmutató +tags: +- Aspose OCR +- C# +- Image Processing +title: Szöveg felismerése JPG-ben az Aspose OCR-rel – Teljes C# útmutató +url: /hu/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# szöveg felismerése jpg-ben – Teljes C# útmutató + +Valaha szükséged volt **recognize text in jpg** fájlok felismerésére, de nem tudtad, melyik könyvtárat válaszd? Nem vagy egyedül. Sok fejlesztő ugyanabba a falba ütközik, amikor először próbál szavakat kinyerni egy fényképből vagy beolvasott dokumentumból. + +A jó hír? Az Aspose OCR segítségével néhány C# sorban **extract text from image** fájlokból, majd azonnal **convert image to JSON** vagy akár **convert image to EPUB** – mindezt anélkül, hogy elhagynád a fejlesztői környezetet. + +Ebben az útmutatóban végigvezetünk a teljes munkafolyamaton: a megfelelő NuGet csomagok telepítésétől a JPG-ben történő szövegfelismerésig, egészen a struktúrált JSON és ePub dokumentumként való mentésig. A végére képes leszel programozottan **create epub from image** fájlokat létrehozni, ami hasznos trükk e‑learning platformok, digitális könyvtárak vagy bármely alkalmazás számára, amely kereshető e‑könyveket igényel. + +--- + +## Amire szükséged lesz + +- **.NET 6+** (vagy .NET Framework 4.6+). A kód bármely friss futtatókörnyezeten működik. +- **Aspose.OCR** NuGet csomag – a fő OCR motor. +- **Aspose.Publishing** NuGet csomag – szükséges az ePub kimeneti formátumhoz. +- Egy `input.jpg` nevű képfájl, amely a lemezed valamelyik helyén található (cseréld le a saját útvonaladra). +- Egy szövegszerkesztő vagy IDE (Visual Studio, VS Code, Rider – a te választásod). + +Ennyi. Nincs extra szolgáltatás, nincs külső API, csak néhány könyvtár és egy JPG fájl. + +--- + +## 1. lépés: A projekt beállítása a **recognize text in jpg** felismeréséhez + +Először hozz létre egy új konzolos alkalmazást (vagy adj hozzá egy meglévő projekthez). Ezután add hozzá a két Aspose csomagot a NuGet Package Manager segítségével: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Pro tipp:** Ha Visual Studio-t használsz, jobb‑klikk a projektre → *Manage NuGet Packages* → keresd meg az *Aspose.OCR* és *Aspose.Publishing* csomagokat, majd kattints a **Install** gombra. + +Ezek a csomagok mindent tartalmaznak, amire a **extract text from image** és a későbbi ePub fájl kimenethez szükséged van. + +--- + +## 2. lépés: **Extract text from image** használata az Aspose OCR-rel + +Most megírjuk a kódot, amely ténylegesen beolvassa a JPG-t és kinyeri a karaktereket. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Miért működik:** A `OcrEngine` elrejti az összes alacsony szintű képelőfeldolgozást, nyelvfelismerést és karakterszegmentálást. Egyszerűen egy fájlra mutatsz, és egy `OcrResult` objektumot ad vissza, amely tartalmazza a sima szöveget (`ocrResult.Text`) és egy gazdag metaadatkészletet. + +--- + +## 3. lépés: **Convert image to JSON** – Az OCR eredmény exportálása + +Ha az OCR kimenetet strukturált formátumban kell tárolnod (API-k, adatbázisok vagy további feldolgozás céljából), az Aspose egyszerűvé teszi az eredmény JSON-ba sorosítását. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +A generált JSON nagyjából így néz ki (rövidítve): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**Mikor érdemes használni:** A JSON tökéletes, ha az OCR adatokat egy webszolgáltatásba szeretnéd továbbítani, NoSQL tárolóban tárolod, vagy egyszerűen egy hordozható reprezentációra van szükséged, amelyet bármely nyelv képes feldolgozni. + +--- + +## 4. lépés: **Convert image to EPUB** – Mentés e‑könyvként + +Az Aspose Publishing több e‑könyv formátumot támogat, köztük az EPUB-ot. A `OcrResult`-on meghívott `Save` segítségével teljesen szabványos ePub fájlt generálhatsz, amely tartalmazza a felismert szöveget és opcionálisan az eredeti képet. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**Mit kapsz:** Egy ePub fájlt, amelyet bármely olvasóval megnyithatsz (Calibre, Apple Books, Adobe Digital Editions). A fájl tartalmazza a kinyert szöveget kereshető tartalomként, valamint a forrásképet háttérrétegként – ideális **create epub from image** folyamatok létrehozásához. + +--- + +## 5. lépés: Teljes működő példa – JPG‑ről JSON‑ra és EPUB‑ra + +Mindent összevonva, itt a teljes, futtatható program. Másold be ezt a `Program.cs`‑be, állítsd be a fájlútvonalakat, és nyomd meg a **F5**‑öt. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Futtasd a programot, és három dolgot kell látnod: + +1. A felismert szöveg megjelenik a konzolon. +2. Egy `output.json` fájl, amely a strukturált OCR adatokat tartalmazza. +3. Egy `output.epub` fájl, amelyet bármely e‑könyv olvasóval megnyithatsz. + +--- + +## Gyakori kérdések és speciális esetek + +- **Mi van, ha a kép PNG vagy BMP?** + Az Aspose OCR a legtöbb raszteres formátumot támogatja (PNG, BMP, TIFF, GIF). Csak változtasd meg a fájlkiterjesztést az `inputPath`‑ben; ugyanaz a kód működik. + +- **Megadhatok más nyelvet, mint az angol?** + Igen. Állítsd be a `ocrEngine.Language = OcrLanguage.French;`‑t (vagy bármely támogatott nyelvet) a `RecognizeImage` hívása előtt. + +- **Mi a helyzet a többoldalas PDF-ekkel?** + PDF-ek esetén először minden oldalt képpé kell konvertálni (az Aspose.PDF ezt meg tudja csinálni), majd minden képet a `RecognizeImage`‑nek átadni. A kapott `OcrResult` objektumok összevonhatók a JSON vagy EPUB exportálása előtt. + +- **Alacsony bizalmi pontszámokat kapok. Hogyan javíthatom a pontosságot?** + Előfeldolgozd a képet: növeld a kontrasztot, korrigáld a dőlését, vagy konvertáld szürkeárnyalatba. Az Aspose OCR továbbá `PreprocessOptions`‑t is kínál, amelyet finomhangolhatsz. + +--- + +## Összegzés + +Most már egy stabil, vég‑től‑végig tartó megoldással rendelkezel a **recognize text in jpg** fájlok Aspose OCR használatával történő felismerésére, majd a **convert image to JSON** adatcsatornákhoz és a **convert image to EPUB** kereshető e‑könyvek létrehozásához. A megközelítés könnyű, csak két NuGet csomagra van szükség, és minden modern .NET futtatókörnyezetben működik. + +Innen tovább: + +- A JSON kimenetet integráld egy keresőindexbe (Azure Cognitive Search, Elastic). +- Kötegelt feldolgozással egy mappában lévő képeket ePub könyvtárra konvertálj. +- Bővítsd a munkafolyamatot fordítási API‑kkal, hogy automatikusan többnyelvű e‑könyveket hozz létre. + +Próbáld ki, kísérletezz különböző képminőségekkel, és hagyd, hogy az OCR motor végezze a nehéz munkát. Jó kódolást! + +--- + +![szöveg felismerése jpg kimeneti képernyőkép](placeholder-image.png "szöveg felismerése jpg példa") + +{{< /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/net/ocr-configuration/_index.md b/ocr/indonesian/net/ocr-configuration/_index.md index 1cc534ea..77318b5e 100644 --- a/ocr/indonesian/net/ocr-configuration/_index.md +++ b/ocr/indonesian/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ Buka kekuatan pengenalan gambar OCR di .NET dengan Aspose.OCR. Ekstrak teks deng Buka kemampuan OCR yang kuat dengan Aspose.OCR untuk .NET. Ekstrak teks dari gambar dengan mulus. ### [Operasi OCRO dengan Daftar dalam Pengenalan Gambar OCR](./ocr-operation-with-list/) Buka potensi Aspose.OCR untuk .NET. Lakukan pengenalan gambar OCR dengan mudah menggunakan daftar. Tingkatkan produktivitas dan ekstraksi data dalam aplikasi Anda. +### [Cara OCR Gambar di C# – Panduan Lengkap dengan Dukungan GPU](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Pelajari cara melakukan OCR pada gambar menggunakan C# dengan dukungan GPU untuk kecepatan optimal. +### [Mengenali teks dari gambar dengan Aspose OCR – Panduan Lengkap C#](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Pelajari cara mengenali teks dari gambar menggunakan Aspose OCR dengan panduan lengkap C#. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/indonesian/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..32886196 --- /dev/null +++ b/ocr/indonesian/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-01-09 +description: Pelajari cara melakukan OCR pada gambar dan mengekstrak teks gambar menggunakan + Aspose.OCR. Termasuk langkah-langkah untuk mengonversi dokumen yang dipindai, mengaktifkan + GPU, dan membaca gambar dengan OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: id +og_description: Cara cepat melakukan OCR pada gambar dengan Aspose.OCR. Ikuti tutorial + langkah demi langkah ini untuk mengekstrak teks gambar, mengonversi dokumen yang + dipindai, dan mengaktifkan GPU. +og_title: Cara OCR Gambar di C# – Panduan Berakselerasi GPU +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Cara OCR Gambar di C# – Panduan Lengkap dengan Dukungan GPU +url: /id/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara OCR Gambar di C# – Panduan Lengkap dengan Dukungan GPU + +Pernah bertanya-tanya **cara OCR gambar** secara langsung dari aplikasi .NET Anda? Anda tidak sendirian—para pengembang terus-menerus perlu mengekstrak teks dari PDF, TIFF, dan foto, terutama saat menangani dokumen hasil scan yang besar. Kabar baiknya? Dengan Aspose.OCR Anda dapat **mengekstrak teks gambar** dalam beberapa baris kode, dan bahkan dapat **mengaktifkan akselerasi GPU** untuk pemrosesan yang lebih cepat. + +Dalam tutorial ini kami akan membahas semua yang perlu Anda ketahui: mulai dari menginstal pustaka, menginisialisasi mesin OCR dengan fallback GPU, hingga akhirnya **membaca gambar dengan OCR** dan menampilkan hasilnya. Pada akhir tutorial Anda akan dapat **mengonversi dokumen hasil scan** menjadi string yang dapat diedit—tanpa layanan eksternal. + +--- + +## Apa yang Anda Butuhkan + +Sebelum kita mulai, pastikan Anda memiliki hal‑hal berikut: + +- **.NET 6.0** atau yang lebih baru (kode berfungsi di .NET Core dan .NET Framework juga). +- Sebuah **lisensi** untuk Aspose.OCR atau kunci evaluasi sementara (versi percobaan gratis dapat digunakan untuk pengujian). +- File gambar yang ingin Anda proses—sebaiknya TIFF atau PNG resolusi tinggi. +- (Opsional) Mesin yang mendukung GPU jika Anda ingin melihat peningkatan kecepatan; jika tidak, mesin akan secara elegan beralih ke CPU. + +Memiliki prasyarat ini berarti Anda dapat fokus pada alur kerja OCR sebenarnya tanpa menemui hambatan di kemudian hari. + +--- + +## Langkah 1: Instal Paket NuGet Aspose.OCR + +Hal pertama yang harus dilakukan—tambahkan pustaka Aspose.OCR ke proyek Anda. Buka terminal di folder solusi Anda dan jalankan: + +```bash +dotnet add package Aspose.OCR +``` + +Atau, jika Anda menggunakan UI NuGet di Visual Studio, cukup cari **Aspose.OCR** dan klik install. Perintah tunggal ini akan mengunduh semua DLL yang diperlukan, termasuk binary GPU native bila tersedia. + +> **Pro tip:** Jaga paket tetap up‑to‑date. Rilis baru sering menyertakan perbaikan model bahasa dan dukungan GPU yang lebih baik. + +--- + +## Langkah 2: Impor Namespace yang Diperlukan + +Sekarang paket sudah terinstal, bawa namespace yang relevan ke dalam ruang lingkup. Langkah ini adalah tempat kita mulai **cara OCR gambar** dalam kode. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +Dua baris ini memberi Anda akses ke kelas `OcrEngine` dan objek pengaturan yang memungkinkan Anda mengaktifkan atau menonaktifkan penggunaan GPU. Tanpa keduanya, kompiler tidak akan mengenali apa itu `OcrEngine`. + +--- + +## Langkah 3: Inisialisasi Mesin OCR dan Aktifkan GPU + +Jika Anda pernah bertanya **cara mengaktifkan GPU** untuk OCR, inilah jawabannya. Kami membuat instance `OcrEngineSettings`, mengubah flag `UseGpu`, dan meneruskannya ke konstruktor mesin. Mesin secara otomatis mendeteksi apakah GPU yang kompatibel tersedia; jika tidak, ia akan beralih ke CPU—jadi Anda tidak memerlukan penanganan error tambahan. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Mengapa mengaktifkan GPU? Untuk gambar berukuran besar—misalnya TIFF multi‑halaman atau scan resolusi tinggi—waktu pemrosesan dapat turun dari beberapa detik menjadi sebagian detik. Jika Anda membangun pipeline pemrosesan batch, peningkatan kecepatan ini akan terasa signifikan. + +--- + +## Langkah 4: Lakukan OCR pada Gambar Target Anda + +Di sinilah kita benar‑benarnya **membaca gambar dengan OCR**. Berikan path ke file Anda, dan mesin akan mengembalikan teks yang dikenali sebagai string. Ini bekerja untuk semua format raster yang didukung Aspose (PNG, JPEG, TIFF, BMP, dll.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Jika Anda perlu **mengonversi dokumen hasil scan** halaman per halaman, cukup lakukan loop pada nama‑nama file dan panggil `RecognizeImage` untuk masing‑masing. Metode ini thread‑safe, sehingga Anda bahkan dapat memparallelkan beban kerja pada CPU multi‑core. + +--- + +## Langkah 5: Tampilkan atau Simpan Teks yang Diekstrak + +Akhirnya, kita menampilkan hasilnya. Pada aplikasi console, `Console.WriteLine` sudah cukup. Pada skenario dunia nyata Anda mungkin menulis teks ke database, file JSON, atau mengirimnya ke indeks pencarian. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +Baris di atas mencetak output OCR mentah. Anda akan melihat pemisah baris, kesalahan pengenalan sesekali, dan mungkin beberapa karakter asing—hal yang wajar untuk OCR. Post‑processing (misalnya pembersihan dengan regex) dapat merapikannya bila diperlukan. + +> **Catatan:** Aspose.OCR juga mendukung kamus khusus bahasa. Jika Anda memproses teks non‑Inggris, setel `ocrEngine.Settings.Language` sesuai sebelum memanggil `RecognizeImage`. + +--- + +## Contoh Kerja Lengkap + +Menggabungkan semuanya, berikut program mandiri yang dapat Anda salin‑tempel ke proyek console baru: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Output yang diharapkan** (dipotong untuk singkat): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Jalankan program, dan Anda akan melihat teks yang diekstrak muncul di jendela console Anda. Jika GPU tersedia, waktu pemrosesan akan terasa jauh lebih singkat dibandingkan mesin yang hanya menggunakan CPU. + +--- + +## Kesalahan Umum & Cara Menghindarinya + +| Masalah | Mengapa Terjadi | Solusi | +|---------|-----------------|--------| +| **Karakter sampah** | Sumber beresolusi rendah atau latar belakang berisik. | Praproses gambar (tingkatkan DPI, terapkan binarisasi) sebelum OCR. | +| **GPU tidak digunakan** | Tidak ada driver CUDA yang kompatibel terpasang. | Verifikasi versi driver, atau setel `UseGpu = false` untuk memaksa CPU. | +| **Out‑of‑memory pada TIFF besar** | Memuat seluruh file sekaligus. | Gunakan `OcrEngineSettings.MaxMemoryUsage` untuk membatasi jejak memori, atau proses halaman satu per satu. | +| **Deteksi bahasa salah** | Bahasa default adalah Inggris. | Setel `ocrEngine.Settings.Language = Language.YourLanguage;` sebelum memanggil `RecognizeImage`. | + +Menangani kasus‑kasus tepi ini memastikan implementasi **cara OCR gambar** Anda tetap kuat di berbagai lingkungan. + +--- + +## Memperluas Solusi + +Sekarang Anda dapat **mengekstrak teks gambar**, Anda mungkin ingin: + +- **Mengonversi dokumen hasil scan** PDF menjadi PDF yang dapat dicari dengan menyematkan lapisan OCR. +- Menyimpan hasil ke indeks **Azure Cognitive Search** untuk pencarian cepat. +- Menyambungkan output OCR ke **API terjemahan** bila Anda memerlukan dukungan multibahasa. +- Menggunakan metode `GetBoundingBoxes` milik **Aspose.OCR** untuk menemukan posisi setiap kata pada gambar—berguna untuk alat redaksi. + +Semua ekstensi ini dibangun di atas prinsip inti yang telah kami bahas: inisialisasi mesin, beri gambar, dan baca teks. + +--- + +## Kesimpulan + +Kami telah menelusuri contoh lengkap, end‑to‑end tentang **cara OCR gambar** menggunakan Aspose.OCR di C#. Dengan menginstal paket NuGet, mengimpor namespace yang tepat, mengaktifkan GPU (atau fallback ke CPU), dan memanggil `RecognizeImage`, Anda dapat secara andal **mengekstrak teks gambar**, **mengonversi dokumen hasil scan** halaman, dan **membaca gambar dengan OCR** dalam aplikasi .NET apa pun. + +Cobalah pada beberapa scan Anda—eksperimen dengan format gambar berbeda, ubah flag GPU, dan lihat bagaimana performanya berubah. Saat sudah siap, jelajahi fitur lanjutan seperti kamus bahasa atau ekstraksi bounding‑box untuk membuat solusi Anda semakin pintar. + +Selamat coding, semoga pipeline OCR Anda cepat, akurat, dan bebas masalah! + +{{< /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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/indonesian/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..ebd890ba --- /dev/null +++ b/ocr/indonesian/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-01-09 +description: Mengenali teks dari gambar menggunakan Aspose OCR di C#. Pelajari cara + menonaktifkan unduhan otomatis, mengekstrak gambar teks Cina, dan mengatur bahasa + OCR. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: id +og_description: Mengenali teks dari gambar menggunakan Aspose OCR di C#. Ikuti tutorial + langkah demi langkah ini untuk menonaktifkan unduhan otomatis, mengekstrak gambar + teks berbahasa Mandarin, dan mengatur bahasa OCR. +og_title: Mengenali teks dari gambar dengan Aspose OCR – Panduan Lengkap C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Mengenali teks dari gambar dengan Aspose OCR – Panduan Lengkap C# +url: /id/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# mengenali teks dari gambar dengan Aspose OCR – Panduan Lengkap C# + +Pernah perlu **mengenali teks dari gambar** tetapi terhambat oleh detail konfigurasi? Anda tidak sendirian. Banyak pengembang menemui kendala ketika mesin OCR mencoba mengunduh paket bahasa saat runtime, atau ketika mereka tidak dapat mengekstrak karakter Mandarin dari foto tanda. + +Dalam tutorial ini kami akan membimbing Anda melalui solusi praktis yang menunjukkan cara **menonaktifkan unduhan otomatis**, **mengekstrak teks gambar**, **mengekstrak teks gambar Mandarin**, dan **mengatur bahasa OCR**—semua dengan Aspose OCR untuk .NET. Pada akhir tutorial Anda akan memiliki satu program yang dapat dijalankan dan mencetak teks yang dikenali langsung ke konsol. + +## Apa yang Akan Anda Pelajari + +- Cara menginstal dan mereferensikan paket NuGet Aspose.OCR. +- Mengapa mematikan unduhan sumber daya otomatis penting untuk lingkungan offline atau yang aman. +- Langkah‑langkah tepat untuk menunjuk mesin ke folder paket bahasa lokal. +- Cara memilih bahasa yang tepat (Chinese Simplified) sebelum memproses gambar. +- Memverifikasi output dan memecahkan masalah umum. + +Tidak diperlukan pengalaman sebelumnya dengan Aspose; cukup dengan setup C# dasar dan file gambar yang ingin Anda baca. + +## Prasyarat + +| Persyaratan | Alasan | +|-------------|--------| +| .NET 6.0 atau lebih baru (atau .NET Framework 4.7+) | Aspose.OCR mendukung runtime tersebut. | +| Visual Studio 2022 (atau IDE apa pun yang Anda suka) | Untuk memudahkan pembuatan proyek dan debugging. | +| File gambar yang berisi teks Mandarin (misalnya `chinese‑sign.jpg`) | Untuk mendemonstrasikan **mengekstrak teks gambar Mandarin**. | +| Salinan lokal paket bahasa Aspose OCR (diunduh sekali dari portal Aspose) | Diperlukan karena kami akan **menonaktifkan unduhan otomatis**. | + +Pastikan file ZIP paket bahasa berada di folder yang dapat Anda referensikan, misalnya `C:\MyOCR\Resources`. + +## Langkah 1: Mengenali teks dari gambar – Konfigurasikan Mesin OCR + +Hal pertama yang harus dilakukan: kita memerlukan objek `OcrEngineSettings` yang memberi tahu Aspose di mana mencari sumber daya. Ini adalah fondasi untuk setiap operasi **mengekstrak teks gambar**. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +Mengapa mengatur `AutoDownloadResources` ke `false`? Pada lingkungan produksi Anda sering berada di belakang firewall, atau Anda memang tidak ingin aplikasi mengakses internet saat runtime. Menonaktifkan fitur ini menjamin mesin hanya menggunakan file yang Anda tempatkan di `ResourceFolder`, yang juga mempercepat inisialisasi. + +## Langkah 2: Buat mesin OCR dengan pengaturan yang telah ditentukan + +Setelah pengaturan siap, kita menginstansiasi mesin. Langkah ini adalah tempat kemampuan **mengatur bahasa OCR** akan berperan nantinya. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Objek `OcrEngine` ringan; ia tidak benar‑benar memuat data bahasa apa pun sampai Anda menetapkan bahasa. Pemuatan malas inilah yang memungkinkan Anda membuat mesin meskipun folder sumber daya kosong—tidak ada yang akan rusak sampai Anda mencoba **mengekstrak teks gambar Mandarin**. + +## Langkah 3: Atur bahasa OCR – Pilih Chinese Simplified + +Aspose mendukung puluhan bahasa, masing‑masing dikemas dalam file ZIP. Karena gambar contoh kami berisi karakter Mandarin Sederhana, kami secara eksplisit menetapkan bahasa sebelum pengenalan. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +Jika Anda melewatkan langkah ini, mesin akan default ke bahasa Inggris dan Anda akan mendapatkan output yang berantakan. Juga, perhatikan bahwa nama bahasa harus cocok dengan nama file ZIP di dalam `ResourceFolder`. Misalnya, `ChineseSimplified.zip` harus ada. + +## Langkah 4: Ekstrak teks dari gambar target + +Dengan mesin yang telah dikonfigurasi dan bahasa yang telah ditetapkan, akhirnya kita **mengenali teks dari gambar**. Metode ini mengembalikan string biasa yang dapat Anda log, simpan, atau kirim ke sistem lain. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Pemanggilan `RecognizeImage` melakukan semua pekerjaan berat: pra‑pemrosesan, segmentasi, pencocokan karakter, dan akhirnya merakit hasil. Jika gambar jelas dan paket bahasa tepat, Anda akan melihat karakter Mandarin tercetak di konsol. + +> **Tip:** Jika Anda hanya perlu mengekstrak bagian tertentu dari gambar (misalnya wilayah spesifik), gunakan overload `RecognizeImage(string, Rectangle)` untuk memberikan kotak pemotongan. + +## Contoh Program Lengkap + +Berikut adalah program lengkap yang dapat Anda salin‑tempel ke proyek konsol baru. Ia mencakup pernyataan `using`, pengaturan, pemilihan bahasa, dan output akhir. Simpan sebagai `Program.cs`, pulihkan paket NuGet, dan jalankan. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Output yang Diharapkan + +Jika `chinese‑sign.jpg` berisi frasa “欢迎光临”, konsol akan menampilkan sesuatu seperti: + +``` +=== Recognized Text === +欢迎光临 +``` + +Pemformatan tepatnya dapat bervariasi tergantung pada kualitas gambar, tetapi karakter harus dapat dibaca. + +## Kesalahan Umum & Tips Pro + +| Gejala | Penyebab Kemungkinan | Solusi | +|--------|----------------------|--------| +| **String kosong dikembalikan** | Paket bahasa tidak ditemukan atau `AutoDownloadResources` masih mencoba mengunduhnya | Verifikasi jalur `ResourceFolder` dan pastikan `ChineseSimplified.zip` ada. | +| **Karakter sampah** | Gambar blur atau kontras rendah | Lakukan pra‑pemrosesan gambar (tingkatkan kontras, binarisasi) sebelum mengirim ke `RecognizeImage`. | +| **Exception: `FileNotFoundException`** | Jalur gambar salah | Gunakan jalur absolut atau letakkan gambar di direktori output proyek dan referensikan dengan `Path.Combine(Directory.GetCurrentDirectory(), "chinese‑sign.jpg")`. | +| **Lag kinerja** | Dimensi gambar terlalu besar | Ubah ukuran gambar ke lebar yang wajar (misalnya 1024 px) sebelum pengenalan. | + +**Tip pro:** Simpan paket bahasa dalam folder yang dikontrol versi. Saat Anda memperbarui Aspose.OCR, paket baru mungkin memiliki konvensi penamaan yang berbeda, yang dapat secara diam‑diam mematahkan strategi **menonaktifkan unduhan otomatis** Anda. + +## Memperluas Contoh + +Setelah Anda dapat **mengenali teks dari gambar**, Anda mungkin ingin: + +- **Memproses batch** folder gambar (loop melalui file, panggil `RecognizeImage` setiap kali). +- **Mengekspor** hasil ke file CSV atau JSON untuk analitik lanjutan. +- **Menggabungkan** OCR dengan API terjemahan untuk mengubah tanda Mandarin menjadi bahasa Inggris secara langsung. + +Semua skenario ini menggunakan langkah inti yang sama: konfigurasi sekali, atur bahasa, dan panggil `RecognizeImage`. Desain modular menjaga kode tetap bersih dan mudah dipelihara. + +## Kesimpulan + +Anda baru saja mempelajari cara **mengenali teks dari gambar** menggunakan Aspose OCR dalam C#. Dengan secara eksplisit **menonaktifkan unduhan otomatis**, menunjuk mesin ke folder sumber daya lokal, dan **mengatur bahasa OCR** ke Chinese Simplified, Anda dapat secara andal **mengekstrak teks gambar Mandarin** serta bahasa lain yang Anda sediakan. + +Kode lengkap yang dapat dijalankan di atas menunjukkan alur kerja praktis yang dapat Anda sisipkan ke dalam proyek nyata. Dari sini, coba bereksperimen dengan kualitas gambar yang berbeda, tambahkan penanganan error, atau integrasikan output ke sistem yang lebih besar. Kemungkinannya hampir tak terbatas. + +Punya pertanyaan tentang bahasa lain, optimasi performa, atau deployment ke cloud? Silakan tinggalkan komentar—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/net/ocr-optimization/_index.md b/ocr/indonesian/net/ocr-optimization/_index.md index 5400cdb4..6fb7c125 100644 --- a/ocr/indonesian/net/ocr-optimization/_index.md +++ b/ocr/indonesian/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ Jelajahi Aspose.OCR untuk .NET. Tingkatkan akurasi OCR dengan filter pra-pemrose Tingkatkan akurasi OCR dengan Aspose.OCR untuk .NET. Perbaiki ejaan, sesuaikan kamus, dan dapatkan pengenalan teks bebas kesalahan dengan mudah. ### [Simpan Hasil Multihalaman sebagai Dokumen dalam Pengenalan Gambar OCR](./save-multipage-result-as-document/) Buka potensi Aspose.OCR untuk .NET. Simpan hasil OCR multi halaman dengan mudah sebagai dokumen dengan panduan langkah demi langkah yang komprehensif ini. +### [Tutorial OCR C#: Mengenali Teks dari Gambar dengan Pra-pemrosesan](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Pelajari cara mengenali teks dari gambar menggunakan OCR C# dengan langkah-langkah pra-pemrosesan untuk meningkatkan akurasi. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/indonesian/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..0256a6d6 --- /dev/null +++ b/ocr/indonesian/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-01-09 +description: Tutorial C# OCR yang menunjukkan cara mengenali teks dari gambar dan + memproses pra‑gambar untuk OCR menggunakan filter Aspose.OCR – panduan langkah demi + langkah. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: id +og_description: Tutorial C# OCR yang memandu Anda mengenali teks dari gambar dan melakukan + pra‑pemrosesan gambar untuk OCR menggunakan filter Aspose.OCR. Kode lengkap disertakan. +og_title: Tutorial OCR C# – Mengenali Teks dari Gambar dengan Pra‑pemrosesan +tags: +- OCR +- C# +- Image Processing +title: 'Tutorial C# OCR: Mengenali Teks dari Gambar dengan Pra‑pemrosesan' +url: /id/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tutorial c# ocr – Mengenali Teks dari Gambar dengan Pra‑pemrosesan + +Pernah bertanya-tanya bagaimana cara **mengenali teks dari gambar** dalam aplikasi C# tanpa menghabiskan minggu-minggu mengutak‑atik filter? Anda tidak sendirian. Dalam **tutorial c# ocr** ini kami akan membahas contoh lengkap yang siap dijalankan yang tidak hanya membaca teks tetapi juga **memproses pra‑gambar untuk OCR** guna meningkatkan akurasi. + +Kami akan menggunakan pustaka Aspose.OCR karena dilengkapi dengan pipeline filter yang praktis yang memungkinkan Anda menyisipkan langkah deskew, denoise, dan contrast‑boost hanya dalam beberapa baris. Pada akhir panduan ini Anda akan memiliki aplikasi konsol yang dapat mengambil PNG yang miring dan berisik, membersihkannya, dan mengeluarkan string yang diekstrak—semua dengan penjelasan jelas mengapa setiap langkah penting. + +## Prasyarat + +Sebelum kita mulai, pastikan Anda memiliki: + +| Persyaratan | Mengapa penting | +|-------------|----------------| +| .NET 6 SDK (or later) | Fitur C# modern dan kinerja yang lebih baik | +| Visual Studio 2022 (or VS Code) | Debugging yang nyaman dan IntelliSense | +| Paket NuGet **Aspose.OCR** | Menyediakan `OcrEngine` dan kelas filter | +| Gambar masukan (mis., `skewed‑noisy.png`) | Menunjukkan kebutuhan pra‑pemrosesan | + +Jika ada yang belum ada, instal terlebih dahulu. Langkah NuGet dibahas pada bagian berikutnya. + +## Langkah 1: Instal Aspose.OCR via NuGet + +Open your terminal (or Package Manager Console) and run: + +```bash +dotnet add package Aspose.OCR +``` + +> **Tip pro:** Gunakan flag `--version` untuk mengunci ke rilis tertentu jika Anda memerlukan build yang dapat direproduksi. + +Paket ini menyertakan semua filter yang kami butuhkan, jadi tidak diperlukan DLL tambahan. + +## Langkah 2: Inisialisasi OCR Engine – Inti dari tutorial c# ocr + +Membuat engine cukup sederhana, tetapi penting untuk memahami apa yang terjadi di balik layar. `OcrEngine` menyimpan pipeline **filter** yang memanipulasi bitmap sebelum algoritma pengenalan dijalankan. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Mengapa inisialisasi dulu?** Engine menyimpan cache sumber daya internal (seperti model bahasa). Menggunakan satu instance untuk banyak gambar menghemat memori dan mempercepat pengenalan berikutnya. + +## Langkah 3: Pra‑pemrosesan Gambar untuk OCR – menambahkan deskew, denoise, dan contrast boost + +Sebagian besar pemindaian dunia nyata tidak sempurna; mereka miring, berbutir, atau terlalu gelap. Itulah mengapa **pra‑pemrosesan gambar untuk OCR** menjadi langkah penting. Aspose menyediakan tiga filter yang bekerja bersama dengan baik: + +| Filter | Apa yang dilakukannya | Contoh penggunaan umum | +|--------|-----------------------|------------------------| +| `DeskewFilter` | Memutar gambar untuk memperbaiki kemiringan | Dokumen yang dipindai dari | +| `DenoiseFilter` | Menghapus piksel terisolasi (noise “garam‑dan‑lada”) | Foto dengan pencahayaan rendah | +| `ContrastBoostFilter` | Meningkatkan kontras untuk menajamkan tepi teks | Cetakan pudar atau tangkapan beresolusi rendah | + +Berikut adalah kode yang menambahkan setiap filter ke pipeline engine: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **Cara kerjanya:** Saat Anda memanggil `RecognizeImage` nanti, engine akan menjalankan ketiga filter ini secara berurutan sebelum memberikan bitmap yang sudah dibersihkan ke inti pengenalan. + +### Ilustrasi visual (opsional) + +Jika Anda menyisipkan gambar, pastikan teks alt berisi kata kunci utama: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Langkah 4: Mengenali Teks dari Gambar – momen kebenaran + +Sekarang gambar telah dipra‑proses, kita akhirnya dapat mengekstrak karakter. Metode ini mengembalikan string biasa, yang dapat Anda log, simpan, atau kirim ke sistem lain. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Output yang diharapkan + +Menjalankan contoh pada pemindaian faktur tipikal menghasilkan sesuatu seperti: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +Jika output terlihat berantakan, periksa kembali kualitas gambar dan pertimbangkan mengubah `ContrastBoostFilter.Level` (nilai > 2.0 dapat terlalu agresif). + +## Langkah 5: Mengeluarkan Hasil dan Post‑Processing Opsional + +Aplikasi konsol dapat cukup menuliskan string, tetapi banyak proyek memerlukan penanganan tambahan—seperti memangkas spasi, menghapus baris baru, atau memasukkan teks ke dalam basis data. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Mengapa post‑process? + +Bahkan dengan pra‑pemrosesan yang baik, OCR sering menambahkan baris baru yang tidak diinginkan atau karakter tak terlihat. Rangkaian `Replace` cepat dapat membuat data jauh lebih dapat digunakan di tahap selanjutnya. + +## Langkah 6: Contoh Lengkap yang Siap Pakai – copy‑paste + +Berikut adalah program **lengkap** yang dapat Anda kompilasi dan jalankan segera. Program ini mencakup semua pernyataan using, penyiapan filter, pemanggilan OCR, dan penanganan output. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**Cara menjalankannya** + +1. Simpan file sebagai `Program.cs` di dalam proyek konsol baru (`dotnet new console`). +2. Ganti `YOUR_DIRECTORY/skewed-noisy.png` dengan path sebenarnya ke gambar uji Anda. +3. Jalankan `dotnet run`. Anda akan melihat output OCR tercetak di terminal. + +## Kesalahan Umum & Tips (mengenali teks dari gambar secara andal) + +| Masalah | Apa yang diperiksa | Solusi | +|-------|--------------------|-------| +| **Karakter sampah** | Gambar terlalu gelap atau beresolusi rendah | Tingkatkan `ContrastBoostFilter.Level` atau gunakan sumber beresolusi lebih tinggi | +| **Baris hilang** | Deskew tidak memperbaiki sudut sepenuhnya | Putar gambar secara manual terlebih dahulu, atau sesuaikan toleransi `DeskewFilter` | +| **Performa lambat** | Memproses banyak gambar besar dalam loop | Gunakan kembali instance `OcrEngine` yang sama dan panggil `ocrEngine.Clear()` setelah setiap proses | +| **Bahasa tidak didukung** | Teks bukan bahasa Inggris | Set `ocrEngine.Language = OcrLanguage.French` (atau bahasa lain yang didukung) sebelum pengenalan | + +### Kasus khusus: menangani PDF multi‑halaman + +Jika Anda perlu OCR sebuah PDF, konversi setiap halaman menjadi gambar (mis., menggunakan `Aspose.PDF`) dan berikan satu‑per‑satu ke engine yang sama. Pipeline pra‑pemrosesan tetap identik, memastikan hasil yang konsisten di setiap halaman. + +## Kesimpulan + +Dalam **tutorial c# ocr** ini kami membahas semua yang Anda perlukan untuk **mengenali teks dari gambar** dan **memproses pra‑gambar untuk OCR** menggunakan filter bawaan Aspose.OCR. Dengan menginisialisasi engine, menambahkan langkah deskew, denoise, dan contrast‑boost, dan akhirnya memanggil `RecognizeImage`, Anda mendapatkan ekstraksi teks yang bersih dan dapat diandalkan dengan hanya beberapa baris kode. + +Jangan ragu untuk bereksperimen—ganti dengan filter lain, ubah level kontras, atau integrasikan hasilnya ke dalam pipeline data yang lebih besar. Konsep di sini berlaku untuk pustaka OCR apa pun: pra‑pemrosesan sering menjadi perbedaan antara faktur yang terbaca setengah dan dokumen yang tertangkap sempurna. + +Ada pertanyaan lebih lanjut? Mungkin Anda penasaran tentang penanganan teks tulisan tangan atau pemrosesan batch ribuan file. Tinggalkan komentar, dan kami akan menjelajahi skenario tersebut bersama. 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/net/text-recognition/_index.md b/ocr/indonesian/net/text-recognition/_index.md index 7aee7bb8..a2049211 100644 --- a/ocr/indonesian/net/text-recognition/_index.md +++ b/ocr/indonesian/net/text-recognition/_index.md @@ -55,9 +55,21 @@ Tingkatkan aplikasi .NET Anda dengan Aspose.OCR untuk pengenalan teks gambar yan Buka potensi OCR di .NET dengan Aspose.OCR. Ekstrak teks dari PDF dengan mudah. Unduh sekarang untuk pengalaman integrasi yang lancar. ### [Kenali Tabel dalam Pengenalan Gambar OCR](./recognize-table/) Buka potensi Aspose.OCR untuk .NET dengan panduan komprehensif kami tentang mengenali tabel dalam pengenalan gambar OCR. +### [Tutorial OCR C# – Ekstrak Teks Hindi dari Resi PNG](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Pelajari cara mengekstrak teks Hindi dari gambar PNG berformat resi menggunakan Aspose.OCR di C#. +### [Ekstrak Teks dari PNG – Tutorial Lengkap Aspose OCR](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Pelajari cara mengekstrak teks dari file PNG secara lengkap menggunakan Aspose OCR dalam tutorial langkah demi langkah. +### [Mengenali Teks dalam JPG dengan Aspose OCR – Panduan Lengkap C#](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Panduan lengkap C# untuk mengenali teks dalam file JPG menggunakan Aspose OCR, langkah demi langkah untuk integrasi mudah. +### [Tutorial OCR C# – Ekstrak Teks dari Gambar dan File DJVU](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Pelajari cara mengekstrak teks dari gambar serta file DJVU menggunakan Aspose.OCR di C# dengan panduan langkah demi langkah. +### [Ekstrak Teks dari TIFF dengan Aspose OCR C# – Tutorial Lengkap](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Pelajari cara mengekstrak teks dari file TIFF menggunakan Aspose OCR di C# dengan panduan langkah demi langkah. +### [Tutorial OCR C# – Ekstrak Teks dari Gambar dengan Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/indonesian/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..6616b586 --- /dev/null +++ b/ocr/indonesian/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-09 +description: Tutorial OCR C# untuk membaca teks dari PNG, mengonversi gambar menjadi + teks, dan mengenali teks Hindi pada struk menggunakan Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: id +og_description: Tutorial OCR C# yang mengajarkan cara membaca teks dari PNG, mengonversi + gambar menjadi teks, dan mengenali teks Hindi pada struk dengan Aspose OCR. +og_title: tutorial OCR c# – Ekstrak Teks Hindi dari Resi PNG +tags: +- OCR +- C# +- Aspose +- Image Processing +title: tutorial OCR c# – Ekstrak Teks Hindi dari Resi PNG +url: /id/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Ekstrak Teks Hindi dari Resi PNG + +Pernah bertanya-tanya bagaimana cara **membaca teks dari PNG** dalam aplikasi C#? Mungkin Anda memiliki sekumpulan resi Hindi dan perlu mengambil jumlah secara otomatis. Itulah tepatnya yang dibahas dalam tutorial c# ocr ini—mengubah gambar menjadi teks yang dapat dicari dengan hanya beberapa baris kode. + +Dalam panduan ini kami akan melangkah melalui instalasi Aspose OCR, memuat resi PNG, mengenali karakter Hindi, dan akhirnya mencetak string yang diekstrak ke konsol. Pada akhir tutorial Anda akan dapat **mengonversi gambar menjadi teks**, **mengenali teks Hindi**, dan bahkan **mengekstrak teks dari gambar resi** tanpa meninggalkan IDE Anda. + +> **Catatan Prasyarat:** Anda memerlukan lisensi Aspose OCR yang valid (atau Anda dapat menggunakan versi percobaan gratis) dan .NET 6+ terpasang. Jika Anda baru mengenal NuGet, jangan khawatir—kami akan membahasnya juga. + +--- + +## Apa yang Anda Butuhkan + +- **Visual Studio 2022** (atau editor yang kompatibel dengan C#) +- **.NET 6 SDK** (atau yang lebih baru) +- **Aspose.OCR** paket NuGet + ```bash + dotnet add package Aspose.OCR + ``` +- Contoh gambar resi, misalnya `hindi-receipt.png`, disimpan di folder proyek Anda. + +Menyiapkan hal‑hal ini berarti Anda dapat menyalin‑tempel kode akhir dan langsung menekan **F5**. + +--- + +## Langkah 1: Siapkan Proyek dan Impor Namespace + +Pertama, buat proyek konsol jika Anda belum memilikinya: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Sekarang buka `Program.cs`. Di bagian atas, impor namespace Aspose OCR agar kompiler tahu di mana menemukan kelas-kelas tersebut: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Mengapa ini penting:** `OcrEngine` berada di `Aspose.OCR`, sementara enum terkait bahasa berada di `Aspose.OCR.Settings`. Lupa mengimpor salah satunya akan menyebabkan kesalahan pada waktu kompilasi. + +--- + +## Langkah 2: Inisialisasi Mesin OCR dan Pilih Model Bahasa + +Mesin OCR perlu mengetahui **bahasa apa** yang harus dicari. Aspose menyediakan banyak paket bahasa; menentukan `OcrLanguage.Hindi` memberi tahu mesin untuk mengunduh (jika belum ada) dan menggunakan model Hindi. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Tip Pro:** Jika Anda berencana memproses resi dalam beberapa bahasa, Anda dapat mengubah `Language` saat runtime atau bahkan mengaktifkan mode `MultiLanguage`. + +--- + +## Langkah 3: Berikan Resi PNG ke Mesin + +Di sinilah kita **membaca teks dari PNG**. Berikan jalur lengkap (relatif terhadap executable juga dapat). Metode ini mengembalikan string biasa yang berisi semua yang dapat diuraikan oleh mesin. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Jika gambar beresolusi tinggi dan teksnya bersih, Anda akan mendapatkan hasil hampir sempurna. Untuk pemindaian yang berisik, pertimbangkan pra‑pemrosesan (misalnya, binarisasi) – Aspose menyediakan metode `PreprocessImage` yang dapat Anda jelajahi nanti. + +--- + +## Langkah 4: Tampilkan atau Simpan Teks yang Diekstrak + +Sebagian besar pengembang cukup mencetak hasil ke konsol saat pengujian. Dalam skenario produksi Anda mungkin menulis ke basis data atau file CSV. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Menjalankan program dengan contoh resi akan mencetak sesuatu seperti: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +Itulah bagian **mengonversi gambar menjadi teks** yang beraksi—tanpa transkripsi manual. + +--- + +## Contoh Lengkap yang Berfungsi (Siap Salin‑Tempel) + +Berikut adalah program lengkap yang berdiri sendiri. Tempelkan ke `Program.cs`, letakkan `hindi-receipt.png` di samping file `.exe` yang telah dikompilasi, dan tekan **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Output yang Diharapkan + +Ketika gambar resi berisi karakter Hindi yang jelas, konsol akan menampilkan baris‑baris yang diekstrak, mempertahankan jeda baris. Jika OCR gagal mengenali sebuah kata, Anda akan melihat fragmen yang kacau—sebagai petunjuk untuk meningkatkan kualitas gambar atau menyesuaikan pra‑pemrosesan. + +--- + +## Langkah 5: Lebih Lanjut – Ekstrak Teks dari Resi Secara Programatik + +Jika tujuan Anda adalah **mengekstrak teks dari bidang resi** (tanggal, total, nomor faktur), Anda dapat memproses string OCR dengan ekspresi reguler: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +--- + +## Kesalahan Umum & Cara Menghindarinya + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Output kosong** | Jalur gambar salah atau file tidak disalin ke folder output. | Gunakan `Path.GetFullPath` dan pastikan file ada (`File.Exists`). | +| **Karakter sampah** | PNG beresolusi rendah atau warna terkompresi. | Perbesar gambar, atur DPI ke 300+, atau gunakan `ocrEngine.ImagePreprocessor`. | +| **Model bahasa tidak diunduh** | Tidak ada koneksi internet pada run pertama. | Pra‑unduh model Hindi melalui portal Aspose atau host secara lokal. | +| **Keterlambatan kinerja** | Memproses banyak halaman dalam loop tanpa membuang (dispose) objek. | Bungkus `OcrEngine` dalam blok `using` atau gunakan satu instance kembali. | + +--- + +## Ilustrasi Gambar + +![c# ocr tutorial reading Hindi text from PNG receipt](https://example.com/placeholder-image.png "c# ocr tutorial – read text from png receipt") + +*The screenshot shows a Hindi receipt before and after OCR conversion.* + +*Tangkap layar menunjukkan resi Hindi sebelum dan sesudah konversi OCR.* + +--- + +## Ringkasan: Apa yang Telah Dibahas + +- Siapkan aplikasi konsol C# dan tambahkan paket NuGet Aspose OCR. +- Inisialisasi `OcrEngine` dengan model bahasa **recognize hindi text**. +- **Read text from PNG** menggunakan `RecognizeImage`. +- **Convert image to text** dan cetak hasilnya. +- Menunjukkan pola sederhana untuk **extract text from receipt** fields. + +Semua ini disampaikan dalam satu file yang dapat dijalankan—tepat seperti yang seharusnya diberikan oleh **c# ocr tutorial**. + +--- + +## Langkah Selanjutnya & Topik Terkait + +1. **Batch processing** – iterasi melalui folder gambar resi dan simpan hasilnya ke CSV. +2. **Pre‑processing** – jelajahi `ocrEngine.ImagePreprocessor` untuk penghilangan noise, koreksi kemiringan, atau peningkatan kontras. +3. **Multi‑language OCR** – aktifkan `OcrLanguage.Multilingual` untuk menangani resi yang mencampur Hindi dan Inggris. +4. **Integration** – dorong data yang diekstrak ke model Entity Framework Core untuk penyimpanan persisten. + +Jika Anda penasaran dengan salah satu topik ini, lihat tutorial kami tentang **convert image to text in C#** dan **extract structured data from OCR results**. + +### Selamat Coding! + +Jangan ragu meninggalkan komentar jika Anda mengalami kendala, atau bagikan bagaimana Anda memperluas **c# ocr tutorial** ini dalam proyek Anda sendiri. Ingat, OCR hanyalah langkah pertama—data bersih adalah tempat keajaiban sebenarnya terjadi. 🚀 + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/indonesian/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..5a4372cb --- /dev/null +++ b/ocr/indonesian/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-01-09 +description: Tutorial OCR c# yang menunjukkan cara mengekstrak teks dari file gambar + dan mengonversi DJVU menjadi teks menggunakan Aspose.OCR. Pelajari ekstraksi langkah + demi langkah dalam hitungan menit. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: id +og_description: Tutorial OCR c# yang dengan cepat menunjukkan cara mengekstrak teks + dari file gambar dan mengonversi DJVU ke teks menggunakan Aspose.OCR. Ikuti panduan + untuk solusi yang berfungsi. +og_title: Tutorial OCR c# – Ekstrak teks dari gambar & DJVU +tags: +- OCR +- C# +- Aspose +title: 'Tutorial OCR c#: Ekstrak teks dari gambar dan file DJVU' +url: /id/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tutorial OCR c# – Ekstrak teks dari gambar dan file DJVU + +Pernah bertanya-tanya bagaimana cara mengekstrak teks dari file gambar tanpa membuat frustasi? Dalam **c# OCR tutorial** ini kami akan membahas contoh lengkap yang siap dijalankan yang mengekstrak teks dari gambar biasa *dan* dokumen DJVU. + +Jika Anda juga mencari cara cepat untuk **convert DJVU to text**, Anda berada di tempat yang tepat—tanpa konverter tambahan, hanya kode C# murni. + +## Apa yang akan Anda pelajari + +- Cara menyiapkan library Aspose.OCR dalam proyek .NET. +- Kode tepat yang Anda butuhkan untuk **extract text from image** file. +- Metode singkat untuk **extracting text from DJVU** file (ya, mesin yang sama melakukannya). +- Kesalahan umum (file besar, font yang hilang, lisensi) dan cara menghindarinya. + +Yang Anda butuhkan hanyalah .NET SDK terbaru dan koneksi internet untuk mengambil paket NuGet. Tidak diperlukan pengalaman OCR sebelumnya. + +## Prasyarat + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6.0 or later | Aspose.OCR menargetkan .NET Standard 2.0, jadi .NET 6+ memberikan kinerja terbaik. | +| Visual Studio 2022 (or VS Code) | IDE membuat manajemen paket menjadi mudah, tetapi editor apa pun dapat digunakan. | +| NuGet package **Aspose.OCR** | Ini adalah engine yang sebenarnya melakukan pekerjaan berat. | +| A sample image (`sample.png`) and a DJVU file (`sample.djvu`) | Kami akan menggunakan ini untuk mendemonstrasikan kedua skenario ekstraksi. | + +Anda dapat menginstal paket dengan perintah berikut: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** Jika Anda berada di server CI, tambahkan `--no-restore` ke langkah build dan lakukan restore sekali di awal untuk mempercepat proses. + +## Langkah 1: Inisialisasi engine OCR – inti dari tutorial c# OCR + +Hal pertama yang kami lakukan adalah membuat instance `OcrEngine`. Anggap saja ini seperti menyalakan pemindai dalam perangkat lunak Anda. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Mengapa membuat engine baru setiap kali? Karena engine menyimpan konfigurasi (bahasa, mode deteksi, dll.). Dengan memulai baru Anda menghindari pengaturan lama yang bocor antar proses. + +## Langkah 2: Muat dan kenali gambar – cara mengekstrak teks dari gambar + +Sekarang kami akan memasukkan bitmap biasa (PNG, JPEG, BMP…) ke dalam engine. Metode `RecognizeImage` mengembalikan string yang terdeteksi. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +Beberapa hal yang perlu dicatat: + +* **File existence** – Jika path salah, metode akan melempar `FileNotFoundException`. Bungkus dengan `try/catch` jika Anda mengharapkan path yang diberikan pengguna. +* **Image quality** – OCR bekerja paling baik pada 300 dpi atau lebih tinggi. Scan beresolusi rendah dapat menghasilkan output yang kacau. +* **Language support** – Secara default Aspose.OCR mengasumsikan bahasa Inggris. Untuk mengubahnya, set `ocrEngine.Language = Language.Spanish;` sebelum `RecognizeImage`. + +## Langkah 3: Kenali teks dari dokumen DJVU – convert DJVU to text + +DJVU adalah format kontainer yang dapat menyimpan banyak halaman. Aspose.OCR dapat menangani langsung; Anda hanya perlu menunjuk ke file. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +Di balik layar, engine mengekstrak setiap halaman sebagai gambar dan menjalankan pipeline pengenalan yang sama. Itulah mengapa Anda tidak memerlukan langkah terpisah “convert DJVU to text”—engine OCR melakukannya untuk Anda. + +### Menangani file DJVU multi‑halaman + +Jika DJVU Anda berisi beberapa halaman, `RecognizeImage` menggabungkannya secara berurutan. Jika Anda membutuhkan setiap halaman secara terpisah, Anda dapat menggunakan overload yang mengembalikan `List`: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Langkah 4: Sesuaikan engine untuk akurasi lebih baik – mengapa ini penting + +Hasil bawaan sudah cukup baik, tetapi Anda dapat meningkatkannya dengan menyesuaikan beberapa pengaturan: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Flag ini sangat berguna ketika **how to extract text** dari PDF yang dipindai dan pertama kali disimpan sebagai DJVU. Mengaktifkan deteksi orientasi menghindarkan Anda dari harus memutar gambar secara manual. + +## Langkah 5: Menangani lisensi dan error runtime + +Aspose.OCR dilengkapi dengan trial gratis yang menambahkan “Demo” pada output setelah beberapa halaman. Untuk menghapus watermark, tambahkan file lisensi Anda: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Jika Anda lupa langkah ini, engine tetap berfungsi, tetapi hasilnya akan berisi kata “Demo”. Juga, waspadai `OutOfMemoryException` saat memproses file DJVU yang sangat besar—pertimbangkan memproses halaman per halaman seperti yang ditunjukkan sebelumnya. + +## Contoh lengkap yang dapat dijalankan + +Berikut adalah program konsol mandiri yang menggabungkan semuanya. Salin‑tempel, sesuaikan path file, dan tekan **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Output yang diharapkan** (asumsi file berisi frasa “Hello World”): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Jika sumber berisi beberapa baris, mereka akan muncul persis seperti di dokumen asli. + +## Pertanyaan umum & penanganan kasus tepi + +* **What if the image is black‑and‑white?** + OCR berfungsi dengan baik, tetapi Anda dapat meningkatkan kontras dengan `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +* **Can I extract only numbers?** + Ya—set `ocrEngine.CharWhitelist = "0123456789";` sebelum memanggil `RecognizeImage`. + +* **Is there a limit on file size?** + Engine membaca seluruh file ke memori. Untuk file lebih besar dari ~100 MB, proses per halaman (lihat overload list pada Langkah 3). + +* **How does this differ from Tesseract?** + Aspose.OCR adalah library komersial dengan dukungan DJVU bawaan dan tanpa dependensi native, sedangkan Tesseract memerlukan binary native dan alat konversi DJVU terpisah. + +## Kesimpulan + +Anda baru saja menyelesaikan **c# OCR tutorial** yang menunjukkan cara **extract text from image** file dan secara mulus **convert DJVU to text** menggunakan Aspose.OCR. Contoh ini mencakup semua hal mulai dari instalasi paket hingga lisensi, dari ekstraksi gambar satu halaman hingga penanganan DJVU multi‑halaman, bahkan tips untuk meningkatkan akurasi. + +Selanjutnya, Anda dapat mengeksplorasi **how to extract text** dari PDF, mengintegrasikan langkah OCR ke dalam API web, atau bereksperimen dengan paket bahasa untuk dokumen multibahasa. Tidak ada batasan—ingat poin penting: atur engine, beri file, dan baca kembali stringnya. + +Ada pertanyaan lain? Tinggalkan komentar, coba kode pada dokumen Anda sendiri, dan selamat coding! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# OCR tutorial – console output 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/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/indonesian/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..6b1acebd --- /dev/null +++ b/ocr/indonesian/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: tutorial c# ocr yang menunjukkan cara mengekstrak teks dari file gambar, + mengenali teks dari png, mengonversi gambar menjadi string, dan mendeteksi bahasa + secara otomatis menggunakan Aspose.OCR. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: id +og_description: tutorial OCR c# yang memandu Anda melalui proses mengekstrak teks + dari gambar, mengenali teks dari file png, mengonversi gambar menjadi string, dan + mendeteksi bahasa secara otomatis menggunakan Aspose OCR. +og_title: Tutorial OCR C# – Ekstrak Teks dari Gambar +tags: +- C# +- OCR +- Aspose +- Image Processing +title: tutorial OCR c# – Ekstrak Teks dari Gambar dengan Aspose OCR +url: /id/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tutorial c# ocr – Ekstrak Teks dari Gambar dengan Aspose OCR + +Pernah membutuhkan **tutorial c# ocr** yang benar‑benar bekerja pada file PNG dunia nyata? Mungkin Anda sedang membuat pemindai struk, pemroses formulir multibahasa, atau hanya penasaran bagaimana mengubah gambar teks menjadi string yang dapat dicari. Apa pun kasusnya, Anda berada di tempat yang tepat. + +Dalam panduan ini kami akan menunjukkan langkah‑demi‑langkah cara **mengekstrak teks dari gambar**, **mengenali teks dari png**, **mengonversi gambar menjadi string**, dan bahkan **mendeteksi bahasa secara otomatis**—semua dengan pustaka Aspose.OCR. Tanpa referensi yang samar, hanya contoh lengkap yang dapat dijalankan yang dapat Anda salin‑tempel ke Visual Studio. + +## Apa yang Anda Butuhkan + +- .NET 6.0 atau lebih baru (kode ini juga bekerja dengan .NET Core dan .NET Framework) +- Referensi NuGet ke `Aspose.OCR` (versi 23.9 atau lebih baru) +- File gambar (`mixed‑script.png` dalam contoh ini) ditempatkan di lokasi yang dapat dibaca aplikasi +- Pemahaman dasar tentang C# (jika Anda sudah menulis “Hello World”, Anda sudah siap) + +> **Tip profesional:** Jika Anda belum memiliki lisensi, Aspose menawarkan lisensi sementara gratis untuk pengujian. Cukup letakkan file `.lic` di samping executable Anda. + +## Langkah 1 – Instal Paket NuGet Aspose.OCR + +Pertama, tambahkan pustaka ke proyek Anda. Buka Package Manager Console dan jalankan: + +```powershell +Install-Package Aspose.OCR +``` + +Atau, jika Anda lebih suka UI, klik kanan *Dependencies → Manage NuGet Packages* dan cari **Aspose.OCR**. + +## Langkah 2 – Siapkan Mesin OCR (inti tutorial c# ocr) + +Sekarang kami akan membuat instance `OcrEngine`, memberi tahu untuk mendeteksi bahasa secara otomatis, dan menunjuk ke file PNG kami. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Mengapa kami mengatur `Language = OcrLanguage.AutoDetect` + +Deteksi bahasa otomatis menyelamatkan Anda dari menebak apakah gambar berisi bahasa Inggris, Rusia, Arab, atau campuran. Ini adalah opsi paling fleksibel untuk skenario **mendeteksi bahasa secara otomatis**, dan berfungsi langsung untuk sebagian besar skrip yang didukung Aspose. + +## Langkah 3 – Jalankan Aplikasi dan Verifikasi Output + +Kompilasi dan jalankan program (`dotnet run` atau tekan **F5** di Visual Studio). Jika semuanya terhubung dengan benar, Anda akan melihat sesuatu seperti: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +Output tersebut membuktikan bahwa kami berhasil **mengekstrak teks dari gambar**, **mengenali teks dari png**, dan **mengonversi gambar menjadi string** – semua dalam satu potongan kode yang singkat. + +## Langkah 4 – Variasi Umum & Kasus Tepi + +### Menangani Banyak Gambar + +Jika Anda perlu memproses sebuah direktori PNG, bungkus panggilan pengenalan dalam loop `foreach`: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Menentukan Bahasa Tetap + +Kadang‑kadang Anda sudah mengetahui bahasa sebelumnya (misalnya hanya Bahasa Inggris). Anda dapat mengganti `AutoDetect` dengan `OcrLanguage.English` untuk mempercepat pemrosesan: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Menangani Pemindaian Berkualitas Rendah + +Aspose.OCR menawarkan opsi pra‑pemrosesan (pengurangan noise, deskew). Untuk perbaikan cepat: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Menyimpan Hasil ke File + +Alih‑alih mencetak ke konsol, Anda mungkin ingin menulis teks yang diekstrak ke file `.txt`: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Langkah 5 – Contoh Lengkap yang Berfungsi (Siap Salin‑Tempel) + +Berikut adalah **program lengkap** termasuk pra‑pemrosesan opsional dan logika output ke file. Silakan sesuaikan jalur file sesuai kebutuhan. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Output yang Diharapkan + +Menjalankan program pada PNG yang berisi Bahasa Inggris, Rusia, dan Arab menghasilkan: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +Jika gambar kosong atau tidak dapat dibaca, mesin mengembalikan string kosong—tangani kasus tersebut dengan memeriksa `string.IsNullOrWhiteSpace(extractedText)` sebelum melanjutkan. + +## Pertanyaan yang Sering Diajukan (FAQ) + +**Q: Apakah Aspose.OCR mendukung teks tulisan tangan?** +A: Fokusnya pada OCR cetak. Untuk tulisan tangan Anda memerlukan model ML khusus atau layanan seperti Azure Computer Vision. + +**Q: Bisakah saya menjalankannya di Linux/macOS?** +A: Tentu saja. Aspose.OCR bersifat lintas‑platform; cukup instal runtime .NET untuk OS Anda. + +**Q: Bagaimana jika saya perlu memproses PDF alih‑alih PNG?** +A: Konversi setiap halaman PDF menjadi gambar terlebih dahulu (misalnya dengan `Aspose.PDF`) lalu berikan gambar tersebut ke mesin OCR. + +## Kesimpulan + +Kami baru saja menyelesaikan **tutorial c# ocr** yang memandu Anda melalui **mengekstrak teks dari gambar**, **mengenali teks dari png**, **mengonversi gambar menjadi string**, dan **mendeteksi bahasa secara otomatis** menggunakan Aspose.OCR. Kodenya singkat, konsepnya jelas, dan Anda dapat memperluasnya menjadi pemrosesan batch, pengaturan bahasa khusus, atau bahkan mengintegrasikannya ke API web. + +Langkah selanjutnya? Coba alirkan output OCR ke indeks pencarian, kirim ke layanan terjemahan, atau gabungkan dengan Azure Cognitive Services untuk pipeline data yang lebih kaya. Langit adalah batasnya setelah Anda menguasai dasar‑dasar konversi gambar‑ke‑teks di C#. + +Selamat coding, dan jangan lupa bereksperimen dengan kualitas gambar yang berbeda—mesin OCR Anda akan berterima kasih! + +![c# ocr tutorial – contoh output OCR pada PNG skrip campuran](placeholder-image.png "c# ocr tutorial – tangkapan layar 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/indonesian/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/indonesian/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..ac0d758a --- /dev/null +++ b/ocr/indonesian/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,224 @@ +--- +category: general +date: 2026-01-09 +description: Ekstrak teks dari PNG dengan cepat menggunakan Aspose OCR. Pelajari cara + membaca teks gambar, meningkatkan akurasi OCR, dan mendapatkan hasil bersih di C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: id +og_description: Ekstrak teks dari PNG dengan cepat menggunakan Aspose OCR. Pelajari + cara membaca teks gambar, meningkatkan akurasi OCR, dan mendapatkan hasil yang bersih + di C#. +og_title: Ekstrak Teks dari PNG – Tutorial OCR Aspose Lengkap +tags: +- Aspose OCR +- C# +- Image Processing +title: Ekstrak Teks dari PNG – Tutorial OCR Aspose Lengkap +url: /id/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Ekstrak Teks dari PNG – Tutorial Lengkap Aspose OCR + +Pernah perlu **mengekstrak teks dari file PNG** tetapi hasilnya penuh dengan karakter tak terbaca? Anda tidak sendirian. Dalam banyak proyek dunia nyata – faktur, kwitansi, atau formulir yang dipindai – kualitas output OCR dapat menentukan keberhasilan atau kegagalan alur otomatisasi. + +Dalam panduan ini kami akan menunjukkan cara **langkah‑demi‑langkah** untuk membaca teks gambar menggunakan Aspose OCR, menambahkan kamus khusus untuk **meningkatkan akurasi OCR**, membersihkan noise, dan akhirnya mencetak string yang rapi. Pada akhir tutorial Anda akan memiliki aplikasi konsol C# yang siap dijalankan dan dapat mengekstrak teks dari gambar PNG secara andal. + +> **Apa yang akan Anda dapatkan** +> * Contoh kode lengkap yang dapat dijalankan. +> * Pemahaman mengapa kamus khusus penting. +> * Tips menangani kasus tepi seperti pemindaian dengan kontras rendah. + +## Prerequisites + +- .NET 6 SDK atau yang lebih baru (kode menargetkan .NET 6, tetapi .NET 5 juga dapat digunakan). +- Visual Studio 2022 atau editor pilihan Anda. +- Gambar **PNG** yang ingin Anda proses – misalnya `invoice.png`. +- Paket NuGet **Aspose.OCR** (`dotnet add package Aspose.OCR`). + +Tidak diperlukan file konfigurasi tambahan; semuanya berada dalam satu file `.cs`. + +## Step 1 – Install and Reference Aspose OCR + +Pertama, tarik pustaka ke dalam proyek Anda. Buka terminal di folder solusi dan jalankan: + +```bash +dotnet add package Aspose.OCR +``` + +Baris tunggal itu mengunduh versi stabil terbaru (per Jan 2026, versi 23.9). Paket tersebut menyertakan kelas `OcrEngine` yang akan kita gunakan sepanjang tutorial. + +## Step 2 – Initialize the OCR Engine + +Membuat instance `OcrEngine` adalah fondasi. Anggaplah ini seperti menyalakan pemindai yang siap menafsirkan piksel. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Pro tip:** Jika Anda berencana memproses banyak gambar dalam sebuah loop, gunakan kembali instance `OcrEngine` yang sama. Ia menyimpan cache sumber daya internal dan mempercepat panggilan berikutnya. + +## Step 3 – Boost Accuracy with a Custom Dictionary + +OCR bawaan sudah bagus, tetapi dapat kesulitan dengan kata‑kata khusus domain seperti “Aspose”, “OCR”, atau “SDK”. Menambahkan istilah‑istilah tersebut ke **kamus khusus** memberi tahu mesin bahwa string‑string itu sah, sehingga mengurangi kesalahan pengenalan. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Mengapa kamus khusus membantu + +- **Model statistik** di balik OCR sangat memperhatikan pola bahasa umum. Kata‑kata yang jarang muncul memiliki probabilitas rendah dan dapat digantikan oleh karakter yang terlihat mirip. +- Dengan mencantumkannya secara eksplisit, Anda menimpa tebakan model. +- Ini sangat berguna untuk **membaca teks gambar** yang berisi kode produk, singkatan, atau nama merek. + +## Step 4 – Recognize Text from the PNG File + +Sekarang kita beri mesin jalur gambar. Metode `RecognizeImage` mengembalikan string mentah yang masih berisi token tidak dikenal (misalnya “#@!”) yang tidak dapat dipetakan oleh mesin. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Kasus tepi:** Jika file tidak ditemukan, `RecognizeImage` akan melempar `FileNotFoundException`. Bungkus pemanggilan dalam blok try‑catch untuk kode produksi. + +## Step 5 – Clean the Result with `CleanText` + +Aspose OCR menyediakan helper yang menghapus karakter yang ditandai sebagai “tidak dikenal”. Langkah ini penting untuk proyek **ekstrak teks dari gambar** di mana parser downstream mengharapkan hanya alfanumerik dan tanda baca dasar. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +Metode `CleanText` juga menormalkan akhir baris, sehingga output aman disimpan di basis data atau diteruskan ke layanan lain. + +## Step 6 – Output the Cleaned Text + +Akhirnya, tampilkan atau simpan hasilnya. Pada aplikasi konsol, `Console.WriteLine` sudah cukup. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +Saat Anda menjalankan program, Anda akan melihat blok teks rapi yang mencerminkan isi `invoice.png`. Jika gambar berisi kata “Aspose”, kamus khusus memastikan kata tersebut muncul dengan benar, bukan sesuatu seperti “A5p0se”. + +## Full Working Example + +Menggabungkan semuanya, berikut adalah `Program.cs` lengkap yang dapat Anda salin‑tempel ke proyek konsol baru: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Output yang diharapkan** (asumsi PNG berisi faktur sederhana): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Jika Anda melihat simbol aneh, periksa kembali kualitas gambar atau tambahkan lebih banyak istilah ke kamus khusus. + +## Bonus: Handling Low‑Quality Scans + +Kadang PNG dipindai pada 72 dpi atau memiliki artefak kompresi berat. Berikut beberapa trik cepat untuk **meningkatkan akurasi OCR** tanpa meninggalkan C#: + +1. **Pra‑proses gambar** dengan pustaka seperti `SixLabors.ImageSharp` – tingkatkan kontras, konversi ke grayscale, atau terapkan blur ringan untuk mengurangi noise. +2. **Set properti `Resolution`** pada `OcrEngine` (misalnya `ocrEngine.Resolution = 300;`) untuk memberi tahu mesin memperlakukan gambar sebagai resolusi lebih tinggi. +3. **Aktifkan paket bahasa** jika Anda menangani teks non‑Inggris (`ocrEngine.Language = Language.English;`). + +Ketiga pendekatan dapat ditambahkan sebelum pemanggilan `RecognizeImage`. + +## Frequently Asked Questions + +- **Apakah ini bekerja dengan format gambar lain?** + Ya. `RecognizeImage` menerima JPEG, BMP, TIFF, dan bahkan PDF (sebagai kontainer gambar). Langkah‑langkahnya sama. + +- **Bisakah saya mengekstrak teks dari banyak PNG dalam satu folder?** + Tentu. Bungkus logika inti dalam loop `foreach (var file in Directory.GetFiles(folder, "*.png"))` dan simpan setiap hasil dalam daftar atau tulis ke file terpisah. + +- **Bagaimana jika saya membutuhkan koordinat teks?** + Aspose OCR juga menyediakan objek `OcrResult` yang mencakup bounding box. Gunakan `ocrEngine.RecognizeImageToResult(imagePath)` untuk skenario lanjutan tersebut. + +## Conclusion + +Kami telah menelusuri solusi **lengkap, end‑to‑end** untuk **mengekstrak teks dari file PNG** menggunakan Aspose OCR. Dengan menginisialisasi mesin, memberi kamus khusus, membersihkan output mentah, dan menangani beberapa jebakan umum, Anda dapat secara andal **membaca teks gambar** dan **meningkatkan akurasi OCR** dalam aplikasi C# Anda sendiri. + +Siap untuk langkah selanjutnya? Coba ganti PNG dengan kwitansi yang dipindai, tambahkan lebih banyak kata domain ke kamus, atau integrasikan output dengan basis data untuk pemrosesan faktur otomatis. Langit adalah batasnya ketika Anda menggabungkan Aspose OCR dengan ekosistem .NET yang kaya. + +Selamat coding, semoga OCR Anda selalu tepat! + +![Ekstrak teks dari contoh png](/images/extract-text-from-png.png "ekstrak teks dari png – demo Aspose 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/indonesian/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/indonesian/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..4cd909ac --- /dev/null +++ b/ocr/indonesian/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,262 @@ +--- +category: general +date: 2026-01-09 +description: Ekstrak teks dari file TIFF menggunakan Aspose OCR di C#. Pelajari cara + mendapatkan 50 karakter pertama dari setiap hasil dalam tutorial langkah demi langkah + ini. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: id +og_description: Ekstrak teks dari TIFF menggunakan Aspose OCR di C#. Panduan ini menunjukkan + cara mendapatkan 50 karakter pertama dari setiap hasil OCR, langkah demi langkah. +og_title: Ekstrak Teks dari TIFF dengan Aspose OCR – Panduan Lengkap C# +tags: +- Aspose OCR +- C# +- TIFF processing +title: Ekstrak Teks dari TIFF dengan Aspose OCR C# – Tutorial Lengkap +url: /id/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Ekstrak Teks dari TIFF – Tutorial Lengkap Aspose OCR C# + +Pernah membutuhkan untuk **ekstrak teks dari TIFF** gambar tetapi tidak yakin perpustakaan mana yang dapat dipercaya? Anda tidak sendirian. Banyak pengembang mengalami kebuntuan ketika mencoba mengambil teks yang dapat dicari dari TIFF multi‑halaman, terutama ketika kinerja penting. + +Dalam **aspose ocr c# tutorial** ini kami akan membahas contoh siap‑jalankan yang tidak hanya mengekstrak teks lengkap tetapi juga menunjukkan cara **mengambil 50 karakter pertama** dari setiap halaman untuk pratinjau cepat. Pada akhir tutorial Anda akan memiliki program mandiri yang dapat Anda masukkan ke proyek .NET mana pun. + +## Apa yang Anda Butuhkan + +- .NET 6 (atau versi .NET terbaru) – kode ini dapat dikompilasi dengan .NET Core maupun .NET Framework. +- Lisensi aktif Aspose.OCR untuk .NET (Anda dapat memulai dengan percobaan gratis). +- Folder yang berisi satu atau lebih file `.tif` yang ingin Anda proses. +- Visual Studio, VS Code, atau IDE apa pun yang Anda sukai – contoh ini menggunakan C# biasa sehingga pilihan editor tidak penting. + +> **Pro tip:** Jika Anda berada di server CI, tambahkan paket NuGet Aspose.OCR (`Aspose.OCR`) ke file proyek Anda; perpustakaan ini sepenuhnya dikelola dan tidak memiliki dependensi native. + +## Langkah 1: Instal Paket NuGet Aspose OCR + +Pertama-tama, mari bawa mesin OCR ke dalam proyek. Buka terminal di folder solusi Anda dan jalankan: + +```bash +dotnet add package Aspose.OCR +``` + +Perintah ini mengunduh versi stabil terbaru (per Jan 2026 versi 23.9) dan memperbarui file `.csproj` Anda secara otomatis. Tidak diperlukan penanganan DLL manual. + +## Langkah 2: Inisialisasi Mesin OCR + +Sekarang kita membuat sebuah instance `OcrEngine`. Anggaplah ini sebagai “otak” yang akan membaca setiap halaman TIFF. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Mengapa kita menginstansiasi mesin hanya sekali? Karena `RecognizeImages` dapat menerima koleksi jalur file, memungkinkan mesin menggunakan kembali buffer internal dan secara signifikan mempercepat pemrosesan batch. + +## Langkah 3: Kumpulkan Semua File TIFF dalam Satu Panggilan + +Alih-alih melakukan perulangan pada direktori secara manual, biarkan .NET melakukan pekerjaan berat. Metode `Directory.GetFiles` mengembalikan `IEnumerable` yang dapat langsung kita berikan ke panggilan OCR. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **Bagaimana jika gambar saya JPEG atau PNG?** Cukup ubah pola pencarian (`"*.jpg"` atau `"*.*"`). Aspose OCR bekerja dengan semua format raster umum. + +## Langkah 4: Jalankan OCR pada Seluruh Koleksi + +Berikut baris ajaib yang memproses setiap file dalam satu permintaan. Metode ini mengembalikan kamus di mana kunci adalah jalur file dan nilai adalah objek `OcrResult` yang berisi teks yang dikenali. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Mengapa memproses secara batch? Ini mengurangi beban memuat mesin OCR berulang kali, dan pada mesin multi‑core Aspose secara internal memparalelkan pekerjaan, memberikan peningkatan kecepatan yang terlihat. + +## Langkah 5: Tampilkan Pratinjau – Dapatkan 50 Karakter Pertama + +Sebagian besar skenario UI hanya membutuhkan cuplikan, bukan seluruh dokumen. Kami akan mengekstrak 50 karakter pertama (atau lebih sedikit jika halaman pendek) dan mencetaknya bersama nama file. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Baris `Math.Min(50, fullText.Length)` menjamin kita tidak melampaui batas string – sebuah perlindungan kecil yang mencegah `ArgumentOutOfRangeException` ketika hasil OCR lebih pendek dari 50 karakter. + +### Output Konsol yang Diharapkan + +Dengan asumsi Anda memiliki dua file TIFF (`invoice1.tif` dan `receipt2.tif`) konsol mungkin menampilkan: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Setiap baris diakhiri dengan elipsis (`...`) untuk menunjukkan bahwa pratinjau hanya bagian awal dari blok teks yang lebih panjang. + +## Langkah 6: Tangani Kasus Tepi dan Jebakan Umum + +### File Kosong atau Rusak + +Jika sebuah file tidak dapat dibaca, `RecognizeImages` tetap mengembalikan entri dengan properti `Text` kosong. Anda dapat menyaringnya: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Batch Besar + +Memproses ribuan TIFF dapat mengonsumsi banyak memori. Dalam kasus seperti itu, gunakan overload yang menerima `Stream` per gambar, atau proses daftar dalam potongan yang lebih kecil: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Dukungan Bahasa dan Font + +Jika dokumen Anda berisi karakter non‑Latin, atur bahasa sebelum memanggil `RecognizeImages`: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Penyesuaian kecil ini dapat meningkatkan akurasi secara dramatis. + +## Langkah 7: Contoh Lengkap yang Siap Pakai (Copy‑Paste) + +Berikut adalah program lengkap yang dapat Anda tempel ke proyek konsol baru (`dotnet new console`) dan jalankan apa adanya (cukup ganti `YOUR_DIRECTORY/Batch` dengan jalur yang sebenarnya). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Jalankan program dengan `dotnet run`. Anda akan melihat pratinjau singkat untuk setiap file TIFF, mengonfirmasi bahwa Anda telah berhasil **ekstrak teks dari TIFF** menggunakan Aspose OCR. + +## Pertanyaan yang Sering Diajukan (FAQ) + +**Q: Apakah ini bekerja dengan TIFF multi‑halaman?** +A: Ya. Aspose OCR memperlakukan setiap halaman sebagai gambar terpisah secara internal, sehingga TIFF multi‑halaman menghasilkan satu string yang digabungkan per file. Anda dapat memisahkannya nanti jika diperlukan. + +**Q: Seberapa akurat OCR ini secara default?** +A: Untuk pemindaian bersih dengan resolusi tinggi (300 DPI atau lebih) Anda dapat mengharapkan akurasi >95 % pada teks bahasa Inggris. Pra‑pemrosesan (deskew, binarisasi) dapat meningkatkan akurasi lebih tinggi lagi. + +**Q: Bisakah saya mengekspor hasil ke file CSV?** +A: Tentu saja. Ganti `Console.WriteLine` dengan `StreamWriter` dan tulis baris `fileName,preview`. Ingat untuk meng-escape koma dalam teks pratinjau. + +## Langkah Selanjutnya dan Topik Terkait + +- **Persist OCR results** – Simpan teks lengkap dalam basis data untuk arsip yang dapat dicari. +- **Combine with PDF conversion** – Gunakan Aspose.PDF untuk menyematkan teks yang diekstrak kembali ke PDF yang dapat dicari. +- **Batch processing on Azure Functions** – Skalakan pekerjaan OCR tanpa mengelola server. + +Semua ekstensi ini kembali ke ide utama **ekstrak teks dari TIFF** secara efisien, sambil tetap memungkinkan Anda **mengambil 50 karakter pertama** untuk pratinjau UI yang cepat. + +--- + +*Selamat coding! Jika Anda menemukan hal aneh, tinggalkan komentar di bawah – saya akan berusaha membantu Anda menyempurnakan pipeline OCR.* + +![Extract text from TIFF using Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extract text from TIFF using Aspose 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/indonesian/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/indonesian/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..3841802b --- /dev/null +++ b/ocr/indonesian/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,240 @@ +--- +category: general +date: 2026-01-09 +description: Mengenali teks dalam JPG dengan cepat menggunakan Aspose OCR di C#. Pelajari + cara mengekstrak teks dari gambar, mengonversi gambar ke JSON dan EPUB dalam satu + tutorial. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: id +og_description: Mengenali teks dalam JPG dengan Aspose OCR. Panduan ini menunjukkan + cara mengekstrak teks dari gambar, mengonversi gambar ke JSON dan EPUB, serta membuat + ePub dari gambar. +og_title: Mengenali teks dalam jpg – Tutorial C# Lengkap +tags: +- Aspose OCR +- C# +- Image Processing +title: Mengenali Teks dalam JPG dengan Aspose OCR – Panduan Lengkap C# +url: /id/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# mengenali teks dalam jpg – Panduan Lengkap C# + +Pernah perlu **mengenali teks dalam file jpg** tetapi tidak yakin pustaka mana yang harus dipilih? Anda tidak sendirian. Banyak pengembang mengalami hal yang sama ketika pertama kali mencoba mengekstrak kata‑kata dari foto atau dokumen yang dipindai. + +Kabar baiknya? Dengan Aspose OCR Anda dapat **mengekstrak teks dari gambar** dalam beberapa baris kode C#, lalu langsung **mengonversi gambar ke JSON** atau bahkan **mengonversi gambar ke EPUB**—semua tanpa meninggalkan IDE Anda. + +Dalam tutorial ini kita akan menelusuri seluruh alur kerja: mulai dari menginstal paket NuGet yang tepat, melalui mengenali teks dalam JPG, hingga menyimpan hasilnya sebagai JSON terstruktur dan sebagai dokumen ePub. Pada akhir tutorial Anda akan dapat **membuat epub dari gambar** secara programatis, trik berguna untuk platform e‑learning, perpustakaan digital, atau aplikasi apa pun yang memerlukan e‑book yang dapat dicari. + +--- + +## Apa yang Anda Butuhkan + +- **.NET 6+** (atau .NET Framework 4.6+). Kode ini bekerja pada runtime terbaru apa pun. +- Paket NuGet **Aspose.OCR** – mesin OCR inti. +- Paket NuGet **Aspose.Publishing** – diperlukan untuk format output ePub. +- Sebuah file gambar bernama `input.jpg` yang berada di suatu lokasi di disk Anda (ganti path sesuai kebutuhan). +- Editor teks atau IDE (Visual Studio, VS Code, Rider—pilihan Anda). + +Itu saja. Tanpa layanan tambahan, tanpa API eksternal, hanya beberapa pustaka dan file JPG. + +--- + +## Langkah 1: Siapkan Proyek Anda untuk **mengenali teks dalam jpg** + +Pertama, buat aplikasi console baru (atau tambahkan ke proyek yang sudah ada). Kemudian tambahkan dua paket Aspose melalui NuGet Package Manager: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Tip pro:** Jika Anda menggunakan Visual Studio, klik kanan proyek → *Manage NuGet Packages* → cari *Aspose.OCR* dan *Aspose.Publishing*, lalu klik **Install**. + +Paket‑paket ini menyediakan semua yang Anda perlukan untuk **mengekstrak teks dari gambar** dan untuk menghasilkan file ePub nanti. + +--- + +## Langkah 2: **Mengekstrak teks dari gambar** Menggunakan Aspose OCR + +Sekarang kita akan menulis kode yang benar‑benar membaca JPG dan mengambil karakter‑karakter darinya. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Mengapa ini berhasil:** `OcrEngine` menyembunyikan semua pra‑pemrosesan gambar tingkat rendah, deteksi bahasa, dan segmentasi karakter. Anda cukup menunjukannya ke sebuah file dan ia mengembalikan objek `OcrResult` yang berisi string teks polos (`ocrResult.Text`) serta sekumpulan metadata yang kaya. + +--- + +## Langkah 3: **Mengonversi gambar ke JSON** – Mengekspor Hasil OCR + +Jika Anda perlu menyimpan output OCR dalam format terstruktur (untuk API, basis data, atau pemrosesan lanjutan), Aspose memudahkan serialisasi hasil ke JSON. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +JSON yang dihasilkan kira‑kira terlihat seperti ini (dipangkas untuk singkat): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**Kapan menggunakannya:** JSON sangat cocok bila Anda mengalirkan data OCR ke layanan web, menyimpannya di penyimpanan NoSQL, atau sekadar membutuhkan representasi portabel yang dapat diparsir oleh bahasa apa pun. + +--- + +## Langkah 4: **Mengonversi gambar ke EPUB** – Menyimpan sebagai eBook + +Aspose Publishing menambahkan dukungan untuk beberapa format e‑book, termasuk EPUB. Dengan memanggil `Save` pada `OcrResult` Anda dapat menghasilkan file ePub yang sepenuhnya sesuai standar, berisi teks yang dikenali dan, opsional, gambar asli. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**Apa yang Anda dapatkan:** Sebuah ePub yang dapat dibuka di pembaca apa pun (Calibre, Apple Books, Adobe Digital Editions). File tersebut mencakup teks yang diekstrak sebagai konten yang dapat dicari, plus gambar sumber sebagai lapisan latar—ideal untuk membuat pipeline **membuat epub dari gambar**. + +--- + +## Langkah 5: Contoh Lengkap – Dari JPG ke JSON & EPUB + +Menggabungkan semuanya, berikut program lengkap yang siap dijalankan. Salin‑tempelkan ke `Program.cs`, sesuaikan jalur file, lalu tekan **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Jalankan program dan Anda akan melihat tiga hal: + +1. Teks yang dikenali tercetak di konsol. +2. File `output.json` yang berisi data OCR terstruktur. +3. File `output.epub` yang dapat Anda buka dengan pembaca e‑book apa pun. + +--- + +## Pertanyaan Umum & Kasus Tepi + +- **Bagaimana jika gambar berupa PNG atau BMP?** + Aspose OCR mendukung sebagian besar format raster (PNG, BMP, TIFF, GIF). Cukup ubah ekstensi file di `inputPath`; kode yang sama tetap berfungsi. + +- **Bisakah saya menentukan bahasa selain Inggris?** + Ya. Atur `ocrEngine.Language = OcrLanguage.French;` (atau bahasa lain yang didukung) sebelum memanggil `RecognizeImage`. + +- **Bagaimana dengan PDF multi‑halaman?** + Untuk PDF, Anda harus terlebih dahulu mengonversi tiap halaman menjadi gambar (Aspose.PDF dapat melakukannya) lalu memberi setiap gambar ke `RecognizeImage`. Objek `OcrResult` yang dihasilkan dapat digabungkan sebelum diekspor ke JSON atau EPUB. + +- **Saya mendapatkan skor kepercayaan rendah. Bagaimana cara meningkatkan akurasi?** + Lakukan pra‑pemrosesan gambar: tingkatkan kontras, luruskan (deskew), atau ubah ke skala abu‑abu. Aspose OCR juga menyediakan `PreprocessOptions` yang dapat Anda sesuaikan. + +--- + +## Kesimpulan + +Anda kini memiliki resep lengkap‑ujung‑ke‑ujung untuk **mengenali teks dalam jpg** menggunakan Aspose OCR, lalu **mengonversi gambar ke JSON** untuk pipeline data dan **mengonversi gambar ke EPUB** untuk membangun e‑book yang dapat dicari. Pendekatan ini ringan, hanya memerlukan dua paket NuGet, dan berfungsi pada semua runtime .NET modern. + +Selanjutnya Anda dapat: + +- Mengintegrasikan output JSON ke dalam indeks pencarian (Azure Cognitive Search, Elastic). +- Memproses batch folder gambar dan menghasilkan perpustakaan buku ePub. +- Memperluas alur kerja dengan API terjemahan untuk membuat e‑book multibahasa secara otomatis. + +Cobalah, eksperimen dengan kualitas gambar yang berbeda, dan biarkan mesin OCR melakukan pekerjaan berat. Selamat coding! + +--- + +![tangkapan layar output mengenali teks dalam jpg](placeholder-image.png "contoh output mengenali teks dalam 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/italian/net/ocr-configuration/_index.md b/ocr/italian/net/ocr-configuration/_index.md index 661c8d64..9af7f9d9 100644 --- a/ocr/italian/net/ocr-configuration/_index.md +++ b/ocr/italian/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ Sblocca la potenza del riconoscimento delle immagini OCR in .NET con Aspose.OCR. Sblocca potenti funzionalità OCR con Aspose.OCR per .NET. Estrai testo dalle immagini senza problemi. ### [Operazione OCR con elenco nel riconoscimento immagini OCR](./ocr-operation-with-list/) Sblocca il potenziale di Aspose.OCR per .NET. Esegui senza sforzo il riconoscimento delle immagini OCR con gli elenchi. Aumenta la produttività e l'estrazione dei dati nelle tue applicazioni. +### [Come eseguire OCR su immagine in C# – Guida completa con supporto GPU](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Scopri come utilizzare Aspose.OCR in C# per riconoscere testo da immagini sfruttando la potenza della GPU. +### [Riconoscere il testo da immagine con Aspose OCR – Guida completa C#](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Scopri come utilizzare Aspose.OCR in C# per riconoscere testo da immagini con una guida completa passo passo. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/italian/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..912ae3fe --- /dev/null +++ b/ocr/italian/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-01-09 +description: Impara come eseguire l'OCR di un'immagine e estrarre il testo dell’immagine + usando Aspose.OCR. Include i passaggi per convertire un documento scansionato, abilitare + la GPU e leggere l’immagine con OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: it +og_description: Come eseguire l'OCR di un'immagine rapidamente con Aspose.OCR. Segui + questo tutorial passo‑passo per estrarre il testo dall'immagine, convertire il documento + scansionato e abilitare la GPU. +og_title: Come fare OCR di un'immagine in C# – Guida accelerata dalla GPU +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Come fare OCR di un'immagine in C# – Guida completa con supporto GPU +url: /it/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come fare OCR di un'immagine in C# – Guida completa con supporto GPU + +Ti sei mai chiesto **come fare OCR di un'immagine** direttamente dalla tua app .NET? Non sei l'unico—gli sviluppatori hanno costantemente bisogno di estrarre testo da PDF, TIFF e foto, soprattutto quando si tratta di grandi documenti scansionati. La buona notizia? Con Aspose.OCR puoi **estrarre il testo dell'immagine** in poche righe, e puoi anche **abilitare l'accelerazione GPU** per una elaborazione più veloce. + +In questo tutorial ti guideremo attraverso tutto ciò che devi sapere: dall'installazione della libreria, all'inizializzazione del motore OCR con fallback GPU, fino a **leggere l'immagine con OCR** e visualizzare il risultato. Alla fine sarai in grado di **convertire documenti scansionati** in stringhe modificabili—senza servizi esterni. + +--- + +## Cosa ti servirà + +Before we get our hands dirty, make sure you have the following: + +- **.NET 6.0** o successivo (il codice funziona anche su .NET Core e .NET Framework). +- Una **licenza** per Aspose.OCR o una chiave di valutazione temporanea (la prova gratuita funziona per i test). +- Un file immagine da elaborare—preferibilmente un TIFF o PNG ad alta risoluzione. +- (Opzionale) Una macchina con GPU abilitata se vuoi vedere l'incremento di velocità; altrimenti il motore tornerà automaticamente alla CPU. + +Avere questi prerequisiti coperti significa che puoi concentrarti sul flusso di lavoro OCR reale senza incontrare ostacoli in seguito. + +--- + +## Passo 1: Installa il pacchetto NuGet Aspose.OCR + +First things first—add the Aspose.OCR library to your project. Open a terminal in your solution folder and run: + +```bash +dotnet add package Aspose.OCR +``` + +Oppure, se usi l'interfaccia NuGet di Visual Studio, cerca semplicemente **Aspose.OCR** e premi installa. Questo singolo comando scarica tutti i DLL necessari, inclusi i binari GPU nativi quando disponibili. + +> **Consiglio professionale:** Mantieni il pacchetto aggiornato. Le nuove versioni includono spesso miglioramenti ai modelli linguistici e un migliore supporto GPU. + +--- + +## Passo 2: Importa i namespace richiesti + +Now that the package is installed, bring the relevant namespaces into scope. This step is where we start **come fare OCR di un'immagine** in code. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +Queste due righe ti danno accesso alla classe `OcrEngine` e all'oggetto impostazioni che ti permette di attivare o disattivare l'uso della GPU. Senza di esse, il compilatore non saprebbe cosa sia `OcrEngine`. + +--- + +## Passo 3: Inizializza il motore OCR e abilita la GPU + +If you’ve ever asked **how to enable GPU** for OCR, this is the answer. We create an `OcrEngineSettings` instance, flip the `UseGpu` flag, and pass it to the engine constructor. The engine automatically detects whether a compatible GPU is present; if not, it falls back to CPU—so you don’t need extra error handling. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Perché abilitare la GPU? Per immagini grandi—pensa a TIFF multi‑pagina o scansioni ad alta risoluzione—il tempo di elaborazione può scendere da diversi secondi a una frazione di secondo. Se stai costruendo una pipeline di elaborazione batch, questo guadagno di velocità si somma rapidamente. + +--- + +## Passo 4: Esegui l'OCR sull'immagine di destinazione + +Here’s where we actually **read image with OCR**. Supply the path to your file, and the engine returns the recognized text as a string. This works for any raster format supported by Aspose (PNG, JPEG, TIFF, BMP, etc.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Se hai bisogno di **convertire documenti scansionati** pagina per pagina, basta iterare sui nomi dei file e chiamare `RecognizeImage` per ciascuno. Il metodo è thread‑safe, quindi puoi anche parallelizzare il carico di lavoro su una CPU multi‑core. + +--- + +## Passo 5: Visualizza o salva il testo estratto + +Finally, we output the result. In a console app, `Console.WriteLine` does the trick. In a real‑world scenario you might write the text to a database, a JSON file, or feed it into a search index. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +La riga sopra stampa l'output OCR grezzo. Noterai interruzioni di riga, occasionali errori di riconoscimento e forse qualche carattere estraneo—niente di insolito per l'OCR. Un post‑processing (ad esempio pulizia con regex) può sistemare il risultato se necessario. + +> **Nota:** Aspose.OCR supporta anche dizionari specifici per lingua. Se elabori testi non‑inglesi, imposta `ocrEngine.Settings.Language` di conseguenza prima di chiamare `RecognizeImage`. + +--- + +## Esempio completo funzionante + +Putting it all together, here’s a self‑contained program you can copy‑paste into a new console project: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Output previsto** (troncato per brevità): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Esegui il programma, e dovresti vedere il testo estratto apparire nella finestra della console. Se la GPU è disponibile, il tempo di elaborazione sarà notevolmente più breve rispetto a macchine solo CPU‑only. + +--- + +## Problemi comuni e come evitarli + +| Issue | Why It Happens | Fix | +|-------|----------------|-----| +| **Caratteri spazzatura** | Fonte a bassa risoluzione o sfondo rumoroso. | Pre‑elabora l'immagine (aumenta DPI, applica binarizzazione) prima dell'OCR. | +| **GPU non utilizzata** | Nessun driver CUDA compatibile installato. | Verifica la versione del driver, o imposta `UseGpu = false` per forzare la CPU. | +| **Memoria esaurita su TIFF grandi** | Caricamento dell'intero file in una volta. | Usa `OcrEngineSettings.MaxMemoryUsage` per limitare l'utilizzo di memoria, o elabora le pagine singolarmente. | +| **Rilevamento lingua errato** | La lingua predefinita è l'inglese. | Imposta `ocrEngine.Settings.Language = Language.YourLanguage;` prima di chiamare `RecognizeImage`. | + +Affrontare questi casi limite garantisce che la tua implementazione **come fare OCR di un'immagine** rimanga solida su diversi ambienti. + +--- + +## Estendere la soluzione + +Now that you can **extract image text**, you might want to: + +- **Converti documenti scansionati** PDF in PDF ricercabili incorporando il layer OCR. +- Memorizza i risultati in un indice **Azure Cognitive Search** per un recupero veloce. +- Collega l'output OCR a un'**API di traduzione** se ti serve supporto multilingue. +- Usa il metodo `GetBoundingBoxes` di **Aspose.OCR** per individuare dove appare ogni parola sull'immagine—utile per strumenti di redazione. + +Tutte queste estensioni si basano sullo stesso principio fondamentale che abbiamo trattato: inizializzare il motore, fornirgli un'immagine e leggere il testo. + +--- + +## Conclusione + +We’ve walked through a complete, end‑to‑end example of **how to OCR image** using Aspose.OCR in C#. By installing the NuGet package, importing the right namespaces, enabling GPU (or falling back to CPU), and calling `RecognizeImage`, you can reliably **extract image text**, **convert scanned document** pages, and **read image with OCR** in any .NET application. + +Provalo su un gruppo di tue scansioni—sperimenta con diversi formati immagine, attiva/disattiva il flag GPU, e osserva come cambia le prestazioni. Quando sei pronto, esplora le funzionalità avanzate come i dizionari di lingua o l'estrazione di bounding‑box per rendere la tua soluzione ancora più intelligente. + +Buon coding, e che le tue pipeline OCR siano veloci, accurate e senza problemi! + +{{< /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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/italian/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..4ba3591a --- /dev/null +++ b/ocr/italian/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-01-09 +description: Riconoscere il testo da un'immagine usando Aspose OCR in C#. Scopri come + disabilitare il download automatico, estrarre testo cinese da un'immagine e impostare + la lingua OCR. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: it +og_description: Riconosci il testo da un'immagine usando Aspose OCR in C#. Segui questo + tutorial passo‑passo per disabilitare il download automatico, estrarre l'immagine + di testo cinese e impostare la lingua OCR. +og_title: Riconosci il testo da un'immagine con Aspose OCR – Guida completa C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Riconosci il testo da un'immagine con Aspose OCR – Guida completa C# +url: /it/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Riconoscere il testo da immagine con Aspose OCR – Guida completa C# + +Ti è mai capitato di dover **recognize text from image** ma di restare bloccato nei dettagli di configurazione? Non sei solo. Molti sviluppatori si trovano di fronte a un ostacolo quando il motore OCR tenta di scaricare i language pack a runtime, o quando non riescono a estrarre i caratteri cinesi da una foto di un cartello. + +In questo tutorial ti guideremo passo passo attraverso una soluzione pratica che mostra come **disable auto download**, **extract text image**, **extract Chinese text image** e **set OCR language**—tutto con Aspose OCR per .NET. Alla fine avrai un unico programma eseguibile che stampa il testo riconosciuto direttamente sulla console. + +## Cosa imparerai + +- Come installare e referenziare il pacchetto NuGet Aspose.OCR. +- Perché disattivare i download automatici delle risorse è importante per ambienti offline o sicuri. +- I passaggi esatti per puntare il motore a una cartella locale di language‑pack. +- Come selezionare la lingua corretta (Chinese Simplified) prima di elaborare un'immagine. +- Verificare l'output e risolvere i problemi comuni. + +Non è necessaria alcuna esperienza pregressa con Aspose; basta una configurazione di base in C# e un file immagine che desideri leggere. + +## Prerequisiti + +| Requirement | Reason | +|-------------|--------| +| .NET 6.0 o successivo (o .NET Framework 4.7+) | Aspose.OCR supporta questi runtime. | +| Visual Studio 2022 (o qualsiasi IDE tu preferisca) | Per una facile creazione e debug del progetto. | +| Un file immagine contenente testo cinese (ad es., `chinese-sign.jpg`) | Per dimostrare **extract Chinese image**. | +| Copia locale dei language pack di Aspose OCR (scaricati una volta dal portale Aspose) | Necessario perché **disable auto download**. | + +Assicurati che i file ZIP dei language‑pack siano in una cartella a cui puoi fare riferimento, ad esempio `C:\MyOCR\Resources`. + +## Passo 1: Recognize text from image – Configura il motore OCR + +Prima di tutto: abbiamo bisogno di un oggetto `OcrEngineSettings` che indica ad Aspose dove cercare le risorse. Questa è la base per qualsiasi operazione **extract text image**. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +Perché impostare `AutoDownloadResources` a `false`? Nei ambienti di produzione si è spesso dietro firewall, o semplicemente non si vuole che l'app acceda a Internet a runtime. Disabilitare la funzionalità garantisce che il motore utilizzi solo i file collocati in `ResourceFolder`, velocizzando anche l'inizializzazione. + +## Passo 2: Crea il motore OCR con le impostazioni specificate + +Ora che le impostazioni sono pronte, istanziamo il motore. Questo passo è dove la capacità **set OCR language** entrerà in gioco più avanti. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +L'oggetto `OcrEngine` è leggero; non carica realmente alcun dato linguistico finché non assegni una lingua. Questo caricamento pigro è il motivo per cui puoi creare in sicurezza il motore anche se la cartella delle risorse è vuota—nulla si romperà finché non proverai a **extract Chinese text image**. + +## Passo 3: Set OCR language – Scegli Chinese Simplified + +Aspose supporta decine di lingue, ciascuna confezionata come file ZIP. Poiché la nostra immagine di esempio contiene caratteri cinesi semplificati, impostiamo esplicitamente la lingua prima del riconoscimento. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +Se dimentichi questo passo, il motore usa l'inglese di default e otterrai un output incomprensibile. Inoltre, nota che il nome della lingua deve corrispondere al nome del file ZIP all'interno di `ResourceFolder`. Per esempio, `ChineseSimplified.zip` dovrebbe essere presente. + +## Passo 4: Extract text from the target image + +Con il motore configurato e la lingua impostata, finalmente **recognize text from image**. Il metodo restituisce una stringa semplice che puoi registrare, memorizzare o inviare a un altro sistema. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +La chiamata a `RecognizeImage` esegue tutto il lavoro pesante: pre‑elaborazione, segmentazione, corrispondenza dei caratteri e infine l'assemblaggio del risultato. Se l'immagine è chiara e il language pack è corretto, vedrai i caratteri cinesi stampati sulla console. + +> **Suggerimento:** Se hai bisogno di estrarre solo una parte dell'immagine (ad es., una regione specifica), usa la sovraccarico `RecognizeImage(string, Rectangle)` per passare un rettangolo di ritaglio. + +## Esempio completo funzionante + +Di seguito trovi il programma completo che puoi copiare‑incollare in un nuovo progetto console. Include le istruzioni `using`, le impostazioni, la selezione della lingua e l'output finale. Salvalo come `Program.cs`, ripristina i pacchetti NuGet ed esegui. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Output previsto + +Se `chinese-sign.jpg` contiene la frase “欢迎光临”, la console visualizzerà qualcosa di simile a: + +``` +=== Recognized Text === +欢迎光临 +``` + +La formattazione esatta può variare a seconda della qualità dell'immagine, ma i caratteri dovrebbero essere leggibili. + +## Problemi comuni e consigli professionali + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| **Empty string returned** | Language pack non trovato o `AutoDownloadResources` sta ancora tentando di scaricarlo | Verifica il percorso `ResourceFolder` e assicurati che `ChineseSimplified.zip` esista. | +| **Garbage characters** | L'immagine è sfocata o a basso contrasto | Preelabora l'immagine (aumenta il contrasto, binarizza) prima di passarla a `RecognizeImage`. | +| **Exception: `FileNotFoundException`** | Percorso immagine errato | Usa un percorso assoluto o posiziona l'immagine nella directory di output del progetto e riferiscila con `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`. | +| **Performance lag** | Dimensioni dell'immagine troppo grandi | Ridimensiona l'immagine a una larghezza ragionevole (ad es., 1024 px) prima del riconoscimento. | + +**Consiglio professionale:** Mantieni i language pack in una cartella sotto controllo di versione. Quando aggiorni Aspose.OCR, i nuovi pack potrebbero avere convenzioni di denominazione diverse, il che potrebbe interrompere silenziosamente la tua strategia **disable auto download**. + +## Estendere l'esempio + +Ora che puoi **recognize text from image**, potresti voler: + +- **Batch process** una cartella di immagini (iterare sui file, chiamare `RecognizeImage` ogni volta). +- **Export** i risultati in un file CSV o JSON per analisi successive. +- **Combine** OCR con API di traduzione per trasformare i cartelli cinesi in inglese al volo. + +Tutti questi scenari riutilizzano gli stessi passaggi fondamentali: configurare una volta, impostare la lingua e chiamare `RecognizeImage`. Il design modulare mantiene il codice pulito e facile da mantenere. + +## Conclusione + +Hai appena imparato come **recognize text from image** usando Aspose OCR in C#. Disabilitando esplicitamente **disable auto download**, puntando il motore a una cartella di risorse locale e **set OCR language** a Chinese Simplified, puoi estrarre in modo affidabile **extract Chinese text image** e qualsiasi altra lingua fornita. + +Il codice completo e eseguibile sopra dimostra un flusso di lavoro pratico che puoi inserire nei progetti reali. Da qui, sperimenta con diverse qualità d'immagine, aggiungi la gestione degli errori o integra l'output in un sistema più ampio. Le possibilità sono praticamente infinite. + +Hai domande su altre lingue, ottimizzazione delle prestazioni o distribuzione su cloud? Sentiti libero di lasciare un commento—buon 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/italian/net/ocr-optimization/_index.md b/ocr/italian/net/ocr-optimization/_index.md index ff77eb0c..6e1deb64 100644 --- a/ocr/italian/net/ocr-optimization/_index.md +++ b/ocr/italian/net/ocr-optimization/_index.md @@ -50,9 +50,12 @@ Esplora Aspose.OCR per .NET. Aumenta la precisione dell'OCR con i filtri di pree Migliora la precisione dell'OCR con Aspose.OCR per .NET. Correggi l'ortografia, personalizza i dizionari e ottieni facilmente un riconoscimento del testo senza errori. ### [Salva risultato multipagina come documento nel riconoscimento immagine OCR](./save-multipage-result-as-document/) Sblocca il potenziale di Aspose.OCR per .NET. Salva facilmente i risultati OCR di più pagine come documenti con questa guida passo passo completa. +### [c# tutorial OCR: riconosci il testo dall'immagine con preelaborazione](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Esplora come riconoscere il testo dalle immagini usando preelaborazione per migliorare l'accuratezza OCR con Aspose.OCR per .NET. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/italian/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..9e7a2431 --- /dev/null +++ b/ocr/italian/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,230 @@ +--- +category: general +date: 2026-01-09 +description: tutorial OCR in C# che mostra come riconoscere il testo da un'immagine + e pre‑elaborare l'immagine per l'OCR usando i filtri Aspose.OCR – guida passo‑passo. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: it +og_description: Tutorial OCR in C# che ti guida nel riconoscere il testo da un'immagine + e nella preelaborazione dell'immagine per OCR usando i filtri Aspose.OCR. Codice + completo incluso. +og_title: tutorial OCR C# – Riconosci il testo da un'immagine con preelaborazione +tags: +- OCR +- C# +- Image Processing +title: 'c# tutorial OCR: Riconosci il testo da un''immagine con preprocessing' +url: /it/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Riconoscere il testo da un'immagine con pre‑elaborazione + +Ti sei mai chiesto come **riconoscere il testo da un'immagine** in un'applicazione C# senza passare settimane a perfezionare i filtri? Non sei il solo. In questo **c# ocr tutorial** ti guideremo attraverso un esempio completo, pronto‑da‑eseguire, che non solo legge il testo ma anche **preprocessa l'immagine per l'OCR** per aumentare l'accuratezza. + +Useremo la libreria Aspose.OCR perché include una pratica pipeline di filtri che ti permette di inserire i passaggi di deskew, denoise e contrast‑boost in poche righe. Alla fine di questa guida avrai un'app console in grado di prendere un PNG inclinato e rumoroso, pulirlo e restituire la stringa estratta—tutto con spiegazioni chiare sul perché di ogni passaggio. + +## Prerequisiti + +| Requisito | Perché è importante | +|-----------|----------------------| +| .NET 6 SDK (or later) | Funzionalità moderne di C# e migliori prestazioni | +| Visual Studio 2022 (or VS Code) | Debugging comodo e IntelliSense | +| NuGet package **Aspose.OCR** | Fornisce `OcrEngine` e le classi dei filtri | +| An input image (e.g., `skewed‑noisy.png`) | Dimostra la necessità della pre‑elaborazione | + +Se qualcuno di questi manca, installalo prima. Il passaggio NuGet è trattato nella sezione successiva. + +## Passo 1: Installa Aspose.OCR via NuGet + +Apri il terminale (o la Console di Gestione Pacchetti) e esegui: + +```bash +dotnet add package Aspose.OCR +``` + +> **Suggerimento:** Usa il flag `--version` per fissare a una versione specifica se hai bisogno di build riproducibili. + +Il pacchetto include tutti i filtri di cui avremo bisogno, quindi non sono necessarie DLL aggiuntive. + +## Passo 2: Inizializza il motore OCR – il cuore del c# ocr tutorial + +Creare il motore è semplice, ma vale la pena capire cosa succede dietro le quinte. `OcrEngine` contiene una pipeline di **filtri** che manipolano la bitmap prima che l'algoritmo di riconoscimento venga eseguito. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Perché inizializzare prima?** Il motore memorizza nella cache risorse interne (come i modelli linguistici). Riutilizzare una singola istanza per più immagini salva memoria e velocizza i riconoscimenti successivi. + +## Passo 3: Pre‑elaborare l'immagine per l'OCR – aggiungendo deskew, denoise e contrast boost + +La maggior parte delle scansioni reali non è perfetta; sono inclinate, macchiate o troppo scure. Ecco perché **pre‑elaborare l'immagine per l'OCR** è un passaggio critico. Aspose fornisce tre filtri che funzionano bene insieme: + +| Filtro | Cosa fa | Caso d'uso tipico | +|--------|---------|-------------------| +| `DeskewFilter` | Ruota l'immagine per correggere l'inclinazione | Documenti scansionati da uno scanner | +| `DenoiseFilter` | Rimuove pixel isolati (rumore “sale‑e‑pepe”) | Foto in condizioni di scarsa illuminazione | +| `ContrastBoostFilter` | Aumenta il contrasto per affinare i bordi del testo | Stampe sbiadite o acquisizioni a bassa risoluzione | + +Di seguito il codice che aggiunge ciascun filtro alla pipeline del motore: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **Come funziona:** quando chiami `RecognizeImage` in seguito, il motore eseguirà sequenzialmente questi tre filtri prima di passare la bitmap pulita al nucleo di riconoscimento. + +### Illustrazione visiva (opzionale) + +Se includi un'immagine, assicurati che il testo alt contenga la parola chiave principale: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Passo 4: Riconoscere il testo da un'immagine – il momento della verità + +Ora che l'immagine è stata pre‑elaborata, possiamo finalmente estrarre i caratteri. Il metodo restituisce una stringa semplice, che puoi registrare, memorizzare o inviare a un altro sistema. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Output previsto + +Eseguendo il campione su una tipica scansione di fattura si ottiene qualcosa di simile: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +Se l'output appare confuso, ricontrolla la qualità dell'immagine e considera di regolare `ContrastBoostFilter.Level` (valori > 2.0 possono essere troppo aggressivi). + +## Passo 5: Output del risultato e post‑elaborazione opzionale + +Un'app console può semplicemente scrivere la stringa, ma molti progetti richiedono una gestione aggiuntiva—come rimuovere spazi bianchi, eliminare interruzioni di riga o inserire il testo in un database. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Perché post‑elaborare? + +Anche con una buona pre‑elaborazione, l'OCR spesso introduce interruzioni di riga indesiderate o caratteri invisibili. Una rapida catena di `Replace` può rendere i dati molto più utilizzabili a valle. + +## Passo 6: Esempio completo funzionante – pronto per copia‑incolla + +Di seguito trovi il programma **completo** che puoi compilare ed eseguire immediatamente. Include tutte le istruzioni using, la configurazione dei filtri, la chiamata OCR e la gestione dell'output. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**Come eseguirlo** + +1. Salva il file come `Program.cs` all'interno di un nuovo progetto console (`dotnet new console`). +2. Sostituisci `YOUR_DIRECTORY/skewed-noisy.png` con il percorso reale della tua immagine di test. +3. Esegui `dotnet run`. Dovresti vedere l'output OCR stampato sul terminale. + +## Problemi comuni e consigli (riconoscere il testo da un'immagine in modo affidabile) + +| Problema | Cosa verificare | Soluzione | +|----------|-----------------|-----------| +| **Garbage characters** | L'immagine è troppo scura o a bassa risoluzione | Aumenta `ContrastBoostFilter.Level` o utilizza una sorgente a risoluzione più alta | +| **Missing lines** | Deskew non ha corretto completamente l'angolo | Ruota manualmente l'immagine prima, o regola la tolleranza di `DeskewFilter` | +| **Slow performance** | Elaborazione di molte immagini grandi in un ciclo | Riutilizza la stessa istanza di `OcrEngine` e chiama `ocrEngine.Clear()` dopo ogni esecuzione | +| **Unsupported language** | Il testo non è in inglese | Imposta `ocrEngine.Language = OcrLanguage.French` (o un'altra lingua supportata) prima del riconoscimento | + +### Caso limite: gestione di PDF multi‑pagina + +Se devi eseguire l'OCR su un PDF, converti ogni pagina in un'immagine (ad esempio, usando `Aspose.PDF`) e inviale una alla volta allo stesso motore. La pipeline di pre‑elaborazione rimane identica, garantendo risultati coerenti tra le pagine. + +## Conclusione + +In questo **c# ocr tutorial** abbiamo coperto tutto ciò che ti serve per **riconoscere il testo da un'immagine** e **pre‑elaborare l'immagine per l'OCR** usando i filtri integrati di Aspose.OCR. Inizializzando il motore, aggiungendo i passaggi di deskew, denoise e contrast‑boost, e infine chiamando `RecognizeImage`, ottieni un'estrazione di testo pulita e affidabile con poche righe di codice. + +Sentiti libero di sperimentare—sostituire un filtro diverso, regolare il livello di contrasto, o integrare il risultato in una pipeline di dati più ampia. I concetti qui si applicano a qualsiasi libreria OCR: la pre‑elaborazione è spesso la differenza tra una fattura parzialmente letta e un documento perfettamente acquisito. + +Hai altre domande? Forse sei curioso di gestire testo scritto a mano o di elaborare in batch migliaia di file. Lascia un commento e esploreremo insieme questi scenari. 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/net/text-recognition/_index.md b/ocr/italian/net/text-recognition/_index.md index 346402ba..c8db4e1f 100644 --- a/ocr/italian/net/text-recognition/_index.md +++ b/ocr/italian/net/text-recognition/_index.md @@ -55,9 +55,22 @@ Migliora le tue applicazioni .NET con Aspose.OCR per un efficiente riconosciment Sblocca il potenziale dell'OCR in .NET con Aspose.OCR. Estrai testo dai PDF senza sforzo. Scaricalo ora per un'esperienza di integrazione perfetta. ### [Riconosci tabella nel riconoscimento immagini OCR](./recognize-table/) Sblocca il potenziale di Aspose.OCR per .NET con la nostra guida completa sul riconoscimento delle tabelle nel riconoscimento delle immagini OCR. +### [Tutorial OCR C# – Estrai testo Hindi da ricevute PNG](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Impara a estrarre testo in Hindi da immagini PNG di ricevute usando Aspose.OCR per .NET. +### [Riconosci testo in JPG con Aspose OCR – Guida completa C#](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Scopri come riconoscere testo in immagini JPG usando Aspose OCR con una guida completa in C#. +### [Tutorial OCR C# – Estrai testo da immagini e file DJVU](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Impara a estrarre testo da immagini e file DJVU usando Aspose.OCR per .NET. +### [Tutorial OCR C# – Estrai testo dalle immagini con Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Impara a estrarre testo da immagini usando Aspose OCR per .NET con questa guida completa passo passo. +### [Estrai testo da TIFF con Aspose OCR C# – Tutorial completo](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Scopri come estrarre testo da file TIFF usando Aspose OCR in C# con questa guida completa passo passo. +### [Estrai testo da PNG con Aspose OCR – Tutorial completo](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Scopri come estrarre testo da immagini PNG usando Aspose OCR con una guida completa passo passo. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/italian/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..fe9a7a00 --- /dev/null +++ b/ocr/italian/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-01-09 +description: Tutorial OCR in C# per leggere il testo da PNG, convertire l'immagine + in testo e riconoscere il testo hindi su una ricevuta usando Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: it +og_description: tutorial OCR in C# che ti insegna come leggere il testo da PNG, convertire + l'immagine in testo e riconoscere il testo hindi su una ricevuta con Aspose OCR. +og_title: tutorial OCR C# – Estrai testo hindi da ricevute PNG +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# tutorial OCR – Estrai testo hindi da ricevute PNG +url: /it/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Estrarre testo Hindi da ricevute PNG + +Ti sei mai chiesto come **leggere il testo da file PNG** in un'applicazione C#? Forse hai una serie di ricevute in Hindi e devi estrarre gli importi automaticamente. È esattamente ciò che questo c# ocr tutorial affronta—trasformare un'immagine in testo ricercabile con poche righe di codice. + +In questa guida vedremo come installare Aspose OCR, caricare una ricevuta PNG, riconoscere i caratteri Hindi e infine stampare la stringa estratta sulla console. Alla fine sarai in grado di **convertire immagine in testo**, **riconoscere testo Hindi** e persino **estrarre testo da ricevute** senza uscire dal tuo IDE. + +> **Nota prerequisito:** È necessaria una licenza valida di Aspose OCR (oppure puoi usare la versione di prova gratuita) e .NET 6+ installato. Se sei nuovo a NuGet, non preoccuparti—tratteremo anche questo. + +## Cosa ti servirà + +- **Visual Studio 2022** (o qualsiasi editor compatibile con C#) +- **.NET 6 SDK** (o successivo) +- **Aspose.OCR** pacchetto NuGet + ```bash + dotnet add package Aspose.OCR + ``` +- Un'immagine di esempio della ricevuta, ad esempio `hindi-receipt.png`, salvata nella cartella del progetto. + +Avere tutto pronto significa che puoi copiare‑incollare il codice finale e premere **F5** immediatamente. + +## Passo 1: Configurare il progetto e importare i namespace + +Per prima cosa, crea un progetto console se non ne hai già uno: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Ora apri `Program.cs`. In cima, importa i namespace di Aspose OCR così il compilatore sa dove trovare le classi: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Perché è importante:** `OcrEngine` si trova in `Aspose.OCR`, mentre gli enum relativi alla lingua sono in `Aspose.OCR.Settings`. Dimenticare uno dei due causerà un errore di compilazione. + +## Passo 2: Inizializzare il motore OCR e scegliere il modello linguistico + +Il motore OCR deve sapere **quale lingua** cercare. Aspose fornisce molti pacchetti linguistici; specificare `OcrLanguage.Hindi` indica al motore di scaricare (se mancante) e utilizzare il modello Hindi. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Consiglio professionale:** Se prevedi di elaborare ricevute in più lingue, puoi cambiare `Language` a runtime o persino abilitare la modalità `MultiLanguage`. + +## Passo 3: Fornire la ricevuta PNG al motore + +Qui è dove **leggiamo il testo da PNG**. Fornisci il percorso completo (relativo all'eseguibile va bene). Il metodo restituisce una stringa semplice contenente tutto ciò che il motore è riuscito a decifrare. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Se l'immagine è ad alta risoluzione e il testo è pulito, otterrai risultati quasi perfetti. Per scansioni rumorose, considera il pre‑processing (ad es., binarizzazione) – Aspose offre i metodi `PreprocessImage` che puoi esplorare in seguito. + +## Passo 4: Visualizzare o salvare il testo estratto + +La maggior parte degli sviluppatori semplicemente stampa il risultato sulla console durante i test. In uno scenario di produzione potresti scrivere su un database o su un file CSV. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Eseguendo il programma con la ricevuta di esempio stampa qualcosa del tipo: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +Questa è la parte **convertire immagine in testo** in azione—nessuna trascrizione manuale necessaria. + +## Esempio completo funzionante (pronto per copia‑incolla) + +Di seguito trovi il programma completo e autonomo. Incollalo in `Program.cs`, posiziona `hindi-receipt.png` accanto al `.exe` compilato e premi **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Output previsto + +Quando l'immagine della ricevuta contiene caratteri Hindi chiari, la console mostrerà le righe estratte, preservando le interruzioni di riga. Se l'OCR non riesce a riconoscere una parola, vedrai un frammento illeggibile—un segnale per migliorare la qualità dell'immagine o modificare il pre‑processing. + +## Passo 5: Andare oltre – Estrarre testo dalla ricevuta programmaticamente + +Se il tuo obiettivo è **estrarre testo dalla ricevuta** (data, totale, numero fattura), puoi post‑processare la stringa OCR con espressioni regolari: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +Questo piccolo frammento mostra come trasformare l'output OCR grezzo in dati strutturati—perfetto per inserirli in un software di contabilità. + +## Problemi comuni e come evitarli + +| Problema | Perché accade | Soluzione | +|----------|----------------|-----------| +| **Output vuoto** | Percorso immagine errato o file non copiato nella cartella di output. | Usa `Path.GetFullPath` e verifica che il file esista (`File.Exists`). | +| **Caratteri spazzatura** | PNG a bassa risoluzione o colori compressi. | Ingrandisci l'immagine, imposta DPI a 300+ o usa `ocrEngine.ImagePreprocessor`. | +| **Modello linguistico non scaricato** | Nessuna connessione internet al primo avvio. | Pre‑scarica il modello Hindi tramite il portale Aspose o ospitalo localmente. | +| **Ritardo delle prestazioni** | Elaborazione di molte pagine in un ciclo senza rilascio. | Avvolgi `OcrEngine` in un blocco `using` o riutilizza una singola istanza. | + +## Illustrazione immagine + +![c# ocr tutorial lettura testo Hindi da ricevuta PNG](https://example.com/placeholder-image.png "c# ocr tutorial – leggi testo da ricevuta png") + +*Lo screenshot mostra una ricevuta Hindi prima e dopo la conversione OCR.* + +## Riepilogo: cosa abbiamo coperto + +- Configurare un'app console C# e aggiungere il pacchetto NuGet Aspose OCR. +- Inizializzato `OcrEngine` con il modello linguistico **recognize hindi text**. +- **Leggere il testo da PNG** usando `RecognizeImage`. +- **Convertire immagine in testo** e stampare il risultato. +- Dimostrato un semplice schema per **estrarre testo dalla ricevuta**. + +Tutto questo è stato fornito in un unico file eseguibile—esattamente ciò che un **c# ocr tutorial** dovrebbe offrire. + +## Prossimi passi e argomenti correlati + +1. **Elaborazione batch** – iterare su una cartella di immagini di ricevute e memorizzare i risultati in CSV. +2. **Pre‑processing** – esplorare `ocrEngine.ImagePreprocessor` per rimozione del rumore, correzione dell'inclinazione o miglioramento del contrasto. +3. **OCR multilingua** – abilitare `OcrLanguage.Multilingual` per gestire ricevute che mescolano Hindi e Inglese. +4. **Integrazione** – inviare i dati estratti in un modello Entity Framework Core per archiviazione persistente. + +Se sei curioso di saperne di più, dai un'occhiata ai nostri tutorial su **convertire immagine in testo in C#** e **estrarre dati strutturati dai risultati OCR**. + +### Buona programmazione! + +Sentiti libero di lasciare un commento se incontri problemi, o condividi come hai esteso questo **c# ocr tutorial** nei tuoi progetti. Ricorda, l'OCR è solo il primo passo—i dati puliti sono dove avviene la vera magia. 🚀 + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/italian/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..8aee7518 --- /dev/null +++ b/ocr/italian/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-01-09 +description: Tutorial OCR in C# che mostra come estrarre testo da file immagine e + convertire DJVU in testo usando Aspose.OCR. Impara l'estrazione passo‑passo in pochi + minuti. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: it +og_description: Tutorial C# OCR che mostra rapidamente come estrarre il testo da file + immagine e convertire DJVU in testo usando Aspose.OCR. Segui la guida per una soluzione + funzionante. +og_title: c# OCR tutorial – Estrai testo da immagine e DJVU +tags: +- OCR +- C# +- Aspose +title: 'Tutorial OCR in C#: Estrai testo da immagini e file DJVU' +url: /it/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR tutorial – Estrarre testo da immagini e file DJVU + +Ti sei mai chiesto come estrarre testo da file immagine senza impazzire? In questo **c# OCR tutorial** ti guideremo attraverso un esempio completo, pronto‑da‑eseguire, che estrae testo da un'immagine normale *e* da un documento DJVU. + +Se stai cercando anche un modo rapido per **convertire DJVU in testo**, sei nel posto giusto—nessun convertitore aggiuntivo, solo puro codice C#. + +## Cosa imparerai + +- Come configurare la libreria Aspose.OCR in un progetto .NET. +- Il codice esatto necessario per **estrarre testo da immagini**. +- Un metodo conciso per **estrarre testo da file DJVU** (sì, lo stesso motore lo fa). +- Problemi comuni (file di grandi dimensioni, font mancanti, licenze) e come evitarli. + +Tutto ciò di cui hai bisogno è un SDK .NET recente e una connessione internet per scaricare il pacchetto NuGet. Non è necessaria alcuna esperienza pregressa con l'OCR. + +## Prerequisiti + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6.0 or later | Aspose.OCR è destinato a .NET Standard 2.0, quindi .NET 6+ ti offre le migliori prestazioni. | +| Visual Studio 2022 (or VS Code) | Gli IDE semplificano la gestione dei pacchetti, ma qualsiasi editor funziona. | +| NuGet package **Aspose.OCR** | Questo è il motore che effettua realmente il lavoro pesante. | +| A sample image (`sample.png`) and a DJVU file (`sample.djvu`) | Li useremo per dimostrare entrambi gli scenari di estrazione. | + +Puoi installare il pacchetto con il seguente comando: + +```bash +dotnet add package Aspose.OCR +``` + +> **Consiglio:** Se sei su un server CI, aggiungi `--no-restore` al passaggio di build e ripristina una sola volta all'inizio per velocizzare le cose. + +## Passo 1: Inizializzare il motore OCR – il cuore del c# OCR tutorial + +La prima cosa che facciamo è creare un'istanza di `OcrEngine`. Pensala come accendere lo scanner nel tuo software. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Perché creare un nuovo motore ogni volta? Perché il motore conserva la configurazione (lingua, modalità di rilevamento, ecc.). Iniziare da zero evita che impostazioni obsolete trapelino tra le esecuzioni. + +## Passo 2: Caricare e riconoscere un'immagine – come estrarre testo da un'immagine + +Ora forniremo al motore un bitmap normale (PNG, JPEG, BMP…) . Il metodo `RecognizeImage` restituisce la stringa rilevata. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +Alcune cose da notare: + +* **Esistenza del file** – Se il percorso è errato il metodo lancia `FileNotFoundException`. Avvolgilo in un `try/catch` se ti aspetti percorsi forniti dall'utente. +* **Qualità dell'immagine** – L'OCR funziona al meglio a 300 dpi o più. Scansioni a bassa risoluzione possono produrre output confuso. +* **Supporto linguistico** – Per impostazione predefinita Aspose.OCR assume l'inglese. Per cambiarlo, imposta `ocrEngine.Language = Language.Spanish;` prima di `RecognizeImage`. + +## Passo 3: Riconoscere testo da un documento DJVU – convertire DJVU in testo + +DJVU è un formato contenitore che può contenere più pagine. Aspose.OCR può gestirlo direttamente; basta puntare al file. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +Nel profondo, il motore estrae ogni pagina come immagine ed esegue la stessa pipeline di riconoscimento. Ecco perché non è necessario un passaggio separato di “convertire DJVU in testo”—il motore OCR lo fa per te. + +### Gestione di file DJVU multi‑pagina + +Se il tuo DJVU contiene diverse pagine, `RecognizeImage` le concatena in ordine. Se ti serve ogni pagina separatamente, puoi usare la sovraccarico che restituisce una `List`: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Passo 4: Ottimizzare il motore per una migliore precisione – perché è importante + +I risultati di default sono accettabili, ma puoi migliorarli modificando un paio di impostazioni: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Queste opzioni sono particolarmente utili quando **come estrarre testo** da PDF scansionati che sono stati prima salvati come DJVU. Attivare il rilevamento dell'orientamento ti evita di ruotare manualmente le immagini. + +## Passo 5: Gestire licenze ed errori di runtime + +Aspose.OCR viene fornito con una prova gratuita che aggiunge “Demo” all'output dopo alcune pagine. Per rimuovere la filigrana, aggiungi il tuo file di licenza: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Se dimentichi questo passaggio, il motore funziona comunque, ma il risultato conterrà la parola “Demo”. Inoltre, fai attenzione a `OutOfMemoryException` quando elabori file DJVU enormi—considera l'elaborazione pagina per pagina come mostrato prima. + +## Esempio completo, eseguibile + +Di seguito trovi un programma console autonomo che mette tutto insieme. Copia‑incolla, regola i percorsi dei file e premi **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Output previsto** (supponendo che i file contengano la frase “Hello World”): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Se la sorgente contiene più righe, appariranno esattamente come nel documento originale. + +## Domande comuni e gestione dei casi limite + +* **E se l'immagine è in bianco‑nero?** + L'OCR funziona bene, ma puoi migliorare il contrasto con `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +* **Posso estrarre solo numeri?** + Sì—imposta `ocrEngine.CharWhitelist = "0123456789";` prima di chiamare `RecognizeImage`. + +* **C'è un limite alla dimensione del file?** + Il motore legge l'intero file in memoria. Per file più grandi di ~100 MB, elabora pagina per pagina (vedi l'overload della lista al Passo 3). + +* **In cosa differisce da Tesseract?** + Aspose.OCR è una libreria commerciale con supporto DJVU integrato e senza dipendenze native, mentre Tesseract richiede binari nativi e strumenti separati per la conversione DJVU. + +## Conclusione + +Hai appena completato un **c# OCR tutorial** che mostra come **estrarre testo da immagini** e convertire senza problemi **DJVU in testo** usando Aspose.OCR. L'esempio copre tutto, dall'installazione del pacchetto alla licenza, dall'estrazione di immagini a pagina singola alla gestione di DJVU multi‑pagina, e include anche consigli per migliorare la precisione. + +Successivamente, potresti esplorare **come estrarre testo** da PDF, integrare il passaggio OCR in una web API, o sperimentare con pacchetti linguistici per documenti multilingue. Il cielo è il limite—ricorda i punti chiave: imposta il motore, fornisci un file e leggi la stringa restituita. + +Hai altre domande? Lascia un commento, prova il codice sui tuoi documenti e buona programmazione! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# OCR tutorial – console output 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/italian/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/italian/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..837218c8 --- /dev/null +++ b/ocr/italian/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: Tutorial OCR in C# che mostra come estrarre testo da file immagine, riconoscere + testo da PNG, convertire l'immagine in stringa e rilevare automaticamente la lingua + usando Aspose.OCR. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: it +og_description: Tutorial C# OCR che ti guida nell'estrazione del testo dalle immagini, + nel riconoscimento del testo da file PNG, nella conversione delle immagini in stringhe + e nell'auto‑rilevamento della lingua usando Aspose OCR. +og_title: tutorial OCR C# – Estrai il testo dalle immagini +tags: +- C# +- OCR +- Aspose +- Image Processing +title: c# ocr tutorial – Estrai testo dalle immagini con Aspose OCR +url: /it/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Estrai testo dalle immagini con Aspose OCR + +Hai mai avuto bisogno di un **c# ocr tutorial** che funzioni davvero su un file PNG reale? Forse stai creando uno scanner di ricevute, un elaboratore di moduli multilingue, o sei semplicemente curioso di sapere come trasformare un'immagine di testo in una stringa ricercabile. In ogni caso, sei nel posto giusto. + +In questa guida ti mostreremo passo‑passo come **estrarre testo da immagini**, **riconoscere testo da png**, **convertire un'immagine in una stringa**, e persino **rilevare automaticamente la lingua** — tutto con la libreria Aspose.OCR. Nessun riferimento vago, solo un esempio completo e eseguibile che puoi copiare‑incollare in Visual Studio. + +## Cosa ti serve + +- .NET 6.0 o successivo (il codice funziona anche con .NET Core e .NET Framework) +- Un riferimento NuGet a `Aspose.OCR` (versione 23.9 o successiva) +- Un file immagine (`mixed‑script.png` in questo esempio) posizionato in un luogo accessibile dall'app +- Una conoscenza di base di C# (se hai scritto un “Hello World”, sei a posto) + +> **Suggerimento:** Se non hai ancora una licenza, Aspose offre una licenza temporanea gratuita per i test. Basta posizionare il file `.lic` accanto al tuo eseguibile. + +## Passo 1 – Installa il pacchetto NuGet Aspose.OCR + +Per prima cosa, aggiungi la libreria al tuo progetto. Apri la Package Manager Console ed esegui: + +```powershell +Install-Package Aspose.OCR +``` + +Oppure, se preferisci l'interfaccia grafica, fai clic con il tasto destro su *Dependencies → Manage NuGet Packages* e cerca **Aspose.OCR**. + +## Passo 2 – Prepara il motore OCR (c# ocr tutorial core) + +Ora creeremo un'istanza di `OcrEngine`, gli diremo di rilevare automaticamente la lingua e la punteremo al nostro file PNG. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Perché impostiamo `Language = OcrLanguage.AutoDetect` + +Il rilevamento automatico della lingua ti evita di indovinare se l'immagine contiene inglese, russo, arabo o una combinazione. È l'opzione più flessibile per uno scenario di **rilevamento automatico della lingua**, e funziona subito per la maggior parte degli script supportati da Aspose. + +## Passo 3 – Esegui l'applicazione e verifica l'output + +Compila ed esegui il programma (`dotnet run` o premi **F5** in Visual Studio). Se tutto è configurato correttamente, vedrai qualcosa del genere: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +Quell'output dimostra che abbiamo estratto con successo **testo da immagine**, **riconosciuto testo da png**, e **convertito l'immagine in una stringa** – il tutto in un unico snippet conciso. + +## Passo 4 – Varianti comuni e casi limite + +### Gestione di più immagini + +Se devi elaborare una cartella di PNG, avvolgi la chiamata di riconoscimento in un ciclo `foreach`: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Specificare una lingua fissa + +A volte conosci la lingua in anticipo (ad esempio, solo inglese). Puoi sostituire `AutoDetect` con `OcrLanguage.English` per velocizzare l'elaborazione: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Gestire scansioni di bassa qualità + +Aspose.OCR offre opzioni di pre‑elaborazione (riduzione del rumore, correzione dell'inclinazione). Per una soluzione rapida: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Salvare il risultato su file + +Invece di stampare sulla console, potresti voler scrivere il testo estratto in un file `.txt`: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Passo 5 – Esempio completo funzionante (pronto per copia‑incolla) + +Di seguito trovi il **programma completo** includendo la pre‑elaborazione opzionale e la logica di output su file. Sentiti libero di modificare i percorsi. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Output previsto + +Eseguendo il programma su un PNG che contiene inglese, russo e arabo otterrai: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +Se l'immagine è vuota o illeggibile, il motore restituisce una stringa vuota — gestisci questo caso controllando `string.IsNullOrWhiteSpace(extractedText)` prima di procedere. + +## Domande frequenti (FAQ) + +**Q: Aspose.OCR supporta il testo scritto a mano?** +A: Si concentra sull'OCR stampato. Per la scrittura a mano avresti bisogno di un modello ML dedicato o di un servizio come Azure Computer Vision. + +**Q: Posso eseguirlo su Linux/macOS?** +A: Assolutamente. Aspose.OCR è cross‑platform; basta installare il runtime .NET per il tuo OS. + +**Q: E se devo elaborare PDF invece di PNG?** +A: Converti prima ogni pagina PDF in un'immagine (ad esempio, usando `Aspose.PDF`) e poi passa l'immagine al motore OCR. + +## Conclusione + +Abbiamo appena completato un **c# ocr tutorial** che ti guida attraverso **l'estrazione di testo da file immagine**, **il riconoscimento di testo da png**, **la conversione dell'immagine in una stringa**, e **il rilevamento automatico della lingua** usando Aspose.OCR. Il codice è breve, i concetti sono chiari, e puoi espanderlo per l'elaborazione batch, impostazioni di lingua personalizzate, o persino integrarlo in una web API. + +Prossimi passi? Prova a inviare l'output OCR a un indice di ricerca, a un servizio di traduzione, o combinato con Azure Cognitive Services per pipeline di dati ancora più ricche. Il cielo è il limite una volta che avrai padroneggiato le basi della conversione immagine‑testo in C#. + +Buon coding, e non dimenticare di sperimentare con diverse qualità di immagine — il tuo motore OCR ti ringrazierà! + +![c# ocr tutorial – esempio di output OCR su un PNG a script misto](placeholder-image.png "c# ocr tutorial – screenshot del risultato 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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/italian/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..85bdc6c5 --- /dev/null +++ b/ocr/italian/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-01-09 +description: Estrai rapidamente il testo da PNG con Aspose OCR. Scopri come leggere + il testo delle immagini, migliorare l'accuratezza OCR e ottenere risultati puliti + in C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: it +og_description: Estrai rapidamente il testo da PNG con Aspose OCR. Scopri come leggere + il testo delle immagini, migliorare la precisione OCR e ottenere risultati puliti + in C#. +og_title: Estrai testo da PNG – Tutorial completo di OCR Aspose +tags: +- Aspose OCR +- C# +- Image Processing +title: Estrai testo da PNG – Tutorial completo di OCR Aspose +url: /it/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Estrarre testo da PNG – Tutorial completo Aspose OCR + +Hai mai dovuto **estrarre testo da file PNG** ma i risultati erano pieni di spazzatura? Non sei solo. In molti progetti reali – fatture, ricevute o moduli scansionati – la qualità dell'output OCR può fare la differenza per le pipeline di automazione. + +In questa guida ti mostreremo un metodo **passo‑a‑passo** per leggere il testo di un'immagine usando Aspose OCR, aggiungere un dizionario personalizzato per **migliorare l'accuratezza OCR**, pulire il rumore e infine stampare una stringa ordinata. Alla fine avrai un'app console C# pronta all'uso che estrae in modo affidabile il testo da immagini PNG. + +> **Cosa otterrai** +> * Un esempio di codice completo e eseguibile. +> * Una comprensione del perché un dizionario personalizzato è importante. +> * Suggerimenti per gestire casi particolari come scansioni a basso contrasto. + +## Prerequisiti + +- .NET 6 SDK o successivo (il codice è mirato a .NET 6, ma funziona anche con .NET 5). +- Visual Studio 2022 o qualsiasi editor tu preferisca. +- Un'immagine **PNG** da elaborare – ad esempio `invoice.png`. +- Il pacchetto NuGet **Aspose.OCR** (`dotnet add package Aspose.OCR`). + +Non servono file di configurazione aggiuntivi; tutto vive in un unico file `.cs`. + +## Passo 1 – Installa e aggiungi riferimento ad Aspose OCR + +Per prima cosa, scarica la libreria nel tuo progetto. Apri un terminale nella cartella della soluzione ed esegui: + +```bash +dotnet add package Aspose.OCR +``` + +Questa singola riga recupera l'ultima versione stabile (a gennaio 2026, versione 23.9). Il pacchetto include la classe `OcrEngine` che useremo per tutta la durata del tutorial. + +## Passo 2 – Inizializza il motore OCR + +Creare un'istanza di `OcrEngine` è la base. Pensala come l'accensione di uno scanner pronto a interpretare i pixel. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Consiglio:** Se prevedi di elaborare molte immagini in un ciclo, riutilizza la stessa istanza di `OcrEngine`. Essa memorizza in cache le risorse interne e velocizza le chiamate successive. + +## Passo 3 – Aumenta l'accuratezza con un dizionario personalizzato + +L'OCR di base è buono, ma può inciampare su parole specifiche del dominio come “Aspose”, “OCR” o “SDK”. Aggiungere questi termini a un **dizionario personalizzato** indica al motore che tali stringhe sono valide, riducendo gli errori di riconoscimento. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Perché un dizionario personalizzato aiuta + +- I **modelli statistici** alla base dell'OCR pesano molto i pattern linguistici comuni. Le parole rare hanno bassa probabilità e possono essere sostituite da caratteri simili. +- Elencandole esplicitamente, sovrascrivi le ipotesi del modello. +- È particolarmente utile per **leggere testo da immagine** che contiene codici prodotto, abbreviazioni o nomi di brand. + +## Passo 4 – Riconosci il testo dal file PNG + +Ora forniamo al motore il percorso dell'immagine. Il metodo `RecognizeImage` restituisce una stringa grezza che contiene ancora token sconosciuti (es. “#@!”) che il motore non è riuscito a mappare. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Caso limite:** Se il file non viene trovato, `RecognizeImage` lancia una `FileNotFoundException`. Avvolgi la chiamata in un blocco try‑catch per il codice di produzione. + +## Passo 5 – Pulisci il risultato con `CleanText` + +Aspose OCR fornisce un helper che rimuove i caratteri contrassegnati come “sconosciuti”. Questo passaggio è cruciale per i progetti **estrarre testo da immagine** dove i parser successivi si aspettano solo caratteri alfanumerici e punteggiatura di base. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +Il metodo `CleanText` normalizza anche le terminazioni di riga, rendendo l'output sicuro da memorizzare in database o da passare ad altri servizi. + +## Passo 6 – Stampa il testo pulito + +Infine, visualizza o salva il risultato. In un'app console, `Console.WriteLine` fa al caso tuo. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +Quando esegui il programma, dovresti vedere un blocco di testo ordinato che rispecchia il contenuto di `invoice.png`. Se l'immagine contiene la parola “Aspose”, il dizionario personalizzato garantisce che appaia correttamente anziché come “A5p0se”. + +## Esempio completo funzionante + +Mettendo tutto insieme, ecco il file `Program.cs` completo che puoi copiare‑incollare in un nuovo progetto console: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Output previsto** (supponendo che il PNG contenga una fattura semplice): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Se vedi simboli strani, ricontrolla la qualità dell'immagine o espandi il dizionario personalizzato con altri termini. + +## Bonus: Gestire scansioni di bassa qualità + +A volte i PNG sono scansionati a 72 dpi o presentano forti artefatti di compressione. Ecco alcuni trucchi rapidi per **migliorare l'accuratezza OCR** senza abbandonare C#: + +1. **Pre‑elabora l'immagine** con una libreria come `SixLabors.ImageSharp` – aumenta il contrasto, converti in scala di grigi o applica una leggera sfocatura per ridurre il rumore. +2. **Imposta la proprietà `Resolution`** su `OcrEngine` (es. `ocrEngine.Resolution = 300;`) per far capire al motore che l'immagine è ad alta risoluzione. +3. **Abilita i language pack** se lavori con testo non inglese (`ocrEngine.Language = Language.English;`). + +Tutte e tre le soluzioni possono essere aggiunte prima della chiamata a `RecognizeImage`. + +## Domande frequenti + +- **Funziona con altri formati di immagine?** + Sì. `RecognizeImage` accetta JPEG, BMP, TIFF e persino PDF (come contenitore di immagini). Gli stessi passaggi si applicano. + +- **Posso estrarre testo da più PNG in una cartella?** + Assolutamente. Avvolgi la logica principale in un ciclo `foreach (var file in Directory.GetFiles(folder, "*.png"))` e salva ogni risultato in una lista o in file separati. + +- **E se ho bisogno delle coordinate del testo?** + Aspose OCR fornisce anche oggetti `OcrResult` che includono le bounding box. Usa `ocrEngine.RecognizeImageToResult(imagePath)` per quello scenario avanzato. + +## Conclusione + +Abbiamo percorso una soluzione **completa, end‑to‑end** per **estrarre testo da file PNG** usando Aspose OCR. Inizializzando il motore, fornendogli un **dizionario personalizzato**, pulendo l'output grezzo e gestendo alcuni ostacoli comuni, puoi leggere in modo affidabile il testo da immagini e **migliorare l'accuratezza OCR** nelle tue applicazioni C#. + +Pronto per il passo successivo? Prova a sostituire il PNG con una ricevuta scansionata, aggiungi altre parole specifiche al dizionario o integra l'output con un database per l'elaborazione automatica delle fatture. Il cielo è il limite quando combini Aspose OCR con l'ecosistema ricco di .NET. + +Buona programmazione, e che il tuo OCR sia sempre preciso! + +![Esempio di estrazione testo da png](/images/extract-text-from-png.png "estrazione testo da png – demo Aspose 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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/italian/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..66fddf5f --- /dev/null +++ b/ocr/italian/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,259 @@ +--- +category: general +date: 2026-01-09 +description: Estrai testo da file TIFF usando Aspose OCR in C#. Scopri come ottenere + i primi 50 caratteri di ogni risultato in questo tutorial passo‑passo. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: it +og_description: Estrai testo da TIFF usando Aspose OCR in C#. Questa guida mostra + come ottenere i primi 50 caratteri di ogni risultato OCR, passo dopo passo. +og_title: Estrai testo da TIFF con Aspose OCR – Guida completa C# +tags: +- Aspose OCR +- C# +- TIFF processing +title: Estrai testo da TIFF con Aspose OCR C# – Tutorial completo +url: /it/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Estrai testo da TIFF – Tutorial completo Aspose OCR C# + +Hai mai avuto bisogno di **estrarre testo da TIFF** immagini ma non eri sicuro di quale libreria fidarti? Non sei solo. Molti sviluppatori si trovano in difficoltà quando cercano di estrarre testo ricercabile da TIFF multi‑pagina, soprattutto quando le prestazioni sono importanti. + +In questo **aspose ocr c# tutorial** ti guideremo attraverso un esempio pronto all'uso che non solo estrae il testo completo, ma mostra anche come **ottenere i primi 50 caratteri** di ogni pagina per anteprime rapide. Alla fine avrai un programma autonomo da inserire in qualsiasi progetto .NET. + +## Di cosa avrai bisogno + +- .NET 6 (o qualsiasi versione recente di .NET) – il codice si compila sia con .NET Core che con .NET Framework. +- Una licenza attiva di Aspose.OCR per .NET (puoi iniziare con una prova gratuita). +- Una cartella che contiene uno o più file `.tif` che desideri elaborare. +- Visual Studio, VS Code, o qualsiasi IDE tu preferisca – l'esempio è puro C# quindi la scelta dell'editor è irrilevante. + +> **Pro tip:** se sei su un server CI, aggiungi il pacchetto NuGet Aspose.OCR (`Aspose.OCR`) al tuo file di progetto; la libreria è completamente gestita e non ha dipendenze native. + +## Passo 1: Installa il pacchetto NuGet Aspose OCR + +Prima di tutto, portiamo il motore OCR nel progetto. Apri un terminale nella cartella della soluzione e esegui: + +```bash +dotnet add package Aspose.OCR +``` + +## Passo 2: Inizializza il motore OCR + +Ora creiamo un'istanza di `OcrEngine`. Pensala come il “cervello” che leggerà ogni pagina TIFF. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Perché istanziamo il motore solo una volta? Perché `RecognizeImages` può accettare una collezione di percorsi file, consentendo al motore di riutilizzare buffer interni e accelerare notevolmente l'elaborazione batch. + +## Passo 3: Raccogli tutti i file TIFF in una sola chiamata + +Invece di ciclare manualmente sulla directory, lasciamo che .NET faccia il lavoro pesante. Il metodo `Directory.GetFiles` restituisce un `IEnumerable` che possiamo passare direttamente alla chiamata OCR. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **E se le mie immagini fossero JPEG o PNG?** Basta cambiare il pattern di ricerca (`"*.jpg"` o `"*.*"`). Aspose OCR funziona con tutti i formati raster comuni. + +## Passo 4: Esegui OCR sull'intera collezione + +Ecco la riga magica che elabora ogni file in un'unica richiesta. Il metodo restituisce un dizionario dove la chiave è il percorso del file e il valore è un oggetto `OcrResult` contenente il testo riconosciuto. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Perché elaborare in batch? Riduce l'overhead di caricare ripetutamente il motore OCR e, su macchine multi‑core, Aspose parallelizza internamente il lavoro, offrendoti un notevole incremento di velocità. + +## Passo 5: Mostra un'anteprima – Ottieni i primi 50 caratteri + +La maggior parte degli scenari UI richiede solo uno snippet, non l'intero documento. Estrarremo i primi 50 caratteri (o meno se la pagina è breve) e li stamperemo accanto al nome del file. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +La riga `Math.Min(50, fullText.Length)` garantisce che non superiamo i limiti della stringa – una piccola salvaguardia che evita un `ArgumentOutOfRangeException` quando il risultato OCR è più corto di 50 caratteri. + +### Output previsto della console + +Supponendo di avere due file TIFF (`invoice1.tif` e `receipt2.tif`) la console potrebbe mostrare: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Ogni riga termina con un'ellissi (`...`) per indicare che l'anteprima è solo l'inizio di un blocco di testo più lungo. + +## Passo 6: Gestisci casi limite e problemi comuni + +### File vuoti o corrotti + +Se un file non può essere letto, `RecognizeImages` restituisce comunque una voce con la proprietà `Text` vuota. Puoi filtrare questi risultati: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Lotti grandi + +Elaborare migliaia di TIFF può consumare molta memoria. In questi casi, usa la sovraccarica che accetta uno `Stream` per immagine, oppure elabora l'elenco in blocchi più piccoli: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Supporto per lingua e font + +Se i tuoi documenti contengono caratteri non latini, imposta la lingua prima di chiamare `RecognizeImages`: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Questa piccola modifica può aumentare drasticamente la precisione. + +## Passo 7: Esempio completo funzionante (pronto per copia‑incolla) + +Di seguito trovi il programma completo che puoi incollare in un nuovo progetto console (`dotnet new console`) e eseguire così com'è (sostituisci `YOUR_DIRECTORY/Batch` con il percorso reale). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Esegui il programma con `dotnet run`. Dovresti vedere un'anteprima concisa per ogni file TIFF, confermando che hai estratto con successo **testo da TIFF** usando Aspose OCR. + +## Domande frequenti (FAQ) + +**D: Questo funziona con TIFF multi‑pagina?** +R: Sì. Aspose OCR tratta ogni pagina come un'immagine separata internamente, quindi un TIFF multi‑pagina produce una singola stringa concatenata per file. Puoi suddividerla in seguito se necessario. + +**D: Quanto è accurato l'OCR di default?** +R: Per scansioni pulite e ad alta risoluzione (300 DPI o superiore) puoi aspettarti >95 % di accuratezza su testo inglese. Pre‑elaborazioni (deskew, binarizzazione) possono portare la precisione ancora più in alto. + +**D: Posso esportare i risultati in un file CSV?** +R: Assolutamente. Sostituisci il `Console.WriteLine` con uno `StreamWriter` e scrivi righe `fileName,preview`. Ricorda di escapare le virgole nel testo dell'anteprima. + +## Prossimi passi e argomenti correlati + +- **Persist OCR results** – Archivia il testo completo in un database per archivi ricercabili. +- **Combine with PDF conversion** – Usa Aspose.PDF per incorporare il testo estratto nei PDF ricercabili. +- **Batch processing on Azure Functions** – Scala il lavoro OCR senza gestire server. + +Tutte queste estensioni si collegano all'idea centrale di **estrarre testo da TIFF** in modo efficiente, consentendo al contempo di **ottenere i primi 50 caratteri** per rapide anteprime UI. + +--- + +*Buon coding! Se incontri qualche strano comportamento, lascia un commento qui sotto – farò del mio meglio per aiutarti a perfezionare la pipeline OCR.* + +![Estrai testo da TIFF usando Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Estrai testo da TIFF usando Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/italian/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..4cc3974a --- /dev/null +++ b/ocr/italian/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,224 @@ +--- +category: general +date: 2026-01-09 +description: Rileva il testo in JPG rapidamente usando Aspose OCR in C#. Scopri come + estrarre il testo dall'immagine, convertire l'immagine in JSON ed EPUB in un unico + tutorial. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: it +og_description: Riconosci il testo in JPG con Aspose OCR. Questa guida mostra come + estrarre il testo da un'immagine, convertire l'immagine in JSON ed EPUB e creare + un ePub da un'immagine. +og_title: Riconosci il testo in JPG – Tutorial completo C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Riconoscere il testo in JPG con Aspose OCR – Guida completa C# +url: /it/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# riconoscere testo in jpg – Guida completa C# + +Hai mai avuto bisogno di **riconoscere testo in jpg** file ma non sapevi quale libreria scegliere? Non sei solo. Molti sviluppatori incontrano lo stesso ostacolo quando provano per la prima volta a estrarre parole da una fotografia o da un documento scansionato. + +La buona notizia? Con Aspose OCR puoi **estrarre testo dall'immagine** file in poche righe di codice C#, quindi istantaneamente **convertire immagine in JSON** o addirittura **convertire immagine in EPUB**—tutto senza lasciare il tuo IDE. + +In questo tutorial percorreremo l'intero flusso di lavoro: dall'installazione dei pacchetti NuGet corretti, al riconoscimento del testo in un JPG, fino al salvataggio del risultato come JSON strutturato e come documento ePub. Alla fine sarai in grado di **creare epub da immagine** file programmaticamente, un trucco utile per piattaforme e‑learning, biblioteche digitali o qualsiasi app che necessiti di e‑book ricercabili. + +--- + +## Cosa ti serve + +- **.NET 6+** (o .NET Framework 4.6+). Il codice funziona su qualsiasi runtime recente. +- **Aspose.OCR** NuGet package – il motore OCR principale. +- **Aspose.Publishing** NuGet package – necessario per il formato di output ePub. +- Un file immagine chiamato `input.jpg` situato da qualche parte sul tuo disco (sostituisci il percorso con il tuo). +- Un editor di testo o IDE (Visual Studio, VS Code, Rider—a te la scelta). + +È tutto. Nessun servizio aggiuntivo, nessuna API esterna, solo un paio di librerie e un file JPG. + +## Step 1: Configura il tuo progetto per **riconoscere testo in jpg** + +Per prima cosa, crea una nuova applicazione console (o aggiungila a un progetto esistente). Quindi aggiungi i due pacchetti Aspose tramite il NuGet Package Manager: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Consiglio:** Se stai usando Visual Studio, fai clic con il tasto destro sul progetto → *Manage NuGet Packages* → cerca *Aspose.OCR* e *Aspose.Publishing*, quindi fai clic su **Install**. + +Questi pacchetti forniscono tutto il necessario per **estrarre testo dall'immagine** e per generare un file ePub in seguito. + +## Step 2: **estrarre testo dall'immagine** Utilizzando Aspose OCR + +Ora scriveremo il codice che legge effettivamente il JPG e estrae i caratteri. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Perché funziona:** `OcrEngine` astrae tutta la pre‑elaborazione dell'immagine a basso livello, il rilevamento della lingua e la segmentazione dei caratteri. Basta puntarlo a un file e restituisce un oggetto `OcrResult` contenente la stringa di testo semplice (`ocrResult.Text`) e un ricco insieme di metadati. + +## Step 3: **convertire immagine in JSON** – Esportare il risultato OCR + +Se hai bisogno di memorizzare l'output OCR in un formato strutturato (per API, database o elaborazioni successive), Aspose rende banale serializzare il risultato in JSON. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +Il JSON generato appare più o meno così (ridotto per brevità): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**Quando usarlo:** JSON è perfetto se stai inviando i dati OCR a un servizio web, memorizzandoli in un archivio NoSQL, o semplicemente hai bisogno di una rappresentazione portabile che possa essere analizzata da qualsiasi linguaggio. + +## Step 4: **convertire immagine in EPUB** – Salvataggio come eBook + +Aspose Publishing aggiunge il supporto per diversi formati di e‑book, incluso EPUB. Chiamando `Save` sull'`OcrResult` è possibile generare un file ePub pienamente conforme che contiene il testo riconosciuto e, facoltativamente, l'immagine originale. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**Cosa ottieni:** Un ePub che puoi aprire con qualsiasi lettore (Calibre, Apple Books, Adobe Digital Editions). Il file include il testo estratto come contenuto ricercabile, più l'immagine di origine come livello di sfondo—ideale per creare pipeline **creare epub da immagine**. + +## Step 5: Esempio completo funzionante – Da JPG a JSON & EPUB + +Mettendo tutto insieme, ecco il programma completo, pronto per l'esecuzione. Copia‑incolla questo in `Program.cs`, regola i percorsi dei file e premi **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Esegui il programma e dovresti vedere tre cose: + +1. Il testo riconosciuto stampato nella console. +2. Un file `output.json` contenente i dati OCR strutturati. +3. Un file `output.epub` che puoi aprire con qualsiasi lettore e‑book. + +## Domande comuni & casi particolari + +- **E se l'immagine è PNG o BMP?** + Aspose OCR supporta la maggior parte dei formati raster (PNG, BMP, TIFF, GIF). Basta cambiare l'estensione del file in `inputPath`; lo stesso codice funziona. + +- **Posso specificare una lingua diversa dall'inglese?** + Sì. Imposta `ocrEngine.Language = OcrLanguage.French;` (o qualsiasi lingua supportata) prima di chiamare `RecognizeImage`. + +- **E per i PDF multi‑pagina?** + Per i PDF dovresti prima convertire ogni pagina in un'immagine (Aspose.PDF può farlo) e poi fornire ogni immagine a `RecognizeImage`. Gli oggetti `OcrResult` risultanti possono essere uniti prima di esportare in JSON o EPUB. + +- **Ottengo punteggi di confidenza bassi. Come posso migliorare l'accuratezza?** + Pre‑elabora l'immagine: aumenta il contrasto, correggi l'inclinazione o converti in scala di grigi. Aspose OCR offre anche `PreprocessOptions` che puoi regolare. + +## Conclusione + +Ora hai una ricetta solida, end‑to‑end, per **riconoscere testo in jpg** file usando Aspose OCR, poi **convertire immagine in JSON** per pipeline di dati e **convertire immagine in EPUB** per creare e‑book ricercabili. L'approccio è leggero, richiede solo due pacchetti NuGet e funziona su tutti i runtime .NET moderni. + +Da qui potresti: + +- Integrare l'output JSON in un indice di ricerca (Azure Cognitive Search, Elastic). +- Elaborare in batch una cartella di immagini e generare una libreria di libri ePub. +- Estendere il flusso di lavoro con API di traduzione per creare e‑book multilingue automaticamente. + +Provalo, sperimenta con diverse qualità di immagine e lascia che il motore OCR faccia il lavoro pesante. Buon coding! + +![screenshot dell'output di riconoscimento testo in jpg](placeholder-image.png "esempio di riconoscimento testo in 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/japanese/net/ocr-configuration/_index.md b/ocr/japanese/net/ocr-configuration/_index.md index e7f1a8b1..7acad938 100644 --- a/ocr/japanese/net/ocr-configuration/_index.md +++ b/ocr/japanese/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ Aspose.OCR を使用して、.NET での OCR 画像認識の能力を解放し Aspose.OCR for .NET を使用して強力な OCR 機能を利用しましょう。画像からテキストをシームレスに抽出します。 ### [OCR画像認識におけるリストによるOCRO操作](./ocr-operation-with-list/) Aspose.OCR for .NET の可能性を解き放ちます。リストを使用して OCR 画像認識を簡単に実行します。アプリケーションの生産性とデータ抽出を向上させます。 +### [C#で画像をOCRする方法 – GPUサポート付き完全ガイド](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +GPUを活用し、高速かつ正確に画像からテキストを抽出するC#向け完全ガイドです。 +### [Aspose OCRで画像からテキストを認識する – 完全C#ガイド](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Aspose OCR を使用して、C# で画像からテキストを正確に抽出する手順を詳しく解説します。 + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/japanese/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..d0424791 --- /dev/null +++ b/ocr/japanese/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,202 @@ +--- +category: general +date: 2026-01-09 +description: Aspose.OCR を使用して画像を OCR し、画像テキストを抽出する方法を学びます。スキャンした文書の変換、GPU の有効化、OCR + で画像を読み取る手順が含まれます。 +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: ja +og_description: Aspose.OCRで画像を素早くOCRする方法。ステップバイステップのチュートリアルに従って、画像のテキストを抽出し、スキャンした文書を変換し、GPUを有効にしましょう。 +og_title: C#で画像をOCRする方法 – GPUアクセラレートガイド +tags: +- OCR +- C# +- Aspose +- Image Processing +title: C#で画像をOCRする方法 – GPUサポート付き完全ガイド +url: /ja/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C#で画像をOCRする方法 – GPUサポート付き完全ガイド + +.NET アプリから直接 **画像を OCR する** 方法を知りたくありませんか? 開発者は PDF、TIFF、写真などの画像からテキストを抽出する必要が頻繁にあります。特に大量のスキャン文書を扱う場合は必須です。朗報です! Aspose.OCR を使えば、数行のコードで **画像テキストを抽出** でき、さらに **GPU** を有効にして処理速度を向上させることも可能です。 + +このチュートリアルでは、ライブラリのインストールから GPU フォールバック付き OCR エンジンの初期化、最終的に **OCR で画像を読み取る** 方法と結果の表示まで、必要なすべての手順を解説します。最後まで読めば、外部サービスを使わずに **スキャン文書の画像を編集可能な文字列に変換** できるようになります。 + +--- + +## 必要なもの + +作業を始める前に、以下を用意してください。 + +- **.NET 6.0** 以上(コードは .NET Core と .NET Framework でも動作します)。 +- Aspose.OCR の **ライセンス** または一時的な評価キー(無料トライアルでテスト可能)。 +- 処理したい画像ファイル(できれば高解像度の TIFF または PNG)。 +- (オプション)GPU が有効なマシン。速度向上を確認したい場合に使用します。GPU が無い場合はエンジンが自動的に CPU にフォールバックします。 + +これらの前提条件が整っていれば、後で壁にぶつかることなく OCR ワークフローに集中できます。 + +--- + +## Step 1: Install Aspose.OCR NuGet Package + +まずは Aspose.OCR ライブラリをプロジェクトに追加します。ソリューションフォルダーでターミナルを開き、次のコマンドを実行してください。 + +```bash +dotnet add package Aspose.OCR +``` + +あるいは Visual Studio の NuGet UI で **Aspose.OCR** を検索し、インストールボタンをクリックするだけです。この単一コマンドで必要な DLL がすべて取得され、GPU 用のネイティブバイナリが利用可能な場合は自動的に含まれます。 + +> **Pro tip:** パッケージは常に最新の状態に保ちましょう。新しいリリースには言語モデルの改善や GPU サポートの向上が含まれることが多いです。 + +--- + +## Step 2: Import Required Namespaces + +パッケージをインストールしたら、必要な名前空間をインポートします。ここからが **画像を OCR する** コードの出発点です。 + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +この 2 行で `OcrEngine` クラスと、GPU 使用を切り替える設定オブジェクトにアクセスできるようになります。これが無いとコンパイラは `OcrEngine` が何か分からなくなります。 + +--- + +## Step 3: Initialize the OCR Engine and Enable GPU + +**GPU を有効にする** 方法を知りたかった方へ、ここが答えです。`OcrEngineSettings` のインスタンスを作成し、`UseGpu` フラグをオンにしてエンジンのコンストラクタに渡します。エンジンは自動的に互換性のある GPU があるか検出し、無ければ CPU にフォールバックしますので、追加のエラーハンドリングは不要です。 + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +GPU を有効にする理由は何でしょうか? 大きな画像、たとえばマルチページ TIFF や高解像度スキャンの場合、処理時間が数秒から数百ミリ秒に短縮されます。バッチ処理パイプラインを構築している場合、この速度向上は大きなメリットになります。 + +--- + +## Step 4: Perform OCR on Your Target Image + +ここで実際に **OCR で画像を読み取る** 作業を行います。ファイルへのパスを渡すだけで、エンジンは認識したテキストを文字列として返します。Aspose がサポートするラスタ形式(PNG、JPEG、TIFF、BMP など)すべてで動作します。 + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +**スキャン文書** のページを 1 枚ずつ変換したい場合は、ファイル名のリストをループし `RecognizeImage` を呼び出すだけです。このメソッドはスレッドセーフなので、マルチコア CPU で並列処理することも可能です。 + +--- + +## Step 5: Display or Persist the Extracted Text + +最後に結果を出力します。コンソールアプリなら `Console.WriteLine` が手軽です。実際のアプリケーションでは、データベースや JSON ファイル、検索インデックスへ書き込むことが考えられます。 + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +上記の行は OCR の生データをコンソールに表示します。改行や稀な誤認識、余計な文字が混ざることがありますが、これは OCR では普通のことです。必要に応じて正規表現でクリーンアップするなど、後処理を加えると良いでしょう。 + +> **Note:** Aspose.OCR には言語別辞書も用意されています。英語以外のテキストを処理する場合は、`ocrEngine.Settings.Language` を適切に設定してから `RecognizeImage` を呼び出してください。 + +--- + +## Full Working Example + +すべてをまとめた、コピー&ペースト可能なコンソールプロジェクトのサンプルです。 + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**期待される出力**(抜粋): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +プログラムを実行すると、抽出されたテキストがコンソールに表示されます。GPU が利用可能な環境では、CPU のみの場合に比べて処理時間が顕著に短くなるはずです。 + +--- + +## Common Pitfalls & How to Avoid Them + +| Issue | Why It Happens | Fix | +|-------|----------------|-----| +| **Garbage characters** | 低解像度の画像やノイズが多い背景。 | OCR 前に画像を前処理(DPI を上げる、二値化を適用)する。 | +| **GPU not used** | 互換性のある CUDA ドライバがインストールされていない。 | ドライバのバージョンを確認するか、`UseGpu = false` で CPU を強制。 | +| **Out‑of‑memory on large TIFFs** | ファイル全体を一度に読み込んでいる。 | `OcrEngineSettings.MaxMemoryUsage` で使用メモリ上限を設定するか、ページ単位で処理する。 | +| **Incorrect language detection** | デフォルト言語が英語になっている。 | `ocrEngine.Settings.Language = Language.YourLanguage;` を `RecognizeImage` 前に設定。 | + +これらのケースに対処すれば、 **画像を OCR する** 実装はさまざまな環境でも安定して動作します。 + +--- + +## Extending the Solution + +**画像テキストを抽出** できたら、次のような拡張が考えられます。 + +- **スキャン文書** PDF を検索可能な PDF に変換し、OCR レイヤーを埋め込む。 +- 抽出結果を **Azure Cognitive Search** インデックスに保存し、高速検索を実現。 +- OCR 出力を **翻訳 API** に渡して多言語対応にする。 +- **Aspose.OCR** の `GetBoundingBoxes` メソッドを使い、各単語の画像上の位置情報を取得。赤字処理ツールに便利です。 + +これらすべては、エンジンの初期化 → 画像投入 → テキスト取得という基本フローを拡張する形で実装できます。 + +--- + +## Conclusion + +本稿では、Aspose.OCR を用いた **C# で画像を OCR する** 完全なエンドツーエンド例を紹介しました。NuGet パッケージのインストール、適切な名前空間のインポート、GPU の有効化(または CPU フォールバック)、そして `RecognizeImage` の呼び出しという手順で、 **画像テキストの抽出**、**スキャン文書の変換**、**OCR で画像を読む** が確実に行えます。 + +ぜひ自分のスキャン画像で試してみてください。画像形式や GPU フラグを切り替えて、パフォーマンスの変化を体感しましょう。準備ができたら、言語辞書やバウンディングボックス抽出といった高度機能に挑戦し、OCR パイプラインをさらに賢くカスタマイズしてください。 + +Happy coding, and may your OCR pipelines be fast, accurate, and hassle‑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/japanese/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/japanese/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..21d08afc --- /dev/null +++ b/ocr/japanese/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,204 @@ +--- +category: general +date: 2026-01-09 +description: C#でAspose OCRを使用して画像からテキストを認識します。自動ダウンロードの無効化方法、中国語テキスト画像の抽出、OCR言語の設定方法を学びましょう。 +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: ja +og_description: C#でAspose OCRを使用して画像からテキストを認識します。このステップバイステップのチュートリアルに従って、自動ダウンロードを無効にし、中国語テキスト画像を抽出し、OCR言語を設定してください。 +og_title: Aspose OCRで画像からテキストを認識する – 完全なC#ガイド +tags: +- Aspose OCR +- C# +- Image Processing +title: Aspose OCRで画像からテキストを認識する – 完全C#ガイド +url: /ja/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCRで画像からテキストを認識する – 完全なC#ガイド + +画像からテキストを**認識**する必要があったが、設定の詳細で行き詰まったことはありませんか? あなたは一人ではありません。多くの開発者が、OCRエンジンが実行時に言語パックをダウンロードしようとしたり、看板の写真から中国語文字を抽出できなかったりして壁にぶつかります。 + +このチュートリアルでは、Aspose OCR for .NET を使用して **自動ダウンロードを無効化**、**テキスト画像を抽出**、**中国語テキスト画像を抽出**、そして **OCR言語を設定** する方法を実践的に解説します。最後には、認識したテキストをコンソールに直接出力する単一の実行可能プログラムが完成します。 + +## 学べること + +- Aspose.OCR NuGet パッケージのインストールと参照方法。 +- オフラインまたはセキュアな環境で自動リソースダウンロードをオフにする重要性。 +- エンジンをローカルの言語パックフォルダーに指す正確な手順。 +- 画像処理前に正しい言語(簡体字中国語)を選択する方法。 +- 出力を検証し、一般的な落とし穴をトラブルシュートする方法。 + +Aspose の事前経験は不要です。基本的な C# 環境と、読み取りたい画像ファイルがあれば始められます。 + +## 前提条件 + +| Requirement | Reason | +|-------------|--------| +| .NET 6.0 以降(または .NET Framework 4.7+) | Aspose.OCR がこれらのランタイムをサポートしているため。 | +| Visual Studio 2022(またはお好みの IDE) | プロジェクト作成とデバッグが容易になるため。 | +| 中国語テキストを含む画像ファイル(例: `chinese-sign.jpg`) | **extract Chinese text image** をデモするため。 | +| Aspose OCR 言語パックのローカルコピー(Aspose ポータルから一度ダウンロード) | **disable auto download** が必要になるため。 | + +言語パックの ZIP ファイルは、参照可能なフォルダーに配置してください。例: `C:\MyOCR\Resources`. + +## 手順 1: 画像からテキストを認識 – OCR エンジンの構成 + +まず最初に、Aspose にリソースの場所を指示する `OcrEngineSettings` オブジェクトが必要です。これは **extract text image** 操作の基礎となります。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +`AutoDownloadResources` を `false` に設定する理由は何ですか? 本番環境ではファイアウォールの背後で動作したり、実行時にアプリがインターネットにアクセスするのを避けたいことが多いです。この機能を無効化することで、エンジンは `ResourceFolder` に配置したファイルのみを使用し、初期化も高速化されます。 + +## 手順 2: 指定した設定で OCR エンジンを作成 + +設定が整ったので、エンジンをインスタンス化します。このステップで後に **set OCR language** 機能が活きてきます。 + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +`OcrEngine` オブジェクトは軽量で、言語を割り当てるまで実際の言語データはロードされません。この遅延ロードのおかげで、リソースフォルダーが空でもエンジンを安全に作成できます—**extract Chinese text image** を試すまで何も壊れません。 + +## 手順 3: OCR 言語を設定 – 簡体字中国語を選択 + +Aspose は数十の言語をサポートしており、各言語は ZIP ファイルとしてパッケージ化されています。サンプル画像が簡体字中国語を含むため、認識前に言語を明示的に設定します。 + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +このステップを忘れると、エンジンはデフォルトで英語を使用し、文字化けした出力になります。また、言語名は `ResourceFolder` 内の ZIP ファイル名と一致する必要があります。例として、`ChineseSimplified.zip` が存在している必要があります。 + +## 手順 4: 対象画像からテキストを抽出 + +エンジンの構成と語設定が完了したら、いよいよ **recognize text from image** を実行します。このメソッドはプレーンな文字列を返すので、ログに記録したり、保存したり、別システムに渡したりできます。 + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +`RecognizeImage` の呼び出しは、前処理、セグメンテーション、文字マッチング、結果の組み立てというすべての重い処理を行います。画像が鮮明で言語パックが正しければ、コンソールに中国語文字が表示されます。 + +> **Tip:** 画像の一部(例: 特定領域)だけを抽出したい場合は、オーバーロード `RecognizeImage(string, Rectangle)` を使用して切り取り矩形を渡してください。 + +## 完全な動作例 + +以下は新しいコンソールプロジェクトにコピー&ペーストできる完全なプログラムです。`using` 文、設定、言語選択、最終出力が含まれています。`Program.cs` として保存し、NuGet パッケージを復元して実行してください。 + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### 期待される出力 + +`chinese-sign.jpg` にフレーズ “欢迎光临” が含まれている場合、コンソールには次のように表示されます: + +``` +=== Recognized Text === +欢迎光临 +``` + +正確なフォーマットは画像の品質により変わる可能性がありますが、文字は判読可能であるはずです。 + +## よくある落とし穴とプロのコツ + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| **Empty string returned** | 言語パックが見つからない、または `AutoDownloadResources` がまだ取得しようとしている | `ResourceFolder` のパスを確認し、`ChineseSimplified.zip` が存在することを確認してください。 | +| **Garbage characters** | 画像がぼやけている、またはコントラストが低い | `RecognizeImage` に渡す前に画像を前処理(コントラストを上げる、二値化)してください。 | +| **Exception: `FileNotFoundException`** | 画像パスが間違っている | 絶対パスを使用するか、画像をプロジェクトの出力ディレクトリに配置し、`Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")` で参照してください。 | +| **Performance lag** | 画像サイズが大きすぎる | 認識前に画像の幅を適切なサイズ(例: 1024 px)にリサイズしてください。 | + +**Pro tip:** 言語パックはバージョン管理されたフォルダーに保管してください。Aspose.OCR をアップグレードすると、新しいパックは命名規則が変わることがあり、**disable auto download** 戦略が静かに壊れる可能性があります。 + +## 例の拡張 + +これで **recognize text from image** ができるようになったので、次のことをしたくなるかもしれません: + +- **Batch process** で画像フォルダーを処理(ファイルをループし、毎回 `RecognizeImage` を呼び出す)。 +- **Export** して結果を CSV または JSON ファイルに出力し、下流の分析に利用。 +- **Combine** OCR と翻訳 API を組み合わせ、中文の看板をリアルタイムで英語に変換。 + +これらのシナリオはすべて同じコア手順を再利用します:一度構成し、言語を設定し、`RecognizeImage` を呼び出すだけです。モジュラー設計によりコードはクリーンで保守しやすくなります。 + +## 結論 + +C# で Aspose OCR を使用して **recognize text from image** の方法を学びました。**disable auto download** を明示的に行い、エンジンをローカルリソースフォルダーに指し、**set OCR language** を簡体字中国語に設定することで、信頼性の高い **extract Chinese text image** と他の任意の言語を抽出できます。 + +上記の完全な実行可能コードは、実際のプロジェクトにすぐ組み込める実用的なワークフローを示しています。ここからは、画像品質を変えて実験したり、エラーハンドリングを追加したり、出力を大規模システムに統合したりしてみてください。可能性はほぼ無限です。 + +他の言語やパフォーマンスチューニング、クラウド展開について質問がありますか? コメントでお気軽にどうぞ—楽しいコーディングを! + +{{< /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/net/ocr-optimization/_index.md b/ocr/japanese/net/ocr-optimization/_index.md index f3634551..3820ae24 100644 --- a/ocr/japanese/net/ocr-optimization/_index.md +++ b/ocr/japanese/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ Aspose.OCR for .NET とのシームレスな OCR 統合を検討してくださ Aspose.OCR for .NET を使用して OCR の精度を向上させます。スペルを修正し、辞書をカスタマイズし、エラーのないテキスト認識を簡単に実現します。 ### [OCR画像認識で複数ページの結果をドキュメントとして保存](./save-multipage-result-as-document/) Aspose.OCR for .NET の可能性を解き放ちます。この包括的なステップバイステップ ガイドを使用すると、複数ページの OCR 結果をドキュメントとして簡単に保存できます。 +### [c# OCR チュートリアル: 前処理で画像からテキストを認識](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/japanese/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..6748a035 --- /dev/null +++ b/ocr/japanese/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,228 @@ +--- +category: general +date: 2026-01-09 +description: Aspose.OCR フィルターを使用して画像からテキストを認識し、OCR 用に画像を前処理する方法を示す C# OCR チュートリアル + – ステップバイステップガイド。 +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: ja +og_description: Aspose.OCR フィルタを使用した画像からのテキスト認識と OCR 用画像前処理を段階的に解説する C# OCR チュートリアル。完全なコードが含まれています。 +og_title: C# OCRチュートリアル – 前処理で画像からテキストを認識する +tags: +- OCR +- C# +- Image Processing +title: C# OCRチュートリアル:前処理で画像からテキストを認識する +url: /ja/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr チュートリアル – 前処理付きで画像からテキストを認識する + +画像からテキストを認識する方法を、フィルタの調整に何週間も費やさずに C# アプリケーションで実現したいと思ったことはありませんか? あなたは一人ではありません。この **c# ocr tutorial** では、テキストを読み取るだけでなく **OCR 用に画像を前処理** して精度を向上させる、完全に実行可能なサンプルを順を追って解説します。 + +Aspose.OCR ライブラリを使用します。このライブラリは便利なフィルタ パイプラインを備えており、数行のコードでデスクュー、デノイズ、コントラスト強調のステップを組み込むことができます。このガイドの最後までに、傾いたノイズの多い PNG を受け取り、クリーンアップして抽出された文字列を出力するコンソール アプリが手に入ります。各ステップがなぜ重要かも明確に説明します。 + +## 前提条件 + +| 必要項目 | 重要な理由 | +|-------------|----------------| +| .NET 6 SDK(またはそれ以降) | 最新の C# 機能とパフォーマンス向上 | +| Visual Studio 2022(または VS Code) | デバッグと IntelliSense が便利 | +| NuGet パッケージ **Aspose.OCR** | `OcrEngine` とフィルタ クラスを提供 | +| 入力画像(例: `skewed‑noisy.png`) | 前処理の必要性を実演 | + +これらのいずれかが不足している場合は、まずインストールしてください。NuGet の手順は次のセクションで説明します。 + +## Step 1: Install Aspose.OCR via NuGet + +ターミナル(または Package Manager Console)を開き、次のコマンドを実行します: + +```bash +dotnet add package Aspose.OCR +``` + +> **プロのコツ:** 再現性のあるビルドが必要な場合は、`--version` フラグで特定のリリースにロックしてください。 + +このパッケージには必要なすべてのフィルタが含まれているため、追加の DLL は不要です。 + +## Step 2: Initialize the OCR Engine – the Heart of the c# ocr tutorial + +エンジンの作成はシンプルですが、内部で何が起きているかを理解しておく価値があります。`OcrEngine` は、認識アルゴリズムが実行される前にビットマップを操作する **filters** のパイプラインを保持しています。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **なぜ最初に初期化するのか?** エンジンは内部リソース(言語モデルなど)をキャッシュします。複数の画像で同一インスタンスを再利用することでメモリ使用量が削減され、後続の認識が高速化します。 + +## Step 3: Preprocess Image for OCR – adding deskew, denoise, and contrast boost + +実際のスキャンは完璧ではありません。傾いていたり、斑点があったり、暗すぎたりします。そのため **OCR 用に画像を前処理** することが重要です。Aspose では以下の 3 つのフィルタがうまく連携します: + +| フィルタ | 機能 | 主な使用例 | +|--------|--------------|------------------| +| `DeskewFilter` | 画像を回転させて傾きを補正 | スキャナからの文書 | +| `DenoiseFilter` | 孤立したピクセル(「塩胡椒」ノイズ)を除去 | 低照度の写真 | +| `ContrastBoostFilter` | コントラストを上げて文字エッジを鮮明化 | 薄れた印刷物や低解像度のキャプチャ | + +以下のコードは、各フィルタをエンジンのパイプラインに追加する例です: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **動作概要:** 後で `RecognizeImage` を呼び出すと、エンジンはこの 3 つのフィルタを順次実行し、クリーンアップされたビットマップを認識コアに渡します。 + +### Visual illustration (optional) + +画像を埋め込む場合は、alt テキストに主要キーワードを含めてください: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Step 4: Recognize Text from Image – the moment of truth + +画像が前処理されたので、いよいよ文字を抽出できます。メソッドはプレーンな文字列を返し、ログに出力したり、保存したり、別システムに渡したりできます。 + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Expected output + +典型的な請求書スキャンに対してサンプルを実行すると、次のような出力が得られます: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +出力が文字化けしている場合は、画像品質を再確認し、`ContrastBoostFilter.Level` を調整してください(値が 2.0 を超えると過剰になることがあります)。 + +## Step 5: Output the Result and Optional Post‑Processing + +コンソール アプリでは単に文字列を書き出すだけで済みますが、多くのプロジェクトでは余分な処理が必要です。たとえば空白のトリミング、改行の除去、データベースへの格納などです。 + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Why post‑process? + +前処理が十分でも、OCR はしばしば余計な改行や不可視文字を挿入します。簡単な `Replace` 連鎖で、下流でのデータ利用が格段にしやすくなります。 + +## Step 6: Full Working Example – copy‑paste ready + +以下は **完全** なプログラムです。すぐにコンパイルして実行できます。using 文、フィルタ設定、OCR 呼び出し、出力処理がすべて含まれています。 + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**実行手順** + +1. `dotnet new console` で新しいコンソール プロジェクトを作成し、ファイルを `Program.cs` として保存します。 +2. `YOUR_DIRECTORY/skewed-noisy.png` をテスト画像への実際のパスに置き換えます。 +3. `dotnet run` を実行します。ターミナルに OCR の出力が表示されるはずです。 + +## Common Pitfalls & Tips (recognize text from image reliably) + +| 問題 | 確認すべき点 | 対策 | +|-------|----------------|-----| +| **Garbage characters** | 画像が暗すぎる、または解像度が低い | `ContrastBoostFilter.Level` を上げるか、より高解像度の画像を使用 | +| **Missing lines** | Deskew が角度を完全に補正できていない | 画像を手動で回転させるか、`DeskewFilter` の許容範囲を調整 | +| **Slow performance** | ループで多数の大きな画像を処理している | 同じ `OcrEngine` インスタンスを再利用し、各実行後に `ocrEngine.Clear()` を呼び出す | +| **Unsupported language** | テキストが英語でない | 認識前に `ocrEngine.Language = OcrLanguage.French`(または他のサポート言語)を設定 | + +### Edge case: handling multi‑page PDFs + +PDF を OCR したい場合は、各ページを画像に変換(例: `Aspose.PDF` 使用)し、同じエンジンに 1 ページずつ渡します。前処理パイプラインは同一なので、ページ間で一貫した結果が得られます。 + +## Conclusion + +この **c# ocr tutorial** では、Aspose.OCR の組み込みフィルタを使用して **画像からテキストを認識** し、**OCR 用に画像を前処理** するために必要なすべてをカバーしました。エンジンを初期化し、デスクュー、デノイズ、コントラスト強調のステップを追加し、最後に `RecognizeImage` を呼び出すだけで、数行のコードでクリーンかつ信頼性の高いテキスト抽出が実現できます。 + +ぜひ色々試してみてください。別のフィルタに差し替えたり、コントラストレベルを微調整したり、結果を大規模なデータ パイプラインに統合したりできます。この概念はどの 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/japanese/net/text-recognition/_index.md b/ocr/japanese/net/text-recognition/_index.md index 5738b2ec..03615675 100644 --- a/ocr/japanese/net/text-recognition/_index.md +++ b/ocr/japanese/net/text-recognition/_index.md @@ -54,10 +54,23 @@ Aspose.OCR を使用して .NET アプリケーションを強化し、画像テ ### [OCR画像認識でPDFを認識する](./recognize-pdf/) Aspose.OCR を使用して、.NET での OCR の可能性を解き放ちます。 PDF からテキストを簡単に抽出します。今すぐダウンロードして、シームレスな統合エクスペリエンスを体験してください。 ### [OCR画像認識でのテーブルの認識](./recognize-table/) -OCR 画像認識におけるテーブルの認識に関する包括的なガイドを使用して、Aspose.OCR for .NET の可能性を解き放ちます。 +OCR 画像認識におけるテーブルの認識に関する包括的なガイドを使用して、Aspose.OCR for .NET の可能性を解放します。 +### [C# OCR チュートリアル – PNG レシートからヒンディー語テキストを抽出](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Aspose.OCR を使用して、PNG 形式のレシートからヒンディー語テキストを抽出する手順を解説します。 +### [PNG からテキストを抽出する – 完全 Aspose OCR チュートリアル](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Aspose.OCR を使用して PNG 画像からテキストを抽出する手順を、完全なガイドで解説します。 +### [JPG 画像でテキストを認識する – Aspose OCR 完全 C# ガイド](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Aspose.OCR を使用して JPG 画像からテキストを抽出し、C# で完全なガイドに従って実装する方法を学びます。 +### [C# OCR チュートリアル – Aspose OCR で画像からテキストを抽出](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Aspose.OCR を使用して画像からテキストを抽出する手順を、C# で詳しく解説します。 +### [TIFF からテキストを抽出する – Aspose OCR C# 完全チュートリアル](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Aspose.OCR を使用して TIFF 画像からテキストを抽出し、C# で実装する手順をステップバイステップで解説します。 +### [C# OCR チュートリアル – 画像と DJVU ファイルからテキストを抽出](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Aspose.OCR を使用して、画像と DJVU ファイルからテキストを抽出する手順を解説します。 + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/japanese/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..41493340 --- /dev/null +++ b/ocr/japanese/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,240 @@ +--- +category: general +date: 2026-01-09 +description: C# OCRチュートリアル:PNGからテキストを読み取り、画像をテキストに変換し、Aspose OCRを使用してレシートのヒンディー語テキストを認識する。 +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: ja +og_description: PNGからテキストを読み取り、画像をテキストに変換し、Aspose OCRで領収書のヒンディー語テキストを認識する方法を教えるC# + OCRチュートリアル。 +og_title: c# OCR チュートリアル – PNG領収書からヒンディー語テキストを抽出 +tags: +- OCR +- C# +- Aspose +- Image Processing +title: C# OCR チュートリアル – PNG領収書からヒンディー語テキストを抽出 +url: /ja/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR チュートリアル – PNG レシートからヒンディー語テキストを抽出 + +PNG ファイルからテキストを **読み取る** 方法を考えたことはありますか?たとえばヒンディー語のレシートが多数あり、金額を自動で取得したいとします。この c# OCR チュートリアルでは、画像を数行のコードだけで検索可能なテキストに変換する方法を解説します。 + +このガイドでは Aspose OCR のインストール、PNG レシートの読み込み、ヒンディー文字の認識、そして抽出した文字列をコンソールに出力する手順を順に見ていきます。最後まで読めば、**画像をテキストに変換**、**ヒンディー語テキストの認識**、さらに **レシート画像からテキストを抽出** できるようになります。 + +> **前提条件:** 有効な Aspose OCR ライセンス(または無料トライアル)と .NET 6+ がインストールされている必要があります。NuGet が初めてでも心配はいりません—こちらでも説明します。 + +--- + +## 必要なもの + +- **Visual Studio 2022**(または任意の C# 対応エディタ) +- **.NET 6 SDK**(以降のバージョンでも可) +- **Aspose.OCR** NuGet パッケージ + ```bash + dotnet add package Aspose.OCR + ``` +- サンプルレシート画像(例: `hindi-receipt.png`)をプロジェクトフォルダーに保存 + +これらが揃っていれば、最終コードをコピー&ペーストして **F5** で実行できます。 + +--- + +## 手順 1: プロジェクトの作成と名前空間のインポート + +まだコンソールプロジェクトがない場合は作成します: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +次に `Program.cs` を開き、冒頭で Aspose OCR の名前空間をインポートします。これによりコンパイラがクラスを認識できるようになります: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **ポイント:** `OcrEngine` は `Aspose.OCR` にあり、言語関連の列挙型は `Aspose.OCR.Settings` にあります。どちらかを忘れるとコンパイルエラーになります。 + +--- + +## 手順 2: OCR エンジンの初期化と言語モデルの選択 + +OCR エンジンには **対象言語** を指定する必要があります。Aspose には多数の言語パックが同梱されており、`OcrLanguage.Hindi` を指定すると、エンジンはヒンディー語モデルをダウンロード(未取得の場合)して使用します。 + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **プロのコツ:** 複数言語のレシートを処理する場合は、実行時に `Language` を切り替えるか、`MultiLanguage` モードを有効にできます。 + +--- + +## 手順 3: PNG レシートをエンジンに渡す + +ここで **PNG からテキストを読み取ります**。実行ファイルからの相対パスでも問題ありません。メソッドはエンジンが解読できた文字列全体を返します。 + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +画像が高解像度で文字がはっきりしていれば、ほぼ完璧な結果が得られます。ノイズが多いスキャンの場合は、前処理(例: 二値化)を検討してください—Aspose には `PreprocessImage` メソッドが用意されています。 + +--- + +## 手順 4: 抽出したテキストの表示または保存 + +テスト時はコンソールに結果をダンプするのが一般的です。実運用ではデータベースや CSV ファイルに書き出すこともあります。 + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +サンプルレシートでプログラムを実行すると、次のような出力が得られます: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +これが **画像をテキストに変換** した実例です—手作業の転記は不要です。 + +--- + +## 完全動作サンプル(コピー&ペースト可能) + +以下は単一ファイルで完結するプログラムです。`Program.cs` に貼り付け、`hindi-receipt.png` をビルドされた `.exe` と同じディレクトリに置き、**Ctrl + F5** で実行してください。 + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### 期待される出力 + +レシート画像にクリアなヒンディー文字が含まれていれば、コンソールに抽出された行が改行付きで表示されます。認識できない単語がある場合は文字化けした断片が出力されます—画像品質の改善や前処理の調整が必要であるサインです。 + +--- + +## 手順 5: 発展編 – レシートから項目をプログラム的に抽出 + +**レシートからテキストを抽出** して日付、合計、請求番号といったフィールドを取得したい場合は、OCR 文字列を正規表現で後処理します: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +この小さなスニペットは、生の OCR 出力を構造化データに変換する方法を示しています—会計ソフトへの入力に最適です。 + +--- + +## よくある落とし穴と回避策 + +| 問題 | 発生理由 | 対策 | +|------|----------|------| +| **空の出力** | 画像パスが間違っている、またはファイルが出力フォルダーにコピーされていない | `Path.GetFullPath` を使用し、`File.Exists` で存在を確認 | +| **文字化け** | 低解像度 PNG または圧縮カラー | 画像を拡大し、DPI を 300+ に設定、または `ocrEngine.ImagePreprocessor` を使用 | +| **言語モデルが未ダウンロード** | 初回実行時にインターネット接続がない | Aspose ポータルで事前にヒンディー語モデルをダウンロード、またはローカルにホスト | +| **パフォーマンス低下** | ループで多数ページを処理し、解放しないまま使用 | `using` ブロックで `OcrEngine` を囲むか、インスタンスを再利用 | + +--- + +## 画像イラスト + +![c# ocr tutorial reading Hindi text from PNG receipt](https://example.com/placeholder-image.png "c# ocr tutorial – read text from png receipt") + +*スクリーンショットは、OCR 前後のヒンディー語レシートを示しています。* + +--- + +## まとめ: 本チュートリアルで学んだこと + +- C# コンソール アプリを作成し、Aspose OCR NuGet パッケージを追加 +- **ヒンディー語テキストを認識** するために `OcrEngine` を初期化 +- `RecognizeImage` を使って **PNG からテキストを読み取る** +- **画像をテキストに変換** し、結果をコンソールに出力 +- 正規表現で **レシートからテキストを抽出** する簡易パターンを実演 + +以上すべてが単一ファイルで実行可能な **c# OCR チュートリアル** の形で提供されました。 + +--- + +## 次のステップと関連トピック + +1. **バッチ処理** – フォルダー内のレシート画像をすべて走査し、結果を CSV に保存 +2. **前処理** – `ocrEngine.ImagePreprocessor` を活用してノイズ除去、傾き補正、コントラスト強化 +3. **マルチ言語 OCR** – `OcrLanguage.Multilingual` を有効にし、ヒンディー語と英語が混在するレシートに対応 +4. **統合** – 抽出データを Entity Framework Core モデルに保存し、永続化 + +これらに興味がある方は、**C# で画像をテキストに変換** と **OCR 結果から構造化データを抽出** に関する他のチュートリアルもご覧ください。 + +--- + +### Happy Coding! + +実装中に問題が発生したり、独自に拡張した事例があればぜひコメントで共有してください。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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/japanese/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..2603e265 --- /dev/null +++ b/ocr/japanese/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,253 @@ +--- +category: general +date: 2026-01-09 +description: c# OCRチュートリアルでは、画像ファイルからテキストを抽出し、Aspose.OCRを使用してDJVUをテキストに変換する方法を示します。数分でステップバイステップの抽出を学びましょう。 +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: ja +og_description: c# OCRチュートリアル:画像ファイルからテキストを抽出し、Aspose.OCRを使用してDJVUをテキストに変換する方法を迅速に紹介します。実用的な解決策を得るためにガイドに従ってください。 +og_title: c# OCRチュートリアル – 画像とDJVUからテキストを抽出 +tags: +- OCR +- C# +- Aspose +title: c# OCRチュートリアル:画像とDJVUファイルからテキストを抽出 +url: /ja/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR チュートリアル – 画像と DJVU ファイルからテキストを抽出する + +画像ファイルからテキストを抽出したいけど、どうすればいいか分からずに悩んだことはありませんか?この **c# OCR チュートリアル** では、通常の画像 *と* DJVU ドキュメントの両方からテキストを取り出す、実行可能なサンプルを一から解説します。 + +**DJVU をテキストに変換** したい方にも最適です—余計なコンバータは不要、純粋な C# コードだけで完結します。 + +## 学べること + +- .NET プロジェクトに Aspose.OCR ライブラリを設定する方法 +- 画像ファイルから **テキストを抽出** するための正確なコード +- **DJVU からテキストを抽出** する簡潔な手法(同じエンジンで可能) +- 大容量ファイル、フォント欠如、ライセンス問題などの一般的な落とし穴と回避策 + +必要なのは最新の .NET SDK と NuGet パッケージを取得できるインターネット環境だけ。OCR の事前知識は不要です。 + +## 前提条件 + +作業を始める前に以下を用意してください。 + +| 必要条件 | 理由 | +|-------------|----------------| +| .NET 6.0 以上 | Aspose.OCR は .NET Standard 2.0 を対象としているため、.NET 6+ で最高のパフォーマンスが得られます。 | +| Visual Studio 2022(または VS Code) | IDE がパッケージ管理を楽にしますが、任意のエディタでも構いません。 | +| NuGet パッケージ **Aspose.OCR** | 実際に OCR 処理を行うエンジンです。 | +| サンプル画像 (`sample.png`) と DJVU ファイル (`sample.djvu`) | 両方の抽出シナリオをデモするために使用します。 | + +パッケージは以下のコマンドでインストールできます。 + +```bash +dotnet add package Aspose.OCR +``` + +> **プロのコツ:** CI サーバー上でビルドする場合は、`--no-restore` をビルドステップに追加し、最初の一回だけ `restore` することで速度を向上させられます。 + +## Step 1: OCR エンジンの初期化 – c# OCR チュートリアルの核 + +最初に `OcrEngine` のインスタンスを作成します。ソフトウェアでスキャナをオンにするイメージです。 + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +なぜ毎回新しいエンジンを作るのか? エンジンは設定(言語、検出モード等)を保持しているため、毎回クリーンな状態で開始することで前回の設定が流出するのを防げます。 + +## Step 2: 画像を読み込み認識 – 画像からテキストを抽出する方法 + +次に通常のビットマップ(PNG、JPEG、BMP…)をエンジンに渡します。`RecognizeImage` メソッドは検出された文字列を返します。 + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +留意点は以下の通りです: + +* **ファイルの存在** – パスが間違っていると `FileNotFoundException` がスローされます。ユーザー入力のパスを受け取る場合は `try/catch` で囲んでください。 +* **画像の品質** – OCR は 300 dpi 以上で最適に動作します。低解像度のスキャンは文字化けしやすくなります。 +* **言語サポート** – デフォルトでは Aspose.OCR は英語を想定しています。別言語に変更するには、`ocrEngine.Language = Language.Spanish;` を `RecognizeImage` の前に設定します。 + +## Step 3: DJVU ドキュメントからテキストを認識 – DJVU をテキストに変換 + +DJVU は複数ページを保持できるコンテナ形式です。Aspose.OCR は直接処理できるので、ファイルを指すだけで OK です。 + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +内部では、エンジンが各ページを画像として抽出し、同じ認識パイプラインを実行します。そのため、別途「DJVU をテキストに変換」するステップは不要で、OCR エンジンが自動的に処理してくれます。 + +### マルチページ DJVU の取り扱い + +DJVU に複数ページがある場合、`RecognizeImage` は順番に結合して返します。ページごとに個別の文字列が必要なときは、`List` を返すオーバーロードを使用できます。 + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Step 4: エンジンを微調整して精度向上 – 重要性のポイント + +デフォルトの結果でもまずまずですが、いくつかの設定を調整するだけで精度を大幅に向上させられます。 + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +これらのフラグは、**DJVU に変換されたスキャン PDF からテキストを抽出** する際に特に有用です。向き検出を有効にすれば、画像を手動で回転させる手間が省けます。 + +## Step 5: ライセンスと実行時エラーへの対処 + +Aspose.OCR には無料トライアルが付属しており、数ページを超えると出力に「Demo」透かしが入ります。透かしを除去するにはライセンスファイルを追加してください。 + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +この手順を忘れるとエンジンは動作しますが、結果に「Demo」という文字が含まれます。また、巨大な DJVU ファイルを処理する際は `OutOfMemoryException` に注意し、前述のページ単位処理を検討してください。 + +## 完全な実行可能サンプル + +以下はすべてをまとめたコンソールアプリのコードです。コピーして貼り付け、ファイルパスを調整したら **Run** してください。 + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**期待される出力**(ファイルに「Hello World」というフレーズが含まれている場合): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +ソースに複数行がある場合は、元のドキュメントと同じ順序で表示されます。 + +## よくある質問 & エッジケースの対処 + +* **画像が白黒の場合は?** + OCR は問題なく動作しますが、`ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;` でコントラストを上げると精度が向上します。 + +* **数字だけ抽出したい場合は?** + `ocrEngine.CharWhitelist = "0123456789";` を `RecognizeImage` の前に設定すれば数字のみ取得できます。 + +* **ファイルサイズに上限はあるか?** + エンジンはファイル全体をメモリに読み込みます。約 100 MB を超える場合は、ページ単位で処理する(Step 3 のリストオーバーロード参照)ことを推奨します。 + +* **Tesseract と何が違うのか?** + Aspose.OCR は商用ライブラリで、DJVU 直接サポートやネイティブ依存が不要です。一方 Tesseract はネイティブバイナリと別途 DJVU 変換ツールが必要です。 + +## 結論 + +これで **c# OCR チュートリアル** は完了です。Aspose.OCR を使って **画像からテキストを抽出** し、シームレスに **DJVU をテキストに変換** する方法を学びました。パッケージのインストールからライセンス設定、単ページ画像抽出からマルチページ DJVU の取り扱い、精度向上のコツまで網羅しています。 + +次のステップとしては、PDF からテキストを抽出する方法を調べたり、OCR 処理を Web API に組み込んだり、マルチリンガル文書向けに言語パックを試したりすると良いでしょう。要点はシンプルです:エンジンを設定し、ファイルを渡し、文字列を取得するだけです。 + +質問があればコメントで教えてください。自分のドキュメントでコードを試し、楽しいコーディングを! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# OCR tutorial – console output 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/japanese/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/japanese/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..8667a742 --- /dev/null +++ b/ocr/japanese/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,226 @@ +--- +category: general +date: 2026-01-09 +description: C# OCR チュートリアルで、画像ファイルからテキストを抽出し、PNG からテキストを認識し、画像を文字列に変換し、Aspose.OCR + を使用して言語を自動的に検出する方法を示します。 +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: ja +og_description: c# OCRチュートリアルでは、画像からテキストを抽出し、pngファイルのテキストを認識し、画像を文字列に変換し、Aspose OCRを使用して言語を自動検出する方法をステップバイステップで解説します。 +og_title: c# OCR チュートリアル – 画像からテキストを抽出 +tags: +- C# +- OCR +- Aspose +- Image Processing +title: C# OCRチュートリアル – Aspose OCRで画像からテキストを抽出 +url: /ja/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Aspose OCR を使用した画像からテキストを抽出 + +実際の PNG ファイルで動作する **c# ocr tutorial** が必要だったことはありませんか?レシートスキャナーや多言語フォームプロセッサを作っているか、テキストの画像を検索可能な文字列に変換する方法が気になるだけかもしれません。どんなケースでも、ここが正しい場所です。 + +このガイドでは、**extract text from image** ファイル、**recognize text from png**、**convert image to string**、さらには **detect language automatically** を Aspose.OCR ライブラリを使ってステップバイステップで実演します。曖昧な説明はなく、Visual Studio にコピー&ペーストできる完全な実行可能サンプルを提供します。 + +## 必要なもの + +- .NET 6.0 以降(コードは .NET Core や .NET Framework でも動作します) +- NuGet 参照として `Aspose.OCR`(バージョン 23.9 以上) +- 画像ファイル(この例では `mixed‑script.png`)をアプリが読み取れる場所に配置 +- C# の基本的な理解(“Hello World”を書いたことがあれば問題ありません) + +> **Pro tip:** まだライセンスを持っていない場合、Aspose はテスト用の無料一時ライセンスを提供しています。`.lic` ファイルを実行ファイルの隣に置くだけです。 + +## Step 1 – Aspose.OCR NuGet パッケージのインストール + +まず、ライブラリをプロジェクトに追加します。Package Manager Console を開き、次のコマンドを実行してください。 + +```powershell +Install-Package Aspose.OCR +``` + +または UI が好きな場合は、*Dependencies → Manage NuGet Packages* を右クリックし、**Aspose.OCR** を検索してください。 + +## Step 2 – OCR エンジンの準備 (c# ocr tutorial core) + +ここでは `OcrEngine` インスタンスを作成し、言語を自動検出するように設定し、PNG ファイルを指定します。 + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### `Language = OcrLanguage.AutoDetect` を設定する理由 + +自動言語検出により、画像が英語、ロシア語、アラビア語、またはそれらの混在かを推測する手間が省けます。**detect language automatically** のシナリオで最も柔軟なオプションであり、Aspose がサポートするほとんどのスクリプトで即座に機能します。 + +## Step 3 – アプリケーションの実行と出力の確認 + +プログラムをコンパイルして実行します(`dotnet run` または Visual Studio で **F5** を押す)。すべて正しく設定されていれば、以下のような出力が表示されます。 + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +この出力により、**extract text from image**、**recognize text from png**、**convert image to string** を単一の簡潔なスニペットで成功させたことが証明されます。 + +## Step 4 – よくあるバリエーションとエッジケース + +### 複数画像の処理 + +PNG のディレクトリを処理する必要がある場合は、認識呼び出しを `foreach` ループでラップします。 + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### 固定言語の指定 + +場合によっては事前に言語が分かっていることがあります(例:英語のみ)。`AutoDetect` を `OcrLanguage.English` に置き換えることで処理速度を向上させられます。 + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### 低品質スキャンへの対処 + +Aspose.OCR では前処理オプション(ノイズ除去、傾き補正)を提供しています。簡単な対処法は次の通りです。 + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### 結果をファイルに保存 + +コンソールに出力する代わりに、抽出したテキストを `.txt` ファイルに書き込むこともできます。 + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Step 5 – 完全な動作例(コピー&ペースト可能) + +以下はオプションの前処理とファイル出力ロジックを含む **complete program** です。パスは自由に調整してください。 + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### 期待される出力 + +英語、ロシア語、アラビア語が含まれる PNG でプログラムを実行すると、次のような出力が得られます。 + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +画像が空白または読めない場合、エンジンは空文字列を返します。続行前に `string.IsNullOrWhiteSpace(extractedText)` でチェックしてこのケースを処理してください。 + +## よくある質問 (FAQs) + +**Q: Aspose.OCR は手書き文字をサポートしていますか?** +A: 主に印刷されたテキストの OCR に焦点を当てています。手書き文字の場合は、専用の機械学習モデルや Azure Computer Vision などのサービスが必要です。 + +**Q: Linux/macOS でも実行できますか?** +A: もちろんです。Aspose.OCR はクロスプラットフォーム対応で、OS 用の .NET ランタイムをインストールすれば動作します。 + +**Q: PNG ではなく PDF を処理したい場合はどうすればよいですか?** +A: まず各 PDF ページを画像に変換します(例: `Aspose.PDF` を使用)。その後、画像を OCR エンジンに渡します。 + +## 結論 + +これで **c# ocr tutorial** が完了しました。Aspose.OCR を使用して **extracting text from image** ファイル、**recognizing text from png**、**converting the image to a string**、そして **detecting language automatically** を順に解説しました。コードは短く、概念は明確で、バッチ処理やカスタム言語設定、さらには Web API への統合などに拡張できます。 + +次のステップは?OCR の出力を検索インデックスに投入したり、翻訳サービスに渡したり、Azure Cognitive Services と組み合わせてよりリッチなデータパイプラインを構築したりしてみてください。C# における画像からテキストへの変換の基本をマスターすれば、可能性は無限です。 + +コーディングを楽しんで、さまざまな画像品質で実験することを忘れないでください—OCR エンジンが感謝してくれるでしょう! + +![c# ocr tutorial – mixed‑script PNG の OCR 出力例](placeholder-image.png "c# ocr tutorial – 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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/japanese/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..2828c07c --- /dev/null +++ b/ocr/japanese/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-01-09 +description: Aspose OCRでPNGからテキストを迅速に抽出しましょう。画像のテキストの読み取り方法、OCR精度の向上、そしてC#でクリーンな結果を得る方法を学びます。 +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: ja +og_description: Aspose OCRでPNGからテキストを迅速に抽出。画像の文字を読み取る方法、OCR精度の向上、そしてC#でクリーンな結果を得る方法を学びましょう。 +og_title: PNGからテキストを抽出する – 完全なAspose OCRチュートリアル +tags: +- Aspose OCR +- C# +- Image Processing +title: PNGからテキストを抽出 – 完全なAspose OCRチュートリアル +url: /ja/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNGからテキストを抽出 – 完全な Aspose OCR チュートリアル + +PNGファイルから **PNGからテキストを抽出** したことがありますか?しかし結果が意味不明な文字だらけだったことはありませんか?あなたは一人ではありません。実務のプロジェクト—請求書、領収書、スキャンしたフォーム—では、OCR の出力品質が自動化パイプラインの成否を左右します。 + +このガイドでは、Aspose OCR を使用して画像テキストを読み取る **step‑by‑step** の方法を示し、**OCR の精度を向上** させるカスタム辞書を追加し、ノイズを除去し、最終的に整った文字列を出力します。最後まで読めば、PNG 画像から確実にテキストを抽出できる C# コンソール アプリがすぐに実行可能になります。 + +> **学べること** +> * 完全で実行可能なコードサンプル +> * カスタム辞書が重要になる理由の理解 +> * 低コントラストのスキャンなどのエッジケースへの対処法 + +## 前提条件 + +- .NET 6 SDK 以降(コードは .NET 6 を対象としていますが、.NET 5 でも動作します)。 +- Visual Studio 2022 またはお好みのエディタ。 +- 処理したい **PNG** 画像(例:`invoice.png`)。 +- **Aspose.OCR** NuGet パッケージ(`dotnet add package Aspose.OCR`)。 + +追加の設定ファイルは不要です。すべては単一の `.cs` ファイルに収められます。 + +## Step 1 – Aspose OCR のインストールと参照 + +まず、ライブラリをプロジェクトに追加します。ソリューション フォルダーでターミナルを開き、次のコマンドを実行してください。 + +```bash +dotnet add package Aspose.OCR +``` + +この一行で最新の安定版(2026 年 1 月時点でバージョン 23.9)を取得します。パッケージにはチュートリアル全体で使用する `OcrEngine` クラスが含まれています。 + +## Step 2 – OCR エンジンの初期化 + +`OcrEngine` インスタンスを作成することが基礎となります。ピクセルを解釈できるスキャナをオンにするイメージです。 + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Pro tip:** 多数の画像をループで処理する場合は、同じ `OcrEngine` インスタンスを再利用してください。内部リソースがキャッシュされ、以降の呼び出しが高速化されます。 + +## Step 3 – カスタム辞書で精度を向上 + +標準の OCR は優秀ですが、 “Aspose” や “OCR”、 “SDK” といったドメイン固有語に苦戦することがあります。これらの語句を **custom dictionary** に追加すると、エンジンはそれらの文字列を有効とみなし、誤認識が減少します。 + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### カスタム辞書が有効な理由 + +- OCR の背後にある **Statistical models** は一般的な言語パターンに重みを置きます。珍しい語は確率が低く、似た形の文字に置き換えられやすくなります。 +- 明示的に列挙することで、モデルの推測を上書きできます。 +- 製品コード、略語、ブランド名が含まれる **read image text** に特に便利です。 + +## Step 4 – PNG ファイルからテキストを認識 + +次に、エンジンに画像パスを渡します。`RecognizeImage` メソッドは、生の文字列を返しますが、エンジンがマッピングできなかった未知のトークン(例: “#@!”)が残ります。 + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Edge case:** ファイルが見つからない場合、`RecognizeImage` は `FileNotFoundException` をスローします。実装時は try‑catch でラップしてください。 + +## Step 5 – `CleanText` で結果をクリーンアップ + +Aspose OCR には「未知」とフラグ付けされた文字を除去するヘルパーが同梱されています。このステップは、下流のパーサが英数字と基本的な句読点のみを期待する **extract text from image** プロジェクトで特に重要です。 + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +`CleanText` メソッドは改行コードも正規化し、データベースへの保存や他サービスへの受け渡しが安全になるよう出力を整えます。 + +## Step 6 – クリーンテキストの出力 + +最後に結果を表示または保存します。コンソール アプリでは `Console.WriteLine` が手軽です。 + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +プログラムを実行すると、`invoice.png` の内容を鏡写しした整ったテキストブロックが表示されます。画像に “Aspose” が含まれていれば、カスタム辞書のおかげで正しく表示され、 “A5p0se” のような誤認識は起きません。 + +## 完全な動作例 + +すべてをまとめると、以下の `Program.cs` を新しいコンソール プロジェクトにコピーペーストすれば完了です。 + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**期待される出力**(PNG にシンプルな請求書が含まれていると仮定): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +余計な記号が出た場合は、画像品質を再確認するか、カスタム辞書にさらに語句を追加してください。 + +## ボーナス: 低品質スキャンへの対処 + +PNG が 72 dpi でスキャンされていたり、圧縮アーティファクトが多い場合があります。C# を離れずに **OCR の精度を向上** させるための簡単なテクニックをいくつか紹介します。 + +1. `SixLabors.ImageSharp` などのライブラリで **Pre‑process the image** – コントラストを上げ、グレースケールに変換、または軽いブラーをかけてノイズを減らす。 +2. `OcrEngine` の `Resolution` プロパティを設定(例: `ocrEngine.Resolution = 300;`)し、エンジンに高解像度として扱わせる。 +3. 非英語テキストを扱う場合は **Enable language packs**(例: `ocrEngine.Language = Language.English;`)。 + +これらの手法はすべて `RecognizeImage` 呼び出しの前に追加できます。 + +## Frequently Asked Questions + +- **Does this work with other image formats?** + Yes. `RecognizeImage` は JPEG、BMP、TIFF、さらには PDF(画像コンテナとして)も受け付けます。同じ手順が適用できます。 + +- **Can I extract text from multiple PNGs in a folder?** + Absolutely. コアロジックを `foreach (var file in Directory.GetFiles(folder, "*.png"))` ループで囲み、各結果をリストに格納するか別ファイルに書き出してください。 + +- **What if I need the text coordinates?** + Aspose OCR はバウンディング ボックスを含む `OcrResult` オブジェクトも提供します。高度なシナリオでは `ocrEngine.RecognizeImageToResult(imagePath)` を使用してください。 + +## Conclusion + +本稿では、Aspose OCR を用いて **complete, end‑to‑end** に **PNG からテキストを抽出** するソリューションを紹介しました。エンジンの初期化、**custom dictionary** の投入、生データのクリーンアップ、そして一般的な落とし穴への対処を行うことで、C# アプリケーション内で確実に **read image text** し、**OCR の精度を向上** させることができます。 + +次のステップに進む準備はできましたか?PNG をスキャンした領収書に差し替えてみたり、辞書にさらにドメイン固有語を追加したり、出力をデータベースに連携して自動請求書処理を実装したりしてみてください。Aspose OCR と .NET の豊かなエコシステムを組み合わせれば、可能性は無限です。 + +Happy coding, and may your OCR always be spot‑on! + +![Extract text from png example](/images/extract-text-from-png.png "extract text from png – Aspose OCR demo") + +{{< /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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/japanese/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..53a367f3 --- /dev/null +++ b/ocr/japanese/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,259 @@ +--- +category: general +date: 2026-01-09 +description: C#でAspose OCRを使用してTIFFファイルからテキストを抽出します。このステップバイステップのチュートリアルで、各結果の最初の50文字を取得する方法を学びましょう。 +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: ja +og_description: C#でAspose OCRを使用してTIFFからテキストを抽出します。このガイドでは、各OCR結果の最初の50文字をステップバイステップで取得する方法を示します。 +og_title: Aspose OCRでTIFFからテキストを抽出する – 完全なC#ガイド +tags: +- Aspose OCR +- C# +- TIFF processing +title: Aspose OCR C# を使用した TIFF からのテキスト抽出 – 完全チュートリアル +url: /ja/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# TIFFからテキストを抽出 – 完全な Aspose OCR C# チュートリアル + +TIFF 画像から **テキストを抽出** したいことはありますか?どのライブラリを信頼すべきか分からないと感じたことはありませんか?同じ悩みを抱える開発者は多いです。特にパフォーマンスが重要な場合、マルチページ TIFF から検索可能なテキストを取得しようとして壁にぶつかることがよくあります。 + +この **aspose ocr c# tutorial** では、フルテキストを抽出するだけでなく、各ページの **最初の 50 文字** を取得してプレビューを作成する方法も紹介します。最後まで読めば、任意の .NET プロジェクトに組み込める自己完結型プログラムが手に入ります。 + +## 必要なもの + +- .NET 6(または最近の .NET バージョン) – コードは .NET Core と .NET Framework のどちらでもコンパイル可能です。 +- 有効な Aspose.OCR for .NET ライセンス(無料トライアルから開始可能)。 +- 処理したい `.tif` ファイルが 1 つ以上入っているフォルダー。 +- Visual Studio、VS Code、またはお好みの IDE – サンプルは純粋な C# なのでエディタは問いません。 + +> **Pro tip:** CI サーバー上で作業している場合は、プロジェクト ファイルに Aspose.OCR NuGet パッケージ(`Aspose.OCR`)を追加してください。ライブラリは完全にマネージドで、ネイティブ依存関係がありません。 + +## Step 1: Install the Aspose OCR NuGet Package + +まずは OCR エンジンをプロジェクトに導入します。ソリューション フォルダーでターミナルを開き、次のコマンドを実行してください。 + +```bash +dotnet add package Aspose.OCR +``` + +このコマンドは最新の安定版(2026 年 1 月時点で 23.9)を取得し、`.csproj` を自動的に更新します。手動で DLL を配置する必要はありません。 + +## Step 2: Initialize the OCR Engine + +次に `OcrEngine` のインスタンスを作成します。これは TIFF の各ページを読み取る「脳」のようなものです。 + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +エンジンを一度だけインスタンス化する理由は何でしょうか?`RecognizeImages` はファイル パスのコレクションを受け取れるため、内部バッファを再利用でき、バッチ処理の速度が大幅に向上します。 + +## Step 3: Gather All TIFF Files in One Call + +ディレクトリを自分でループする代わりに、.NET に任せて一括取得します。`Directory.GetFiles` メソッドは `IEnumerable` を返すので、そのまま OCR 呼び出しに渡せます。 + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **画像が JPEG や PNG の場合は?** 検索パターンを `"*.jpg"` や `"*.*"` に変更すれば OK です。Aspose OCR は一般的なラスタ形式すべてに対応しています。 + +## Step 4: Run OCR on the Whole Collection + +以下の一行で、すべてのファイルを一括で処理します。メソッドは、キーがファイル パス、値が認識テキストを保持する `OcrResult` オブジェクトとなるディクショナリを返します。 + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +バッチ処理を行う理由は何ですか?OCR エンジンのロードを繰り返すオーバーヘッドが削減され、マルチコア マシンでは内部で並列化されるため、顕著な速度向上が得られます。 + +## Step 5: Show a Preview – Get First 50 Characters + +多くの UI シナリオでは、全文ではなくスニペットだけが必要です。ここでは最初の 50 文字(ページが短い場合はそれ未満)を抽出し、ファイル名と共に表示します。 + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +`Math.Min(50, fullText.Length)` によって文字列の範囲を超えることが防がれ、OCR 結果が 50 文字未満の場合でも `ArgumentOutOfRangeException` が発生しません。 + +### Expected Console Output + +2 つの TIFF ファイル(`invoice1.tif` と `receipt2.tif`)があると仮定すると、コンソールは次のように表示されるかもしれません。 + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +各行は省略記号(`...`)で終わり、プレビューが長いテキストの冒頭に過ぎないことを示しています。 + +## Step 6: Handle Edge Cases and Common Pitfalls + +### Empty or Corrupt Files + +ファイルの読み取りに失敗した場合でも、`RecognizeImages` は空の `Text` プロパティを持つエントリを返します。次のようにフィルタリングできます。 + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Large Batches + +数千枚の TIFF を処理するとメモリ使用量が増大します。そのような場合は、画像ごとに `Stream` を受け取るオーバーロードを使用するか、リストを小さなチャンクに分割して処理してください。 + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Language and Font Support + +文書にラテン文字以外が含まれる場合は、`RecognizeImages` を呼び出す前に言語を設定します。 + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +この小さな設定で認識精度が大幅に向上します。 + +## Step 7: Full Working Example (Copy‑Paste Ready) + +以下は新しいコンソール プロジェクト(`dotnet new console`)に貼り付けてそのまま実行できる完全プログラムです。`YOUR_DIRECTORY/Batch` を実際のパスに置き換えてください。 + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +`dotnet run` でプログラムを実行すると、各 TIFF ファイルの簡潔なプレビューが表示され、**TIFF からテキストを抽出** できたことが確認できます。 + +## Frequently Asked Questions (FAQ) + +**Q: Does this work with multi‑page TIFFs?** +A: Yes. Aspose OCR treats each page as a separate image internally, so a multi‑page TIFF yields a single concatenated string per file. You can split it later if needed. + +**Q: How accurate is the OCR out of the box?** +A: For clean, high‑resolution scans (300 DPI or higher) you can expect >95 % accuracy on English text. Pre‑processing (deskew, binarization) can push it even higher. + +**Q: Can I output the results to a CSV file?** +A: Absolutely. Replace the `Console.WriteLine` with a `StreamWriter` and write `fileName,preview` rows. Remember to escape commas in the preview text. + +## Next Steps and Related Topics + +- **Persist OCR results** – Store the full text in a database for searchable archives. +- **Combine with PDF conversion** – Use Aspose.PDF to embed the extracted text back into searchable PDFs. +- **Batch processing on Azure Functions** – Scale out the OCR work without managing servers. + +これらすべての拡張は、**TIFF からテキストを抽出** するというコア アイデアに基づきつつ、**最初の 50 文字** を取得して UI プレビューを高速に提供するという目的に合致しています。 + +--- + +*Happy coding! If you run into any quirks, drop a comment below – I’ll do my best to help you fine‑tune the OCR pipeline.* + +![Extract text from TIFF using Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extract text from TIFF using Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/japanese/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..012d2735 --- /dev/null +++ b/ocr/japanese/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-01-09 +description: C#でAspose OCRを使用してJPGのテキストを迅速に認識します。画像からテキストを抽出し、画像をJSONおよびEPUBに変換する方法を1つのチュートリアルで学びましょう。 +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: ja +og_description: Aspose OCRでJPGのテキストを認識します。このガイドでは、画像からテキストを抽出し、画像をJSONやEPUBに変換し、画像からePubを作成する方法を示します。 +og_title: JPGでテキストを認識する – 完全C#チュートリアル +tags: +- Aspose OCR +- C# +- Image Processing +title: Aspose OCRでJPGのテキストを認識する – 完全C#ガイド +url: /ja/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# JPG 画像のテキスト認識 – 完全 C# ガイド + +JPG ファイルの **テキスト認識** が必要だったことはありませんか? どのライブラリを選べばよいか分からずに悩んだことがある方も多いでしょう。写真やスキャンした文書から文字を抽出しようとしたとき、多くの開発者が同じ壁にぶつかります。 + +良いニュースです。Aspose OCR を使えば、数行の C# コードで **画像からテキストを抽出** でき、すぐに **画像を JSON に変換** したり **画像を EPUB に変換** したりできます—IDE を離れることはありません。 + +このチュートリアルでは、適切な NuGet パッケージのインストールから JPG のテキスト認識、結果を構造化された JSON および ePub ドキュメントとして保存するまで、全工程を順に解説します。最後まで実施すれば、**画像から ePub を作成** できるようになり、e‑ラーニングプラットフォームやデジタルライブラリ、検索可能な電子書籍が必要なアプリケーションに便利なテクニックとなります。 + +--- + +## 必要なもの + +- **.NET 6+**(または .NET Framework 4.6+)。コードは最新のランタイムであればどれでも動作します。 +- **Aspose.OCR** NuGet パッケージ – コア OCR エンジン。 +- **Aspose.Publishing** NuGet パッケージ – ePub 出力形式に必要です。 +- ディスク上の任意の場所にある `input.jpg` という名前の画像ファイル(パスはご自身の環境に合わせて変更してください)。 +- テキストエディタまたは IDE(Visual Studio、VS Code、Rider など) + +以上です。余計なサービスや外部 API は不要で、ライブラリと JPG ファイルだけで完結します。 + +--- + +## 手順 1: プロジェクトを **JPG のテキスト認識** 用に設定する + +まず、新しいコンソール アプリケーションを作成します(既存プロジェクトに追加しても構いません)。次に、NuGet パッケージ マネージャーを使って 2 つの Aspose パッケージを追加します: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **プロのコツ:** Visual Studio を使用している場合、プロジェクトを右クリック → *NuGet パッケージの管理* → *Aspose.OCR* と *Aspose.Publishing* を検索し、**インストール** をクリックします。 + +これらのパッケージにより、**画像からテキストを抽出** し、後で ePub ファイルを出力するために必要なすべてが揃います。 + +--- + +## 手順 2: Aspose OCR を使用して **画像からテキストを抽出** + +ここでは、JPG を読み込み文字を抽出するコードを書きます。 + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**このコードが機能する理由:** `OcrEngine` は低レベルの画像前処理、言語検出、文字セグメンテーションをすべて抽象化します。ファイルを指定するだけで、プレーンテキスト文字列(`ocrResult.Text`)と豊富なメタデータを含む `OcrResult` オブジェクトが返されます。 + +--- + +## 手順 3: **画像を JSON に変換** – OCR 結果のエクスポート + +OCR の出力を構造化された形式(API、データベース、下流処理など)で保存したい場合、Aspose は結果を JSON にシリアライズする作業を簡単に行えます。 + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +生成される JSON は概ね以下のようになります(簡略化しています): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**使用シーン:** OCR データをウェブサービスに渡す場合や、NoSQL ストアに保存する場合、あるいは任意の言語でパース可能な汎用的な表現が必要な場合に JSON は最適です。 + +--- + +## 手順 4: **画像を EPUB に変換** – 電子書籍として保存 + +Aspose Publishing は EPUB を含む複数の電子書籍フォーマットをサポートします。`OcrResult` の `Save` メソッドを呼び出すことで、認識されたテキストと(オプションで)元画像を含む完全に準拠した ePub ファイルを生成できます。 + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**得られるもの:** 任意のリーダー(Calibre、Apple Books、Adobe Digital Editions など)で開ける ePub が生成されます。ファイルには検索可能なテキストコンテンツとして抽出された文字列と、背景レイヤーとして元画像が含まれます—**画像から ePub を作成** パイプラインに最適です。 + +--- + +## 手順 5: 完全動作サンプル – JPG から JSON と EPUB へ + +すべてを統合した、実行可能な完全プログラムを以下に示します。`Program.cs` にコピー&ペーストし、ファイルパスを調整して **F5** を押してください。 + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +プログラムを実行すると、次の 3 つが確認できます: + +1. コンソールに認識されたテキストが表示される。 +2. 構造化された OCR データを含む `output.json` ファイルが生成される。 +3. 任意の電子書籍リーダーで開ける `output.epub` ファイルが生成される。 + +--- + +## よくある質問とエッジケース + +- **画像が PNG や BMP の場合は?** + Aspose OCR はほとんどのラスタ形式(PNG、BMP、TIFF、GIF)をサポートしています。`inputPath` の拡張子を変更すれば、同じコードが動作します。 + +- **英語以外の言語を指定できますか?** + はい。`RecognizeImage` を呼び出す前に `ocrEngine.Language = OcrLanguage.French;`(またはサポートされている任意の言語)を設定してください。 + +- **マルチページ PDF はどうしますか?** + PDF の場合、まず各ページを画像に変換します(Aspose.PDF が可能)。その後、各画像を `RecognizeImage` に渡します。得られた `OcrResult` オブジェクトは、JSON や EPUB にエクスポートする前にマージできます。 + +- **信頼度スコアが低いです。精度を上げるには?** + 画像を前処理します:コントラストを上げる、傾きを補正する、グレースケールに変換するなど。Aspose OCR には調整可能な `PreprocessOptions` も用意されています。 + +--- + +## 結論 + +これで、Aspose OCR を使用して **JPG ファイルのテキスト認識** を行い、データパイプライン用に **画像を JSON に変換**、検索可能な電子書籍を作成するために **画像を EPUB に変換** という、エンドツーエンドの確実な手順が手に入りました。この手法は軽量で、必要なのは 2 つの NuGet パッケージだけ、そして最新の .NET ランタイムすべてで動作します。 + +ここからは次のような活用が考えられます: + +- JSON 出力を検索インデックス(Azure Cognitive Search、Elastic など)に統合する。 +- 画像フォルダーをバッチ処理し、ePub 書籍のライブラリを生成する。 +- 翻訳 API と組み合わせて、マルチ言語の電子書籍を自動的に作成する。 + +ぜひ試してみて、画像の品質を変えて実験し、OCR エンジンに重い処理を任せてください。コーディングを楽しんで! + +![JPG 画像のテキスト認識 出力スクリーンショット](placeholder-image.png "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/net/ocr-configuration/_index.md b/ocr/korean/net/ocr-configuration/_index.md index e00d1286..f54df820 100644 --- a/ocr/korean/net/ocr-configuration/_index.md +++ b/ocr/korean/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ Aspose.OCR을 사용하여 .NET에서 OCR 이미지 인식 기능을 활용하 .NET용 Aspose.OCR로 강력한 OCR 기능을 잠금 해제하세요. 이미지에서 텍스트를 원활하게 추출합니다. ### [OCR 이미지 인식에서 목록을 사용한 OCOperation](./ocr-operation-with-list/) .NET용 Aspose.OCR의 잠재력을 활용해 보세요. 목록을 사용하여 OCR 이미지 인식을 손쉽게 수행하세요. 애플리케이션의 생산성과 데이터 추출을 향상하십시오. +### [C#에서 GPU 지원으로 이미지 OCR하기 – 완전 가이드](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +GPU 가속을 활용해 C#에서 이미지 OCR을 빠르고 정확하게 수행하는 방법을 단계별로 안내합니다. +### [Aspose OCR을 사용하여 이미지에서 텍스트 인식 – 완전 C# 가이드](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +C#에서 Aspose OCR을 활용해 이미지 텍스트를 빠르고 정확하게 추출하는 전체 가이드를 제공합니다. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/korean/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..79b65a86 --- /dev/null +++ b/ocr/korean/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-01-09 +description: Aspose.OCR를 사용하여 이미지 OCR 및 이미지 텍스트를 추출하는 방법을 배우세요. 스캔한 문서를 변환하고, GPU를 + 활성화하며, OCR로 이미지를 읽는 단계가 포함됩니다. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: ko +og_description: Aspose.OCR을 사용하여 이미지를 빠르게 OCR하는 방법. 이미지 텍스트를 추출하고, 스캔된 문서를 변환하며, GPU를 + 활성화하는 단계별 튜토리얼을 따라보세요. +og_title: C#에서 이미지 OCR하는 방법 – GPU 가속 가이드 +tags: +- OCR +- C# +- Aspose +- Image Processing +title: C#에서 이미지 OCR하는 방법 – GPU 지원 완전 가이드 +url: /ko/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C#에서 이미지 OCR 하는 방법 – GPU 지원 완전 가이드 + +.NET 앱에서 직접 **how to OCR image** 파일을 처리하고 싶으셨나요? 여러분만 그런 것이 아닙니다—개발자들은 PDF, TIFF, 사진 등에서 텍스트를 추출해야 할 일이 많으며, 특히 대용량 스캔 문서를 다룰 때 더욱 그렇습니다. 좋은 소식은 Aspose.OCR을 사용하면 몇 줄의 코드만으로 **extract image text** 를 할 수 있고, **enable GPU** 가속을 통해 처리 속도를 높일 수도 있다는 점입니다. + +이 튜토리얼에서는 라이브러리 설치부터 GPU 폴백을 포함한 OCR 엔진 초기화, 최종적으로 **read image with OCR** 하고 결과를 표시하는 방법까지 모든 과정을 단계별로 살펴봅니다. 끝까지 따라오시면 외부 서비스를 사용하지 않고도 **convert scanned document** 이미지를 편집 가능한 문자열로 변환할 수 있게 됩니다. + +--- + +## 준비 사항 + +작업을 시작하기 전에 아래 항목을 준비해 주세요. + +- **.NET 6.0** 이상 (코드는 .NET Core와 .NET Framework에서도 동작합니다). +- Aspose.OCR 라이선스 또는 임시 평가 키(무료 체험판으로 테스트 가능). +- 처리할 이미지 파일—가능하면 고해상도 TIFF 또는 PNG 형식. +- (선택) GPU가 활성화된 머신(속도 향상을 확인하고 싶을 경우). GPU가 없으면 엔진이 자동으로 CPU로 전환됩니다. + +위 사전 조건을 충족하면 나중에 막히는 일 없이 OCR 워크플로에 집중할 수 있습니다. + +--- + +## Step 1: Install Aspose.OCR NuGet Package + +먼저—프로젝트에 Aspose.OCR 라이브러리를 추가합니다. 솔루션 폴더에서 터미널을 열고 다음 명령을 실행하세요: + +```bash +dotnet add package Aspose.OCR +``` + +또는 Visual Studio의 NuGet UI에서 **Aspose.OCR**을 검색해 설치하면 됩니다. 이 한 줄 명령으로 필요한 모든 DLL과, 가능한 경우 GPU 네이티브 바이너리까지 자동으로 가져옵니다. + +> **Pro tip:** 패키지를 최신 상태로 유지하세요. 새 릴리스에는 언어 모델 개선 및 GPU 지원 향상이 포함되는 경우가 많습니다. + +--- + +## Step 2: Import Required Namespaces + +패키지를 설치했으니 이제 필요한 네임스페이스를 가져옵니다. 여기서부터가 **how to OCR image** 를 코드로 구현하는 단계입니다. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +위 두 줄을 추가하면 `OcrEngine` 클래스와 GPU 사용 여부를 제어하는 설정 객체에 접근할 수 있습니다. 이 선언이 없으면 컴파일러는 `OcrEngine`이 무엇인지 알 수 없습니다. + +--- + +## Step 3: Initialize the OCR Engine and Enable GPU + +**how to enable GPU** for OCR에 대해 궁금했다면 여기서 답을 찾을 수 있습니다. `OcrEngineSettings` 인스턴스를 만들고 `UseGpu` 플래그를 켠 뒤 엔진 생성자에 전달합니다. 엔진은 호환 가능한 GPU가 있는지 자동으로 감지하고, 없을 경우 CPU로 폴백하므로 별도의 오류 처리가 필요 없습니다. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +GPU를 활성화하는 이유는 무엇일까요? 대용량 이미지—예를 들어 다중 페이지 TIFF나 고해상도 스캔—의 경우 처리 시간이 몇 초에서 1초 이하로 단축될 수 있습니다. 배치 처리 파이프라인을 구축한다면 이 속도 향상이 크게 누적됩니다. + +--- + +## Step 4: Perform OCR on Your Target Image + +이제 실제로 **read image with OCR** 를 수행합니다. 파일 경로를 전달하면 엔진이 인식된 텍스트를 문자열로 반환합니다. Aspose가 지원하는 모든 래스터 포맷(PNG, JPEG, TIFF, BMP 등)에서 동작합니다. + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +스캔한 문서 페이지를 하나씩 **convert scanned document** 하려면 파일 이름을 순회하면서 `RecognizeImage`를 호출하면 됩니다. 이 메서드는 스레드 안전(thread‑safe)하므로 멀티코어 CPU에서 작업을 병렬화할 수도 있습니다. + +--- + +## Step 5: Display or Persist the Extracted Text + +마지막으로 결과를 출력합니다. 콘솔 앱에서는 `Console.WriteLine`이 가장 간단합니다. 실제 서비스에서는 텍스트를 데이터베이스, JSON 파일, 혹은 검색 인덱스에 저장할 수 있습니다. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +위 코드는 OCR 원본 출력을 콘솔에 출력합니다. 줄 바꿈, 가끔 발생하는 오인식 문자, 그리고 몇몇 잡다한 문자들을 확인할 수 있을 텐데, 이는 OCR에서 흔히 발생하는 현상입니다. 필요에 따라 정규식 등을 활용해 후처리하면 깔끔하게 정리할 수 있습니다. + +> **Note:** Aspose.OCR은 언어별 사전도 지원합니다. 비영어 텍스트를 처리할 경우 `ocrEngine.Settings.Language`을 적절히 설정한 뒤 `RecognizeImage`를 호출하세요. + +--- + +## Full Working Example + +전체 흐름을 한 번에 보여드리면, 아래와 같은 독립 실행형 프로그램을 새 콘솔 프로젝트에 복사·붙여넣기만 하면 됩니다: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**예상 출력** (일부만 발췌): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +프로그램을 실행하면 콘솔 창에 추출된 텍스트가 표시됩니다. GPU가 사용 가능하면 CPU 전용 머신보다 처리 시간이 눈에 띄게 짧아집니다. + +--- + +## Common Pitfalls & How to Avoid Them + +| Issue | Why It Happens | Fix | +|-------|----------------|-----| +| **Garbage characters** | Low‑resolution source or noisy background. | Pre‑process the image (increase DPI, apply binarization) before OCR. | +| **GPU not used** | No compatible CUDA driver installed. | Verify driver version, or set `UseGpu = false` to force CPU. | +| **Out‑of‑memory on large TIFFs** | Loading the whole file at once. | Use `OcrEngineSettings.MaxMemoryUsage` to limit footprint, or process pages individually. | +| **Incorrect language detection** | Default language is English. | Set `ocrEngine.Settings.Language = Language.YourLanguage;` before calling `RecognizeImage`. | + +위와 같은 상황을 미리 대비하면 **how to OCR image** 구현이 다양한 환경에서도 견고하게 동작합니다. + +--- + +## Extending the Solution + +이제 **extract image text** 를 할 수 있게 되었으니, 다음과 같은 확장을 고려해 보세요: + +- **Convert scanned document** PDF를 OCR 레이어가 포함된 검색 가능한 PDF로 변환. +- 결과를 **Azure Cognitive Search** 인덱스에 저장해 빠른 검색 구현. +- OCR 출력물을 **translation API**와 연동해 다국어 지원. +- **Aspose.OCR**의 `GetBoundingBoxes` 메서드를 사용해 각 단어가 이미지 상에 위치한 좌표를 얻어, 민감 정보 마스킹 등에 활용. + +이 모든 확장은 앞서 다룬 “엔진 초기화 → 이미지 전달 → 텍스트 읽기” 흐름을 기반으로 합니다. + +--- + +## Conclusion + +이번 튜토리얼에서는 Aspose.OCR을 이용해 C#에서 **how to OCR image** 를 구현하는 전체 과정을 살펴보았습니다. NuGet 패키지 설치, 올바른 네임스페이스 가져오기, GPU 활성화(또는 CPU 폴백) 및 `RecognizeImage` 호출을 통해 **extract image text**, **convert scanned document** 페이지, **read image with OCR** 등을 안정적으로 수행할 수 있습니다. + +직접 몇 개의 스캔 파일을 가지고 실험해 보세요—이미지 포맷을 바꾸고, GPU 플래그를 토글해 보면서 성능 변화를 확인해 보시기 바랍니다. 준비가 되었다면 언어 사전, 바운딩 박스 추출 등 고급 기능을 탐색해 솔루션을 한층 더 스마트하게 만들어 보세요. + +Happy coding, and may your OCR pipelines be fast, accurate, and hassle‑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/korean/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/korean/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..64bae71d --- /dev/null +++ b/ocr/korean/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,206 @@ +--- +category: general +date: 2026-01-09 +description: C#에서 Aspose OCR을 사용하여 이미지에서 텍스트를 인식합니다. 자동 다운로드 비활성화, 중국어 텍스트 이미지 추출 + 및 OCR 언어 설정 방법을 배워보세요. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: ko +og_description: C#에서 Aspose OCR을 사용하여 이미지에서 텍스트를 인식합니다. 자동 다운로드를 비활성화하고, 중국어 텍스트 이미지를 + 추출하며 OCR 언어를 설정하는 단계별 튜토리얼을 따라보세요. +og_title: Aspose OCR로 이미지에서 텍스트 인식 – 완전 C# 가이드 +tags: +- Aspose OCR +- C# +- Image Processing +title: Aspose OCR로 이미지에서 텍스트 인식 – 완전 C# 가이드 +url: /ko/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR를 사용한 이미지에서 텍스트 인식 – 완전 C# 가이드 + +이미지에서 **텍스트를 인식**해야 하는데 설정 때문에 막히셨나요? 혼자가 아닙니다. 많은 개발자들이 OCR 엔진이 런타임에 언어 팩을 다운로드하려 하거나, 표지 사진에서 중국어 문자를 추출하지 못해 난관에 봉착합니다. + +이 튜토리얼에서는 **자동 다운로드 비활성화**, **텍스트 이미지 추출**, **중국어 텍스트 이미지 추출**, **OCR 언어 설정**을 Aspose OCR for .NET으로 구현하는 실습 솔루션을 단계별로 안내합니다. 마지막에는 콘솔에 인식된 텍스트를 바로 출력하는 단일 실행 프로그램을 만들 수 있습니다. + +## 배울 내용 + +- Aspose.OCR NuGet 패키지를 설치하고 참조하는 방법 +- 오프라인 또는 보안 환경에서 자동 리소스 다운로드를 끄는 이유 +- 엔진이 로컬 언어 팩 폴더를 사용하도록 지정하는 정확한 단계 +- 이미지를 처리하기 전에 올바른 언어(중국어 간체)를 선택하는 방법 +- 출력 확인 및 일반적인 함정 해결 방법 + +Aspose 사용 경험은 필요 없습니다. 기본 C# 설정과 읽고 싶은 이미지 파일만 있으면 됩니다. + +## 사전 요구 사항 + +| Requirement | Reason | +|-------------|--------| +| .NET 6.0 이상 (또는 .NET Framework 4.7 이상) | Aspose.OCR가 지원하는 런타임 | +| Visual Studio 2022 (또는 선호하는 IDE) | 프로젝트 생성 및 디버깅이 용이 | +| 중국어 텍스트가 포함된 이미지 파일 (예: `chinese-sign.jpg`) | **중국어 텍스트 이미지 추출**을 시연하기 위함 | +| 로컬에 저장된 Aspose OCR 언어 팩 (Aspose 포털에서 한 번 다운로드) | **자동 다운로드 비활성화**가 필요하기 때문 | + +언어 팩 ZIP 파일이 `C:\MyOCR\Resources`와 같이 참조 가능한 폴더에 위치하도록 하세요. + +## Step 1: 이미지에서 텍스트 인식 – OCR 엔진 구성 + +먼저 `OcrEngineSettings` 객체를 만들어 Aspose가 리소스를 찾을 위치를 지정합니다. 이는 모든 **텍스트 이미지 추출** 작업의 기반이 됩니다. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +`AutoDownloadResources`를 `false`로 설정하는 이유는 무엇일까요? 운영 환경에서는 방화벽 뒤에 있거나 런타임에 인터넷에 접속하고 싶지 않을 때가 많습니다. 이 기능을 끄면 엔진이 `ResourceFolder`에 배치한 파일만 사용하게 되며 초기화 속도도 빨라집니다. + +## Step 2: 지정된 설정으로 OCR 엔진 생성 + +설정이 준비되었으니 엔진을 인스턴스화합니다. 이 단계에서 **OCR 언어 설정** 기능이 나중에 활용됩니다. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +`OcrEngine` 객체는 가볍습니다; 언어를 지정하기 전까지는 실제 언어 데이터를 로드하지 않습니다. 따라서 리소스 폴더가 비어 있어도 엔진 생성 자체는 문제 없이 진행됩니다—**중국어 텍스트 이미지 추출**을 시도하기 전까지는 오류가 발생하지 않습니다. + +## Step 3: OCR 언어 설정 – 중국어 간체 선택 + +Aspose는 수십 개의 언어를 지원하며 각각 ZIP 파일 형태로 제공됩니다. 샘플 이미지에 간체 중국어가 포함되어 있으므로 인식 전에 명시적으로 언어를 설정합니다. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +이 단계를 놓치면 엔진이 기본값인 영어를 사용해 깨진 결과가 나옵니다. 또한 언어 이름은 `ResourceFolder` 안의 ZIP 파일 이름과 정확히 일치해야 합니다. 예를 들어 `ChineseSimplified.zip`이 존재해야 합니다. + +## Step 4: 대상 이미지에서 텍스트 추출 + +엔진 설정과 언어 지정이 끝났으니 이제 **이미지에서 텍스트 인식**을 수행합니다. 메서드는 평문 문자열을 반환하므로 로그에 남기거나 저장, 혹은 다른 시스템에 전달할 수 있습니다. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +`RecognizeImage` 호출은 전처리, 세그멘테이션, 문자 매칭, 결과 조합까지 모든 무거운 작업을 수행합니다. 이미지가 선명하고 언어 팩이 올바르면 콘솔에 중국어 문자가 출력됩니다. + +> **Tip:** 이미지의 일부분만 추출하고 싶다면 `RecognizeImage(string, Rectangle)` 오버로드를 사용해 잘라낼 영역을 지정하세요. + +## 전체 작동 예제 + +아래는 새 콘솔 프로젝트에 복사‑붙여넣기 할 수 있는 완전한 프로그램입니다. `using` 구문, 설정, 언어 선택, 최종 출력까지 모두 포함되어 있습니다. 파일명을 `Program.cs`로 저장하고 NuGet 패키지를 복원한 뒤 실행하세요. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### 예상 출력 + +`chinese-sign.jpg`에 “欢迎光临”이라는 문구가 포함되어 있다면 콘솔에 다음과 유사하게 표시됩니다: + +``` +=== Recognized Text === +欢迎光临 +``` + +이미지 품질에 따라 정확한 포맷은 달라질 수 있지만, 문자 자체는 읽을 수 있어야 합니다. + +## 흔히 겪는 문제 & 전문가 팁 + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| **Empty string returned** | 언어 팩을 찾지 못했거나 `AutoDownloadResources`가 여전히 다운로드를 시도 | `ResourceFolder` 경로를 확인하고 `ChineseSimplified.zip`이 존재하는지 검증 | +| **Garbage characters** | 이미지가 흐리거나 대비가 낮음 | `RecognizeImage`에 전달하기 전에 이미지 전처리(대비 증가, 이진화) 수행 | +| **Exception: `FileNotFoundException`** | 이미지 경로 오류 | 절대 경로를 사용하거나 프로젝트 출력 디렉터리에 이미지를 배치하고 `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")` 로 참조 | +| **Performance lag** | 이미지 크기가 너무 큼 | 인식 전에 이미지 너비를 1024 px 정도로 리사이즈 | + +**Pro tip:** 언어 팩을 버전 관리 폴더에 보관하세요. Aspose.OCR를 업그레이드하면 새로운 팩의 파일명 규칙이 바뀔 수 있어, **자동 다운로드 비활성화** 전략이 조용히 깨질 수 있습니다. + +## 예제 확장하기 + +이제 **이미지에서 텍스트 인식**이 가능해졌으니 다음과 같은 작업을 고려해 보세요: + +- **배치 처리**: 폴더에 있는 여러 이미지에 대해 루프를 돌며 `RecognizeImage` 호출 +- **결과 내보내기**: CSV 또는 JSON 파일로 저장해 후속 분석에 활용 +- **번역 API와 결합**: OCR 결과를 바로 번역 API에 전달해 중국어 표지를 영어로 실시간 변환 + +이 모든 시나리오는 동일한 핵심 단계를 재사용합니다: 한 번 설정하고, 언어를 지정하고, `RecognizeImage` 호출. 모듈식 설계 덕분에 코드가 깔끔하고 유지보수가 쉽습니다. + +## 결론 + +Aspose OCR을 사용해 C#에서 **이미지에서 텍스트 인식**하는 방법을 배웠습니다. **자동 다운로드 비활성화**, 로컬 리소스 폴더 지정, **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/net/ocr-optimization/_index.md b/ocr/korean/net/ocr-optimization/_index.md index 06ac7906..42b0759d 100644 --- a/ocr/korean/net/ocr-optimization/_index.md +++ b/ocr/korean/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ url: /ko/net/ocr-optimization/ .NET용 Aspose.OCR을 사용하여 OCR 정확도를 향상하세요. 철자를 수정하고, 사전을 사용자 정의하고, 오류 없는 텍스트 인식을 쉽게 달성할 수 있습니다. ### [OCR 이미지 인식에서 여러 페이지 결과를 문서로 저장](./save-multipage-result-as-document/) .NET용 Aspose.OCR의 잠재력을 활용해 보세요. 이 포괄적인 단계별 가이드를 사용하여 여러 페이지의 OCR 결과를 문서로 쉽게 저장할 수 있습니다. +### [c# OCR 튜토리얼: 전처리로 이미지에서 텍스트 인식](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +.NET용 Aspose.OCR을 사용해 전처리 과정을 적용하여 이미지에서 텍스트를 정확히 인식하는 방법을 안내합니다. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/korean/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..c30768f5 --- /dev/null +++ b/ocr/korean/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: Aspose.OCR 필터를 사용하여 이미지에서 텍스트를 인식하고 OCR을 위한 이미지 전처리를 보여주는 C# OCR 튜토리얼 + – 단계별 가이드. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: ko +og_description: C# OCR 튜토리얼로 이미지에서 텍스트를 인식하고 Aspose.OCR 필터를 사용해 OCR을 위한 이미지 전처리를 단계별로 + 안내합니다. 전체 코드가 포함되어 있습니다. +og_title: c# OCR 튜토리얼 – 전처리를 통한 이미지에서 텍스트 인식 +tags: +- OCR +- C# +- Image Processing +title: 'c# OCR 튜토리얼: 전처리를 통한 이미지에서 텍스트 인식' +url: /ko/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – 이미지에서 텍스트 인식 및 전처리 + +Ever wondered how to **recognize text from image** in a C# application without spending weeks tweaking filters? You're not alone. In this **c# ocr tutorial** we’ll walk through a complete, ready‑to‑run example that not only reads the text but also **preprocesses the image for OCR** to boost accuracy. + +우리는 Aspose.OCR 라이브러리를 사용할 것입니다. 이 라이브러리는 편리한 필터 파이프라인을 제공하여 몇 줄만으로 deskew, denoise, contrast‑boost 단계를 삽입할 수 있습니다. 이 가이드를 끝까지 따라오면 기울어지고 노이즈가 있는 PNG를 받아 정리하고 추출된 문자열을 출력하는 콘솔 앱을 만들 수 있습니다—각 단계가 왜 중요한지에 대한 명확한 설명과 함께. + +## 사전 요구 사항 + +Before we dive in, make sure you have: + +| 요구 사항 | 중요한 이유 | +|-------------|----------------| +| .NET 6 SDK (or later) | 현대 C# 기능 및 향상된 성능 | +| Visual Studio 2022 (or VS Code) | 편리한 디버깅 및 IntelliSense | +| NuGet package **Aspose.OCR** | `OcrEngine` 및 필터 클래스를 제공합니다 | +| An input image (e.g., `skewed‑noisy.png`) | 전처리 필요성을 보여줍니다 | + +If any of these are missing, install them first. The NuGet step is covered in the next section. + +## 단계 1: NuGet을 통해 Aspose.OCR 설치 + +Open your terminal (or Package Manager Console) and run: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** `--version` 플래그를 사용하면 재현 가능한 빌드를 위해 특정 릴리스를 고정할 수 있습니다. + +The package ships with all the filters we’ll need, so no extra DLLs are required. + +## 단계 2: OCR 엔진 초기화 – c# ocr tutorial의 핵심 + +Creating the engine is straightforward, but it’s worth understanding what happens under the hood. The `OcrEngine` holds a pipeline of **filters** that manipulate the bitmap before the recognition algorithm runs. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Why initialize first?** The engine caches internal resources (like language models). Re‑using a single instance across multiple images saves memory and speeds up subsequent recognitions. + +## 단계 3: OCR을 위한 이미지 전처리 – deskew, denoise, contrast boost 추가 + +Most real‑world scans aren’t perfect; they’re tilted, speckled, or too dark. That’s why **preprocess image for OCR** is a critical step. Aspose provides three filters that work together nicely: + +| 필터 | 동작 설명 | 일반적인 사용 사례 | +|--------|--------------|------------------| +| `DeskewFilter` | 이미지를 회전시켜 기울기를 교정합니다 | 스캐너로 스캔한 문서 | +| `DenoiseFilter` | 고립된 픽셀(‘소금‑후추’ 노이즈)을 제거합니다 | 저조도 사진 | +| `ContrastBoostFilter` | 대비를 높여 텍스트 가장자리를 선명하게 합니다 | 희미한 인쇄물 또는 저해상도 캡처 | + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **How it works:** When you call `RecognizeImage` later, the engine will sequentially run these three filters before feeding the cleaned bitmap to the recognition core. + +### 시각적 예시 (선택 사항) + +If you embed an image, make sure the alt text contains the primary keyword: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## 단계 4: 이미지에서 텍스트 인식 – 결정적인 순간 + +Now that the image is pre‑processed, we can finally extract the characters. The method returns a plain string, which you can log, store, or feed into another system. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### 예상 출력 + +Running the sample against a typical invoice scan yields something like: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +If the output looks garbled, double‑check the image quality and consider tweaking the `ContrastBoostFilter.Level` (values > 2.0 can be too aggressive). + +## 단계 5: 결과 출력 및 선택적 후처리 + +A console app can simply write the string, but many projects need extra handling—like trimming whitespace, removing line breaks, or feeding the text into a database. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### 왜 후처리하나요? + +Even with good preprocessing, OCR often introduces stray line breaks or invisible characters. A quick `Replace` chain can make the data far more usable downstream. + +## 단계 6: 전체 작동 예제 – 복사‑붙여넣기 준비 + +Below is the **complete** program you can compile and run immediately. It includes all the using statements, filter setup, OCR call, and output handling. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**실행 방법** + +1. Save the file as `Program.cs` inside a new console project (`dotnet new console`). +2. Replace `YOUR_DIRECTORY/skewed-noisy.png` with the real path to your test image. +3. Execute `dotnet run`. You should see the OCR output printed to the terminal. + +## 일반적인 함정 및 팁 (이미지에서 텍스트를 안정적으로 인식) + +| 문제 | 확인 사항 | 해결책 | +|-------|----------------|-----| +| **깨진 문자** | 이미지가 너무 어둡거나 저해상도 | `ContrastBoostFilter.Level`을 증가시키거나 고해상도 소스를 사용하세요 | +| **라인 누락** | Deskew가 각도를 완전히 교정하지 못함 | 이미지를 먼저 수동으로 회전하거나 `DeskewFilter` 허용치를 조정하세요 | +| **성능 저하** | 루프에서 많은 대형 이미지를 처리 | 같은 `OcrEngine` 인스턴스를 재사용하고 각 실행 후 `ocrEngine.Clear()`를 호출하세요 | +| **지원되지 않는 언어** | 텍스트가 영어가 아님 | 인식 전에 `ocrEngine.Language = OcrLanguage.French`(또는 다른 지원 언어)로 설정하세요 | + +### 엣지 케이스: 다중 페이지 PDF 처리 + +If you need to OCR a PDF, convert each page to an image (e.g., using `Aspose.PDF`) and feed them one‑by‑one to the same engine. The preprocessing pipeline remains identical, ensuring consistent results across pages. + +## 결론 + +In this **c# ocr tutorial** we covered everything you need to **recognize text from image** and **preprocess image for OCR** using Aspose.OCR’s built‑in filters. By initializing the engine, adding deskew, denoise, and contrast‑boost steps, and finally calling `RecognizeImage`, you get clean, reliable text extraction with just a handful of lines of code. + +Feel free to experiment—swap in a different filter, tweak the contrast level, or integrate the result into a larger data‑pipeline. The concepts here apply to any OCR library: preprocessing is often the difference between a half‑read invoice and a perfectly captured document. + +Got more questions? Maybe you’re curious about handling handwritten text or batch‑processing thousands of files. Drop a comment, and we’ll explore those scenarios together. 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/korean/net/text-recognition/_index.md b/ocr/korean/net/text-recognition/_index.md index 1a906a77..6a2bc253 100644 --- a/ocr/korean/net/text-recognition/_index.md +++ b/ocr/korean/net/text-recognition/_index.md @@ -55,9 +55,22 @@ Aspose.OCR을 사용하여 .NET에서 OCR의 잠재력을 활용해 보세요. P Aspose.OCR을 사용하여 .NET에서 OCR의 잠재력을 활용해 보세요. PDF에서 텍스트를 쉽게 추출할 수 있습니다. 원활한 통합 경험을 위해 지금 다운로드하세요. ### [OCR 이미지 인식에서 테이블 인식](./recognize-table/) OCR 이미지 인식의 테이블 인식에 대한 포괄적인 가이드를 통해 .NET용 Aspose.OCR의 잠재력을 활용해 보세요. +### [C# OCR 튜토리얼 – PNG 영수증에서 힌디어 텍스트 추출](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Aspose.OCR를 사용해 .NET C#에서 PNG 형식 영수증의 힌디어 텍스트를 정확히 추출하는 단계별 가이드. +### [PNG에서 텍스트 추출 – 완전 Aspose OCR 튜토리얼](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Aspose OCR을 사용해 PNG 이미지에서 텍스트를 정확히 추출하는 단계별 완전 가이드입니다. +### [JPG 이미지에서 텍스트 인식 – Aspose OCR 완전 C# 가이드](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Aspose OCR을 활용해 C#에서 JPG 파일의 텍스트를 정확히 추출하는 단계별 완전 가이드입니다. +### [c# OCR 튜토리얼: 이미지 및 DJVU 파일에서 텍스트 추출](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Aspose.OCR를 사용해 .NET C#에서 이미지와 DJVU 파일의 텍스트를 정확히 추출하는 단계별 가이드. +### [Aspose OCR C#를 사용하여 TIFF에서 텍스트 추출 – 전체 튜토리얼](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Aspose OCR C#를 사용해 TIFF 파일에서 텍스트를 정확히 추출하는 단계별 전체 가이드입니다. +### [c# OCR 튜토리얼 – Aspose OCR로 이미지에서 텍스트 추출](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Aspose OCR를 사용해 .NET C#에서 이미지의 텍스트를 정확히 추출하는 단계별 가이드. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/korean/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..464b8fc2 --- /dev/null +++ b/ocr/korean/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,215 @@ +--- +category: general +date: 2026-01-09 +description: 'c# OCR 튜토리얼: PNG에서 텍스트를 읽고, 이미지를 텍스트로 변환하며, Aspose OCR을 사용하여 영수증의 힌디어 + 텍스트를 인식합니다.' +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: ko +og_description: c# OCR 튜토리얼로 PNG에서 텍스트를 읽고, 이미지를 텍스트로 변환하며, 영수증에서 힌디어 텍스트를 Aspose + OCR로 인식하는 방법을 가르칩니다. +og_title: c# OCR 튜토리얼 – PNG 영수증에서 힌디어 텍스트 추출 +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# OCR 튜토리얼 – PNG 영수증에서 힌디어 텍스트 추출 +url: /ko/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – PNG 영수증에서 힌디어 텍스트 추출 + +Ever wondered how to **PNG에서 텍스트 읽기** files in a C# application? Maybe you have a bunch of Hindi receipts and need to pull the amounts automatically. That’s exactly what this c# ocr tutorial tackles—turning an image into searchable text with just a few lines of code. + +In this guide we’ll walk through installing Aspose OCR, loading a PNG receipt, recognizing Hindi characters, and finally printing the extracted string to the console. By the end you’ll be able to **convert image to text**, **recognize Hindi text**, and even **extract text from receipt** images without leaving your IDE. + +> **Prerequisite note:** 유효한 Aspose OCR 라이선스(또는 무료 체험)를 보유하고 .NET 6+가 설치되어 있어야 합니다. NuGet이 처음이라면 걱정하지 마세요—이 부분도 다룰 것입니다. + +## 필요 사항 + +- **Visual Studio 2022** (또는 C# 호환 편집기) +- **.NET 6 SDK** (또는 이후 버전) +- **Aspose.OCR** NuGet 패키지 + ```bash + dotnet add package Aspose.OCR + ``` +- 예시 영수증 이미지, 예: `hindi-receipt.png`, 프로젝트 폴더에 저장합니다. + +Having these ready means you can copy‑paste the final code and hit **F5** immediately. + +## Step 1: 프로젝트 설정 및 네임스페이스 가져오기 + +First, create a console project if you don’t already have one: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Now open `Program.cs`. At the top, import the Aspose OCR namespaces so the compiler knows where to find the classes: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Why this matters:** `OcrEngine`은 `Aspose.OCR`에, 언어 관련 열거형은 `Aspose.OCR.Settings`에 있습니다. 둘 중 하나를 놓치면 컴파일 시 오류가 발생합니다. + +## Step 2: OCR 엔진 초기화 및 언어 모델 선택 + +The OCR engine needs to know **which language** to look for. Aspose ships with many language packs; specifying `OcrLanguage.Hindi` tells the engine to download (if missing) and use the Hindi model. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Pro tip:** 여러 언어의 영수증을 처리하려면 런타임에 `Language`를 전환하거나 `MultiLanguage` 모드를 활성화할 수 있습니다. + +## Step 3: PNG 영수증을 엔진에 제공하기 + +Here’s where we **PNG에서 텍스트 읽기**. Provide the full path (relative to the executable works fine). The method returns a plain string containing everything the engine could decipher. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +If the image is high‑resolution and the text is clean, you’ll get near‑perfect results. For noisy scans, consider pre‑processing (e.g., binarization) – Aspose offers `PreprocessImage` methods you can explore later. + +## Step 4: 추출된 텍스트 표시 또는 저장 + +Most developers simply dump the result to the console while testing. In a production scenario you might write to a database or a CSV file. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Running the program with the sample receipt prints something like: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +That’s the **convert image to text** part in action—no manual transcription required. + +## 전체 작업 예제 (복사‑붙여넣기 준비 완료) + +Below is the complete, self‑contained program. Paste it into `Program.cs`, place `hindi-receipt.png` beside the compiled `.exe`, and hit **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### 예상 출력 + +When the receipt image contains clear Hindi characters, the console will display the extracted lines, preserving line breaks. If the OCR fails to recognize a word, you’ll see a garbled fragment—just a cue to improve image quality or tweak preprocessing. + +## Step 5: 확장 – 영수증에서 프로그래밍 방식으로 텍스트 추출 + +If your goal is to **extract text from receipt** fields (date, total, invoice number), you can post‑process the OCR string with regular expressions: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +## 흔히 발생하는 문제 및 해결 방법 + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **빈 출력** | Image path wrong or file not copied to output folder. | Use `Path.GetFullPath` and verify the file exists (`File.Exists`). | +| **깨진 문자** | Low‑resolution PNG or compressed colors. | Upscale the image, set DPI to 300+, or use `ocrEngine.ImagePreprocessor`. | +| **언어 모델이 다운로드되지 않음** | No internet connection on first run. | Pre‑download the Hindi model via Aspose portal or host it locally. | +| **성능 지연** | Processing many pages in a loop without disposal. | Wrap `OcrEngine` in a `using` block or reuse a single instance. | + +## 이미지 일러스트레이션 + +![c# ocr tutorial - PNG 영수증에서 힌디어 텍스트 읽기](https://example.com/placeholder-image.png "c# ocr tutorial – png 영수증에서 텍스트 읽기") + +*스크린샷은 OCR 변환 전후의 힌디어 영수증을 보여줍니다.* + +## 요약: 다룬 내용 + +- C# 콘솔 앱을 설정하고 Aspose OCR NuGet 패키지를 추가했습니다. +- `OcrEngine`을 **recognize hindi text** 언어 모델로 초기화했습니다. +- `RecognizeImage`를 사용해 **PNG에서 텍스트 읽기**를 수행했습니다. +- **이미지를 텍스트로 변환**하고 결과를 출력했습니다. +- 영수증 필드에서 **텍스트 추출**을 위한 간단한 패턴을 시연했습니다. + +All of this was delivered in a single, runnable file—exactly what a **c# ocr tutorial** should provide. + +## 다음 단계 및 관련 주제 + +1. **Batch processing** – 영수증 이미지 폴더를 순회하며 결과를 CSV에 저장합니다. +2. **Pre‑processing** – `ocrEngine.ImagePreprocessor`를 탐색하여 노이즈 제거, 기울기 보정 또는 대비 향상을 수행합니다. +3. **Multi‑language OCR** – 힌디어와 영어가 혼합된 영수증을 처리하려면 `OcrLanguage.Multilingual`을 활성화합니다. +4. **Integration** – 추출된 데이터를 Entity Framework Core 모델에 넣어 영구 저장합니다. + +If you’re curious about any of these, check out our tutorials on **convert image to text in C#** and **extract structured data from OCR results**. + +### 즐거운 코딩! + +Feel free to drop a comment if you hit any snags, or share how you’ve extended this **c# ocr tutorial** in your own projects. Remember, OCR is just the first step—clean data is where the real magic happens. 🚀 + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/korean/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..2956f5aa --- /dev/null +++ b/ocr/korean/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,253 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR 튜토리얼로 이미지 파일에서 텍스트를 추출하고 Aspose.OCR을 사용해 DJVU를 텍스트로 변환하는 방법을 보여줍니다. + 몇 분 안에 단계별 추출을 배워보세요. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: ko +og_description: Aspose.OCR를 사용하여 이미지 파일에서 텍스트를 추출하고 DJVU를 텍스트로 변환하는 방법을 빠르게 보여주는 C# + OCR 튜토리얼입니다. 실용적인 솔루션을 위해 가이드를 따라 주세요. +og_title: c# OCR 튜토리얼 – 이미지 및 DJVU에서 텍스트 추출 +tags: +- OCR +- C# +- Aspose +title: 'c# OCR 튜토리얼: 이미지와 DJVU 파일에서 텍스트 추출' +url: /ko/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR tutorial – 이미지 및 DJVU 파일에서 텍스트 추출 + +이미지 파일에서 텍스트를 추출하는 것이 머리카락을 뽑을 정도로 어려운 일이라고 생각한 적 있나요? 이 **c# OCR tutorial**에서는 일반 사진 *및* DJVU 문서에서 텍스트를 추출하는 완전한 실행 가능한 예제를 단계별로 안내합니다. + +빠르게 **DJVU를 텍스트로 변환**하는 방법을 찾고 있다면, 바로 여기입니다—추가 변환기가 필요 없으며 순수 C# 코드만 사용합니다. + +## 배울 내용 + +- .NET 프로젝트에서 Aspose.OCR 라이브러리를 설정하는 방법. +- **extract text from image** 파일을 추출하는 데 필요한 정확한 코드. +- **extracting text from DJVU** 파일을 위한 간결한 방법(예, 동일한 엔진이 처리합니다). +- 일반적인 함정(대용량 파일, 누락된 폰트, 라이선스) 및 회피 방법. + +필요한 것은 최신 .NET SDK와 NuGet 패키지를 가져올 인터넷 연결뿐입니다. 사전 OCR 경험은 필요하지 않습니다. + +## 사전 요구 사항 + +| 요구 사항 | 중요한 이유 | +|-------------|----------------| +| .NET 6.0 or later | Aspose.OCR는 .NET Standard 2.0을 대상으로 하므로 .NET 6+를 사용하면 최고의 성능을 얻을 수 있습니다. | +| Visual Studio 2022 (or VS Code) | IDE는 패키지 관리를 손쉽게 해 주지만, 어떤 편집기든 사용할 수 있습니다. | +| NuGet package **Aspose.OCR** | 실제로 무거운 작업을 수행하는 엔진입니다. | +| A sample image (`sample.png`) and a DJVU file (`sample.djvu`) | 두 추출 시나리오를 보여주기 위해 사용합니다. | + +다음 명령으로 패키지를 설치할 수 있습니다: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** CI 서버를 사용 중이라면, 빌드 단계에 `--no-restore`를 추가하고 시작 시 한 번만 복원하여 속도를 높이세요. + +## Step 1: OCR 엔진 초기화 – c# OCR tutorial의 핵심 + +첫 번째로 `OcrEngine` 인스턴스를 생성합니다. 이는 소프트웨어에서 스캐너를 켜는 것과 같습니다. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +왜 매번 새로운 엔진을 생성할까요? 엔진은 설정(언어, 감지 모드 등)을 보관하기 때문입니다. 새로 시작하면 이전 실행에서 남은 설정이 유출되는 것을 방지할 수 있습니다. + +## Step 2: 이미지 로드 및 인식 – 이미지에서 텍스트 추출 방법 + +이제 일반 비트맵(PNG, JPEG, BMP…)을 엔진에 전달합니다. `RecognizeImage` 메서드는 감지된 문자열을 반환합니다. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +몇 가지 주의할 점: + +* **File existence** – 경로가 잘못되면 메서드가 `FileNotFoundException`을 발생시킵니다. 사용자 제공 경로가 예상된다면 `try/catch`로 감싸세요. +* **Image quality** – OCR은 300 dpi 이상에서 최적입니다. 저해상도 스캔은 깨진 출력이 나올 수 있습니다. +* **Language support** – 기본적으로 Aspose.OCR는 영어를 가정합니다. 변경하려면 `ocrEngine.Language = Language.Spanish;`를 `RecognizeImage` 전에 설정하세요. + +## Step 3: DJVU 문서에서 텍스트 인식 – DJVU를 텍스트로 변환 + +DJVU는 여러 페이지를 포함할 수 있는 컨테이너 형식입니다. Aspose.OCR는 이를 직접 처리할 수 있으며, 파일을 지정하기만 하면 됩니다. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +엔진은 내부적으로 각 페이지를 이미지로 추출하고 동일한 인식 파이프라인을 실행합니다. 따라서 별도의 “DJVU를 텍스트로 변환” 단계가 필요 없으며 OCR 엔진이 이를 수행합니다. + +### 다중 페이지 DJVU 파일 처리 + +DJVU에 여러 페이지가 포함되어 있으면 `RecognizeImage`가 순서대로 연결합니다. 각 페이지를 별도로 원한다면 `List`을 반환하는 오버로드를 사용할 수 있습니다: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Step 4: 정확도 향상을 위한 엔진 미세 조정 – 왜 중요한가 + +기본 결과도 괜찮지만, 몇 가지 설정을 조정하면 성능을 크게 향상시킬 수 있습니다: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +이 플래그는 먼저 DJVU로 저장된 스캔 PDF에서 **텍스트 추출 방법**을 적용할 때 특히 유용합니다. 방향 감지를 켜면 이미지를 수동으로 회전할 필요가 없습니다. + +## Step 5: 라이선스 및 런타임 오류 처리 + +Aspose.OCR는 몇 페이지 이후에 출력에 “Demo” 워터마크를 찍는 무료 체험 버전을 제공합니다. 워터마크를 제거하려면 라이선스 파일을 추가하세요: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +이 단계를 놓치면 엔진은 여전히 동작하지만 결과에 “Demo”라는 단어가 포함됩니다. 또한 대용량 DJVU 파일을 처리할 때 `OutOfMemoryException`에 유의하고, 앞에서 보여준 대로 페이지별로 처리하는 것을 고려하세요. + +## 완전한 실행 예제 + +아래는 모든 내용을 하나로 모은 독립 실행형 콘솔 프로그램입니다. 복사‑붙여넣기하고 파일 경로를 조정한 뒤 **Run**을 눌러 실행하세요. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**예상 출력** (파일에 “Hello World”라는 문구가 포함되어 있다고 가정): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +소스에 여러 줄이 포함되어 있으면 원본 문서와 동일하게 표시됩니다. + +## 일반적인 질문 및 예외 상황 처리 + +* **What if the image is black‑and‑white?** + OCR은 정상적으로 동작하지만, `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`로 대비를 향상시킬 수 있습니다. + +* **Can I extract only numbers?** + 예—`RecognizeImage` 호출 전에 `ocrEngine.CharWhitelist = "0123456789";`를 설정하면 됩니다. + +* **Is there a limit on file size?** + 엔진은 전체 파일을 메모리로 읽어들입니다. 파일 크기가 ~100 MB를 초과하면 페이지별로 처리하세요(Step 3의 리스트 오버로드 참조). + +* **How does this differ from Tesseract?** + Aspose.OCR는 DJVU 지원이 내장된 상용 라이브러리이며 네이티브 종속성이 없지만, Tesseract는 네이티브 바이너리와 별도의 DJVU 변환 도구가 필요합니다. + +## 결론 + +여러분은 이제 **c# OCR tutorial**을 완료했으며, Aspose.OCR를 사용해 **이미지 파일에서 텍스트 추출**과 **DJVU를 텍스트로 변환**을 원활히 수행하는 방법을 배웠습니다. 이 예제는 패키지 설치부터 라이선스 관리, 단일 페이지 이미지 추출부터 다중 페이지 DJVU 처리까지, 정확도 향상을 위한 팁까지 모두 다룹니다. + +다음 단계로 PDF에서 **텍스트 추출**을 시도하거나 OCR 단계를 웹 API에 통합하거나 다국어 문서를 위한 언어 팩을 실험해 볼 수 있습니다. 가능성은 무한합니다—핵심 포인트를 기억하세요: 엔진을 설정하고 파일을 전달한 뒤 문자열을 읽어오는 것. + +추가 질문이 있나요? 댓글을 남기고, 직접 문서에 코드를 적용해 보세요. 즐거운 코딩 되세요! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# OCR tutorial – console output 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/korean/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/korean/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..facb8ad7 --- /dev/null +++ b/ocr/korean/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,291 @@ +--- +category: general +date: 2026-01-09 +description: Aspose.OCR을 사용하여 이미지 파일에서 텍스트를 추출하고, PNG에서 텍스트를 인식하며, 이미지를 문자열로 변환하고, + 언어를 자동으로 감지하는 방법을 보여주는 C# OCR 튜토리얼. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: ko +og_description: 이미지에서 텍스트를 추출하고, PNG 파일의 텍스트를 인식하며, 이미지를 문자열로 변환하고, Aspose OCR을 사용해 + 언어를 자동 감지하는 과정을 단계별로 안내하는 C# OCR 튜토리얼. +og_title: c# OCR 튜토리얼 – 이미지에서 텍스트 추출 +tags: +- C# +- OCR +- Aspose +- Image Processing +title: c# OCR 튜토리얼 – Aspose OCR을 사용하여 이미지에서 텍스트 추출 +url: /ko/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr 튜토리얼 – Aspose OCR로 이미지에서 텍스트 추출 + +Ever needed a **c# ocr tutorial** that actually works on a real‑world PNG file? Maybe you’re building a receipt‑scanner, a multilingual form processor, or just curious how to turn a picture of text into a searchable string. Whatever the case, you’re in the right spot. + +실제 PNG 파일에서 실제로 작동하는 **c# ocr tutorial**이 필요했나요? 영수증 스캐너, 다국어 양식 처리기 등을 만들고 있거나, 텍스트 사진을 검색 가능한 문자열로 변환하는 방법이 궁금할 수도 있습니다. 어떤 경우든, 여기서 바로 시작할 수 있습니다. + +In this guide we’ll show you step‑by‑step how to **extract text from image** files, **recognize text from png**, **convert image to string**, and even **detect language automatically**—all with the Aspose.OCR library. No vague references, just a complete, runnable example you can copy‑paste into Visual Studio. + +이 가이드에서는 **extract text from image** 파일, **recognize text from png**, **convert image to string** 및 **detect language automatically**를 Aspose.OCR 라이브러리로 단계별로 보여드립니다. 모호한 설명 없이, Visual Studio에 복사‑붙여넣기 할 수 있는 완전한 실행 예제를 제공합니다. + +## What You’ll Need + +## 필요 사항 + +- .NET 6.0 이상 (코드는 .NET Core 및 .NET Framework에서도 작동합니다) +- `Aspose.OCR`에 대한 NuGet 참조 (버전 23.9 이상) +- 이미지 파일 (`mixed‑script.png` 예시) 을 애플리케이션이 읽을 수 있는 위치에 배치 +- C#에 대한 기본 이해 (“Hello World”를 작성해 본 적이 있다면 충분합니다) + +> **Pro tip:** 라이선스가 아직 없으면, Aspose에서 테스트용 무료 임시 라이선스를 제공합니다. `.lic` 파일을 실행 파일 옆에 놓기만 하면 됩니다. + +## Step 1 – Install the Aspose.OCR NuGet Package + +## Step 1 – Aspose.OCR NuGet 패키지 설치 + +First, add the library to your project. Open the Package Manager Console and run: + +먼저, 라이브러리를 프로젝트에 추가합니다. Package Manager Console을 열고 다음을 실행합니다: + +```powershell +Install-Package Aspose.OCR +``` + +Or, if you prefer the UI, right‑click *Dependencies → Manage NuGet Packages* and search for **Aspose.OCR**. + +또는 UI를 선호한다면, *Dependencies → Manage NuGet Packages* 를 마우스 오른쪽 버튼으로 클릭하고 **Aspose.OCR**을 검색하세요. + +## Step 2 – Prepare the OCR Engine (c# ocr tutorial core) + +## Step 2 – OCR 엔진 준비 (c# ocr tutorial core) + +Now we’ll create an `OcrEngine` instance, tell it to auto‑detect the language, and point it at our PNG file. + +이제 `OcrEngine` 인스턴스를 생성하고, 언어를 자동 감지하도록 설정한 뒤 PNG 파일을 지정합니다. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Why we set `Language = OcrLanguage.AutoDetect` + +### 왜 `Language = OcrLanguage.AutoDetect` 를 설정했나요 + +Automatic language detection saves you from guessing whether the image contains English, Russian, Arabic, or a mix. It’s the most flexible option for a **detect language automatically** scenario, and it works out‑of‑the‑box for most scripts supported by Aspose. + +자동 언어 감지는 이미지에 영어, 러시아어, 아랍어 또는 그 혼합이 포함되어 있는지 추측할 필요를 없애줍니다. 이는 **detect language automatically** 상황에 가장 유연한 옵션이며, Aspose가 지원하는 대부분의 스크립트에 대해 바로 사용할 수 있습니다. + +## Step 3 – Run the Application and Verify the Output + +## Step 3 – 애플리케이션 실행 및 출력 확인 + +Compile and run the program (`dotnet run` or press **F5** in Visual Studio). If everything is wired correctly, you’ll see something like: + +프로그램을 컴파일하고 실행합니다 (`dotnet run` 또는 Visual Studio에서 **F5**를 누릅니다). 모든 것이 올바르게 연결되었다면 다음과 같은 결과가 표시됩니다: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +That output proves we successfully **extract text from image**, **recognize text from png**, and **convert image to string** – all in a single, concise snippet. + +이 출력은 우리가 **extract text from image**, **recognize text from png**, 그리고 **convert image to string** 를 성공적으로 수행했음을 증명합니다 – 모두 하나의 간결한 코드 조각으로 구현되었습니다. + +## Step 4 – Common Variations & Edge Cases + +## Step 4 – 일반적인 변형 및 엣지 케이스 + +### Handling Multiple Images + +### 다중 이미지 처리 + +If you need to process a directory of PNGs, wrap the recognition call in a `foreach` loop: + +PNG 디렉터리를 처리해야 한다면, 인식 호출을 `foreach` 루프로 감싸면 됩니다: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Specifying a Fixed Language + +### 고정 언어 지정 + +Sometimes you know the language ahead of time (e.g., only English). You can replace `AutoDetect` with `OcrLanguage.English` to speed up processing: + +때때로 미리 언어를 알고 있는 경우(예: 영어만) `AutoDetect` 를 `OcrLanguage.English` 로 교체하여 처리 속도를 높일 수 있습니다: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Dealing With Low‑Quality Scans + +### 저품질 스캔 처리 + +Aspose.OCR offers preprocessing options (noise reduction, deskew). For a quick fix: + +Aspose.OCR은 전처리 옵션(노이즈 감소, 기울기 보정)을 제공합니다. 간단히 해결하려면: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Saving the Result to a File + +### 결과를 파일에 저장 + +Instead of printing to console, you might want to write the extracted text to a `.txt` file: + +콘솔에 출력하는 대신, 추출된 텍스트를 `.txt` 파일에 저장하고 싶을 수 있습니다: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Step 5 – Full Working Example (Copy‑Paste Ready) + +## Step 5 – 전체 작업 예제 (복사‑붙여넣기 준비) + +Below is the **complete program** including optional preprocessing and file‑output logic. Feel free to tweak the paths. + +아래는 선택적 전처리와 파일 출력 로직을 포함한 **complete program** 입니다. 경로는 자유롭게 수정하세요. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Expected Output + +### 예상 출력 + +Running the program on a PNG that contains English, Russian, and Arabic yields: + +영어, 러시아어, 아랍어가 포함된 PNG에 대해 프로그램을 실행하면 다음과 같은 결과가 나옵니다: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +If the image is blank or unreadable, the engine returns an empty string—handle that case by checking `string.IsNullOrWhiteSpace(extractedText)` before proceeding. + +이미지가 비어 있거나 읽을 수 없는 경우, 엔진은 빈 문자열을 반환합니다—진행하기 전에 `string.IsNullOrWhiteSpace(extractedText)` 로 해당 경우를 처리하세요. + +## Frequently Asked Questions (FAQs) + +## 자주 묻는 질문 (FAQs) + +**Q: Aspose.OCR이 손글씨 텍스트를 지원하나요?** +A: 인쇄된 OCR에 초점을 맞추고 있습니다. 손글씨의 경우 전용 ML 모델이나 Azure Computer Vision과 같은 서비스를 사용해야 합니다. + +**Q: Linux/macOS에서 실행할 수 있나요?** +A: 물론입니다. Aspose.OCR은 크로스‑플랫폼이며, 해당 OS에 맞는 .NET 런타임을 설치하면 됩니다. + +**Q: PNG 대신 PDF를 처리해야 한다면 어떻게 하나요?** +A: 먼저 각 PDF 페이지를 이미지로 변환합니다(예: `Aspose.PDF` 사용). 그런 다음 이미지를 OCR 엔진에 전달하면 됩니다. + +## Conclusion + +## 결론 + +We’ve just completed a **c# ocr tutorial** that walks you through **extracting text from image** files, **recognizing text from png**, **converting the image to a string**, and **detecting language automatically** using Aspose.OCR. The code is short, the concepts are clear, and you can expand it to batch processing, custom language settings, or even integrate it into a web API. + +우리는 방금 Aspose.OCR을 사용하여 **extracting text from image** 파일, **recognizing text from png**, **converting the image to a string**, 그리고 **detecting language automatically** 를 단계별로 안내하는 **c# ocr tutorial**을 완료했습니다. 코드는 짧고 개념은 명확하며, 배치 처리, 사용자 정의 언어 설정, 혹은 웹 API와의 통합까지 확장할 수 있습니다. + +Next steps? Try feeding the OCR output into a search index, feed it to a translation service, or combine it with Azure Cognitive Services for even richer data pipelines. The sky’s the limit once you’ve mastered the basics of image‑to‑text conversion in C#. + +다음 단계는? OCR 출력 결과를 검색 인덱스에 넣어보거나 번역 서비스에 전달하거나 Azure Cognitive Services와 결합하여 더욱 풍부한 데이터 파이프라인을 구축해 보세요. C#에서 이미지‑텍스트 변환 기본을 마스터하면 가능성은 무한합니다. + +Happy coding, and don’t forget to experiment with different image qualities—your OCR engine will thank you! + +코딩을 즐기세요, 그리고 다양한 이미지 품질을 실험하는 것을 잊지 마세요—OCR 엔진이 감사할 것입니다! + +![c# ocr 튜토리얼 – 혼합 스크립트 PNG에서 OCR 출력 예시](placeholder-image.png "c# 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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/korean/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..3c62cc80 --- /dev/null +++ b/ocr/korean/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-01-09 +description: Aspose OCR을 사용하여 PNG에서 텍스트를 빠르게 추출하세요. 이미지 텍스트를 읽는 방법, OCR 정확도를 향상시키는 + 방법, 그리고 C#에서 깨끗한 결과를 얻는 방법을 배워보세요. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: ko +og_description: Aspose OCR로 PNG에서 텍스트를 빠르게 추출하세요. 이미지 텍스트를 읽는 방법, OCR 정확도를 향상시키는 방법, + 그리고 C#에서 깔끔한 결과를 얻는 방법을 배워보세요. +og_title: PNG에서 텍스트 추출 – 완전한 Aspose OCR 튜토리얼 +tags: +- Aspose OCR +- C# +- Image Processing +title: PNG에서 텍스트 추출 – 완전한 Aspose OCR 튜토리얼 +url: /ko/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNG에서 텍스트 추출 – 완전한 Aspose OCR 튜토리얼 + +PNG 파일에서 **텍스트를 추출**하려고 했지만 결과가 엉망이었나요? 당신만 그런 것이 아닙니다. 실제 프로젝트—청구서, 영수증, 스캔된 양식 등—에서 OCR 출력 품질은 자동화 파이프라인의 성공을 좌우합니다. + +이 가이드에서는 Aspose OCR을 사용해 이미지 텍스트를 읽는 **단계별** 방법을 보여주고, **맞춤 사전**을 활용해 **OCR 정확도**를 높이며, 노이즈를 정리하고, 최종적으로 깔끔한 문자열을 출력하는 방법을 설명합니다. 끝까지 따라오면 PNG 이미지에서 텍스트를 안정적으로 추출할 수 있는 C# 콘솔 앱을 바로 실행할 수 있게 됩니다. + +> **얻을 수 있는 것** +> * 완전한 실행 가능한 코드 샘플. +> * 맞춤 사전이 왜 중요한지에 대한 이해. +> * 저대비 스캔과 같은 엣지 케이스를 다루는 팁. + +## Prerequisites + +- .NET 6 SDK 이상 (코드는 .NET 6을 목표로 하지만 .NET 5에서도 동작합니다). +- Visual Studio 2022 또는 선호하는 편집기. +- 처리하려는 **PNG** 이미지—예: `invoice.png`. +- **Aspose.OCR** NuGet 패키지 (`dotnet add package Aspose.OCR`). + +추가 설정 파일은 필요하지 않으며, 모든 코드는 단일 `.cs` 파일에 포함됩니다. + +## Step 1 – Install and Reference Aspose OCR + +먼저 라이브러리를 프로젝트에 추가합니다. 솔루션 폴더에서 터미널을 열고 다음을 실행하세요: + +```bash +dotnet add package Aspose.OCR +``` + +이 한 줄 명령으로 최신 안정 버전(2026년 1월 기준, 버전 23.9)을 가져옵니다. 패키지에는 튜토리얼 전반에 사용할 `OcrEngine` 클래스가 포함되어 있습니다. + +## Step 2 – Initialize the OCR Engine + +`OcrEngine` 인스턴스를 만드는 것이 기본입니다. 이는 픽셀을 해석할 준비가 된 스캐너를 켜는 것과 같습니다. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **프로 팁:** 여러 이미지를 루프에서 처리할 경우 동일한 `OcrEngine` 인스턴스를 재사용하세요. 내부 리소스를 캐시해 이후 호출을 빠르게 합니다. + +## Step 3 – Boost Accuracy with a Custom Dictionary + +기본 OCR도 좋지만 “Aspose”, “OCR”, “SDK”와 같은 도메인 특화 단어에서는 실수가 발생할 수 있습니다. 이러한 용어를 **맞춤 사전**에 추가하면 엔진에 해당 문자열이 유효하다고 알려줘 인식 오류를 줄일 수 있습니다. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### 맞춤 사전이 도움이 되는 이유 + +- OCR 뒤의 **통계 모델**은 일반 언어 패턴에 높은 가중치를 부여합니다. 드문 단어는 확률이 낮아 비슷해 보이는 문자로 대체될 수 있습니다. +- 명시적으로 나열하면 모델의 추측을 덮어쓸 수 있습니다. +- 특히 **이미지 텍스트 읽기**에서 제품 코드, 약어, 브랜드 이름이 포함된 경우에 유용합니다. + +## Step 4 – Recognize Text from the PNG File + +이제 엔진에 이미지 경로를 전달합니다. `RecognizeImage` 메서드는 아직 알 수 없는 토큰(예: “#@!”)을 포함한 원시 문자열을 반환합니다. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **엣지 케이스:** 파일을 찾을 수 없으면 `RecognizeImage`가 `FileNotFoundException`을 발생시킵니다. 프로덕션 코드에서는 try‑catch 블록으로 감싸세요. + +## Step 5 – Clean the Result with `CleanText` + +Aspose OCR은 “알 수 없음”으로 표시된 문자를 제거하는 도우미를 제공합니다. 이 단계는 **이미지에서 텍스트 추출** 프로젝트에서 하위 파서가 알파벳·숫자와 기본 구두점만 기대할 때 필수적입니다. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +`CleanText` 메서드는 줄 바꿈도 정규화해 데이터베이스에 저장하거나 다른 서비스에 전달할 때 안전하게 만듭니다. + +## Step 6 – Output the Cleaned Text + +마지막으로 결과를 화면에 표시하거나 저장합니다. 콘솔 앱에서는 `Console.WriteLine`이 충분합니다. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +프로그램을 실행하면 `invoice.png` 내용과 일치하는 깔끔한 텍스트 블록이 표시됩니다. 이미지에 “Aspose”라는 단어가 있으면 맞춤 사전 덕분에 “A5p0se”와 같은 잘못된 인식이 아니라 정확히 표시됩니다. + +## Full Working Example + +모든 코드를 합치면 다음과 같은 `Program.cs`가 됩니다. 새 콘솔 프로젝트에 복사‑붙여넣기만 하면 됩니다: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**예상 출력**(PNG에 간단한 청구서가 포함된 경우): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +이상한 기호가 보이면 이미지 품질을 다시 확인하거나 맞춤 사전에 더 많은 용어를 추가하세요. + +## Bonus: Handling Low‑Quality Scans + +때때로 PNG가 72 dpi로 스캔되거나 압축 아티팩트가 많이 포함될 수 있습니다. C#을 떠나지 않고 **OCR 정확도**를 높이는 몇 가지 간단한 요령을 소개합니다: + +1. `SixLabors.ImageSharp` 같은 라이브러리로 **이미지 전처리** – 대비 증가, 그레이스케일 변환, 약간의 블러 적용 등으로 노이즈 감소. +2. `OcrEngine`의 `Resolution` 속성을 설정(예: `ocrEngine.Resolution = 300;`)해 엔진이 이미지를 고해상도로 취급하도록 함. +3. 비영어 텍스트를 다룰 경우 **언어 팩** 활성화(`ocrEngine.Language = Language.English;`). + +위 세 가지 접근법은 `RecognizeImage` 호출 전에 추가하면 됩니다. + +## Frequently Asked Questions + +- **다른 이미지 포맷도 지원하나요?** + 네. `RecognizeImage`는 JPEG, BMP, TIFF, 심지어 PDF(이미지 컨테이너)도 받아들입니다. 동일한 절차를 적용하면 됩니다. + +- **폴더에 있는 여러 PNG에서 텍스트를 추출할 수 있나요?** + 물론입니다. 핵심 로직을 `foreach (var file in Directory.GetFiles(folder, "*.png"))` 루프로 감싸고 각 결과를 리스트에 저장하거나 별도 파일에 기록하면 됩니다. + +- **텍스트 좌표가 필요하면 어떻게 하나요?** + Aspose OCR은 `OcrResult` 객체를 제공하며, 여기에는 바운딩 박스가 포함됩니다. 고급 시나리오에서는 `ocrEngine.RecognizeImageToResult(imagePath)`를 사용하세요. + +## Conclusion + +우리는 **PNG 파일에서 텍스트를 추출**하기 위한 **완전한 엔드‑투‑엔드** 솔루션을 살펴보았습니다. 엔진 초기화, **맞춤 사전** 적용, 원시 출력 정리, 그리고 흔히 발생하는 문제들을 처리함으로써 C# 애플리케이션에서 **이미지 텍스트 읽기**와 **OCR 정확도 향상**을 안정적으로 구현할 수 있습니다. + +다음 단계가 준비되셨나요? PNG 대신 스캔된 영수증을 사용해 보거나, 사전에 더 많은 도메인‑특화 단어를 추가하고, 출력 결과를 데이터베이스와 연동해 자동 청구서 처리를 구현해 보세요. Aspose OCR과 .NET 풍부한 생태계를 결합하면 가능성은 무한합니다. + +행복한 코딩 되시고, OCR이 언제나 정확하기를 바랍니다! + +![Extract text from png example](/images/extract-text-from-png.png "extract text from png – Aspose OCR demo") + +{{< /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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/korean/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..67f1b3f4 --- /dev/null +++ b/ocr/korean/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,259 @@ +--- +category: general +date: 2026-01-09 +description: C#에서 Aspose OCR을 사용하여 TIFF 파일에서 텍스트를 추출합니다. 이 단계별 튜토리얼에서 각 결과의 처음 50자를 + 얻는 방법을 배워보세요. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: ko +og_description: C#에서 Aspose OCR을 사용하여 TIFF에서 텍스트를 추출합니다. 이 가이드는 각 OCR 결과의 처음 50자를 + 단계별로 얻는 방법을 보여줍니다. +og_title: Aspose OCR을 사용하여 TIFF에서 텍스트 추출 – 완전한 C# 가이드 +tags: +- Aspose OCR +- C# +- TIFF processing +title: Aspose OCR C#로 TIFF에서 텍스트 추출 – 전체 튜토리얼 +url: /ko/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# TIFF에서 텍스트 추출 – 완전한 Aspose OCR C# 튜토리얼 + +TIFF 이미지에서 텍스트를 추출해야 했지만 어떤 라이브러리를 신뢰해야 할지 몰랐던 적이 있나요? 당신만 그런 것이 아닙니다. 많은 개발자들이 특히 성능이 중요한 경우 다중 페이지 TIFF에서 검색 가능한 텍스트를 추출하려고 할 때 벽에 부딪칩니다. + +이 **aspose ocr c# tutorial**에서는 전체 텍스트를 추출할 뿐만 아니라 각 페이지의 **first 50 characters**를 빠르게 미리 보기 위해 가져오는 방법을 보여주는 바로 실행 가능한 예제를 단계별로 살펴보겠습니다. 끝까지 진행하면 .NET 프로젝트에 바로 넣어 사용할 수 있는 독립형 프로그램을 얻게 됩니다. + +## 필요 사항 + +- .NET 6 (또는 최신 .NET 버전) – 코드는 .NET Core와 .NET Framework 모두에서 컴파일됩니다. +- 활성 Aspose.OCR for .NET 라이선스 (무료 체험으로 시작할 수 있습니다). +- 처리하려는 하나 이상의 `.tif` 파일이 들어 있는 폴더. +- Visual Studio, VS Code 또는 선호하는 IDE – 예제는 순수 C#이므로 편집기 선택은 중요하지 않습니다. + +> **Pro tip:** CI 서버를 사용 중이라면 Aspose.OCR NuGet 패키지(`Aspose.OCR`)를 프로젝트 파일에 추가하세요; 이 라이브러리는 완전 관리형이며 네이티브 종속성이 없습니다. + +## 단계 1: Aspose OCR NuGet 패키지 설치 + +먼저 OCR 엔진을 프로젝트에 가져옵니다. 솔루션 폴더에서 터미널을 열고 다음을 실행하세요: + +```bash +dotnet add package Aspose.OCR +``` + +## 단계 2: OCR 엔진 초기화 + +이제 `OcrEngine` 인스턴스를 생성합니다. 이것을 모든 TIFF 페이지를 읽는 “두뇌”라고 생각하면 됩니다. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +엔진을 한 번만 인스턴스화하는 이유는 무엇일까요? `RecognizeImages`가 파일 경로 컬렉션을 받아 엔진이 내부 버퍼를 재사용하도록 함으로써 배치 처리 속도를 크게 높일 수 있기 때문입니다. + +## 단계 3: 한 번에 모든 TIFF 파일 수집 + +디렉터리를 직접 반복하는 대신 .NET이 무거운 작업을 수행하도록 합니다. `Directory.GetFiles` 메서드는 `IEnumerable`을 반환하며, 이를 바로 OCR 호출에 전달할 수 있습니다. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **이미지가 JPEG 또는 PNG인 경우는?** 검색 패턴을 (`"*.jpg"` 또는 `"*.*"`) 변경하면 됩니다. Aspose OCR은 모든 일반 래스터 형식을 지원합니다. + +## 단계 4: 전체 컬렉션에 OCR 실행 + +다음은 모든 파일을 한 번에 처리하는 핵심 라인입니다. 이 메서드는 파일 경로를 키로, 인식된 텍스트를 포함하는 `OcrResult` 객체를 값으로 하는 사전을 반환합니다. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +배치 처리하는 이유는 무엇일까요? OCR 엔진을 반복적으로 로드하는 오버헤드를 줄이고, 다중 코어 머신에서는 Aspose가 내부적으로 작업을 병렬화하여 눈에 띄는 속도 향상을 제공합니다. + +## 단계 5: 미리 보기 표시 – 첫 50 문자 가져오기 + +대부분의 UI 시나리오에서는 전체 문서가 아니라 작은 조각만 필요합니다. 여기서는 첫 50 문자(페이지가 짧으면 그보다 적게)를 추출하여 파일 이름과 함께 출력합니다. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +`Math.Min(50, fullText.Length)` 라인은 문자열 범위를 초과하지 않도록 보장합니다 – OCR 결과가 50자보다 짧을 때 `ArgumentOutOfRangeException`이 발생하는 것을 방지하는 작은 보호 장치입니다. + +### 예상 콘솔 출력 + +두 개의 TIFF 파일(`invoice1.tif`와 `receipt2.tif`)이 있다고 가정하면 콘솔에 다음과 같이 표시될 수 있습니다: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +각 행은 미리 보기가 더 긴 텍스트 블록의 시작에 불과함을 나타내기 위해 줄임표(`...`)로 끝납니다. + +## 단계 6: 엣지 케이스 및 일반적인 함정 처리 + +### 빈 파일 또는 손상된 파일 + +파일을 읽을 수 없으면 `RecognizeImages`는 여전히 빈 `Text` 속성을 가진 항목을 반환합니다. 이를 필터링할 수 있습니다: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### 대용량 배치 + +수천 개의 TIFF를 처리하면 많은 메모리를 사용할 수 있습니다. 이런 경우 이미지당 `Stream`을 받는 오버로드를 사용하거나 목록을 더 작은 청크로 나누어 처리하세요: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### 언어 및 글꼴 지원 + +문서에 라틴 문자가 아닌 문자가 포함된 경우 `RecognizeImages`를 호출하기 전에 언어를 설정하세요: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +이 작은 조정으로 정확도가 크게 향상될 수 있습니다. + +## 단계 7: 전체 작업 예제 (복사‑붙여넣기 준비 완료) + +아래는 새 콘솔 프로젝트(`dotnet new console`)에 붙여넣고 그대로 실행할 수 있는 전체 프로그램입니다(`YOUR_DIRECTORY/Batch`를 실제 경로로 교체하면 됩니다). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +`dotnet run`으로 프로그램을 실행하세요. 각 TIFF 파일에 대한 간결한 미리 보기가 표시되며, Aspose OCR을 사용해 **extract text from TIFF** 이미지를 성공적으로 추출했음을 확인할 수 있습니다. + +## 자주 묻는 질문 (FAQ) + +**Q: Does this work with multi‑page TIFFs?** +A: Yes. Aspose OCR은 각 페이지를 내부적으로 별개의 이미지로 처리하므로, 다중 페이지 TIFF는 파일당 하나의 연결된 문자열을 반환합니다. 필요하면 나중에 분할할 수 있습니다. + +**Q: How accurate is the OCR out of the box?** +A: 깨끗하고 고해상도(300 DPI 이상) 스캔의 경우 영어 텍스트에 대해 95 % 이상의 정확도를 기대할 수 있습니다. 전처리(디스큐, 이진화)를 하면 정확도를 더욱 높일 수 있습니다. + +**Q: Can I output the results to a CSV file?** +A: 물론 가능합니다. `Console.WriteLine`을 `StreamWriter`로 교체하고 `fileName,preview` 행을 작성하면 됩니다. 미리 보기 텍스트에 있는 쉼표는 이스케이프해야 합니다. + +## 다음 단계 및 관련 주제 + +- **Persist OCR results** – 전체 텍스트를 데이터베이스에 저장하여 검색 가능한 아카이브를 만듭니다. +- **Combine with PDF conversion** – Aspose.PDF를 사용해 추출된 텍스트를 검색 가능한 PDF에 다시 삽입합니다. +- **Batch processing on Azure Functions** – 서버를 관리하지 않고 OCR 작업을 확장합니다. + +이 모든 확장은 **extract text from TIFF**를 효율적으로 수행하면서도 **get first 50 characters**를 사용해 빠른 UI 미리 보기를 제공한다는 핵심 아이디어와 연결됩니다. + +--- + +*즐거운 코딩 되세요! 문제가 발생하면 아래에 댓글을 남겨 주세요 – OCR 파이프라인을 미세 조정하는 데 최선을 다해 도와드리겠습니다.* + +![Extract text from TIFF using Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extract text from TIFF using Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/korean/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..b0a25a8b --- /dev/null +++ b/ocr/korean/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,238 @@ +--- +category: general +date: 2026-01-09 +description: C#에서 Aspose OCR을 사용하여 JPG에서 텍스트를 빠르게 인식하세요. 이미지에서 텍스트를 추출하고, 이미지를 JSON + 및 EPUB으로 변환하는 방법을 한 번에 배워보세요. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: ko +og_description: Aspose OCR을 사용하여 JPG에서 텍스트를 인식합니다. 이 가이드는 이미지에서 텍스트를 추출하고, 이미지를 JSON + 및 EPUB으로 변환하며, 이미지를 사용해 ePub을 만드는 방법을 보여줍니다. +og_title: JPG에서 텍스트 인식 – 전체 C# 튜토리얼 +tags: +- Aspose OCR +- C# +- Image Processing +title: Aspose OCR로 JPG에서 텍스트 인식 – 완전 C# 가이드 +url: /ko/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# JPG에서 텍스트 인식 – 완전한 C# 가이드 + +JPG 파일에서 **텍스트를 인식**해야 했지만 어떤 라이브러리를 선택해야 할지 몰랐던 적이 있나요? 당신만 그런 것이 아닙니다. 많은 개발자들이 사진이나 스캔한 문서에서 단어를 추출하려고 할 때 같은 장벽에 부딪힙니다. + +좋은 소식은? Aspose OCR을 사용하면 몇 줄의 C# 코드로 이미지 파일에서 **텍스트를 추출**할 수 있고, 즉시 **이미지를 JSON으로 변환**하거나 **이미지를 EPUB으로 변환**까지 할 수 있습니다—IDE를 떠날 필요 없이. + +이 튜토리얼에서는 올바른 NuGet 패키지를 설치하고, JPG에서 텍스트를 인식하고, 결과를 구조화된 JSON 및 ePub 문서로 저장하는 전체 워크플로우를 단계별로 살펴봅니다. 끝까지 따라오면 **이미지에서 epub 만들기**를 프로그래밍적으로 구현할 수 있게 되며, 이는 e‑learning 플랫폼, 디지털 라이브러리 또는 검색 가능한 전자책이 필요한 모든 앱에 유용한 트릭이 됩니다. + +--- + +## What You’ll Need + +- **.NET 6+** (또는 .NET Framework 4.6+). 코드는 최신 런타임에서 모두 동작합니다. +- **Aspose.OCR** NuGet 패키지 – 핵심 OCR 엔진. +- **Aspose.Publishing** NuGet 패키지 – ePub 출력 형식에 필요합니다. +- 디스크 어딘가에 위치한 `input.jpg` 이미지 파일 (경로는 직접 지정하세요). +- 텍스트 편집기 또는 IDE (Visual Studio, VS Code, Rider 등 자유롭게 선택). + +그게 전부입니다. 별도의 서비스나 외부 API 없이 라이브러리 두 개와 JPG 파일만 있으면 됩니다. + +--- + +## Step 1: Set Up Your Project to **recognize text in jpg** + +먼저 새 콘솔 애플리케이션을 만들거나 기존 프로젝트에 추가합니다. 그런 다음 NuGet 패키지 관리자를 통해 두 개의 Aspose 패키지를 추가합니다: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Pro tip:** Visual Studio를 사용 중이라면 프로젝트를 마우스 오른쪽 버튼으로 클릭 → *Manage NuGet Packages* → *Aspose.OCR* 및 *Aspose.Publishing*을 검색한 뒤 **Install**을 클릭합니다. + +이 패키지들은 **이미지에서 텍스트를 추출**하고 나중에 ePub 파일을 출력하는 데 필요한 모든 것을 제공합니다. + +--- + +## Step 2: **Extract text from image** Using Aspose OCR + +이제 실제로 JPG를 읽고 문자들을 추출하는 코드를 작성합니다. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Why this works:** `OcrEngine`은 저수준 이미지 전처리, 언어 감지 및 문자 분할을 모두 추상화합니다. 파일을 지정하기만 하면 `OcrResult` 객체를 반환하며, 여기에는 평문 문자열(`ocrResult.Text`)과 풍부한 메타데이터가 포함됩니다. + +--- + +## Step 3: **Convert image to JSON** – Exporting the OCR Result + +OCR 결과를 구조화된 형식(API, 데이터베이스, 후속 처리 등)으로 저장해야 할 경우, Aspose를 사용하면 결과를 JSON으로 직렬화하는 것이 매우 간단합니다. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +생성된 JSON은 대략 다음과 같은 형태입니다(간결하게 표시): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**When to use it:** JSON은 OCR 데이터를 웹 서비스에 전달하거나 NoSQL 저장소에 보관하거나, 어떤 언어에서도 파싱 가능한 휴대용 표현이 필요할 때 이상적입니다. + +--- + +## Step 4: **Convert image to EPUB** – Saving as an eBook + +Aspose Publishing은 EPUB을 포함한 여러 전자책 형식을 지원합니다. `OcrResult`에 `Save`를 호출하면 인식된 텍스트와 선택적으로 원본 이미지를 포함하는 완전한 ePub 파일을 생성할 수 있습니다. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**What you get:** Calibre, Apple Books, Adobe Digital Editions 등 모든 리더에서 열 수 있는 ePub 파일이 생성됩니다. 파일에는 검색 가능한 텍스트와 배경 레이어로 원본 이미지가 포함되어 있어 **이미지에서 epub 만들기** 파이프라인에 최적입니다. + +--- + +## Step 5: Full Working Example – From JPG to JSON & EPUB + +모든 코드를 하나로 합치면 다음과 같은 완전한 실행 프로그램이 됩니다. 이를 `Program.cs`에 복사‑붙여넣기하고 파일 경로를 조정한 뒤 **F5**를 눌러 실행하세요. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +프로그램을 실행하면 다음 세 가지를 확인할 수 있습니다: + +1. 콘솔에 출력된 인식된 텍스트. +2. 구조화된 OCR 데이터를 담은 `output.json` 파일. +3. 모든 전자책 리더에서 열 수 있는 `output.epub` 파일. + +--- + +## Common Questions & Edge Cases + +- **What if the image is a PNG or BMP?** + Aspose OCR은 대부분의 래스터 형식(PNG, BMP, TIFF, GIF)을 지원합니다. `inputPath`의 파일 확장자를 변경하기만 하면 동일한 코드가 작동합니다. + +- **Can I specify a language other than English?** + 네. `ocrEngine.Language = OcrLanguage.French;`와 같이 (지원되는 언어이면) `RecognizeImage` 호출 전에 언어를 설정하면 됩니다. + +- **What about multi‑page PDFs?** + PDF의 경우 먼저 각 페이지를 이미지로 변환(Aspose.PDF 사용 가능)한 뒤 각 이미지를 `RecognizeImage`에 전달합니다. 얻은 `OcrResult` 객체들을 병합한 뒤 JSON이나 EPUB으로 내보낼 수 있습니다. + +- **I get low confidence scores. How can I improve accuracy?** + 이미지 전처리: 대비를 높이거나, 기울기를 교정하거나, 그레이스케일로 변환합니다. Aspose OCR은 `PreprocessOptions`도 제공하니 필요에 따라 조정하세요. + +--- + +## Conclusion + +이제 Aspose OCR을 사용해 **JPG에서 텍스트를 인식**하고, 데이터 파이프라인을 위해 **이미지를 JSON으로 변환**하며, 검색 가능한 전자책을 만들기 위해 **이미지를 EPUB으로 변환**하는 완전한 엔드‑투‑엔드 레시피를 갖추었습니다. 이 접근 방식은 가볍고 NuGet 패키지 두 개만 필요하며 최신 .NET 런타임 전반에서 동작합니다. + +다음과 같은 활용이 가능합니다: + +- JSON 출력을 검색 인덱스(Azure Cognitive Search, Elastic 등)에 통합. +- 이미지 폴더를 일괄 처리해 ePub 도서 라이브러리 생성. +- 번역 API와 연계해 다국어 전자책을 자동으로 생성. + +한 번 시도해 보고 다양한 이미지 품질을 실험해 보세요. OCR 엔진이 무거운 작업을 대신해 줄 것입니다. Happy coding! + +--- + +![recognize text in jpg output screenshot](placeholder-image.png "recognize text in jpg 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/net/ocr-configuration/_index.md b/ocr/polish/net/ocr-configuration/_index.md index 2851cb0c..af02a5b8 100644 --- a/ocr/polish/net/ocr-configuration/_index.md +++ b/ocr/polish/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ Odblokuj moc rozpoznawania obrazów OCR w .NET dzięki Aspose.OCR. Wyodrębnij t Odblokuj potężne możliwości OCR dzięki Aspose.OCR dla .NET. Płynnie wyodrębniaj tekst z obrazów. ### [OCROoperacja z listą w rozpoznawaniu obrazu OCR](./ocr-operation-with-list/) Odblokuj potencjał Aspose.OCR dla .NET. Bez wysiłku rozpoznaj obrazy OCR za pomocą list. Zwiększ produktywność i ekstrakcję danych w swoich aplikacjach. +### [Jak wykonać OCR obrazu w C# – Kompletny przewodnik z obsługą GPU](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Pełny przewodnik po OCR obrazu w C# z wykorzystaniem GPU, zwiększający wydajność i dokładność rozpoznawania tekstu. +### [Rozpoznawanie tekstu z obrazu przy użyciu Aspose OCR – Kompletny przewodnik C#](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Pełny przewodnik po rozpoznawaniu tekstu z obrazu w C# przy użyciu Aspose OCR, zwiększający wydajność i dokładność. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/polish/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..fcf5c0f2 --- /dev/null +++ b/ocr/polish/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-01-09 +description: Dowiedz się, jak wykonać OCR obrazu i wyodrębnić tekst z obrazu przy + użyciu Aspose.OCR. Zawiera kroki konwersji zeskanowanego dokumentu, włączenia GPU + oraz odczytu obrazu za pomocą OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: pl +og_description: Jak szybko wykonać OCR obrazu za pomocą Aspose.OCR. Postępuj zgodnie + z tym samouczkiem krok po kroku, aby wyodrębnić tekst z obrazu, przekonwertować + zeskanowany dokument i włączyć GPU. +og_title: Jak wykonać OCR obrazu w C# – przewodnik przyspieszony GPU +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Jak wykonać OCR obrazu w C# – Kompletny przewodnik z obsługą GPU +url: /pl/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak wykonać OCR obrazu w C# – Kompletny przewodnik z obsługą GPU + +Zastanawiałeś się kiedyś **jak wykonać OCR obrazu** bezpośrednio w swojej aplikacji .NET? Nie jesteś jedyny — programiści stale muszą wyciągać tekst z plików PDF, TIFF i zdjęć, szczególnie przy pracy z dużymi zeskanowanymi dokumentami. Dobre wieści? Dzięki Aspose.OCR możesz **wyodrębnić tekst z obrazu** w kilku linijkach kodu, a nawet **włączyć przyspieszenie GPU**, aby przyspieszyć przetwarzanie. + +W tym samouczku przeprowadzimy Cię przez wszystko, co musisz wiedzieć: od instalacji biblioteki, przez inicjalizację silnika OCR z możliwością przejścia na GPU, aż po **odczyt obrazu przy użyciu OCR** i wyświetlenie wyniku. Po zakończeniu będziesz w stanie **przekształcić zeskanowane dokumenty** w obrazy na edytowalne ciągi znaków — bez potrzeby korzystania z zewnętrznych usług. + +--- + +## Czego będziesz potrzebować + +- **.NET 6.0** lub nowszy (kod działa również na .NET Core i .NET Framework). +- **Licencja** na Aspose.OCR lub tymczasowy klucz ewaluacyjny (bezpłatna wersja próbna działa do testów). +- Plik obrazu, który chcesz przetworzyć — najlepiej wysokiej rozdzielczości TIFF lub PNG. +- (Opcjonalnie) Maszyna z obsługą GPU, jeśli chcesz zobaczyć przyspieszenie; w przeciwnym razie silnik płynnie przełączy się na CPU. + +Posiadanie tych wymagań pozwala skupić się na rzeczywistym przepływie pracy OCR, bez napotkania problemów później. + +--- + +## Krok 1: Zainstaluj pakiet NuGet Aspose.OCR + +Na początek — dodaj bibliotekę Aspose.OCR do swojego projektu. Otwórz terminal w folderze rozwiązania i uruchom: + +```bash +dotnet add package Aspose.OCR +``` + +Albo, jeśli używasz interfejsu NuGet w Visual Studio, po prostu wyszukaj **Aspose.OCR** i kliknij instaluj. To pojedyncze polecenie pobiera wszystkie niezbędne pliki DLL, w tym natywne binaria GPU, gdy są dostępne. + +> **Wskazówka:** Utrzymuj pakiet w najnowszej wersji. Nowe wydania często zawierają ulepszenia modeli językowych i lepsze wsparcie GPU. + +--- + +## Krok 2: Importuj wymagane przestrzenie nazw + +Teraz, gdy pakiet jest zainstalowany, wprowadź odpowiednie przestrzenie nazw do zasięgu. Ten krok to moment, w którym zaczynamy **jak wykonać OCR obrazu** w kodzie. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +Te dwie linie dają dostęp do klasy `OcrEngine` oraz obiektu ustawień, który pozwala przełączać użycie GPU. Bez nich kompilator nie wiedziałby, czym jest `OcrEngine`. + +--- + +## Krok 3: Zainicjalizuj silnik OCR i włącz GPU + +Jeśli kiedykolwiek pytałeś **jak włączyć GPU** dla OCR, to jest odpowiedź. Tworzymy instancję `OcrEngineSettings`, ustawiamy flagę `UseGpu` i przekazujemy ją do konstruktora silnika. Silnik automatycznie wykrywa, czy dostępny jest kompatybilny GPU; jeśli nie, przełącza się na CPU — więc nie potrzebujesz dodatkowej obsługi błędów. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Po co w ogóle włączać GPU? Dla dużych obrazów — np. wielostronicowych TIFF‑ów lub skanów wysokiej rozdzielczości — czas przetwarzania może spaść z kilku sekund do ułamka sekundy. Jeśli budujesz potok przetwarzania wsadowego, taki przyrost wydajności szybko się sumuje. + +--- + +## Krok 4: Wykonaj OCR na wybranym obrazie + +Tutaj faktycznie **odczytujemy obraz przy użyciu OCR**. Podaj ścieżkę do pliku, a silnik zwróci rozpoznany tekst jako ciąg znaków. Działa to dla każdego formatu rastrowego obsługiwanego przez Aspose (PNG, JPEG, TIFF, BMP itp.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Jeśli potrzebujesz **przekształcić zeskanowany dokument** strona po stronie, po prostu iteruj po nazwach plików i wywołuj `RecognizeImage` dla każdego. Metoda jest bezpieczna wątkowo, więc możesz nawet równolegle przetwarzać zadanie na wielordzeniowym CPU. + +--- + +## Krok 5: Wyświetl lub zapisz wyodrębniony tekst + +Na koniec wypisujemy wynik. W aplikacji konsolowej `Console.WriteLine` wystarczy. W rzeczywistym scenariuszu możesz zapisać tekst do bazy danych, pliku JSON lub wprowadzić go do indeksu wyszukiwania. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +Powyższa linia drukuje surowy wynik OCR. Zauważysz podziały linii, sporadyczne błędy rozpoznawania i być może kilka niechcianych znaków — nic niezwykłego w OCR. Post‑processing (np. czyszczenie regexem) może uporządkować wynik, jeśli to konieczne. + +> **Uwaga:** Aspose.OCR obsługuje także słowniki specyficzne dla języków. Jeśli przetwarzasz teksty nie‑angielskie, ustaw `ocrEngine.Settings.Language` odpowiednio przed wywołaniem `RecognizeImage`. + +--- + +## Pełny działający przykład + +Łącząc wszystko razem, oto samodzielny program, który możesz skopiować i wkleić do nowego projektu konsolowego: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Oczekiwany wynik** (skrócony dla zwięzłości): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Uruchom program, a w oknie konsoli powinien pojawić się wyodrębniony tekst. Jeśli GPU jest dostępne, czas przetwarzania będzie zauważalnie krótszy niż na maszynach tylko z CPU. + +--- + +## Częste pułapki i jak ich unikać + +| Problem | Dlaczego się pojawia | Rozwiązanie | +|-------|----------------|-----| +| **Zbędne znaki** | Źródło o niskiej rozdzielczości lub zaszumione tło. | Wstępnie przetwórz obraz (zwiększ DPI, zastosuj binaryzację) przed OCR. | +| **GPU nie używany** | Brak zainstalowanego kompatybilnego sterownika CUDA. | Zweryfikuj wersję sterownika lub ustaw `UseGpu = false`, aby wymusić CPU. | +| **Brak pamięci przy dużych TIFF‑ach** | Ładowanie całego pliku jednocześnie. | Użyj `OcrEngineSettings.MaxMemoryUsage`, aby ograniczyć zużycie pamięci, lub przetwarzaj strony pojedynczo. | +| **Nieprawidłowe wykrycie języka** | Domyślnym językiem jest angielski. | Ustaw `ocrEngine.Settings.Language = Language.YourLanguage;` przed wywołaniem `RecognizeImage`. | + +Rozwiązywanie tych przypadków brzegowych zapewnia, że Twoja implementacja **jak wykonać OCR obrazu** pozostaje solidna w różnych środowiskach. + +--- + +## Rozszerzanie rozwiązania + +Teraz, gdy możesz **wyodrębnić tekst z obrazu**, możesz chcieć: + +- **Przekształcić zeskanowane dokumenty** PDF na przeszukiwalne PDF‑y poprzez osadzenie warstwy OCR. +- Przechowywać wyniki w indeksie **Azure Cognitive Search** w celu szybkiego wyszukiwania. +- Połączyć wynik OCR z **API tłumaczeń**, jeśli potrzebujesz wsparcia wielojęzycznego. +- Użyć metody **Aspose.OCR** `GetBoundingBoxes`, aby określić, gdzie każde słowo pojawia się na obrazie — przydatne w narzędziach do redakcji. + +Wszystkie te rozszerzenia opierają się na tej samej podstawowej zasadzie, którą omówiliśmy: zainicjalizuj silnik, podaj mu obraz i odczytaj tekst. + +--- + +## Podsumowanie + +Przeszliśmy przez kompletny, pełny przykład **jak wykonać OCR obrazu** przy użyciu Aspose.OCR w C#. Instalując pakiet NuGet, importując odpowiednie przestrzenie nazw, włączając GPU (lub przełączając się na CPU) i wywołując `RecognizeImage`, możesz niezawodnie **wyodrębnić tekst z obrazu**, **przekształcić zeskanowane dokumenty** oraz **odczytać obraz przy użyciu OCR** w dowolnej aplikacji .NET. + +Wypróbuj to na kilku własnych skanach — eksperymentuj z różnymi formatami obrazów, przełączaj flagę GPU i obserwuj, jak zmienia się wydajność. Gdy będziesz gotowy, odkryj zaawansowane funkcje, takie jak słowniki językowe czy wyodrębnianie prostokątów ograniczających, aby uczynić rozwiązanie jeszcze inteligentniejszym. + +Miłego kodowania i niech Twoje potoki OCR będą szybkie, dokładne i bezproblemowe! + +{{< /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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/polish/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..b5cda20c --- /dev/null +++ b/ocr/polish/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-01-09 +description: Rozpoznawaj tekst z obrazu przy użyciu Aspose OCR w C#. Dowiedz się, + jak wyłączyć automatyczne pobieranie, wyodrębnić chiński tekst z obrazu i ustawić + język OCR. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: pl +og_description: rozpoznawaj tekst z obrazu przy użyciu Aspose OCR w C#. Postępuj zgodnie + z tym samouczkiem krok po kroku, aby wyłączyć automatyczne pobieranie, wyodrębnić + chiński tekst z obrazu i ustawić język OCR. +og_title: Rozpoznawanie tekstu z obrazu przy użyciu Aspose OCR – Kompletny przewodnik + C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Rozpoznawanie tekstu z obrazu przy użyciu Aspose OCR – Kompletny przewodnik + C# +url: /pl/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# rozpoznawanie tekstu z obrazu przy użyciu Aspose OCR – Kompletny przewodnik C# + +Kiedykolwiek potrzebowałeś **rozpoznać tekst z obrazu**, ale utknąłeś w szczegółach konfiguracji? Nie jesteś sam. Wielu programistów napotyka problemy, gdy silnik OCR próbuje pobrać pakiety językowe w czasie działania, lub gdy nie udaje się wyodrębnić chińskich znaków ze zdjęcia znaku. + +W tym samouczku przeprowadzimy Cię przez praktyczne rozwiązanie, które pokaże, jak **wyłączyć automatyczne pobieranie**, **wyodrębnić tekst z obrazu**, **wyodrębnić chiński tekst z obrazu** oraz **ustawić język OCR** — wszystko przy użyciu Aspose OCR dla .NET. Po zakończeniu będziesz mieć pojedynczy, gotowy do uruchomienia program, który wypisze rozpoznany tekst bezpośrednio w konsoli. + +## Czego się nauczysz + +- Jak zainstalować i odwołać się do pakietu NuGet Aspose.OCR. +- Dlaczego wyłączenie automatycznego pobierania zasobów ma znaczenie w środowiskach offline lub zabezpieczonych. +- Dokładne kroki, aby skierować silnik do lokalnego folderu z pakietami językowymi. +- Jak wybrać właściwy język (chiński uproszczony) przed przetwarzaniem obrazu. +- Weryfikacja wyniku i rozwiązywanie typowych problemów. + +Wcześniejsze doświadczenie z Aspose nie jest wymagane; wystarczy podstawowa konfiguracja C# i plik obrazu, który chcesz odczytać. + +## Wymagania wstępne + +| Wymaganie | Powód | +|-------------|--------| +| .NET 6.0 lub nowszy (lub .NET Framework 4.7+) | Aspose.OCR obsługuje te środowiska uruchomieniowe. | +| Visual Studio 2022 (lub dowolne ulubione IDE) | Ułatwia tworzenie projektu i debugowanie. | +| Plik obrazu zawierający chiński tekst (np. `chinese-sign.jpg`) | Do demonstracji **wyodrębnić chiński tekst z obrazu**. | +| Lokalna kopia pakietów językowych Aspose OCR (pobrana raz z portalu Aspose) | Potrzebna, ponieważ **wyłączymy automatyczne pobieranie**. | + +Upewnij się, że pliki ZIP z pakietami językowymi znajdują się w folderze, do którego możesz odwołać się, np. `C:\MyOCR\Resources`. + +## Krok 1: Rozpoznawanie tekstu z obrazu – Konfiguracja silnika OCR + +Na początek potrzebujemy obiektu `OcrEngineSettings`, który informuje Aspose, gdzie szukać zasobów. To podstawa każdej operacji **wyodrębnić tekst z obrazu**. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +Dlaczego ustawiamy `AutoDownloadResources` na `false`? W środowiskach produkcyjnych często działasz za zaporami sieciowymi lub po prostu nie chcesz, aby aplikacja łączyła się z internetem w czasie działania. Wyłączenie tej funkcji gwarantuje, że silnik użyje wyłącznie plików umieszczonych w `ResourceFolder`, co dodatkowo przyspiesza inicjalizację. + +## Krok 2: Utworzenie silnika OCR z określonymi ustawieniami + +Gdy ustawienia są gotowe, tworzymy instancję silnika. Ten krok to miejsce, w którym później wykorzystamy możliwość **ustawienia języka OCR**. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Obiekt `OcrEngine` jest lekki; nie ładuje faktycznie danych językowych, dopóki nie przypiszesz języka. To leniwe ładowanie pozwala bezpiecznie utworzyć silnik, nawet jeśli folder zasobów jest pusty — nic nie zepsuje się, dopóki nie spróbujesz **wyodrębnić chiński tekst z obrazu**. + +## Krok 3: Ustaw język OCR – Wybierz chiński uproszczony + +Aspose obsługuje dziesiątki języków, każdy pakowany jako plik ZIP. Ponieważ nasz przykładowy obraz zawiera znaki chińskiego uproszczonego, wyraźnie ustawiamy język przed rozpoznaniem. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +Jeśli pominiesz ten krok, silnik domyślnie użyje angielskiego i otrzymasz zniekształcony wynik. Zwróć także uwagę, że nazwa języka musi odpowiadać nazwie pliku ZIP w `ResourceFolder`. Na przykład, powinien tam znajdować się plik `ChineseSimplified.zip`. + +## Krok 4: Wyodrębnij tekst z docelowego obrazu + +Po skonfigurowaniu silnika i ustawieniu języka w końcu **rozpoznajemy tekst z obrazu**. Metoda zwraca zwykły łańcuch znaków, który możesz zalogować, zapisać lub przekazać dalej. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Wywołanie `RecognizeImage` wykonuje całą ciężką pracę: wstępne przetwarzanie, segmentację, dopasowanie znaków i ostateczne złożenie wyniku. Jeśli obraz jest wyraźny, a pakiet językowy poprawny, zobaczysz chińskie znaki wypisane w konsoli. + +> **Wskazówka:** Jeśli potrzebujesz wyodrębnić tylko część obrazu (np. konkretny obszar), użyj przeciążenia `RecognizeImage(string, Rectangle)`, aby przekazać prostokąt przycinania. + +## Pełny działający przykład + +Poniżej znajduje się kompletny program, który możesz skopiować i wkleić do nowego projektu konsolowego. Zawiera on dyrektywy `using`, ustawienia, wybór języka oraz końcowy wynik. Zapisz go jako `Program.cs`, przywróć pakiety NuGet i uruchom. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Oczekiwany wynik + +Jeśli `chinese-sign.jpg` zawiera frazę „欢迎光临”, konsola wyświetli coś podobnego do: + +``` +=== Recognized Text === +欢迎光临 +``` + +Dokładne formatowanie może się różnić w zależności od jakości obrazu, ale znaki powinny być czytelne. + +## Typowe problemy i wskazówki profesjonalne + +| Objaw | Prawdopodobna przyczyna | Rozwiązanie | +|---------|--------------|-----| +| **Zwrócony pusty łańcuch** | Nie znaleziono pakietu językowego lub `AutoDownloadResources` nadal próbuje go pobrać | Sprawdź ścieżkę `ResourceFolder` i upewnij się, że istnieje `ChineseSimplified.zip`. | +| **Zniekształcone znaki** | Obraz jest rozmyty lub ma niski kontrast | Przetwórz obraz wstępnie (zwiększ kontrast, binaryzuj) przed przekazaniem go do `RecognizeImage`. | +| **Wyjątek: `FileNotFoundException`** | Nieprawidłowa ścieżka do obrazu | Użyj ścieżki bezwzględnej lub umieść obraz w katalogu wyjściowym projektu i odwołuj się do niego za pomocą `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`. | +| **Opóźnienie wydajności** | Duże wymiary obrazu | Zmniejsz rozmiar obrazu do rozsądnej szerokości (np. 1024 px) przed rozpoznaniem. | + +**Wskazówka pro:** Przechowuj pakiety językowe w folderze kontrolowanym wersjami. Gdy zaktualizujesz Aspose.OCR, nowe pakiety mogą mieć inne konwencje nazewnictwa, co może cicho zepsuć Twoją strategię **wyłączenia automatycznego pobierania**. + +## Rozszerzanie przykładu + +Teraz, gdy potrafisz **rozpoznawać tekst z obrazu**, możesz chcieć: + +- **Przetwarzać wsadowo** folder obrazów (iterować po plikach, wywoływać `RecognizeImage` dla każdego). +- **Eksportować** wyniki do pliku CSV lub JSON w celu dalszej analizy. +- **Połączyć** OCR z API tłumaczeń, aby na bieżąco zamieniać chińskie znaki na angielskie. + +Wszystkie te scenariusze wykorzystują te same podstawowe kroki: skonfiguruj raz, ustaw język i wywołaj `RecognizeImage`. Modułowa konstrukcja utrzymuje kod czystym i łatwym w utrzymaniu. + +## Zakończenie + +Właśnie nauczyłeś się, jak **rozpoznawać tekst z obrazu** przy użyciu Aspose OCR w C#. Poprzez wyraźne **wyłączenie automatycznego pobierania**, skierowanie silnika do lokalnego folderu zasobów i **ustawienie języka OCR** na chiński uproszczony, możesz niezawodnie **wyodrębnić chiński tekst z obrazu** oraz każdy inny język, który dostarczysz. + +Powyższy, kompletny, uruchamialny kod demonstruje praktyczny przepływ pracy, który możesz wstawić do rzeczywistych projektów. Od tego momentu eksperymentuj z różnymi jakością obrazów, dodawaj obsługę błędów lub integruj wynik z większym systemem. Możliwości są praktycznie nieograniczone. + +Masz pytania dotyczące innych języków, optymalizacji wydajności lub wdrożenia w chmurze? Śmiało zostaw komentarz — 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/net/ocr-optimization/_index.md b/ocr/polish/net/ocr-optimization/_index.md index dbeaa39c..e6ca5d07 100644 --- a/ocr/polish/net/ocr-optimization/_index.md +++ b/ocr/polish/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ Przeglądaj Aspose.OCR dla .NET. Zwiększ dokładność OCR dzięki filtrom prze Zwiększ dokładność OCR dzięki Aspose.OCR dla .NET. Poprawiaj pisownię, dostosowuj słowniki i bezproblemowo rozpoznawaj tekst bez błędów. ### [Zapisz wynik wielostronicowy jako dokument w rozpoznawaniu obrazu OCR](./save-multipage-result-as-document/) Odblokuj potencjał Aspose.OCR dla .NET. Z łatwością zapisuj wielostronicowe wyniki OCR jako dokumenty, korzystając z tego obszernego przewodnika krok po kroku. +### [c# tutorial OCR: Rozpoznawanie tekstu z obrazu z przetwarzaniem wstępnym](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Dowiedz się, jak rozpoznać tekst z obrazu w C# przy użyciu przetwarzania wstępnego w Aspose.OCR. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/polish/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..53293d55 --- /dev/null +++ b/ocr/polish/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-01-09 +description: samouczek c# OCR, który pokazuje, jak rozpoznawać tekst z obrazu i wstępnie + przetwarzać obraz do OCR przy użyciu filtrów Aspose.OCR – przewodnik krok po kroku. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: pl +og_description: c# tutorial OCR, który krok po kroku pokazuje, jak rozpoznawać tekst + z obrazu i wstępnie przetwarzać obraz do OCR przy użyciu filtrów Aspose.OCR. Pełny + kod w zestawie. +og_title: c# tutorial OCR – Rozpoznawanie tekstu z obrazu przy wstępnym przetwarzaniu +tags: +- OCR +- C# +- Image Processing +title: 'c# OCR tutorial: Rozpoznawanie tekstu z obrazu z wstępnym przetwarzaniem' +url: /pl/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Rozpoznawanie tekstu z obrazu z przetwarzaniem wstępnym + +Zastanawiałeś się kiedyś, jak **rozpoznać tekst z obrazu** w aplikacji C# bez spędzania tygodni na dopasowywaniu filtrów? Nie jesteś sam. W tym **c# ocr tutorial** przeprowadzimy Cię przez kompletny, gotowy do uruchomienia przykład, który nie tylko odczytuje tekst, ale także **przetwarza obraz pod OCR**, aby zwiększyć dokładność. + +Użyjemy biblioteki Aspose.OCR, ponieważ zawiera wygodny potok filtrów, który pozwala podłączyć kroki deskew, denoise i contrast‑boost w kilku linijkach. Po zakończeniu tego przewodnika będziesz mieć aplikację konsolową, która potrafi wziąć przechylony, zaszumiony PNG, wyczyścić go i zwrócić wyodrębniony ciąg znaków — wszystko z jasnym wyjaśnieniem, dlaczego każdy krok ma znaczenie. + +## Prerequisites + +Zanim zanurkujemy, upewnij się, że masz: + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6 SDK (or later) | Modern C# features and better performance | +| Visual Studio 2022 (or VS Code) | Convenient debugging and IntelliSense | +| NuGet package **Aspose.OCR** | Provides the `OcrEngine` and filter classes | +| An input image (e.g., `skewed‑noisy.png`) | Demonstrates the need for preprocessing | + +Jeśli którekolwiek z powyższych brakuje, zainstaluj je najpierw. Krok z NuGet jest opisany w kolejnej sekcji. + +## Step 1: Install Aspose.OCR via NuGet + +Otwórz terminal (lub Package Manager Console) i uruchom: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** Use the `--version` flag to lock to a specific release if you need reproducible builds. + +The package ships with all the filters we’ll need, so no extra DLLs are required. + +## Step 2: Initialize the OCR Engine – the Heart of the c# ocr tutorial + +Creating the engine is straightforward, but it’s worth understanding what happens under the hood. The `OcrEngine` holds a pipeline of **filters** that manipulate the bitmap before the recognition algorithm runs. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Why initialize first?** The engine caches internal resources (like language models). Re‑using a single instance across multiple images saves memory and speeds up subsequent recognitions. + +## Step 3: Preprocess Image for OCR – adding deskew, denoise, and contrast boost + +Most real‑world scans aren’t perfect; they’re tilted, speckled, or too dark. That’s why **preprocess image for OCR** is a critical step. Aspose provides three filters that work together nicely: + +| Filter | What it does | Typical use case | +|--------|--------------|------------------| +| `DeskewFilter` | Rotates the image to correct slant | Scanned documents from a scanner | +| `DenoiseFilter` | Removes isolated pixels (“salt‑and‑pepper” noise) | Low‑light photos | +| `ContrastBoostFilter` | Increases contrast to sharpen text edges | Faded prints or low‑resolution captures | + +Below is the code that adds each filter to the engine’s pipeline: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **How it works:** When you call `RecognizeImage` later, the engine will sequentially run these three filters before feeding the cleaned bitmap to the recognition core. + +### Visual illustration (optional) + +If you embed an image, make sure the alt text contains the primary keyword: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Step 4: Recognize Text from Image – the moment of truth + +Now that the image is pre‑processed, we can finally extract the characters. The method returns a plain string, which you can log, store, or feed into another system. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Expected output + +Running the sample against a typical invoice scan yields something like: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +If the output looks garbled, double‑check the image quality and consider tweaking the `ContrastBoostFilter.Level` (values > 2.0 can be too aggressive). + +## Step 5: Output the Result and Optional Post‑Processing + +A console app can simply write the string, but many projects need extra handling—like trimming whitespace, removing line breaks, or feeding the text into a database. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Why post‑process? + +Even with good preprocessing, OCR often introduces stray line breaks or invisible characters. A quick `Replace` chain can make the data far more usable downstream. + +## Step 6: Full Working Example – copy‑paste ready + +Below is the **complete** program you can compile and run immediately. It includes all the using statements, filter setup, OCR call, and output handling. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**How to run it** + +1. Save the file as `Program.cs` inside a new console project (`dotnet new console`). +2. Replace `YOUR_DIRECTORY/skewed-noisy.png` with the real path to your test image. +3. Execute `dotnet run`. You should see the OCR output printed to the terminal. + +## Common Pitfalls & Tips (recognize text from image reliably) + +| Issue | What to check | Fix | +|-------|----------------|-----| +| **Garbage characters** | Image is too dark or low‑resolution | Increase `ContrastBoostFilter.Level` or use a higher‑resolution source | +| **Missing lines** | Deskew didn’t correct the angle fully | Manually rotate the image first, or adjust `DeskewFilter` tolerance | +| **Slow performance** | Processing many large images in a loop | Reuse the same `OcrEngine` instance and call `ocrEngine.Clear()` after each run | +| **Unsupported language** | Text is not English | Set `ocrEngine.Language = OcrLanguage.French` (or another supported language) before recognition | + +### Edge case: handling multi‑page PDFs + +If you need to OCR a PDF, convert each page to an image (e.g., using `Aspose.PDF`) and feed them one‑by‑one to the same engine. The preprocessing pipeline remains identical, ensuring consistent results across pages. + +## Conclusion + +In this **c# ocr tutorial** we covered everything you need to **recognize text from image** and **preprocess image for OCR** using Aspose.OCR’s built‑in filters. By initializing the engine, adding deskew, denoise, and contrast‑boost steps, and finally calling `RecognizeImage`, you get clean, reliable text extraction with just a handful of lines of code. + +Feel free to experiment—swap in a different filter, tweak the contrast level, or integrate the result into a larger data‑pipeline. The concepts here apply to any OCR library: preprocessing is often the difference between a half‑read invoice and a perfectly captured document. + +Got more questions? Maybe you’re curious about handling handwritten text or batch‑processing thousands of files. Drop a comment, and we’ll explore those scenarios together. 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/polish/net/text-recognition/_index.md b/ocr/polish/net/text-recognition/_index.md index 40c85d63..3e1721aa 100644 --- a/ocr/polish/net/text-recognition/_index.md +++ b/ocr/polish/net/text-recognition/_index.md @@ -21,9 +21,9 @@ Czy jesteś gotowy, aby przenieść swoje aplikacje .NET na wyższy poziom? Zanu W tym samouczku poprowadzimy Cię przez wykorzystanie możliwości Aspose.OCR dla .NET w celu zwiększenia możliwości rozpoznawania obrazów. Dowiedz się krok po kroku, jak wyszukiwać wybory rozpoznawanych znaków, zapewniając dokładność i wydajność w swoich aplikacjach. Zwiększ swoje doświadczenie OCR dzięki najnowocześniejszym funkcjom Aspose.OCR. -## Uzyskaj wynik rozpoznawania w trybie rozpoznawania obrazu OCR +## Uzyskaj wynik rozpoznania w trybie rozpoznawania obrazu OCR -Poznaj możliwości Aspose.OCR dla .NET i zmień sposób obsługi rozpoznawania tekstu w obrazach. Odkryj zawiłości uzyskiwania wyników rozpoznawania dzięki naszemu obszernemu przewodnikowi. Niezależnie od tego, czy jesteś doświadczonym programistą, czy dopiero zaczynasz, ten samouczek umożliwi Ci bezproblemową integrację OCR z Twoimi projektami. +Poznaj możliwości Aspose.OCR dla .NET i zmień sposób obsługi rozpoznawania tekstu w obrazach. Odkryj zawiłości uzyskiwania wyników rozpoznania dzięki naszemu obszernemu przewodnikowi. Niezależnie od tego, czy jesteś doświadczonym programistą, czy dopiero zaczynasz, ten samouczek umożliwi Ci bezproblemową integrację OCR z Twoimi projektami. ## Uzyskaj wynik jako JSON w rozpoznawaniu obrazu OCR @@ -45,7 +45,7 @@ Gotowy zrewolucjonizować swoje aplikacje .NET? Zanurz się w naszych samouczkac ## Poradniki rozpoznawania tekstu ### [Uzyskaj wybór rozpoznawanych znaków w procesie rozpoznawania obrazu OCR](./get-choices-for-recognized-characters/) Ulepsz swoje aplikacje .NET za pomocą Aspose.OCR, aby uzyskać dokładne rozpoznawanie znaków. Postępuj zgodnie z naszym przewodnikiem krok po kroku, aby wyszukać opcje rozpoznawania znaków w procesie rozpoznawania obrazu. -### [Uzyskaj wynik rozpoznawania w trybie rozpoznawania obrazu OCR](./get-recognition-result/) +### [Uzyskaj wynik rozpoznania w trybie rozpoznawania obrazu OCR](./get-recognition-result/) Poznaj Aspose.OCR dla .NET, potężne rozwiązanie OCR do płynnego rozpoznawania tekstu w obrazach. ### [Uzyskaj wynik jako JSON w rozpoznawaniu obrazu OCR](./get-result-as-json/) Uwolnij moc Aspose.OCR dla .NET. Dowiedz się, jak bez wysiłku uzyskiwać wyniki OCR w formacie JSON. Popraw rozpoznawanie obrazów dzięki temu przewodnikowi krok po kroku. @@ -55,9 +55,22 @@ Ulepsz swoje aplikacje .NET za pomocą Aspose.OCR, aby efektywnie rozpoznawać t Odblokuj potencjał OCR w .NET dzięki Aspose.OCR. Wyodrębnij tekst z plików PDF bez wysiłku. Pobierz teraz, aby zapewnić bezproblemową integrację. ### [Rozpoznaj tabelę w rozpoznawaniu obrazu OCR](./recognize-table/) Odblokuj potencjał Aspose.OCR dla .NET dzięki naszemu obszernemu przewodnikowi na temat rozpoznawania tabel w rozpoznawaniu obrazów OCR. +### [c# OCR samouczek – wyodrębnij tekst hindi z paragonów PNG](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Dowiedz się, jak używać Aspose.OCR w C# do wyodrębniania tekstu w języku hindi z plików PNG zawierających paragony. +### [Rozpoznaj tekst w JPG przy użyciu Aspose OCR – Kompletny przewodnik C#](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Użyj Aspose OCR w C# do rozpoznawania tekstu w plikach JPG. Kompletny przewodnik krok po kroku. +### [c# OCR samouczek: Wyodrębnij tekst z obrazów i plików DJVU](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Dowiedz się, jak używać Aspose.OCR w C# do wyodrębniania tekstu z obrazów oraz plików DJVU. +### [Wyodrębnij tekst z TIFF przy użyciu Aspose OCR C# – Pełny samouczek](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Użyj Aspose OCR w C# do wyodrębniania tekstu z plików TIFF. Kompletny przewodnik krok po kroku. +### [c# OCR samouczek – wyodrębnij tekst z obrazów przy użyciu Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Dowiedz się, jak używać Aspose OCR w C# do wyodrębniania tekstu z obrazów w różnych formatach. +### [Wyodrębnij tekst z PNG – Kompletny samouczek Aspose OCR](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Użyj Aspose OCR w C# do wyodrębniania tekstu z plików PNG. Kompletny przewodnik krok po kroku. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/polish/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..d6cda844 --- /dev/null +++ b/ocr/polish/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-01-09 +description: samouczek OCR w C# do odczytywania tekstu z pliku PNG, konwertowania + obrazu na tekst i rozpoznawania tekstu po hindi na paragonie przy użyciu Aspose + OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: pl +og_description: samouczek c# OCR, który uczy, jak odczytywać tekst z PNG, konwertować + obraz na tekst i rozpoznawać tekst w języku hindi na paragonie przy użyciu Aspose + OCR. +og_title: c# OCR tutorial – wyodrębnij tekst hindi z paragonów PNG +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# OCR tutorial – wyodrębnij tekst hindi z paragonów PNG +url: /pl/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Wyodrębnianie tekstu w języku hindi z plików PNG + +Zastanawiałeś się kiedyś, jak **odczytać tekst z PNG** w aplikacji C#? Może masz mnóstwo paragonów w języku hindi i potrzebujesz automatycznie wyciągnąć kwoty. Właśnie to omawia ten c# ocr tutorial — zamiana obrazu na tekst możliwy do przeszukiwania przy użyciu kilku linijek kodu. + +W tym przewodniku przeprowadzimy Cię przez instalację Aspose OCR, wczytanie paragonu PNG, rozpoznawanie znaków hindi oraz ostateczne wypisanie wyodrębnionego ciągu na konsoli. Po zakończeniu będziesz potrafił **convert image to text**, **recognize Hindi text**, a nawet **extract text from receipt** obrazy bez opuszczania swojego IDE. + +> **Prerequisite note:** Potrzebujesz ważnej licencji Aspose OCR (lub możesz użyć wersji próbnej) oraz zainstalowanego .NET 6+. Jeśli jesteś nowy w NuGet, nie martw się — omówimy to również. + +--- + +## Co będzie potrzebne + +- **Visual Studio 2022** (lub dowolny edytor kompatybilny z C#) +- **.NET 6 SDK** (lub nowszy) +- **Aspose.OCR** pakiet NuGet + ```bash + dotnet add package Aspose.OCR + ``` +- Przykładowy obraz paragonu, np. `hindi-receipt.png`, zapisany w folderze projektu. + +Mając to gotowe, możesz skopiować‑wkleić ostateczny kod i od razu nacisnąć **F5**. + +## Krok 1: Konfiguracja projektu i importowanie przestrzeni nazw + +Najpierw utwórz projekt konsolowy, jeśli jeszcze go nie masz: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Teraz otwórz `Program.cs`. Na początku zaimportuj przestrzenie nazw Aspose OCR, aby kompilator wiedział, gdzie znaleźć klasy: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Why this matters:** `OcrEngine` znajduje się w `Aspose.OCR`, natomiast wyliczenia związane z językiem są w `Aspose.OCR.Settings`. Zapomnienie któregoś z nich spowoduje błąd kompilacji. + +## Krok 2: Inicjalizacja silnika OCR i wybór modelu językowego + +Silnik OCR musi wiedzieć, **który język** ma rozpoznawać. Aspose dostarcza wiele pakietów językowych; określenie `OcrLanguage.Hindi` informuje silnik, aby pobrał (jeśli brak) i użył modelu hindi. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Pro tip:** Jeśli planujesz przetwarzać paragony w wielu językach, możesz zmienić `Language` w czasie działania lub nawet włączyć tryb `MultiLanguage`. + +## Krok 3: Przekazanie obrazu PNG do silnika + +Tutaj **odczytujemy tekst z PNG**. Podaj pełną ścieżkę (relatywną względem pliku wykonywalnego, co działa dobrze). Metoda zwraca zwykły ciąg znaków zawierający wszystko, co silnik potrafił odczytać. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Jeśli obraz ma wysoką rozdzielczość i tekst jest czysty, uzyskasz prawie idealne wyniki. W przypadku zaszumionych skanów rozważ wstępne przetwarzanie (np. binaryzację) — Aspose oferuje metody `PreprocessImage`, które możesz później zbadać. + +## Krok 4: Wyświetlenie lub zapis wyodrębnionego tekstu + +Większość programistów po prostu wypisuje wynik na konsolę podczas testów. W scenariuszu produkcyjnym możesz zapisać go do bazy danych lub pliku CSV. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Uruchomienie programu z przykładowym paragonem wypisze coś w stylu: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +To jest część **convert image to text** w praktyce — bez ręcznej transkrypcji. + +## Pełny działający przykład (gotowy do kopiowania i wklejania) + +Poniżej znajduje się kompletny, samodzielny program. Wklej go do `Program.cs`, umieść `hindi-receipt.png` obok skompilowanego pliku `.exe` i naciśnij **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Oczekiwany wynik + +Gdy obraz paragonu zawiera wyraźne znaki hindi, konsola wyświetli wyodrębnione linie, zachowując podziały wierszy. Jeśli OCR nie rozpozna słowa, zobaczysz zniekształcony fragment — sygnał, aby poprawić jakość obrazu lub dostosować wstępne przetwarzanie. + +## Krok 5: Poszerzenie — programowe wyodrębnianie tekstu z paragonu + +Jeśli Twoim celem jest **extract text from receipt** pola (data, suma, numer faktury), możesz przetworzyć wynik OCR przy użyciu wyrażeń regularnych: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +## Typowe pułapki i jak ich unikać + +| Problem | Dlaczego się dzieje | Rozwiązanie | +|-------|----------------|-----| +| **Blank output** | Nieprawidłowa ścieżka obrazu lub plik nie został skopiowany do folderu wyjściowego. | Użyj `Path.GetFullPath` i sprawdź, czy plik istnieje (`File.Exists`). | +| **Garbage characters** | PNG o niskiej rozdzielczości lub skompresowane kolory. | Zwiększ rozdzielczość obrazu, ustaw DPI na 300+, lub użyj `ocrEngine.ImagePreprocessor`. | +| **Language model not downloaded** | Brak połączenia internetowego przy pierwszym uruchomieniu. | Pobierz model hindi wcześniej przez portal Aspose lub hostuj go lokalnie. | +| **Performance lag** | Przetwarzanie wielu stron w pętli bez zwalniania zasobów. | Owiń `OcrEngine` w blok `using` lub ponownie używaj jednej instancji. | + +## Ilustracja obrazu + +![c# ocr tutorial odczytujący tekst w języku hindi z paragonu PNG](https://example.com/placeholder-image.png "c# ocr tutorial – odczyt tekstu z paragonu png") + +*Zrzut ekranu pokazuje paragon w języku hindi przed i po konwersji OCR.* + +## Podsumowanie: Co omówiliśmy + +- Skonfigurowano aplikację konsolową C# i dodano pakiet NuGet Aspose OCR. +- Zainicjowano `OcrEngine` z modelem językowym **recognize hindi text**. +- **Read text from PNG** przy użyciu `RecognizeImage`. +- **Convert image to text** i wypisano wynik. +- Zaprezentowano prosty wzorzec do **extract text from receipt** pól. + +## Kolejne kroki i powiązane tematy + +1. **Batch processing** – iteracja przez folder z obrazami paragonów i zapisywanie wyników do CSV. +2. **Pre‑processing** – eksploracja `ocrEngine.ImagePreprocessor` w celu usuwania szumów, korekcji pochylenia lub zwiększenia kontrastu. +3. **Multi‑language OCR** – włączenie `OcrLanguage.Multilingual`, aby obsługiwać paragony mieszające hindi i angielski. +4. **Integration** – przesłanie wyodrębnionych danych do modelu Entity Framework Core w celu trwałego przechowywania. + +Jeśli któryś z tych tematów Cię interesuje, sprawdź nasze tutoriale o **convert image to text in C#** oraz **extract structured data from OCR results**. + +### Powodzenia w kodowaniu! + +Śmiało zostaw komentarz, jeśli napotkasz problemy, lub podziel się, jak rozbudowałeś ten **c# ocr tutorial** w swoich projektach. Pamiętaj, OCR to dopiero pierwszy krok — czyste dane to miejsce, gdzie dzieje się prawdziwa magia. 🚀 + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/polish/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..af7fd9f0 --- /dev/null +++ b/ocr/polish/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-01-09 +description: Samouczek OCR w C#, który pokazuje, jak wyodrębnić tekst z plików graficznych + i konwertować DJVU na tekst przy użyciu Aspose.OCR. Naucz się krok po kroku wyodrębniać + w ciągu kilku minut. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: pl +og_description: samouczek OCR w C#, który szybko pokazuje, jak wyodrębnić tekst z + plików graficznych i przekonwertować DJVU na tekst przy użyciu Aspose.OCR. Postępuj + zgodnie z przewodnikiem, aby uzyskać działające rozwiązanie. +og_title: c# OCR tutorial – Wyodrębnianie tekstu z obrazu i DJVU +tags: +- OCR +- C# +- Aspose +title: 'c# OCR tutorial: Wyodrębnij tekst z obrazu i plików DJVU' +url: /pl/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Samouczek c# OCR – Wyodrębnianie tekstu z obrazów i plików DJVU + +Zastanawiałeś się kiedyś, jak wyodrębnić tekst z plików graficznych bez utraty włosów? W tym **c# OCR tutorial** przeprowadzimy Cię przez kompletny, gotowy do uruchomienia przykład, który wyciąga tekst z zwykłego zdjęcia *oraz* dokumentu DJVU. + +Jeśli szukasz szybkiego sposobu na **konwersję DJVU do tekstu**, jesteś we właściwym miejscu — bez dodatkowych konwerterów, tylko czysty kod C#. + +## Czego się nauczysz + +- Jak skonfigurować bibliotekę Aspose.OCR w projekcie .NET. +- Dokładny kod potrzebny do **wyodrębniania tekstu z obrazów**. +- Zwięzła metoda **wyodrębniania tekstu z plików DJVU** (tak, to samo silnik to robi). +- Typowe pułapki (duże pliki, brakujące czcionki, licencjonowanie) i jak ich uniknąć. + +Wszystko, czego potrzebujesz, to aktualny .NET SDK oraz połączenie internetowe, aby pobrać pakiet NuGet. Wcześniejsze doświadczenie z OCR nie jest wymagane. + +## Prerequisites + +Zanim zanurzysz się w temat, upewnij się, że masz: + +| Wymaganie | Dlaczego jest ważne | +|-------------|----------------| +| .NET 6.0 or later | Aspose.OCR jest skierowany do .NET Standard 2.0, więc .NET 6+ zapewnia najlepszą wydajność. | +| Visual Studio 2022 (or VS Code) | IDE ułatwiają zarządzanie pakietami, ale każdy edytor zadziała. | +| NuGet package **Aspose.OCR** | To silnik, który faktycznie wykonuje ciężką pracę. | +| A sample image (`sample.png`) and a DJVU file (`sample.djvu`) | Użyjemy ich do demonstracji obu scenariuszy wyodrębniania. | + +Możesz zainstalować pakiet przy użyciu następującego polecenia: + +```bash +dotnet add package Aspose.OCR +``` + +> **Wskazówka:** Jeśli pracujesz na serwerze CI, dodaj `--no-restore` do kroku budowania i przywróć zależności raz na początku, aby przyspieszyć proces. + +## Krok 1: Inicjalizacja silnika OCR – serce samouczka c# OCR + +Pierwszą rzeczą, którą robimy, jest utworzenie instancji `OcrEngine`. Traktuj to jak włączenie skanera w swoim oprogramowaniu. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Dlaczego tworzyć nowy silnik za każdym razem? Ponieważ silnik przechowuje konfigurację (język, tryb wykrywania itp.). Rozpoczynając od nowa, unikniesz przestarzałych ustawień, które mogą przenikać pomiędzy uruchomieniami. + +## Krok 2: Ładowanie i rozpoznawanie obrazu – jak wyodrębnić tekst z obrazu + +Teraz wprowadzimy zwykły bitmap (PNG, JPEG, BMP…) do silnika. Metoda `RecognizeImage` zwraca wykryty ciąg znaków. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +* **Istnienie pliku** – Jeśli ścieżka jest nieprawidłowa, metoda rzuca `FileNotFoundException`. Owiń ją w `try/catch`, jeśli spodziewasz się ścieżek podawanych przez użytkownika. +* **Jakość obrazu** – OCR działa najlepiej przy 300 dpi lub wyższym. Skanowanie o niskiej rozdzielczości może dawać zniekształcony wynik. +* **Obsługa języków** – Domyślnie Aspose.OCR zakłada język angielski. Aby go zmienić, ustaw `ocrEngine.Language = Language.Spanish;` przed wywołaniem `RecognizeImage`. + +## Krok 3: Rozpoznawanie tekstu z dokumentu DJVU – konwersja DJVU do tekstu + +DJVU to format kontenerowy, który może zawierać wiele stron. Aspose.OCR obsługuje go bezpośrednio; wystarczy wskazać plik. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +W tle silnik wyodrębnia każdą stronę jako obraz i uruchamia ten sam potok rozpoznawania. Dlatego nie potrzebujesz osobnego kroku „konwersja DJVU do tekstu” — silnik OCR robi to za Ciebie. + +### Obsługa wielostronicowych plików DJVU + +Jeśli Twój plik DJVU zawiera kilka stron, `RecognizeImage` łączy je kolejno. Jeśli potrzebujesz każdej strony osobno, możesz użyć przeciążenia, które zwraca `List`: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Krok 4: Dostosowanie silnika w celu uzyskania lepszej dokładności – dlaczego to ważne + +Domyślne wyniki są przyzwoite, ale możesz je poprawić, dostosowując kilka ustawień: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Te flagi są szczególnie przydatne przy **wyodrębnianiu tekstu** ze skanowanych PDF‑ów, które najpierw zapisano jako DJVU. Włączenie wykrywania orientacji oszczędza ręcznego obracania obrazów. + +## Krok 5: Radzenie sobie z licencjonowaniem i błędami w czasie wykonania + +Aspose.OCR dostarcza wersję próbną, która po kilku stronach oznacza wynik napisem „Demo”. Aby usunąć znak wodny, dodaj swój plik licencyjny: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Jeśli pominiesz ten krok, silnik nadal działa, ale wynik będzie zawierał słowo „Demo”. Ponadto uważaj na `OutOfMemoryException` przy przetwarzaniu ogromnych plików DJVU — rozważ przetwarzanie strona po stronie, jak pokazano wcześniej. + +## Pełny, gotowy do uruchomienia przykład + +Poniżej znajduje się samodzielny program konsolowy, który łączy wszystko w całość. Skopiuj‑wklej, dostosuj ścieżki do plików i naciśnij **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Oczekiwany wynik** (zakładając, że pliki zawierają frazę „Hello World”): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Jeśli źródło zawiera wiele linii, pojawią się dokładnie tak, jak w oryginalnym dokumencie. + +## Częste pytania i obsługa przypadków brzegowych + +* **Co jeśli obraz jest czarno‑biały?** + OCR działa poprawnie, ale możesz poprawić kontrast używając `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +* **Czy mogę wyodrębnić tylko liczby?** + Tak — ustaw `ocrEngine.CharWhitelist = "0123456789";` przed wywołaniem `RecognizeImage`. + +* **Czy istnieje limit rozmiaru pliku?** + Silnik wczytuje cały plik do pamięci. Dla plików większych niż ~100 MB, przetwarzaj stronę po stronie (zobacz przeciążenie listy w Kroku 3). + +* **Czym różni się to od Tesseract?** + Aspose.OCR to komercyjna biblioteka z wbudowaną obsługą DJVU i bez zależności natywnych, podczas gdy Tesseract wymaga binarek natywnych i osobnych narzędzi do konwersji DJVU. + +## Podsumowanie + +Właśnie ukończyłeś **c# OCR tutorial**, który pokazuje, jak **wyodrębnić tekst z obrazów** oraz płynnie **konwertować DJVU do tekstu** przy użyciu Aspose.OCR. Przykład obejmuje wszystko, od instalacji pakietu po licencjonowanie, od wyodrębniania tekstu z jednopostaciowych obrazów po obsługę wielostronicowych plików DJVU, a także wskazówki zwiększające dokładność. + +Następnie możesz zbadać **jak wyodrębnić tekst** z PDF‑ów, zintegrować krok OCR z API webowym lub eksperymentować z pakietami językowymi dla dokumentów wielojęzycznych. Nie ma granic — pamiętaj o kluczowych wnioskach: skonfiguruj silnik, podaj mu plik i odczytaj zwrócony ciąg znaków. + +Masz więcej pytań? Dodaj komentarz, wypróbuj kod na własnych dokumentach i powodzenia w kodowaniu! + +![zrzut ekranu samouczka c# OCR pokazujący wyjście konsoli](/images/csharp-ocr-tutorial.png "c# OCR tutorial – przykład wyjścia konsoli") + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/polish/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..ea6b7c41 --- /dev/null +++ b/ocr/polish/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: samouczek OCR w C#, który pokazuje, jak wyodrębnić tekst z plików graficznych, + rozpoznać tekst z pliku PNG, przekonwertować obraz na ciąg znaków oraz automatycznie + wykrywać język przy użyciu Aspose.OCR. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: pl +og_description: samouczek c# OCR, który prowadzi Cię przez wyodrębnianie tekstu z + obrazów, rozpoznawanie tekstu z plików PNG, konwertowanie obrazów na ciągi znaków + oraz automatyczne wykrywanie języka przy użyciu Aspose OCR. +og_title: c# OCR tutorial – wyodrębnianie tekstu z obrazów +tags: +- C# +- OCR +- Aspose +- Image Processing +title: c# OCR tutorial – wyodrębnianie tekstu z obrazów przy użyciu Aspose OCR +url: /pl/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Wyodrębnianie tekstu z obrazów przy użyciu Aspose OCR + +Czy kiedykolwiek potrzebowałeś **c# ocr tutorial**, który naprawdę działa na rzeczywistym pliku PNG? Może tworzysz skaner paragonów, wielojęzyczny procesor formularzy lub po prostu jesteś ciekawy, jak zamienić zdjęcie tekstu w przeszukiwalny ciąg znaków. Niezależnie od tego, jesteś we właściwym miejscu. + +W tym przewodniku pokażemy Ci krok po kroku, jak **wyodrębnić tekst z obrazu**, **rozpoznać tekst z png**, **przekształcić obraz w ciąg znaków**, a nawet **automatycznie wykrywać język** — wszystko przy użyciu biblioteki Aspose.OCR. Bez niejasnych odniesień, tylko kompletny, gotowy do uruchomienia przykład, który możesz skopiować i wkleić do Visual Studio. + +## Czego będziesz potrzebować + +- .NET 6.0 lub nowszy (kod działa również z .NET Core i .NET Framework) +- Odwołanie NuGet do `Aspose.OCR` (wersja 23.9 lub nowsza) +- Plik obrazu (`mixed‑script.png` w tym przykładzie) umieszczony w miejscu, które aplikacja może odczytać +- Podstawowa znajomość C# (jeśli napisałeś „Hello World”, wszystko w porządku) + +> **Pro tip:** Jeśli nie masz jeszcze licencji, Aspose oferuje darmową tymczasową licencję do testów. Po prostu umieść plik `.lic` obok swojego pliku wykonywalnego. + +## Krok 1 – Zainstaluj pakiet NuGet Aspose.OCR + +Najpierw dodaj bibliotekę do swojego projektu. Otwórz konsolę Package Manager i uruchom: + +```powershell +Install-Package Aspose.OCR +``` + +Albo, jeśli wolisz interfejs graficzny, kliknij prawym przyciskiem *Dependencies → Manage NuGet Packages* i wyszukaj **Aspose.OCR**. + +## Krok 2 – Przygotuj silnik OCR (c# ocr tutorial core) + +Teraz utworzymy instancję `OcrEngine`, ustawimy automatyczne wykrywanie języka i wskażemy nasz plik PNG. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Dlaczego ustawiamy `Language = OcrLanguage.AutoDetect` + +Automatyczne wykrywanie języka oszczędza Ci zgadywania, czy obraz zawiera angielski, rosyjski, arabski czy ich mieszankę. To najelastyczniejsza opcja w scenariuszu **detect language automatically**, i działa od razu dla większości skryptów obsługiwanych przez Aspose. + +## Krok 3 – Uruchom aplikację i zweryfikuj wynik + +Skompiluj i uruchom program (`dotnet run` lub naciśnij **F5** w Visual Studio). Jeśli wszystko jest poprawnie skonfigurowane, zobaczysz coś podobnego do: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +Ten wynik dowodzi, że udało nam się **wyodrębnić tekst z obrazu**, **rozpoznać tekst z png** i **przekształcić obraz w ciąg znaków** – wszystko w jednym, zwięzłym fragmencie kodu. + +## Krok 4 – Typowe wariacje i przypadki brzegowe + +### Obsługa wielu obrazów + +Jeśli potrzebujesz przetworzyć katalog PNG‑ów, otocz wywołanie rozpoznawania w pętli `foreach`: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Określenie stałego języka + +Czasami znasz język z góry (np. tylko angielski). Możesz zamienić `AutoDetect` na `OcrLanguage.English`, aby przyspieszyć przetwarzanie: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Radzenie sobie z niskiej jakości skanami + +Aspose.OCR oferuje opcje wstępnego przetwarzania (redukcja szumów, prostowanie). Szybka poprawka: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Zapis wyniku do pliku + +Zamiast wypisywać wynik na konsolę, możesz zapisać wyodrębniony tekst do pliku `.txt`: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Krok 5 – Pełny działający przykład (gotowy do kopiowania i wklejania) + +Poniżej znajduje się **kompletny program** zawierający opcjonalne przetwarzanie wstępne oraz logikę zapisu do pliku. Śmiało modyfikuj ścieżki. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Oczekiwany wynik + +Uruchomienie programu na pliku PNG zawierającym angielski, rosyjski i arabski daje wynik: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +Jeśli obraz jest pusty lub nieczytelny, silnik zwraca pusty ciąg znaków — obsłuż ten przypadek, sprawdzając `string.IsNullOrWhiteSpace(extractedText)` przed kontynuacją. + +## Najczęściej zadawane pytania (FAQ) + +**Q: Czy Aspose.OCR obsługuje tekst odręczny?** +A: Skupia się na OCR dla druku. Do odręcznego tekstu potrzebny jest dedykowany model ML lub usługa taka jak Azure Computer Vision. + +**Q: Czy mogę uruchomić to na Linux/macOS?** +A: Oczywiście. Aspose.OCR jest wieloplatformowy; wystarczy zainstalować środowisko .NET dla Twojego systemu operacyjnego. + +**Q: Co zrobić, jeśli muszę przetwarzać PDF‑y zamiast PNG‑ów?** +A: Najpierw skonwertuj każdą stronę PDF na obraz (np. używając `Aspose.PDF`), a następnie przekaż obraz do silnika OCR. + +## Podsumowanie + +Właśnie zakończyliśmy **c# ocr tutorial**, który prowadzi Cię przez **wyodrębnianie tekstu z plików obrazu**, **rozpoznawanie tekstu z png**, **konwertowanie obrazu na ciąg znaków** oraz **automatyczne wykrywanie języka** przy użyciu Aspose.OCR. Kod jest krótki, koncepcje jasne, a Ty możesz rozbudować go do przetwarzania wsadowego, własnych ustawień językowych lub nawet zintegrować z API webowym. + +Kolejne kroki? Spróbuj przekazać wynik OCR do indeksu wyszukiwania, do usługi tłumaczeń lub połączyć go z Azure Cognitive Services, aby uzyskać jeszcze bogatsze przepływy danych. Nie ma ograniczeń, gdy opanujesz podstawy konwersji obrazu na tekst w C#. + +Miłego kodowania i nie zapomnij eksperymentować z różnymi jakością obrazów — Twój silnik OCR Ci podziękuje! + +![c# ocr tutorial – przykład wyniku OCR na mieszanym PNG](placeholder-image.png "c# ocr tutorial – zrzut ekranu 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/polish/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/polish/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..cafdd93e --- /dev/null +++ b/ocr/polish/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-01-09 +description: Szybko wyodrębnij tekst z pliku PNG za pomocą Aspose OCR. Dowiedz się, + jak odczytywać tekst z obrazu, poprawić dokładność OCR i uzyskać czyste wyniki w + C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: pl +og_description: Szybko wyodrębnij tekst z pliku PNG za pomocą Aspose OCR. Dowiedz + się, jak odczytywać tekst z obrazu, poprawić dokładność OCR i uzyskać czyste wyniki + w C#. +og_title: Wyodrębnij tekst z PNG – Kompletny samouczek OCR Aspose +tags: +- Aspose OCR +- C# +- Image Processing +title: Wyodrębnij tekst z PNG – Kompletny samouczek Aspose OCR +url: /pl/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wyodrębnianie tekstu z PNG – Kompletny samouczek Aspose OCR + +Czy kiedykolwiek musiałeś **wyodrębnić tekst z plików PNG**, a wyniki były pełne bełkotu? Nie jesteś sam. W wielu rzeczywistych projektach – fakturach, paragonach czy zeskanowanych formularzach – jakość wyniku OCR może decydować o powodzeniu lub niepowodzeniu automatyzacji. + +W tym przewodniku pokażemy **krok po kroku**, jak odczytać tekst z obrazu przy użyciu Aspose OCR, dodać własny słownik, aby **zwiększyć dokładność OCR**, oczyścić szumy i w końcu wydrukować schludny ciąg znaków. Po zakończeniu będziesz mieć gotową do uruchomienia aplikację konsolową w C#, która niezawodnie wyodrębnia tekst z obrazów PNG. + +> **Co zdobędziesz** +> * Kompletny, działający przykład kodu. +> * Zrozumienie, dlaczego własny słownik ma znaczenie. +> * Wskazówki dotyczące obsługi przypadków brzegowych, takich jak skany o niskim kontraście. + +## Wymagania wstępne + +- .NET 6 SDK lub nowszy (kod jest skierowany do .NET 6, ale .NET 5 również działa). +- Visual Studio 2022 lub dowolny edytor, którego używasz. +- Obraz **PNG**, który chcesz przetworzyć – na przykład `invoice.png`. +- Pakiet NuGet **Aspose.OCR** (`dotnet add package Aspose.OCR`). + +Nie są potrzebne dodatkowe pliki konfiguracyjne; wszystko znajduje się w jednym pliku `.cs`. + +## Krok 1 – Instalacja i odwołanie do Aspose OCR + +Najpierw pobierz bibliotekę do swojego projektu. Otwórz terminal w folderze rozwiązania i uruchom: + +```bash +dotnet add package Aspose.OCR +``` + +Jedna linijka pobiera najnowszą stabilną wersję (stan na styczeń 2026, wersja 23.9). Pakiet zawiera klasę `OcrEngine`, której będziemy używać w całym samouczku. + +## Krok 2 – Inicjalizacja silnika OCR + +Utworzenie instancji `OcrEngine` to podstawa. Pomyśl o tym jak o włączeniu skanera gotowego do interpretacji pikseli. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Porada:** Jeśli planujesz przetwarzać wiele obrazów w pętli, używaj tej samej instancji `OcrEngine`. Buforuje ona zasoby wewnętrzne i przyspiesza kolejne wywołania. + +## Krok 3 – Zwiększenie dokładności dzięki własnemu słownikowi + +Domyślny OCR jest dobry, ale może mieć problemy ze słowami specyficznymi dla danej dziedziny, takimi jak „Aspose”, „OCR” czy „SDK”. Dodanie tych terminów do **własnego słownika** informuje silnik, że te ciągi są prawidłowe, co zmniejsza liczbę błędnych rozpoznawań. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Dlaczego własny słownik pomaga + +- **Modele statystyczne** stojące za OCR mocno ważą typowe wzorce językowe. Rzadkie słowa mają niskie prawdopodobieństwo i mogą zostać zastąpione podobnie wyglądającymi znakami. +- Poprzez ich wyraźne wymienienie, nadpisujesz zgadywanie modelu. +- Jest to szczególnie przydatne przy **odczytywaniu tekstu z obrazu**, który zawiera kody produktów, skróty lub nazwy marek. + +## Krok 4 – Rozpoznawanie tekstu z pliku PNG + +Teraz przekazujemy silnikowi ścieżkę do obrazu. Metoda `RecognizeImage` zwraca surowy ciąg, który nadal może zawierać nieznane tokeny (np. „#@!”), których silnik nie potrafił zmapować. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Przypadek brzegowy:** Jeśli plik nie zostanie znaleziony, `RecognizeImage` zgłasza `FileNotFoundException`. W kodzie produkcyjnym otocz wywołanie blokiem try‑catch. + +## Krok 5 – Czyszczenie wyniku przy pomocy `CleanText` + +Aspose OCR dostarcza pomocnika, który usuwa znaki oznaczone jako „nieznane”. Ten krok jest kluczowy w projektach **wyodrębniania tekstu z obrazu**, gdzie dalsze parsery oczekują jedynie znaków alfanumerycznych i podstawowej interpunkcji. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +Metoda `CleanText` dodatkowo normalizuje zakończenia linii, co sprawia, że wynik jest bezpieczny do przechowywania w bazach danych lub przekazywania innym usługom. + +## Krok 6 – Wyświetlenie oczyszczonego tekstu + +Na koniec wyświetl lub zapisz rezultat. W aplikacji konsolowej `Console.WriteLine` spełnia tę rolę. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +Po uruchomieniu programu powinieneś zobaczyć schludny blok tekstu odzwierciedlający zawartość `invoice.png`. Jeśli obraz zawiera słowo „Aspose”, własny słownik zapewni, że pojawi się ono poprawnie, a nie jako coś w stylu „A5p0se”. + +## Pełny działający przykład + +Łącząc wszystko razem, oto kompletny plik `Program.cs`, który możesz skopiować i wkleić do nowego projektu konsolowego: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Oczekiwany wynik** (zakładając, że PNG zawiera prostą fakturę): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Jeśli zobaczysz niechciane symbole, sprawdź jakość obrazu lub rozbuduj własny słownik o kolejne terminy. + +## Bonus: Obsługa skanów niskiej jakości + +Czasami PNG‑y są skanowane w 72 dpi lub mają mocne artefakty kompresji. Oto kilka szybkich sztuczek, aby **zwiększyć dokładność OCR** bez opuszczania C#: + +1. **Wstępnie przetwórz obraz** przy pomocy biblioteki takiej jak `SixLabors.ImageSharp` – zwiększ kontrast, skonwertuj do odcieni szarości lub zastosuj delikatne rozmycie, aby zredukować szumy. +2. **Ustaw właściwość `Resolution`** w `OcrEngine` (np. `ocrEngine.Resolution = 300;`), aby poinformować silnik, że obraz ma wyższą rozdzielczość. +3. **Włącz pakiety językowe**, jeśli pracujesz z tekstem nie‑angielskim (`ocrEngine.Language = Language.English;`). + +Wszystkie trzy podejścia można dodać przed wywołaniem `RecognizeImage`. + +## Najczęściej zadawane pytania + +- **Czy to działa z innymi formatami obrazów?** + Tak. `RecognizeImage` akceptuje JPEG, BMP, TIFF, a nawet PDF (jako kontener obrazu). Te same kroki mają zastosowanie. + +- **Czy mogę wyodrębnić tekst z wielu PNG‑ów w folderze?** + Oczywiście. Owiń logikę w pętlę `foreach (var file in Directory.GetFiles(folder, "*.png"))` i zapisz każdy wynik w liście lub w osobnych plikach. + +- **A co jeśli potrzebuję współrzędnych tekstu?** + Aspose OCR udostępnia także obiekty `OcrResult`, które zawierają prostokąty ograniczające. Użyj `ocrEngine.RecognizeImageToResult(imagePath)` w tym zaawansowanym scenariuszu. + +## Zakończenie + +Przeszliśmy przez **kompletną, end‑to‑end** metodę **wyodrębniania tekstu z plików PNG** przy użyciu Aspose OCR. Inicjalizując silnik, podając **własny słownik**, czyszcząc surowy wynik i radząc sobie z typowymi pułapkami, możesz niezawodnie **odczytywać tekst z obrazu** i **zwiększać dokładność OCR** w własnych aplikacjach C#. + +Gotowy na kolejny krok? Spróbuj zamienić PNG na zeskanowany paragon, dodaj więcej słów specyficznych dla domeny do słownika lub zintegrować wynik z bazą danych w celu automatycznego przetwarzania faktur. Niebo jest granicą, gdy połączysz Aspose OCR z bogatym ekosystemem .NET. + +Miłego kodowania i niech Twój OCR zawsze będzie precyzyjny! + +![Extract text from png example](/images/extract-text-from-png.png "extract text from png – Aspose OCR demo") + +{{< /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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/polish/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..193cae90 --- /dev/null +++ b/ocr/polish/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,262 @@ +--- +category: general +date: 2026-01-09 +description: Wyodrębnij tekst z plików TIFF przy użyciu Aspose OCR w C#. Dowiedz się, + jak uzyskać pierwsze 50 znaków każdego wyniku w tym samouczku krok po kroku. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: pl +og_description: Wyodrębnij tekst z pliku TIFF przy użyciu Aspose OCR w C#. Ten przewodnik + pokazuje, jak krok po kroku uzyskać pierwsze 50 znaków każdego wyniku OCR. +og_title: Wyodrębnij tekst z pliku TIFF za pomocą Aspose OCR – Kompletny przewodnik + C# +tags: +- Aspose OCR +- C# +- TIFF processing +title: Wyodrębnianie tekstu z TIFF przy użyciu Aspose OCR C# – Pełny poradnik +url: /pl/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wyodrębnianie tekstu z TIFF – Kompletny samouczek Aspose OCR C# + +Kiedykolwiek potrzebowałeś **wyodrębnić tekst z obrazów TIFF**, ale nie wiedziałeś, której biblioteki zaufać? Nie jesteś sam. Wielu programistów napotyka trudności, gdy próbują uzyskać przeszukiwalny tekst z wielostronicowych TIFF‑ów, zwłaszcza gdy liczy się wydajność. + +W tym **aspose ocr c# tutorial** przeprowadzimy Cię przez gotowy przykład, który nie tylko wyodrębnia pełny tekst, ale także pokazuje, jak **pobrać pierwsze 50 znaków** każdej strony dla szybkich podglądów. Po zakończeniu będziesz mieć samodzielny program, który możesz wkleić do dowolnego projektu .NET. + +## Czego będziesz potrzebować + +- .NET 6 (lub dowolna nowsza wersja .NET) – kod kompiluje się zarówno z .NET Core, jak i .NET Framework. +- Aktywna licencja Aspose.OCR dla .NET (możesz rozpocząć od bezpłatnej wersji próbnej). +- Folder zawierający jeden lub więcej plików `.tif`, które chcesz przetworzyć. +- Visual Studio, VS Code lub dowolne IDE – przykład jest czystym C#, więc wybór edytora nie ma znaczenia. + +> **Pro tip:** Jeśli pracujesz na serwerze CI, dodaj pakiet NuGet Aspose.OCR (`Aspose.OCR`) do pliku projektu; biblioteka jest w pełni zarządzana i nie ma zależności natywnych. + +## Krok 1: Zainstaluj pakiet NuGet Aspose OCR + +Na początek wprowadźmy silnik OCR do projektu. Otwórz terminal w folderze rozwiązania i uruchom: + +```bash +dotnet add package Aspose.OCR +``` + +To polecenie pobiera najnowszą stabilną wersję (stan na styczeń 2026 to 23.9) i automatycznie aktualizuje Twój plik `.csproj`. Nie musisz ręcznie manipulować plikami DLL. + +## Krok 2: Zainicjalizuj silnik OCR + +Teraz tworzymy instancję `OcrEngine`. Pomyśl o niej jako o „mózgu”, który odczyta każdą stronę TIFF‑a. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Dlaczego tworzymy silnik tylko raz? Ponieważ `RecognizeImages` może przyjąć kolekcję ścieżek do plików, pozwalając silnikowi ponownie wykorzystać wewnętrzne bufory i znacząco przyspieszając przetwarzanie wsadowe. + +## Krok 3: Pobierz wszystkie pliki TIFF jednocześnie + +Zamiast samodzielnie iterować po katalogu, pozwól .NET‑owi wykonać ciężką pracę. Metoda `Directory.GetFiles` zwraca `IEnumerable`, które możemy od razu przekazać do wywołania OCR. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **Co jeśli moje obrazy to JPEG lub PNG?** Po prostu zmień wzorzec wyszukiwania (`"*.jpg"` lub `"*.*"`). Aspose OCR działa ze wszystkimi popularnymi formatami rastrowymi. + +## Krok 4: Uruchom OCR na całej kolekcji + +Oto magiczna linia, która przetwarza każdy plik w jednym żądaniu. Metoda zwraca słownik, w którym kluczem jest ścieżka pliku, a wartością obiekt `OcrResult` zawierający rozpoznany tekst. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Dlaczego przetwarzamy wsadowo? Redukuje to narzut związany z wielokrotnym ładowaniem silnika OCR, a na maszynach wielordzeniowych Aspose wewnętrznie równolegle wykonuje pracę, co daje zauważalny przyrost wydajności. + +## Krok 5: Pokaż podgląd – pobierz pierwsze 50 znaków + +Większość scenariuszy UI potrzebuje jedynie fragmentu, nie całego dokumentu. Wyodrębnimy pierwsze 50 znaków (lub mniej, jeśli strona jest krótka) i wyświetlimy je obok nazwy pliku. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Linia `Math.Min(50, fullText.Length)` zapewnia, że nigdy nie wyjdziemy poza granice łańcucha – mała ochrona przed `ArgumentOutOfRangeException`, gdy wynik OCR jest krótszy niż 50 znaków. + +### Przykładowy wynik w konsoli + +Zakładając, że masz dwa pliki TIFF (`invoice1.tif` i `receipt2.tif`), konsola może wyświetlić: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Każda linia kończy się wielokropkiem (`...`), aby wskazać, że podgląd jest jedynie początkiem dłuższego bloku tekstu. + +## Krok 6: Obsługa przypadków brzegowych i typowych pułapek + +### Puste lub uszkodzone pliki + +Jeśli plik nie może zostać odczytany, `RecognizeImages` nadal zwraca wpis z pustą właściwością `Text`. Możesz je odfiltrować: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Duże partie + +Przetwarzanie tysięcy plików TIFF może pochłaniać dużo pamięci. W takich przypadkach użyj przeciążenia, które przyjmuje `Stream` dla każdego obrazu, lub przetwarzaj listę w mniejszych partiach: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Obsługa języków i czcionek + +Jeśli Twoje dokumenty zawierają znaki spoza alfabetu łacińskiego, ustaw język przed wywołaniem `RecognizeImages`: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Ta mała zmiana może znacząco zwiększyć dokładność. + +## Krok 7: Pełny działający przykład (gotowy do kopiowania) + +Poniżej znajduje się kompletny program, który możesz wkleić do nowego projektu konsolowego (`dotnet new console`) i uruchomić od razu (wystarczy podmienić `YOUR_DIRECTORY/Batch` na rzeczywistą ścieżkę). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Uruchom program poleceniem `dotnet run`. Powinieneś zobaczyć zwięzły podgląd dla każdego pliku TIFF, potwierdzający, że udało Ci się **wyodrębnić tekst z TIFF** przy użyciu Aspose OCR. + +## Najczęściej zadawane pytania (FAQ) + +**P: Czy to działa z wielostronicowymi TIFF‑ami?** +O: Tak. Aspose OCR traktuje każdą stronę jako osobny obraz wewnętrznie, więc wielostronicowy TIFF daje jeden połączony łańcuch tekstu na plik. W razie potrzeby możesz go później podzielić. + +**P: Jak dokładny jest OCR „out of the box”?** +O: Dla czystych, wysokiej rozdzielczości skanów (300 DPI lub wyżej) możesz oczekiwać >95 % dokładności dla tekstu angielskiego. Wstępne przetwarzanie (prostowanie, binaryzacja) może podnieść wynik jeszcze wyżej. + +**P: Czy mogę zapisać wyniki do pliku CSV?** +O: Oczywiście. Zastąp `Console.WriteLine` przez `StreamWriter` i zapisz wiersze `fileName,preview`. Pamiętaj o escapowaniu przecinków w tekście podglądu. + +## Kolejne kroki i tematy pokrewne + +- **Trwałe przechowywanie wyników OCR** – Zapisz pełny tekst w bazie danych, aby umożliwić przeszukiwalne archiwa. +- **Połączenie z konwersją PDF** – Użyj Aspose.PDF, aby osadzić wyodrębniony tekst w przeszukiwalnych plikach PDF. +- **Przetwarzanie wsadowe w Azure Functions** – Skaluj pracę OCR bez zarządzania serwerami. + +Wszystkie te rozszerzenia opierają się na głównej idei **wyodrębniania tekstu z TIFF** w sposób efektywny, jednocześnie umożliwiając **pobranie pierwszych 50 znaków** dla szybkich podglądów UI. + +--- + +*Miłego kodowania! Jeśli napotkasz jakiekolwiek problemy, zostaw komentarz poniżej – postaram się pomóc w dopracowaniu Twojej linii OCR.* + +![Wyodrębnianie tekstu z TIFF przy użyciu Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Wyodrębnianie tekstu z TIFF przy użyciu Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/polish/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..a1479117 --- /dev/null +++ b/ocr/polish/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,240 @@ +--- +category: general +date: 2026-01-09 +description: Szybko rozpoznawaj tekst w plikach JPG przy użyciu Aspose OCR w C#. Dowiedz + się, jak wyodrębnić tekst z obrazu, przekształcić obraz do formatu JSON i EPUB w + jednym samouczku. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: pl +og_description: Rozpoznawaj tekst w pliku JPG za pomocą Aspose OCR. Ten przewodnik + pokazuje, jak wyodrębnić tekst z obrazu, przekształcić obraz do formatu JSON i EPUB + oraz stworzyć ePub z obrazu. +og_title: Rozpoznawanie tekstu w jpg – Pełny samouczek C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Rozpoznawanie tekstu w JPG przy użyciu Aspose OCR – Kompletny przewodnik C# +url: /pl/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# rozpoznawanie tekstu w jpg – Kompletny przewodnik C# + +Kiedykolwiek potrzebowałeś **rozpoznać tekst w plikach jpg**, ale nie wiedziałeś, której biblioteki użyć? Nie jesteś sam. Wielu programistów napotyka ten sam problem, gdy po raz pierwszy próbują wyodrębnić słowa ze zdjęcia lub zeskanowanego dokumentu. + +Dobra wiadomość? Dzięki Aspose OCR możesz **wyodrębnić tekst z obrazu** w kilku linijkach kodu C#, a następnie natychmiast **przekształcić obraz w JSON** lub nawet **przekształcić obraz w EPUB** — wszystko bez wychodzenia z IDE. + +W tym tutorialu przejdziemy przez cały proces: od instalacji odpowiednich pakietów NuGet, przez rozpoznawanie tekstu w JPG, po zapisanie wyniku jako strukturalny JSON i jako dokument ePub. Na końcu będziesz w stanie **tworzyć epub z plików obrazu** programowo, co przyda się w platformach e‑learningowych, bibliotekach cyfrowych lub każdej aplikacji potrzebującej przeszukiwalnych e‑booków. + +--- + +## Czego będziesz potrzebować + +- **.NET 6+** (lub .NET Framework 4.6+). Kod działa na każdym nowoczesnym środowisku uruchomieniowym. +- Pakiet NuGet **Aspose.OCR** – główny silnik OCR. +- Pakiet NuGet **Aspose.Publishing** – wymagany do formatu wyjściowego ePub. +- Plik obrazu o nazwie `input.jpg` znajdujący się gdzieś na dysku (zamień ścieżkę na własną). +- Edytor tekstu lub IDE (Visual Studio, VS Code, Rider — jak wolisz). + +To wszystko. Żadnych dodatkowych usług, żadnych zewnętrznych API, tylko kilka bibliotek i plik JPG. + +--- + +## Krok 1: Konfiguracja projektu do **rozpoznawania tekstu w jpg** + +Najpierw utwórz nową aplikację konsolową (lub dodaj do istniejącego projektu). Następnie dodaj dwa pakiety Aspose za pomocą Menedżera Pakietów NuGet: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Wskazówka:** Jeśli używasz Visual Studio, kliknij prawym przyciskiem projektu → *Manage NuGet Packages* → wyszukaj *Aspose.OCR* i *Aspose.Publishing*, a następnie kliknij **Install**. + +Te pakiety dostarczają wszystkiego, co potrzebne do **wyodrębnienia tekstu z obrazu** i późniejszego wygenerowania pliku ePub. + +--- + +## Krok 2: **Wyodrębnianie tekstu z obrazu** przy użyciu Aspose OCR + +Teraz napiszemy kod, który faktycznie odczyta JPG i wyciągnie z niego znaki. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Dlaczego to działa:** `OcrEngine` ukrywa wszystkie niskopoziomowe operacje przetwarzania obrazu, wykrywania języka i segmentacji znaków. Wystarczy podać mu ścieżkę do pliku, a zwróci obiekt `OcrResult` zawierający czysty tekst (`ocrResult.Text`) oraz bogaty zestaw metadanych. + +--- + +## Krok 3: **Konwersja obrazu do JSON** – Eksport wyniku OCR + +Jeśli potrzebujesz przechowywać wynik OCR w ustrukturyzowanym formacie (do API, baz danych lub dalszego przetwarzania), Aspose umożliwia łatwą serializację wyniku do JSON. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +Wygenerowany JSON wygląda mniej więcej tak (skrócony dla przejrzystości): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**Kiedy to stosować:** JSON jest idealny, gdy przekazujesz dane OCR do usługi sieciowej, zapisujesz je w bazie NoSQL lub po prostu potrzebujesz przenośnej reprezentacji, którą można sparsować w dowolnym języku. + +--- + +## Krok 4: **Konwersja obrazu do EPUB** – Zapis jako e‑book + +Aspose Publishing dodaje obsługę kilku formatów e‑booków, w tym EPUB. Wywołując `Save` na obiekcie `OcrResult`, możesz wygenerować w pełni zgodny plik ePub, który zawiera rozpoznany tekst oraz, opcjonalnie, oryginalny obraz. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**Co otrzymujesz:** ePub, który możesz otworzyć w dowolnym czytniku (Calibre, Apple Books, Adobe Digital Editions). Plik zawiera wyodrębniony tekst jako treść przeszukiwalną oraz źródłowy obraz jako warstwę tła — idealne do budowania **pipeline'ów create epub from image**. + +--- + +## Krok 5: Pełny działający przykład – Od JPG do JSON i EPUB + +Łącząc wszystko razem, oto kompletny, gotowy do uruchomienia program. Skopiuj i wklej go do `Program.cs`, dostosuj ścieżki do plików i naciśnij **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Uruchom program, a zobaczysz trzy rzeczy: + +1. Rozpoznany tekst wypisany w konsoli. +2. Plik `output.json` zawierający ustrukturyzowane dane OCR. +3. Plik `output.epub`, który możesz otworzyć w dowolnym czytniku e‑booków. + +--- + +## Często zadawane pytania i przypadki brzegowe + +- **Co jeśli obraz jest w formacie PNG lub BMP?** + Aspose OCR obsługuje większość formatów rastrowych (PNG, BMP, TIFF, GIF). Wystarczy zmienić rozszerzenie w `inputPath`; kod pozostaje taki sam. + +- **Czy mogę określić język inny niż angielski?** + Tak. Ustaw `ocrEngine.Language = OcrLanguage.French;` (lub dowolny obsługiwany język) przed wywołaniem `RecognizeImage`. + +- **A co z wielostronicowymi PDF‑ami?** + Dla PDF‑ów najpierw konwertujesz każdą stronę na obraz (Aspose.PDF potrafi to zrobić), a potem przekazujesz każdy obraz do `RecognizeImage`. Otrzymane obiekty `OcrResult` można połączyć przed eksportem do JSON lub EPUB. + +- **Otrzymuję niskie wyniki pewności. Jak poprawić dokładność?** + Wstępnie przetwórz obraz: zwiększ kontrast, wyrównaj (deskew) lub skonwertuj do odcieni szarości. Aspose OCR oferuje także `PreprocessOptions`, które możesz dostosować. + +--- + +## Podsumowanie + +Masz teraz solidny, kompleksowy przepis na **rozpoznawanie tekstu w jpg** przy użyciu Aspose OCR, a następnie **konwersję obrazu do JSON** dla potoków danych oraz **konwersję obrazu do EPUB** w celu tworzenia przeszukiwalnych e‑booków. Podejście jest lekkie, wymaga jedynie dwóch pakietów NuGet i działa na wszystkich nowoczesnych środowiskach .NET. + +Od tego momentu możesz: + +- Zintegrować wyjście JSON z indeksem wyszukiwania (Azure Cognitive Search, Elastic). +- Przetwarzać wsadowo folder obrazów i generować bibliotekę książek ePub. +- Rozszerzyć workflow o API tłumaczeń, aby automatycznie tworzyć wielojęzyczne e‑booki. + +Wypróbuj, eksperymentuj z różnymi jakością obrazów i pozwól silnikowi OCR wykonać ciężką pracę. Szczęśliwego kodowania! + +--- + +![recognize text in jpg output screenshot](placeholder-image.png "recognize text in jpg 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/portuguese/net/ocr-configuration/_index.md b/ocr/portuguese/net/ocr-configuration/_index.md index 190e7bbe..618676ff 100644 --- a/ocr/portuguese/net/ocr-configuration/_index.md +++ b/ocr/portuguese/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ Desbloqueie o poder do reconhecimento de imagem OCR em .NET com Aspose.OCR. Extr Desbloqueie recursos poderosos de OCR com Aspose.OCR para .NET. Extraia texto de imagens perfeitamente. ### [Operação OCR com lista no reconhecimento de imagem OCR](./ocr-operation-with-list/) Desbloqueie o potencial do Aspose.OCR para .NET. Execute facilmente o reconhecimento de imagens OCR com listas. Aumente a produtividade e a extração de dados em suas aplicações. +### [Como fazer OCR de imagem em C# – Guia completo com suporte a GPU](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Domine o OCR de imagens em C# com suporte a GPU, acelerando a extração de texto em alta performance. +### [Reconhecer texto de imagem com Aspose OCR – Guia completo em C#](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Domine o reconhecimento de texto em imagens usando Aspose OCR com este guia completo em C#. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/portuguese/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..b5b5abf8 --- /dev/null +++ b/ocr/portuguese/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,204 @@ +--- +category: general +date: 2026-01-09 +description: Aprenda a fazer OCR de imagens e extrair texto usando Aspose.OCR. Inclui + etapas para converter documentos escaneados, habilitar GPU e ler a imagem com OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: pt +og_description: Como fazer OCR de imagem rapidamente com Aspose.OCR. Siga este tutorial + passo a passo para extrair texto da imagem, converter documento escaneado e habilitar + a GPU. +og_title: Como fazer OCR de imagem em C# – Guia acelerado por GPU +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Como fazer OCR de imagem em C# – Guia completo com suporte a GPU +url: /pt/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como fazer OCR de Imagem em C# – Guia Completo com Suporte a GPU + +Já se perguntou **como fazer OCR de imagem** diretamente do seu aplicativo .NET? Você não está sozinho—desenvolvedores precisam constantemente extrair texto de PDFs, TIFFs e fotos, especialmente ao lidar com documentos escaneados grandes. A boa notícia? Com Aspose.OCR você pode **extrair texto de imagens** em apenas algumas linhas, e ainda pode **ativar a aceleração GPU** para um processamento mais rápido. + +Neste tutorial vamos percorrer tudo o que você precisa saber: desde a instalação da biblioteca, à inicialização do motor OCR com fallback para GPU, até finalmente **ler imagem com OCR** e exibir o resultado. Ao final, você será capaz de **converter documentos escaneados** em imagens para strings editáveis—sem serviços externos. + +--- + +## O que você vai precisar + +Antes de colocar a mão na massa, certifique‑se de que tem o seguinte: + +- **.NET 6.0** ou superior (o código funciona também em .NET Core e .NET Framework). +- Uma **licença** para Aspose.OCR ou uma chave de avaliação temporária (o trial gratuito serve para testes). +- Um arquivo de imagem que você deseja processar—de preferência um TIFF ou PNG de alta resolução. +- (Opcional) Uma máquina com GPU habilitada se quiser ver o ganho de velocidade; caso contrário o motor recairá graciosamente para a CPU. + +Ter esses pré‑requisitos cobertos permite que você se concentre no fluxo de OCR propriamente dito sem encontrar obstáculos mais tarde. + +--- + +## Etapa 1: Instalar o Pacote NuGet Aspose.OCR + +Primeiro de tudo—adicione a biblioteca Aspose.OCR ao seu projeto. Abra um terminal na pasta da solução e execute: + +```bash +dotnet add package Aspose.OCR +``` + +Ou, se estiver usando a UI do NuGet no Visual Studio, basta procurar por **Aspose.OCR** e clicar em instalar. Este único comando traz todas as DLLs necessárias, incluindo os binários nativos de GPU quando disponíveis. + +> **Dica profissional:** Mantenha o pacote sempre atualizado. Novas versões costumam incluir melhorias nos modelos de linguagem e melhor suporte a GPU. + +--- + +## Etapa 2: Importar os Namespaces Necessários + +Agora que o pacote está instalado, traga os namespaces relevantes para o escopo. Esta etapa é onde começamos **como fazer OCR de imagem** no código. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +Essas duas linhas dão acesso à classe `OcrEngine` e ao objeto de configurações que permite alternar o uso da GPU. Sem elas, o compilador não saberia o que `OcrEngine` significa. + +--- + +## Etapa 3: Inicializar o Motor OCR e Habilitar GPU + +Se você já se perguntou **como habilitar GPU** para OCR, esta é a resposta. Criamos uma instância de `OcrEngineSettings`, ativamos a flag `UseGpu` e a passamos ao construtor do motor. O motor detecta automaticamente se há uma GPU compatível; caso não haja, ele recai para a CPU—então você não precisa de tratamento de erro extra. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Por que habilitar a GPU? Para imagens grandes—pense em TIFFs de múltiplas páginas ou digitalizações de alta resolução—o tempo de processamento pode cair de vários segundos para uma fração de segundo. Se você está construindo um pipeline de processamento em lote, esse ganho de velocidade se acumula rapidamente. + +--- + +## Etapa 4: Executar OCR na Imagem Alvo + +É aqui que realmente **lê a imagem com OCR**. Forneça o caminho para o seu arquivo, e o motor retorna o texto reconhecido como uma string. Isso funciona para qualquer formato raster suportado pela Aspose (PNG, JPEG, TIFF, BMP, etc.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Se precisar **converter documentos escaneados** página por página, basta percorrer os nomes dos arquivos e chamar `RecognizeImage` para cada um. O método é thread‑safe, então você pode até paralelizar a carga de trabalho em uma CPU multi‑core. + +--- + +## Etapa 5: Exibir ou Persistir o Texto Extraído + +Por fim, exibimos o resultado. Em um aplicativo de console, `Console.WriteLine` resolve. Em um cenário real você pode gravar o texto em um banco de dados, em um arquivo JSON ou enviá‑lo para um índice de busca. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +A linha acima imprime a saída bruta do OCR. Você notará quebras de linha, reconhecimentos incorretos ocasionais e talvez alguns caracteres estranhos—nada incomum para OCR. Pós‑processamento (por exemplo, limpeza com regex) pode organizar tudo se necessário. + +> **Observação:** Aspose.OCR também suporta dicionários específicos por idioma. Se você estiver processando textos não‑ingleses, defina `ocrEngine.Settings.Language` adequadamente antes de chamar `RecognizeImage`. + +--- + +## Exemplo Completo em Funcionamento + +Juntando tudo, aqui está um programa autocontido que você pode copiar‑colar em um novo projeto de console: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Saída esperada** (truncada para brevidade): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Execute o programa e você verá o texto extraído aparecer na janela do console. Se a GPU estiver disponível, o tempo de processamento será visivelmente menor do que em máquinas apenas com CPU. + +--- + +## Armadilhas Comuns & Como Evitá‑las + +| Problema | Por que acontece | Solução | +|----------|------------------|---------| +| **Caracteres estranhos** | Fonte de baixa resolução ou fundo ruidoso. | Pré‑processar a imagem (aumentar DPI, aplicar binarização) antes do OCR. | +| **GPU não utilizada** | Driver CUDA incompatível ou ausente. | Verificar a versão do driver, ou definir `UseGpu = false` para forçar CPU. | +| **Out‑of‑memory em TIFFs grandes** | Carregamento do arquivo inteiro de uma vez. | Usar `OcrEngineSettings.MaxMemoryUsage` para limitar o consumo, ou processar páginas individualmente. | +| **Detecção de idioma incorreta** | Idioma padrão é Inglês. | Definir `ocrEngine.Settings.Language = Language.YourLanguage;` antes de chamar `RecognizeImage`. | + +Tratar esses casos de borda garante que sua implementação de **como fazer OCR de imagem** permaneça robusta em diferentes ambientes. + +--- + +## Expandindo a Solução + +Agora que você pode **extrair texto de imagens**, talvez queira: + +- **Converter documentos escaneados** PDFs em PDFs pesquisáveis incorporando a camada OCR. +- Armazenar os resultados em um índice **Azure Cognitive Search** para recuperação rápida. +- Encadear a saída do OCR a uma **API de tradução** se precisar de suporte multilíngue. +- Usar o método `GetBoundingBoxes` da **Aspose.OCR** para localizar onde cada palavra aparece na imagem—útil para ferramentas de redação. + +Todas essas extensões se baseiam no mesmo princípio central que abordamos: inicializar o motor, alimentá‑lo com uma imagem e ler o texto. + +--- + +## Conclusão + +Percorremos um exemplo completo, de ponta a ponta, de **como fazer OCR de imagem** usando Aspose.OCR em C#. Ao instalar o pacote NuGet, importar os namespaces corretos, habilitar a GPU (ou recair para CPU) e chamar `RecognizeImage`, você pode extrair texto de imagens de forma confiável, **converter documentos escaneados** e **ler imagem com OCR** em qualquer aplicação .NET. + +Experimente em alguns dos seus próprios scans—teste diferentes formatos de imagem, alterne a flag da GPU e observe como o desempenho muda. Quando estiver pronto, explore recursos avançados como dicionários de idioma ou extração de caixas delimitadoras para tornar sua solução ainda mais inteligente. + +Boa codificação, e que seus pipelines de OCR sejam rápidos, precisos e sem complicações! + +{{< /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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/portuguese/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..2ede871a --- /dev/null +++ b/ocr/portuguese/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,207 @@ +--- +category: general +date: 2026-01-09 +description: reconhecer texto de imagem usando Aspose OCR em C#. Aprenda como desativar + o download automático, extrair texto chinês de imagem e definir o idioma do OCR. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: pt +og_description: reconheça texto de imagem usando Aspose OCR em C#. Siga este tutorial + passo a passo para desativar o download automático, extrair imagem de texto em chinês + e definir o idioma do OCR. +og_title: Reconheça texto de imagem com Aspose OCR – Guia Completo C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Reconheça texto de imagem com Aspose OCR – Guia Completo em C# +url: /pt/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# reconhecer texto de imagem com Aspose OCR – Guia Completo em C# + +Já precisou **reconhecer texto de imagem** mas ficou preso em detalhes de configuração? Você não está sozinho. Muitos desenvolvedores encontram um obstáculo quando o motor OCR tenta baixar pacotes de idioma em tempo de execução, ou quando não conseguem extrair caracteres chineses de uma foto de placa. + +Neste tutorial vamos percorrer uma solução prática que mostra como **desativar o download automático**, **extrair texto de imagem**, **extrair texto chinês de imagem** e **definir o idioma do OCR** — tudo com Aspose OCR para .NET. Ao final, você terá um programa único e executável que imprime o texto reconhecido diretamente no console. + +## O que você vai aprender + +- Como instalar e referenciar o pacote NuGet Aspose.OCR. +- Por que desativar o download automático de recursos é importante para ambientes offline ou seguros. +- Os passos exatos para apontar o motor para uma pasta local de pacotes de idioma. +- Como selecionar o idioma correto (Chinês Simplificado) antes de processar uma imagem. +- Verificar a saída e solucionar armadilhas comuns. + +Nenhuma experiência prévia com Aspose é necessária; basta uma configuração básica de C# e um arquivo de imagem que você queira ler. + +## Pré‑requisitos + +| Requisito | Motivo | +|-----------|--------| +| .NET 6.0 ou superior (ou .NET Framework 4.7+) | Aspose.OCR oferece suporte a esses runtimes. | +| Visual Studio 2022 (ou qualquer IDE de sua preferência) | Para facilitar a criação e depuração do projeto. | +| Um arquivo de imagem contendo texto chinês (por exemplo, `chinese-sign.jpg`) | Para demonstrar **extrair texto chinês de imagem**. | +| Cópia local dos pacotes de idioma Aspose OCR (baixados uma única vez do portal Aspose) | Necessário porque vamos **desativar o download automático**. | + +Certifique‑se de que os arquivos ZIP dos pacotes de idioma estejam em uma pasta que você possa referenciar, por exemplo `C:\MyOCR\Resources`. + +## Etapa 1: Reconhecer texto de imagem – Configurar o motor OCR + +Primeiro de tudo: precisamos de um objeto `OcrEngineSettings` que indique ao Aspose onde procurar os recursos. Esta é a base para qualquer operação de **extrair texto de imagem**. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +Por que definir `AutoDownloadResources` como `false`? Em ambientes de produção você costuma estar atrás de firewalls, ou simplesmente não quer que seu aplicativo acesse a internet em tempo de execução. Desativar esse recurso garante que o motor use apenas os arquivos que você colocou em `ResourceFolder`, o que também acelera a inicialização. + +## Etapa 2: Criar o motor OCR com as configurações especificadas + +Agora que as configurações estão prontas, instanciamos o motor. Esta etapa é onde a capacidade de **definir o idioma do OCR** entrará em ação mais tarde. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +O objeto `OcrEngine` é leve; ele não carrega nenhum dado de idioma até que você atribua um idioma. Esse carregamento tardio é o motivo pelo qual você pode criar o motor mesmo que a pasta de recursos esteja vazia — nada quebrará até que você tente **extrair texto chinês de imagem**. + +## Etapa 3: Definir o idioma do OCR – Escolher Chinês Simplificado + +Aspose oferece suporte a dezenas de idiomas, cada um empacotado como um arquivo ZIP. Como nossa imagem de exemplo contém caracteres chineses simplificados, definimos explicitamente o idioma antes do reconhecimento. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +Se você esquecer esta etapa, o motor usará o inglês por padrão e você obterá uma saída ilegível. Além disso, observe que o nome do idioma deve corresponder ao nome do arquivo ZIP dentro de `ResourceFolder`. Por exemplo, `ChineseSimplified.zip` deve estar presente. + +## Etapa 4: Extrair texto da imagem alvo + +Com o motor configurado e o idioma definido, finalmente **reconhecemos texto de imagem**. O método devolve uma string simples que você pode registrar, armazenar ou encaminhar para outro sistema. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +A chamada a `RecognizeImage` realiza todo o trabalho pesado: pré‑processamento, segmentação, correspondência de caracteres e, por fim, montagem do resultado. Se a imagem estiver clara e o pacote de idioma correto, você verá os caracteres chineses impressos no console. + +> **Dica:** Se precisar extrair apenas parte da imagem (por exemplo, uma região específica), use a sobrecarga `RecognizeImage(string, Rectangle)` para passar um retângulo de recorte. + +## Exemplo completo em funcionamento + +Abaixo está o programa completo que você pode copiar‑colar em um novo projeto de console. Ele inclui as instruções `using`, as configurações, a seleção de idioma e a saída final. Salve como `Program.cs`, restaure os pacotes NuGet e execute. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Saída esperada + +Se `chinese-sign.jpg` contiver a frase “欢迎光临”, o console exibirá algo semelhante a: + +``` +=== Recognized Text === +欢迎光临 +``` + +A formatação exata pode variar dependendo da qualidade da imagem, mas os caracteres deverão ser legíveis. + +## Armadilhas comuns & Dicas avançadas + +| Sintoma | Causa provável | Solução | +|---------|----------------|--------| +| **String vazia retornada** | Pacote de idioma não encontrado ou `AutoDownloadResources` ainda tentando buscá‑lo | Verifique o caminho de `ResourceFolder` e assegure que `ChineseSimplified.zip` exista. | +| **Caracteres estranhos** | Imagem borrada ou de baixo contraste | Pré‑processe a imagem (aumente o contraste, binarize) antes de enviá‑la a `RecognizeImage`. | +| **Exceção: `FileNotFoundException`** | Caminho da imagem incorreto | Use um caminho absoluto ou coloque a imagem no diretório de saída do projeto e referencie‑a com `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`. | +| **Desempenho lento** | Dimensões da imagem muito grandes | Redimensione a imagem para uma largura razoável (por exemplo, 1024 px) antes do reconhecimento. | + +**Dica de especialista:** Mantenha os pacotes de idioma em uma pasta versionada. Quando você atualizar o Aspose.OCR, os novos pacotes podem ter convenções de nomenclatura diferentes, o que pode quebrar silenciosamente sua estratégia de **desativar download automático**. + +## Expandindo o exemplo + +Agora que você pode **reconhecer texto de imagem**, talvez queira: + +- **Processar em lote** uma pasta de imagens (percorrer arquivos, chamar `RecognizeImage` a cada iteração). +- **Exportar** os resultados para um arquivo CSV ou JSON para análises posteriores. +- **Combinar** OCR com APIs de tradução para transformar placas chinesas em inglês em tempo real. + +Todos esses cenários reutilizam os mesmos passos centrais: configure uma vez, defina o idioma e chame `RecognizeImage`. O design modular mantém seu código limpo e fácil de manter. + +## Conclusão + +Você acabou de aprender como **reconhecer texto de imagem** usando Aspose OCR em C#. Ao **desativar o download automático**, apontar o motor para uma pasta local de recursos e **definir o idioma do OCR** para Chinês Simplificado, você pode extrair de forma confiável **texto chinês de imagem** e qualquer outro idioma que disponibilizar. + +O código completo e executável acima demonstra um fluxo prático que pode ser inserido em projetos reais. A partir daqui, experimente diferentes qualidades de imagem, adicione tratamento de erros ou integre a saída a um sistema maior. As possibilidades são praticamente infinitas. + +Tem dúvidas sobre outros idiomas, otimização de desempenho ou implantação na nuvem? Sinta‑se à vontade para deixar um comentário — 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/net/ocr-optimization/_index.md b/ocr/portuguese/net/ocr-optimization/_index.md index 3202c80b..3397136f 100644 --- a/ocr/portuguese/net/ocr-optimization/_index.md +++ b/ocr/portuguese/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ Explore Aspose.OCR para .NET. Aumente a precisão do OCR com filtros de pré-pro Aumente a precisão do OCR com Aspose.OCR para .NET. Corrija a ortografia, personalize dicionários e obtenha reconhecimento de texto sem erros sem esforço. ### [Salvar resultado de várias páginas como documento no reconhecimento de imagem OCR](./save-multipage-result-as-document/) Desbloqueie o potencial do Aspose.OCR para .NET. Salve facilmente resultados de OCR de várias páginas como documentos com este guia passo a passo abrangente. +### [Tutorial de OCR em C#: Reconhecer Texto de Imagem com Pré-processamento](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Aprenda a reconhecer texto em imagens usando pré-processamento com Aspose.OCR para .NET. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/portuguese/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..28552e58 --- /dev/null +++ b/ocr/portuguese/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,230 @@ +--- +category: general +date: 2026-01-09 +description: Tutorial de OCR em C# que mostra como reconhecer texto a partir de imagem + e pré‑processar a imagem para OCR usando filtros Aspose.OCR – guia passo a passo. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: pt +og_description: Tutorial de OCR em C# que orienta você a reconhecer texto a partir + de imagens e a pré-processar a imagem para OCR usando filtros Aspose.OCR. Código + completo incluído. +og_title: c# tutorial de OCR – Reconheça texto de imagem com pré-processamento +tags: +- OCR +- C# +- Image Processing +title: 'Tutorial de OCR em C#: Reconheça Texto de Imagem com Pré‑processamento' +url: /pt/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tutorial c# ocr – Reconhecer Texto de Imagem com Pré‑processamento + +Já se perguntou como **reconhecer texto de imagem** em uma aplicação C# sem passar semanas ajustando filtros? Você não está sozinho. Neste **tutorial c# ocr** vamos percorrer um exemplo completo, pronto‑para‑executar, que não só lê o texto, mas também **pré‑processa a imagem para OCR** para melhorar a precisão. + +Usaremos a biblioteca Aspose.OCR porque ela vem com um pipeline de filtros prático que permite conectar correção de inclinação, remoção de ruído e aumento de contraste em apenas algumas linhas. Ao final deste guia você terá um aplicativo de console que pode receber um PNG inclinado e ruidoso, limpá‑lo e gerar a string extraída — tudo com explicações claras sobre por que cada passo é importante. + +## Pré‑requisitos + +| Requisito | Por que é importante | +|-------------|----------------| +| .NET 6 SDK (or later) | Recursos modernos de C# e melhor desempenho | +| Visual Studio 2022 (or VS Code) | Depuração conveniente e IntelliSense | +| NuGet package **Aspose.OCR** | Fornece o `OcrEngine` e classes de filtro | +| An input image (e.g., `skewed‑noisy.png`) | Demonstrar a necessidade de pré‑processamento | + +Se algum desses itens estiver faltando, instale‑os primeiro. A etapa de NuGet é abordada na seção seguinte. + +## Etapa 1: Instalar Aspose.OCR via NuGet + +Abra seu terminal (ou o Console do Gerenciador de Pacotes) e execute: + +```bash +dotnet add package Aspose.OCR +``` + +> **Dica profissional:** Use a flag `--version` para fixar a uma versão específica se precisar de builds reproduzíveis. + +O pacote inclui todos os filtros que precisaremos, portanto nenhum DLL extra é necessário. + +## Etapa 2: Inicializar o Motor OCR – o Coração do tutorial c# ocr + +Criar o motor é simples, mas vale a pena entender o que acontece nos bastidores. O `OcrEngine` mantém um pipeline de **filters** que manipulam o bitmap antes que o algoritmo de reconhecimento seja executado. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Por que inicializar primeiro?** O motor armazena em cache recursos internos (como modelos de idioma). Reutilizar uma única instância em várias imagens economiza memória e acelera reconhecimentos subsequentes. + +## Etapa 3: Pré‑processar Imagem para OCR – adicionando correção de inclinação, remoção de ruído e aumento de contraste + +A maioria das digitalizações do mundo real não é perfeita; elas podem estar inclinadas, pontilhadas ou muito escuras. Por isso **pré‑processar a imagem para OCR** é uma etapa crítica. A Aspose fornece três filtros que funcionam bem juntos: + +| Filtro | O que faz | Caso de uso típico | +|--------|--------------|------------------| +| `DeskewFilter` | Rotaciona a imagem para corrigir a inclinação | Documentos escaneados de um scanner | +| `DenoiseFilter` | Remove pixels isolados (ruído “sal‑e‑pimenta”) | Fotos com pouca luz | +| `ContrastBoostFilter` | Aumenta o contraste para aguçar as bordas do texto | Impressões desbotadas ou capturas de baixa resolução | + +Abaixo está o código que adiciona cada filtro ao pipeline do motor: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **Como funciona:** Quando você chamar `RecognizeImage` mais tarde, o motor executará sequencialmente esses três filtros antes de enviar o bitmap limpo ao núcleo de reconhecimento. + +### Ilustração visual (opcional) + +Se você incorporar uma imagem, certifique‑se de que o texto alternativo contenha a palavra‑chave principal: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Etapa 4: Reconhecer Texto de Imagem – o momento da verdade + +Agora que a imagem foi pré‑processada, podemos finalmente extrair os caracteres. O método retorna uma string simples, que você pode registrar, armazenar ou enviar para outro sistema. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Saída esperada + +Executar o exemplo em uma digitalização típica de nota fiscal produz algo como: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +Se a saída parecer corrompida, verifique novamente a qualidade da imagem e considere ajustar `ContrastBoostFilter.Level` (valores > 2.0 podem ser agressivos demais). + +## Etapa 5: Saída do Resultado e Pós‑processamento Opcional + +Um aplicativo de console pode simplesmente escrever a string, mas muitos projetos precisam de tratamento extra — como remover espaços em branco, eliminar quebras de linha ou inserir o texto em um banco de dados. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Por que pós‑processar? + +Mesmo com um bom pré‑processamento, o OCR costuma introduzir quebras de linha indesejadas ou caracteres invisíveis. Uma rápida cadeia de `Replace` pode tornar os dados muito mais utilizáveis downstream. + +## Etapa 6: Exemplo Completo – pronto para copiar‑colar + +Abaixo está o programa **completo** que você pode compilar e executar imediatamente. Ele inclui todas as instruções `using`, a configuração dos filtros, a chamada ao OCR e o tratamento da saída. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**Como executá‑lo** + +1. Salve o arquivo como `Program.cs` dentro de um novo projeto de console (`dotnet new console`). +2. Substitua `YOUR_DIRECTORY/skewed-noisy.png` pelo caminho real da sua imagem de teste. +3. Execute `dotnet run`. Você deverá ver a saída do OCR impressa no terminal. + +## Armadilhas Comuns & Dicas (reconhecer texto de imagem de forma confiável) + +| Problema | O que verificar | Correção | +|-------|----------------|-----| +| **Garbage characters** | A imagem está muito escura ou de baixa resolução | Aumente `ContrastBoostFilter.Level` ou use uma fonte de resolução maior | +| **Missing lines** | O Deskew não corrigiu totalmente o ângulo | Rotacione a imagem manualmente primeiro, ou ajuste a tolerância do `DeskewFilter` | +| **Slow performance** | Processamento de muitas imagens grandes em loop | Reutilize a mesma instância de `OcrEngine` e chame `ocrEngine.Clear()` após cada execução | +| **Unsupported language** | O texto não está em inglês | Defina `ocrEngine.Language = OcrLanguage.French` (ou outro idioma suportado) antes do reconhecimento | + +### Caso extremo: lidando com PDFs de múltiplas páginas + +Se precisar fazer OCR em um PDF, converta cada página em uma imagem (por exemplo, usando `Aspose.PDF`) e alimente‑as uma a uma ao mesmo motor. O pipeline de pré‑processamento permanece idêntico, garantindo resultados consistentes entre as páginas. + +## Conclusão + +Neste **tutorial c# ocr** cobrimos tudo o que você precisa para **reconhecer texto de imagem** e **pré‑processar a imagem para OCR** usando os filtros embutidos do Aspose.OCR. Ao inicializar o motor, adicionar as etapas de correção de inclinação, remoção de ruído e aumento de contraste, e finalmente chamar `RecognizeImage`, você obtém extração de texto limpa e confiável com apenas algumas linhas de código. + +Sinta‑se à vontade para experimentar — troque por um filtro diferente, ajuste o nível de contraste ou integre o resultado a um pipeline de dados maior. Os conceitos aqui se aplicam a qualquer biblioteca de OCR: o pré‑processamento costuma ser a diferença entre uma fatura parcialmente lida e um documento perfeitamente capturado. + +Tem mais perguntas? Talvez você queira saber como lidar com texto manuscrito ou processar em lote milhares de arquivos. Deixe um comentário e exploraremos esses cenários juntos. 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/net/text-recognition/_index.md b/ocr/portuguese/net/text-recognition/_index.md index 8efadbd2..938c5086 100644 --- a/ocr/portuguese/net/text-recognition/_index.md +++ b/ocr/portuguese/net/text-recognition/_index.md @@ -55,9 +55,22 @@ Aprimore seus aplicativos .NET com Aspose.OCR para reconhecimento eficiente de t Desbloqueie o potencial do OCR em .NET com Aspose.OCR. Extraia texto de PDFs sem esforço. Baixe agora para uma experiência de integração perfeita. ### [Reconhecer tabela no reconhecimento de imagem OCR](./recognize-table/) Desbloqueie o potencial do Aspose.OCR para .NET com nosso guia completo sobre reconhecimento de tabelas no reconhecimento de imagem OCR. +### [Tutorial c# OCR – Extrair Texto em Hindi de Recibos PNG](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Aprenda a usar Aspose.OCR em C# para extrair texto em Hindi de imagens PNG de recibos, passo a passo. +### [Extrair Texto de PNG – Tutorial Completo Aspose OCR](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Aprenda passo a passo a extrair texto de imagens PNG usando Aspose OCR, cobrindo configuração e extração de texto. +### [Reconhecer texto em JPG com Aspose OCR – Guia Completo em C#](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Aprenda passo a passo a reconhecer texto em imagens JPG usando Aspose OCR com C#, cobrindo configuração e extração de texto. +### [Tutorial c# OCR – Extrair Texto de Imagens com Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Aprenda a usar Aspose.OCR em C# para extrair texto de imagens, passo a passo, cobrindo configuração e extração de texto. +### [Tutorial c# OCR – Extrair texto de imagens e arquivos DJVU](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Aprenda a usar Aspose.OCR em C# para extrair texto de imagens e arquivos DJVU, passo a passo. +### [Extrair Texto de TIFF com Aspose OCR C# – Guia Completo](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Aprenda passo a passo a extrair texto de arquivos TIFF usando Aspose OCR em C#, cobrindo configuração e extração de texto. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/portuguese/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..6f61a9cf --- /dev/null +++ b/ocr/portuguese/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,241 @@ +--- +category: general +date: 2026-01-09 +description: Tutorial de OCR em C# para ler texto de PNG, converter imagem em texto + e reconhecer texto em hindi em um recibo usando Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: pt +og_description: tutorial de OCR em C# que ensina como ler texto de PNG, converter + imagem em texto e reconhecer texto em hindi em um recibo com Aspose OCR. +og_title: Tutorial de OCR em C# – Extrair texto em hindi de recibos PNG +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Tutorial de OCR em C# – Extrair texto em hindi de recibos PNG +url: /pt/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tutorial c# ocr – Extrair Texto Hindi de Recibos PNG + +Já se perguntou como **ler texto de arquivos PNG** em uma aplicação C#? Talvez você tenha vários recibos em hindi e precise extrair os valores automaticamente. É exatamente isso que este c# ocr tutorial aborda—transformar uma imagem em texto pesquisável com apenas algumas linhas de código. + +Neste guia vamos percorrer a instalação do Aspose OCR, o carregamento de um recibo PNG, o reconhecimento de caracteres hindi e, por fim, a impressão da string extraída no console. Ao final, você será capaz de **converter imagem em texto**, **reconhecer texto hindi** e até **extrair texto de recibos** sem sair do seu IDE. + +> **Nota pré‑requisito:** Você precisa de uma licença válida do Aspose OCR (ou pode usar o trial gratuito) e do .NET 6+ instalado. Se você é novo no NuGet, não se preocupe—também cobriremos isso. + +--- + +## O que você vai precisar + +- **Visual Studio 2022** (ou qualquer editor compatível com C#) +- **.NET 6 SDK** (ou superior) +- **Aspose.OCR** pacote NuGet + ```bash + dotnet add package Aspose.OCR + ``` +- Uma imagem de recibo de exemplo, por exemplo, `hindi-receipt.png`, salva na pasta do seu projeto. + +Ter tudo isso pronto significa que você pode copiar‑colar o código final e pressionar **F5** imediatamente. + +--- + +## Etapa 1: Configurar o projeto e importar namespaces + +Primeiro, crie um projeto de console se ainda não tiver um: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Agora abra `Program.cs`. No topo, importe os namespaces do Aspose OCR para que o compilador saiba onde encontrar as classes: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Por que isso importa:** O `OcrEngine` está em `Aspose.OCR`, enquanto os enums relacionados a idioma estão em `Aspose.OCR.Settings`. Esquecer qualquer um deles causará um erro de compilação. + +--- + +## Etapa 2: Inicializar o motor OCR e escolher o modelo de idioma + +O motor OCR precisa saber **qual idioma** procurar. O Aspose vem com vários pacotes de idioma; especificar `OcrLanguage.Hindi` indica ao motor que baixe (se necessário) e use o modelo hindi. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Dica profissional:** Se você pretende processar recibos em vários idiomas, pode trocar `Language` em tempo de execução ou até habilitar o modo `MultiLanguage`. + +--- + +## Etapa 3: Alimentar o recibo PNG ao motor + +É aqui que **lemos texto de PNG**. Forneça o caminho completo (relativo ao executável funciona bem). O método retorna uma string simples contendo tudo que o motor conseguiu decifrar. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Se a imagem for de alta resolução e o texto estiver limpo, você obterá resultados quase perfeitos. Para digitalizações ruidosas, considere pré‑processamento (por exemplo, binarização) – o Aspose oferece métodos `PreprocessImage` que você pode explorar depois. + +--- + +## Etapa 4: Exibir ou persistir o texto extraído + +A maioria dos desenvolvedores simplesmente despeja o resultado no console durante os testes. Em um cenário de produção, você pode gravar em um banco de dados ou em um arquivo CSV. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Executar o programa com o recibo de exemplo imprime algo como: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +Esse é o **converter imagem em texto** em ação—sem necessidade de transcrição manual. + +--- + +## Exemplo completo (pronto para copiar‑colar) + +Abaixo está o programa completo e autocontido. Cole-o em `Program.cs`, coloque `hindi-receipt.png` ao lado do `.exe` compilado e pressione **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Saída esperada + +Quando a imagem do recibo contém caracteres hindi claros, o console exibirá as linhas extraídas, preservando quebras de linha. Se o OCR falhar em reconhecer alguma palavra, aparecerá um fragmento distorcido—um indicativo para melhorar a qualidade da imagem ou ajustar o pré‑processamento. + +--- + +## Etapa 5: Indo além – Extrair texto de recibo programaticamente + +Se o seu objetivo é **extrair texto de recibo** (data, total, número da nota), você pode pós‑processar a string OCR com expressões regulares: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +Este pequeno trecho demonstra como transformar a saída bruta do OCR em dados estruturados—perfeito para alimentar um software de contabilidade. + +--- + +## Armadilhas comuns & como evitá‑las + +| Problema | Por que acontece | Solução | +|----------|------------------|---------| +| **Saída em branco** | Caminho da imagem errado ou arquivo não copiado para a pasta de saída. | Use `Path.GetFullPath` e verifique se o arquivo existe (`File.Exists`). | +| **Caracteres estranhos** | PNG de baixa resolução ou cores comprimidas. | Aumente a resolução da imagem, defina DPI para 300+ ou use `ocrEngine.ImagePreprocessor`. | +| **Modelo de idioma não baixado** | Sem conexão à internet na primeira execução. | Pré‑baixe o modelo hindi via portal Aspose ou hospede‑o localmente. | +| **Desempenho lento** | Processamento de muitas páginas em loop sem descarte. | Envolva `OcrEngine` em um bloco `using` ou reutilize uma única instância. | + +--- + +## Ilustração + +![c# ocr tutorial reading Hindi text from PNG receipt](https://example.com/placeholder-image.png "c# ocr tutorial – read text from png receipt") + +*A captura de tela mostra um recibo em hindi antes e depois da conversão OCR.* + +--- + +## Recapitulação: O que cobrimos + +- Configuramos um app console C# e adicionamos o pacote NuGet Aspose OCR. +- Inicializamos `OcrEngine` com o modelo de idioma **reconhecer texto hindi**. +- **Lemos texto de PNG** usando `RecognizeImage`. +- **Convertimos imagem em texto** e imprimimos o resultado. +- Demonstramos um padrão simples para **extrair texto de recibo**. + +Tudo isso entregue em um único arquivo executável—exatamente o que um **c# ocr tutorial** deve oferecer. + +--- + +## Próximos passos & tópicos relacionados + +1. **Processamento em lote** – percorrer uma pasta de imagens de recibos e armazenar resultados em CSV. +2. **Pré‑processamento** – explorar `ocrEngine.ImagePreprocessor` para remoção de ruído, correção de inclinação ou aumento de contraste. +3. **OCR multilingue** – habilitar `OcrLanguage.Multilingual` para lidar com recibos que misturam hindi e inglês. +4. **Integração** – enviar os dados extraídos para um modelo Entity Framework Core para armazenamento persistente. + +Se você tem curiosidade sobre algum desses itens, confira nossos tutoriais sobre **converter imagem em texto em C#** e **extrair dados estruturados de resultados OCR**. + +--- + +### Feliz codificação! + +Sinta‑se à vontade para deixar um comentário se encontrar algum obstáculo, ou compartilhar como você estendeu este **c# ocr tutorial** em seus próprios projetos. Lembre‑se, OCR é apenas o primeiro passo—dados limpos é onde a verdadeira mágica acontece. 🚀 + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/portuguese/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..84edbeac --- /dev/null +++ b/ocr/portuguese/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-01-09 +description: Tutorial de OCR em C# que mostra como extrair texto de arquivos de imagem + e converter DJVU para texto usando Aspose.OCR. Aprenda a extração passo a passo + em minutos. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: pt +og_description: Tutorial de OCR em C# que mostra rapidamente como extrair texto de + arquivos de imagem e converter DJVU em texto usando Aspose.OCR. Siga o guia para + obter uma solução funcional. +og_title: Tutorial de OCR em C# – Extrair texto de imagem e DJVU +tags: +- OCR +- C# +- Aspose +title: 'Tutorial de OCR em C#: Extrair texto de imagens e arquivos DJVU' +url: /pt/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tutorial c# OCR – Extrair texto de imagens e arquivos DJVU + +Já se perguntou como extrair texto de arquivos de imagem sem perder a cabeça? Neste **c# OCR tutorial** vamos percorrer um exemplo completo, pronto‑para‑executar que extrai texto de uma foto comum *e* de um documento DJVU. + +Se você também está procurando uma maneira rápida de **converter DJVU para texto**, está no lugar certo—sem conversores extras, apenas código C# puro. + +## O que você aprenderá + +- Como configurar a biblioteca Aspose.OCR em um projeto .NET. +- O código exato que você precisa para **extrair texto de imagens**. +- Um método conciso para **extrair texto de arquivos DJVU** (sim, o mesmo motor faz isso). +- Armadilhas comuns (arquivos grandes, fontes ausentes, licenciamento) e como evitá‑las. + +Tudo que você precisa é um SDK .NET recente e uma conexão à internet para obter o pacote NuGet. Não é necessária experiência prévia com OCR. + +## Pré-requisitos + +| Requisito | Por que importa | +|-------------|----------------| +| .NET 6.0 ou posterior | Aspose.OCR tem como alvo .NET Standard 2.0, então .NET 6+ oferece o melhor desempenho. | +| Visual Studio 2022 (ou VS Code) | IDEs facilitam o gerenciamento de pacotes, mas qualquer editor funciona. | +| Pacote NuGet **Aspose.OCR** | Este é o motor que realmente faz o trabalho pesado. | +| Uma imagem de exemplo (`sample.png`) e um arquivo DJVU (`sample.djvu`) | Usaremos estes para demonstrar ambos os cenários de extração. | + +Você pode instalar o pacote com o seguinte comando: + +```bash +dotnet add package Aspose.OCR +``` + +> **Dica profissional:** Se você estiver em um servidor CI, adicione `--no-restore` ao passo de build e restaure uma vez no início para acelerar. + +## Etapa 1: Inicializar o motor OCR – o coração do tutorial c# OCR + +A primeira coisa que fazemos é criar uma instância de `OcrEngine`. Pense nisso como ligar o scanner no seu software. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Por que criar um novo motor a cada vez? Porque o motor mantém configurações (idioma, modo de detecção, etc.). Ao iniciar do zero, você evita que configurações antigas vaze entre execuções. + +## Etapa 2: Carregar e reconhecer uma imagem – como extrair texto de imagens + +Agora vamos alimentar um bitmap comum (PNG, JPEG, BMP…) no motor. O método `RecognizeImage` retorna a string detectada. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +Algumas coisas a observar: + +* **Existência do arquivo** – Se o caminho estiver errado o método lança `FileNotFoundException`. Envolva‑o em um `try/catch` se você esperar caminhos fornecidos pelo usuário. +* **Qualidade da imagem** – OCR funciona melhor em 300 dpi ou mais. Digitalizações de baixa resolução podem produzir saída confusa. +* **Suporte a idiomas** – Por padrão o Aspose.OCR assume inglês. Para mudar, defina `ocrEngine.Language = Language.Spanish;` antes de `RecognizeImage`. + +## Etapa 3: Reconhecer texto de um documento DJVU – converter DJVU para texto + +DJVU é um formato contêiner que pode conter múltiplas páginas. Aspose.OCR pode lidar com ele diretamente; basta apontar para o arquivo. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +Nos bastidores, o motor extrai cada página como uma imagem e executa o mesmo pipeline de reconhecimento. Por isso você não precisa de uma etapa separada de “converter DJVU para texto”—o motor OCR faz isso por você. + +### Manipulando arquivos DJVU multipáginas + +Se o seu DJVU contém várias páginas, `RecognizeImage` as concatena em ordem. Caso precise de cada página separadamente, você pode usar a sobrecarga que retorna um `List`: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Etapa 4: Ajustar finamente o motor para melhor precisão – por que isso importa + +Os resultados padrão são razoáveis, mas você pode melhorá‑los ajustando algumas configurações: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Esses flags são especialmente úteis ao **extrair texto** de PDFs escaneados que foram primeiro salvos como DJVU. Ativar a detecção de orientação evita que você tenha que girar imagens manualmente. + +## Etapa 5: Lidando com licenciamento e erros de tempo de execução + +Aspose.OCR vem com uma versão de avaliação gratuita que marca “Demo” na saída após algumas páginas. Para remover a marca d'água, adicione seu arquivo de licença: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Se você esquecer esta etapa, o motor ainda funciona, mas o resultado conterá a palavra “Demo”. Além disso, fique atento ao `OutOfMemoryException` ao processar arquivos DJVU enormes—considere processar página por página como mostrado anteriormente. + +## Exemplo completo e executável + +Abaixo está um programa de console autocontido que reúne tudo. Copie‑e‑cole, ajuste os caminhos dos arquivos e pressione **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Saída esperada** (supondo que os arquivos contenham a frase “Hello World”): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Se a fonte contiver múltiplas linhas, elas aparecerão exatamente como no documento original. + +## Perguntas comuns & tratamento de casos extremos + +* **E se a imagem for preto‑e‑branco?** + OCR funciona bem, mas você pode melhorar o contraste com `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +* **Posso extrair apenas números?** + Sim—defina `ocrEngine.CharWhitelist = "0123456789";` antes de chamar `RecognizeImage`. + +* **Existe um limite de tamanho de arquivo?** + O motor lê o arquivo inteiro na memória. Para arquivos maiores que ~100 MB, processe página por página (veja a sobrecarga de lista da Etapa 3). + +* **Como isso difere do Tesseract?** + Aspose.OCR é uma biblioteca comercial com suporte nativo a DJVU e sem dependências nativas, enquanto o Tesseract requer binários nativos e ferramentas separadas de conversão DJVU. + +## Conclusão + +Você acabou de concluir um **c# OCR tutorial** que mostra como **extrair texto de imagens** e converter perfeitamente **DJVU para texto** usando Aspose.OCR. O exemplo cobre tudo, desde a instalação do pacote até o licenciamento, da extração de imagem de página única ao manuseio de DJVU multipáginas, e até dicas para melhorar a precisão. + +Em seguida, você pode explorar **como extrair texto** de PDFs, integrar a etapa OCR em uma API web, ou experimentar pacotes de idioma para documentos multilíngues. O céu é o limite—apenas lembre‑se dos principais pontos: configure o motor, alimente‑o com um arquivo e leia a string de volta. + +Tem mais perguntas? Deixe um comentário, experimente o código em seus próprios documentos e feliz codificação! + +![captura de tela do tutorial c# OCR mostrando saída do console](/images/csharp-ocr-tutorial.png "c# OCR tutorial – exemplo de saída do console") + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/portuguese/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..b12b6abe --- /dev/null +++ b/ocr/portuguese/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: Tutorial de OCR em C# que mostra como extrair texto de arquivos de imagem, + reconhecer texto de PNG, converter imagem em string e detectar idioma automaticamente + usando Aspose.OCR. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: pt +og_description: Tutorial de OCR em c# que orienta você na extração de texto de imagens, + reconhecimento de texto de arquivos PNG, conversão de imagens em strings e detecção + automática de idioma usando Aspose OCR. +og_title: tutorial de OCR em C# – Extrair texto de imagens +tags: +- C# +- OCR +- Aspose +- Image Processing +title: Tutorial de OCR em C# – Extrair Texto de Imagens com Aspose OCR +url: /pt/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Extrair Texto de Imagens com Aspose OCR + +Já precisou de um **c# ocr tutorial** que realmente funcione em um arquivo PNG do mundo real? Talvez você esteja construindo um scanner de recibos, um processador de formulários multilíngue, ou apenas curioso sobre como transformar uma foto de texto em uma string pesquisável. Seja qual for o caso, você está no lugar certo. + +Neste guia, mostraremos passo a passo como **extract text from image** files, **recognize text from png**, **convert image to string**, e até **detect language automatically** — tudo com a biblioteca Aspose.OCR. Sem referências vagas, apenas um exemplo completo e executável que você pode copiar e colar no Visual Studio. + +## O que você precisará + +- .NET 6.0 ou posterior (o código funciona também com .NET Core e .NET Framework) +- Uma referência NuGet para `Aspose.OCR` (versão 23.9 ou mais recente) +- Um arquivo de imagem (`mixed‑script.png` neste exemplo) colocado em um local que o aplicativo possa ler +- Um entendimento básico de C# (se você já escreveu um “Hello World”, está pronto) + +> **Dica profissional:** Se você ainda não tem uma licença, a Aspose oferece uma licença temporária gratuita para testes. Basta colocar o arquivo `.lic` ao lado do seu executável. + +## Etapa 1 – Instalar o Pacote NuGet Aspose.OCR + +Primeiro, adicione a biblioteca ao seu projeto. Abra o Console do Gerenciador de Pacotes e execute: + +```powershell +Install-Package Aspose.OCR +``` + +Ou, se preferir a interface gráfica, clique com o botão direito em *Dependencies → Manage NuGet Packages* e procure por **Aspose.OCR**. + +## Etapa 2 – Preparar o Motor OCR (c# ocr tutorial core) + +Agora criaremos uma instância de `OcrEngine`, instruiremos a detectar automaticamente o idioma e apontaremos para o nosso arquivo PNG. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Por que definimos `Language = OcrLanguage.AutoDetect` + +A detecção automática de idioma evita que você tenha que adivinhar se a imagem contém Inglês, Russo, Árabe ou uma mistura. É a opção mais flexível para um cenário de **detect language automatically**, e funciona imediatamente para a maioria dos scripts suportados pela Aspose. + +## Etapa 3 – Executar a Aplicação e Verificar a Saída + +Compile e execute o programa (`dotnet run` ou pressione **F5** no Visual Studio). Se tudo estiver configurado corretamente, você verá algo como: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +Essa saída prova que conseguimos **extract text from image**, **recognize text from png**, e **convert image to string** – tudo em um único trecho conciso. + +## Etapa 4 – Variações Comuns e Casos Limite + +### Manipulando Múltiplas Imagens + +Se precisar processar um diretório de PNGs, envolva a chamada de reconhecimento em um loop `foreach`: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Especificando um Idioma Fixo + +Às vezes você conhece o idioma antecipadamente (por exemplo, apenas Inglês). Você pode substituir `AutoDetect` por `OcrLanguage.English` para acelerar o processamento: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Lidando com Digitalizações de Baixa Qualidade + +Aspose.OCR oferece opções de pré-processamento (redução de ruído, correção de inclinação). Para uma solução rápida: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Salvando o Resultado em um Arquivo + +Em vez de imprimir no console, você pode querer gravar o texto extraído em um arquivo `.txt`: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Etapa 5 – Exemplo Completo Funcional (Pronto para Copiar e Colar) + +Abaixo está o **programa completo** incluindo lógica opcional de pré-processamento e saída para arquivo. Sinta-se à vontade para ajustar os caminhos. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Saída Esperada + +Executar o programa em um PNG que contém Inglês, Russo e Árabe produz: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +Se a imagem estiver em branco ou ilegível, o motor retorna uma string vazia — trate esse caso verificando `string.IsNullOrWhiteSpace(extractedText)` antes de prosseguir. + +## Perguntas Frequentes (FAQs) + +**Q: O Aspose.OCR suporta texto manuscrito?** +A: Ele foca em OCR impresso. Para manuscritos, você precisaria de um modelo de ML dedicado ou de um serviço como Azure Computer Vision. + +**Q: Posso executar isso no Linux/macOS?** +A: Absolutamente. Aspose.OCR é multiplataforma; basta instalar o runtime .NET para o seu sistema operacional. + +**Q: E se eu precisar processar PDFs em vez de PNGs?** +A: Converta cada página de PDF em uma imagem primeiro (por exemplo, usando `Aspose.PDF`) e então alimente a imagem ao motor OCR. + +## Conclusão + +Acabamos de concluir um **c# ocr tutorial** que orienta você a **extracting text from image** files, **recognizing text from png**, **converting the image to a string**, e **detecting language automatically** usando Aspose.OCR. O código é curto, os conceitos são claros, e você pode expandi-lo para processamento em lote, configurações de idioma personalizadas ou até integrá-lo a uma API web. + +Próximos passos? Experimente enviar a saída do OCR para um índice de busca, encaminhá‑la a um serviço de tradução, ou combiná‑la com Azure Cognitive Services para pipelines de dados ainda mais ricos. O céu é o limite depois que você dominar o básico da conversão de imagem‑para‑texto em C#. + +Feliz codificação, e não se esqueça de experimentar diferentes qualidades de imagem — seu motor OCR agradecerá! + +![c# ocr tutorial – exemplo de saída OCR em um PNG de script misto](placeholder-image.png "c# ocr tutorial – captura de tela 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/portuguese/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/portuguese/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..c9367ad5 --- /dev/null +++ b/ocr/portuguese/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-01-09 +description: Extraia texto de PNG rapidamente com Aspose OCR. Aprenda como ler texto + de imagens, melhorar a precisão do OCR e obter resultados limpos em C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: pt +og_description: Extraia texto de PNG rapidamente com Aspose OCR. Aprenda como ler + texto de imagens, melhorar a precisão do OCR e obter resultados limpos em C#. +og_title: Extrair texto de PNG – Tutorial completo de OCR da Aspose +tags: +- Aspose OCR +- C# +- Image Processing +title: Extrair texto de PNG – Tutorial completo de OCR da Aspose +url: /pt/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrair Texto de PNG – Tutorial Completo de Aspose OCR + +Já precisou **extrair texto de PNG** e os resultados estavam cheios de caracteres estranhos? Você não está sozinho. Em muitos projetos do mundo real – notas fiscais, recibos ou formulários escaneados – a qualidade da saída do OCR pode fazer ou quebrar pipelines de automação. + +Neste guia mostraremos um método **passo a passo** para ler texto de imagens usando Aspose OCR, aplicar um dicionário personalizado para **melhorar a precisão do OCR**, limpar o ruído e, finalmente, imprimir uma string organizada. Ao final, você terá um aplicativo console C# pronto‑para‑executar que extrai texto de imagens PNG de forma confiável. + +> **O que você levará consigo** +> * Um exemplo de código completo e executável. +> * Entendimento de por que um dicionário personalizado é importante. +> * Dicas para lidar com casos extremos, como digitalizações de baixo contraste. + +## Pré-requisitos + +- .NET 6 SDK ou superior (o código tem como alvo .NET 6, mas .NET 5 também funciona). +- Visual Studio 2022 ou qualquer editor de sua preferência. +- Uma imagem **PNG** que você deseja processar – por exemplo `invoice.png`. +- O pacote **Aspose.OCR** do NuGet (`dotnet add package Aspose.OCR`). + +Nenhum arquivo de configuração extra é necessário; tudo vive em um único arquivo `.cs`. + +## Etapa 1 – Instalar e Referenciar Aspose OCR + +Primeiro, traga a biblioteca para o seu projeto. Abra um terminal na pasta da solução e execute: + +```bash +dotnet add package Aspose.OCR +``` + +Essa única linha obtém a versão estável mais recente (em Jan 2026, versão 23.9). O pacote inclui a classe `OcrEngine` que usaremos ao longo do tutorial. + +## Etapa 2 – Inicializar o Motor OCR + +Criar uma instância de `OcrEngine` é a base. Pense nisso como ligar um scanner pronto para interpretar pixels. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Dica profissional:** Se você pretende processar muitas imagens em um loop, reutilize a mesma instância de `OcrEngine`. Ela faz cache de recursos internos e acelera chamadas subsequentes. + +## Etapa 3 – Aumentar a Precisão com um Dicionário Personalizado + +O OCR padrão é bom, mas pode tropeçar em palavras específicas de domínio como “Aspose”, “OCR” ou “SDK”. Adicionar esses termos a um **dicionário personalizado** informa ao motor que essas cadeias são válidas, reduzindo erros de reconhecimento. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Por que um dicionário personalizado ajuda + +- **Modelos estatísticos** por trás do OCR dão peso pesado a padrões de linguagem comuns. Palavras incomuns recebem baixa probabilidade e podem ser substituídas por caracteres visualmente semelhantes. +- Ao listá‑las explicitamente, você sobrescreve a adivinhação do modelo. +- É especialmente útil para **ler texto de imagem** que contém códigos de produto, abreviações ou nomes de marca. + +## Etapa 4 – Reconhecer Texto do Arquivo PNG + +Agora fornecemos ao motor o caminho da imagem. O método `RecognizeImage` retorna uma string bruta que ainda contém tokens desconhecidos (ex.: “#@!”) que o motor não conseguiu mapear. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Caso especial:** Se o arquivo não for encontrado, `RecognizeImage` lança uma `FileNotFoundException`. Envolva a chamada em um bloco try‑catch para código de produção. + +## Etapa 5 – Limpar o Resultado com `CleanText` + +Aspose OCR inclui um helper que remove caracteres marcados como “desconhecidos”. Esta etapa é crucial para projetos de **extração de texto de imagem** onde analisadores posteriores esperam apenas caracteres alfanuméricos e pontuação básica. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +O método `CleanText` também normaliza quebras de linha, tornando a saída segura para armazenar em bancos de dados ou passar a outros serviços. + +## Etapa 6 – Exibir o Texto Limpo + +Por fim, exiba ou armazene o resultado. Em um aplicativo console, `Console.WriteLine` faz o trabalho. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +Ao executar o programa, você deverá ver um bloco de texto organizado que reflete o conteúdo de `invoice.png`. Se a imagem contiver a palavra “Aspose”, o dicionário personalizado garante que ela apareça corretamente em vez de algo como “A5p0se”. + +## Exemplo Completo Funcional + +Juntando tudo, aqui está o `Program.cs` completo que você pode copiar‑colar em um novo projeto console: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Saída esperada** (supondo que o PNG contenha uma nota fiscal simples): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Se aparecerem símbolos estranhos, verifique a qualidade da imagem ou amplie o dicionário personalizado com mais termos. + +## Bônus: Lidando com Digitalizações de Baixa Qualidade + +Às vezes os PNGs são escaneados a 72 dpi ou têm artefatos de compressão fortes. Aqui vão algumas dicas rápidas para **melhorar a precisão do OCR** sem sair do C#: + +1. **Pré‑processar a imagem** com uma biblioteca como `SixLabors.ImageSharp` – aumente o contraste, converta para escala de cinza ou aplique um leve desfoque para reduzir ruído. +2. **Definir a propriedade `Resolution`** no `OcrEngine` (ex.: `ocrEngine.Resolution = 300;`) para informar ao motor que a imagem deve ser tratada como de alta resolução. +3. **Habilitar pacotes de idioma** se você estiver lidando com texto não‑inglês (`ocrEngine.Language = Language.English;`). + +As três abordagens podem ser adicionadas antes da chamada `RecognizeImage`. + +## Perguntas Frequentes + +- **Isso funciona com outros formatos de imagem?** + Sim. `RecognizeImage` aceita JPEG, BMP, TIFF e até PDF (como contêiner de imagem). Os mesmos passos se aplicam. + +- **Posso extrair texto de vários PNGs em uma pasta?** + Absolutamente. Envolva a lógica principal em um `foreach (var file in Directory.GetFiles(folder, "*.png"))` e armazene cada resultado em uma lista ou escreva em arquivos separados. + +- **E se eu precisar das coordenadas do texto?** + Aspose OCR também fornece objetos `OcrResult` que incluem caixas delimitadoras. Use `ocrEngine.RecognizeImageToResult(imagePath)` para esse cenário avançado. + +## Conclusão + +Percorremos uma solução **completa, ponta a ponta** para **extrair texto de PNG** usando Aspose OCR. Ao inicializar o motor, alimentá‑lo com um **dicionário personalizado**, limpar a saída bruta e tratar alguns obstáculos comuns, você pode ler texto de imagens de forma confiável e **melhorar a precisão do OCR** em suas próprias aplicações C#. + +Pronto para o próximo passo? Experimente trocar o PNG por um recibo escaneado, adicione mais palavras específicas ao dicionário ou integre a saída a um banco de dados para processamento automático de notas fiscais. O céu é o limite quando você combina Aspose OCR com o rico ecossistema .NET. + +Feliz codificação, e que seu OCR esteja sempre preciso! + +![Exemplo de extração de texto de png](/images/extract-text-from-png.png "extract text from png – Aspose OCR demo") + +{{< /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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/portuguese/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..704a6869 --- /dev/null +++ b/ocr/portuguese/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,261 @@ +--- +category: general +date: 2026-01-09 +description: Extraia texto de arquivos TIFF usando Aspose OCR em C#. Aprenda como + obter os primeiros 50 caracteres de cada resultado neste tutorial passo a passo. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: pt +og_description: Extrair texto de TIFF usando Aspose OCR em C#. Este guia mostra como + obter os primeiros 50 caracteres de cada resultado OCR, passo a passo. +og_title: Extrair Texto de TIFF com Aspose OCR – Guia Completo em C# +tags: +- Aspose OCR +- C# +- TIFF processing +title: Extrair Texto de TIFF com Aspose OCR C# – Tutorial Completo +url: /pt/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrair Texto de TIFF – Tutorial Completo Aspose OCR C# + +Já precisou **extrair texto de TIFF** imagens mas não tinha certeza de qual biblioteca confiar? Você não está sozinho. Muitos desenvolvedores se deparam com um obstáculo ao tentar extrair texto pesquisável de TIFFs de várias páginas, especialmente quando o desempenho importa. + +Neste **aspose ocr c# tutorial** vamos percorrer um exemplo pronto‑para‑executar que não só extrai o texto completo, mas também mostra como **obter os primeiros 50 caracteres** de cada página para pré‑visualizações rápidas. Ao final, você terá um programa autônomo que pode ser inserido em qualquer projeto .NET. + +## O que você precisará + +- .NET 6 (ou qualquer versão recente do .NET) – o código compila tanto com .NET Core quanto com .NET Framework. +- Uma licença ativa do Aspose.OCR para .NET (você pode começar com um teste gratuito). +- Uma pasta que contém um ou mais arquivos `.tif` que você deseja processar. +- Visual Studio, VS Code ou qualquer IDE de sua preferência – o exemplo é C# puro, então a escolha do editor é irrelevante. + +> **Dica profissional:** Se você estiver em um servidor de CI, adicione o pacote NuGet Aspose.OCR (`Aspose.OCR`) ao seu arquivo de projeto; a biblioteca é totalmente gerenciada e não tem dependências nativas. + +## Etapa 1: Instalar o Pacote NuGet Aspose OCR + +Primeiro de tudo, vamos trazer o motor OCR para o projeto. Abra um terminal na pasta da sua solução e execute: + +```bash +dotnet add package Aspose.OCR +``` + +Este comando obtém a versão estável mais recente (a partir de Jan 2026 é 23.9) e atualiza seu `.csproj` automaticamente. Não é necessário manipular DLLs manualmente. + +## Etapa 2: Inicializar o Motor OCR + +Agora criamos uma instância de `OcrEngine`. Pense nela como o “cérebro” que lerá cada página TIFF. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Por que instanciamos o motor apenas uma vez? Porque `RecognizeImages` pode aceitar uma coleção de caminhos de arquivos, permitindo que o motor reutilize buffers internos e acelere drasticamente o processamento em lote. + +## Etapa 3: Coletar Todos os Arquivos TIFF em Uma Única Chamada + +Em vez de percorrer o diretório manualmente, deixamos o .NET fazer o trabalho pesado. O método `Directory.GetFiles` retorna um `IEnumerable` que podemos alimentar diretamente na chamada OCR. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **E se minhas imagens forem JPEG ou PNG?** Basta mudar o padrão de busca (`"*.jpg"` ou `"*.*"`). Aspose OCR funciona com todos os formatos raster comuns. + +## Etapa 4: Executar OCR na Coleção Inteira + +Esta é a linha mágica que processa cada arquivo em uma única requisição. O método retorna um dicionário onde a chave é o caminho do arquivo e o valor é um objeto `OcrResult` contendo o texto reconhecido. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Por que processar em lote? Isso reduz a sobrecarga de carregar repetidamente o motor OCR e, em máquinas multi‑core, a Aspose paraleliza internamente o trabalho, proporcionando um aumento de velocidade perceptível. + +## Etapa 5: Mostrar uma Pré‑visualização – Obter os Primeiros 50 Caracteres + +A maioria dos cenários de UI precisa apenas de um trecho, não do documento inteiro. Vamos extrair os primeiros 50 caracteres (ou menos, se a página for curta) e imprimi‑los ao lado do nome do arquivo. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +A linha `Math.Min(50, fullText.Length)` garante que nunca ultrapassaremos os limites da string – uma pequena salvaguarda que impede uma `ArgumentOutOfRangeException` quando o resultado OCR for menor que 50 caracteres. + +### Saída Esperada no Console + +Assumindo que você tem dois arquivos TIFF (`invoice1.tif` e `receipt2.tif`), o console pode exibir: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Cada linha termina com reticências (`...`) para indicar que a pré‑visualização é apenas o início de um bloco de texto maior. + +## Etapa 6: Lidar com Casos Limites e Armadilhas Comuns + +### Arquivos Vazios ou Corrompidos + +Se um arquivo não puder ser lido, `RecognizeImages` ainda retorna uma entrada com a propriedade `Text` vazia. Você pode filtrá‑las: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Lotes Grandes + +Processar milhares de TIFFs pode consumir muita memória. Nesses casos, use a sobrecarga que aceita um `Stream` por imagem, ou processe a lista em blocos menores: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Suporte a Idioma e Fonte + +Se seus documentos contêm caracteres não latinos, defina o idioma antes de chamar `RecognizeImages`: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Essa pequena ajuste pode aumentar a precisão drasticamente. + +## Etapa 7: Exemplo Completo Funcionando (Pronto para Copiar‑Colar) + +Abaixo está o programa completo que você pode colar em um novo projeto de console (`dotnet new console`) e executar como está (apenas substitua `YOUR_DIRECTORY/Batch` pelo caminho real). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Execute o programa com `dotnet run`. Você deverá ver uma pré‑visualização concisa para cada arquivo TIFF, confirmando que você extraiu com sucesso **texto de TIFF** usando Aspose OCR. + +## Perguntas Frequentes (FAQ) + +**Q: Isso funciona com TIFFs de várias páginas?** +A: Sim. Aspose OCR trata cada página como uma imagem separada internamente, então um TIFF de várias páginas gera uma única string concatenada por arquivo. Você pode dividi‑la depois, se necessário. + +**Q: Quão precisa é a OCR pronta para uso?** +A: Para digitalizações limpas e de alta resolução (300 DPI ou mais) você pode esperar >95 % de precisão em texto em inglês. Pré‑processamento (correção de inclinação, binarização) pode elevar ainda mais a precisão. + +**Q: Posso exportar os resultados para um arquivo CSV?** +A: Absolutamente. Substitua o `Console.WriteLine` por um `StreamWriter` e escreva linhas `fileName,preview`. Lembre‑se de escapar as vírgulas no texto da pré‑visualização. + +## Próximos Passos e Tópicos Relacionados + +- **Persistir resultados OCR** – Armazenar o texto completo em um banco de dados para arquivos pesquisáveis. +- **Combinar com conversão PDF** – Usar Aspose.PDF para incorporar o texto extraído de volta em PDFs pesquisáveis. +- **Processamento em lote no Azure Functions** – Escalar o trabalho OCR sem gerenciar servidores. + +Todas essas extensões estão ligadas à ideia central de **extrair texto de TIFF** de forma eficiente, enquanto ainda permitem **obter os primeiros 50 caracteres** para pré‑visualizações rápidas na UI. + +--- + +*Feliz codificação! Se você encontrar algum problema, deixe um comentário abaixo – farei o possível para ajudá‑lo a ajustar o pipeline OCR.* + +![Extract text from TIFF using Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extract text from TIFF using Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/portuguese/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..48f28740 --- /dev/null +++ b/ocr/portuguese/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-09 +description: reconheça texto em jpg rapidamente usando Aspose OCR em C#. Aprenda como + extrair texto de uma imagem, converter a imagem para JSON e EPUB em um único tutorial. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: pt +og_description: reconheça texto em jpg com Aspose OCR. Este guia mostra como extrair + texto de uma imagem, converter a imagem para JSON e EPUB e criar um ePub a partir + de uma imagem. +og_title: reconhecer texto em jpg – Tutorial completo de C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Reconhecer texto em JPG com Aspose OCR – Guia completo de C# +url: /pt/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# reconhecer texto em jpg – Guia Completo C# + +Já precisou **reconhecer texto em jpg** arquivos mas não tinha certeza de qual biblioteca escolher? Você não está sozinho. Muitos desenvolvedores enfrentam o mesmo obstáculo quando tentam extrair palavras de uma fotografia ou documento escaneado. + +A boa notícia? Com Aspose OCR você pode **extrair texto de imagem** arquivos em poucas linhas de código C#, e então instantaneamente **converter imagem para JSON** ou até **converter imagem para EPUB** — tudo sem sair da sua IDE. + +Neste tutorial vamos percorrer todo o fluxo de trabalho: desde a instalação dos pacotes NuGet corretos, passando pelo reconhecimento de texto em um JPG, até salvar o resultado como JSON estruturado e como um documento ePub. Ao final você será capaz de **criar epub a partir de imagem** arquivos programaticamente, um truque útil para plataformas de e‑learning, bibliotecas digitais ou qualquer aplicativo que precise de e‑books pesquisáveis. + +--- + +## O que você precisará + +- **.NET 6+** (ou .NET Framework 4.6+). O código funciona em qualquer runtime recente. +- **Aspose.OCR** pacote NuGet – o motor OCR principal. +- **Aspose.Publishing** pacote NuGet – necessário para o formato de saída ePub. +- Um arquivo de imagem chamado `input.jpg` localizado em algum lugar no seu disco (substitua o caminho pelo seu). +- Um editor de texto ou IDE (Visual Studio, VS Code, Rider — você decide). + +É isso. Sem serviços extras, sem APIs externas, apenas algumas bibliotecas e um arquivo JPG. + +--- + +## Etapa 1: Configurar seu projeto para **reconhecer texto em jpg** + +Primeiro, crie uma nova aplicação console (ou adicione a um projeto existente). Em seguida, adicione os dois pacotes Aspose via o Gerenciador de Pacotes NuGet: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Dica profissional:** Se você estiver usando o Visual Studio, clique com o botão direito no projeto → *Gerenciar Pacotes NuGet* → procure por *Aspose.OCR* e *Aspose.Publishing*, então clique em **Instalar**. + +Esses pacotes trazem tudo que você precisa para **extrair texto de imagem** e gerar um arquivo ePub posteriormente. + +--- + +## Etapa 2: **Extrair texto de imagem** usando Aspose OCR + +Agora vamos escrever o código que realmente lê o JPG e extrai os caracteres dele. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Por que isso funciona:** `OcrEngine` abstrai todo o pré‑processamento de imagem de baixo nível, detecção de idioma e segmentação de caracteres. Você simplesmente aponta para um arquivo e ele retorna um objeto `OcrResult` contendo a string de texto simples (`ocrResult.Text`) e um conjunto rico de metadados. + +--- + +## Etapa 3: **Converter imagem para JSON** – Exportando o Resultado OCR + +Se você precisar armazenar a saída OCR em um formato estruturado (para APIs, bancos de dados ou processamento posterior), Aspose torna trivial a serialização do resultado para JSON. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +O JSON gerado se parece aproximadamente com isto (cortado para brevidade): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**Quando usar:** JSON é perfeito se você está enviando os dados OCR para um serviço web, armazenando-os em um banco NoSQL, ou simplesmente precisa de uma representação portátil que pode ser analisada por qualquer linguagem. + +--- + +## Etapa 4: **Converter imagem para EPUB** – Salvando como eBook + +Aspose Publishing adiciona suporte a vários formatos de e‑book, incluindo EPUB. Chamando `Save` no `OcrResult` você pode gerar um arquivo ePub totalmente compatível que contém o texto reconhecido e, opcionalmente, a imagem original. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**O que você obtém:** Um ePub que pode ser aberto em qualquer leitor (Calibre, Apple Books, Adobe Digital Editions). O arquivo inclui o texto extraído como conteúdo pesquisável, além da imagem fonte como camada de fundo — ideal para criar pipelines de **criar epub a partir de imagem**. + +--- + +## Etapa 5: Exemplo Completo – De JPG para JSON & EPUB + +Juntando tudo, aqui está o programa completo, pronto‑para‑executar. Copie‑e‑cole isso em `Program.cs`, ajuste os caminhos dos arquivos e pressione **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Execute o programa e você deverá ver três coisas: + +1. O texto reconhecido impresso no console. +2. Um arquivo `output.json` contendo os dados OCR estruturados. +3. Um arquivo `output.epub` que você pode abrir com qualquer leitor de e‑book. + +--- + +## Perguntas Frequentes & Casos de Borda + +- **E se a imagem for PNG ou BMP?** + Aspose OCR suporta a maioria dos formatos raster (PNG, BMP, TIFF, GIF). Basta mudar a extensão do arquivo em `inputPath`; o mesmo código funciona. + +- **Posso especificar um idioma diferente do inglês?** + Sim. Defina `ocrEngine.Language = OcrLanguage.French;` (ou qualquer idioma suportado) antes de chamar `RecognizeImage`. + +- **E quanto a PDFs de várias páginas?** + Para PDFs você primeiro converte cada página em uma imagem (Aspose.PDF pode fazer isso) e então alimenta cada imagem para `RecognizeImage`. Os objetos `OcrResult` resultantes podem ser mesclados antes de exportar para JSON ou EPUB. + +- **Estou obtendo pontuações de confiança baixas. Como melhorar a precisão?** + Pré‑procese a imagem: aumente o contraste, corrija a inclinação ou converta para escala de cinza. Aspose OCR também oferece `PreprocessOptions` que você pode ajustar. + +--- + +## Conclusão + +Agora você tem uma receita sólida, de ponta a ponta, para **reconhecer texto em jpg** arquivos usando Aspose OCR, então **converter imagem para JSON** para pipelines de dados e **converter imagem para EPUB** para criar e‑books pesquisáveis. A abordagem é leve, requer apenas dois pacotes NuGet e funciona em todos os runtimes .NET modernos. + +A partir daqui você pode: + +- Integrar a saída JSON em um índice de busca (Azure Cognitive Search, Elastic). +- Processar em lote uma pasta de imagens e gerar uma biblioteca de livros ePub. +- Estender o fluxo de trabalho com APIs de tradução para criar e‑books multilíngues automaticamente. + +Experimente, teste diferentes qualidades de imagem, e deixe o motor OCR fazer o trabalho pesado. Feliz codificação! + +--- + +![captura de tela de reconhecimento de texto em jpg](placeholder-image.png "exemplo de reconhecimento de texto em 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/net/ocr-configuration/_index.md b/ocr/russian/net/ocr-configuration/_index.md index c52b2c30..fca84c67 100644 --- a/ocr/russian/net/ocr-configuration/_index.md +++ b/ocr/russian/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ url: /ru/net/ocr-configuration/ Разблокируйте мощные возможности распознавания с помощью Aspose.OCR для .NET. Легко извлекайте текст из изображений. ### [OCROОперация со списком в распознавании изображений OCR](./ocr-operation-with-list/) Раскройте потенциал Aspose.OCR для .NET. Легко выполняйте распознавание изображений OCR с помощью списков. Повысьте производительность и извлечение данных в ваших приложениях. +### [Как распознать изображение в C# – Полное руководство с поддержкой GPU](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Полное руководство по распознаванию изображений в C# с использованием GPU для ускорения обработки. +### [Распознавание текста с изображения с помощью Aspose OCR – Полное руководство на C#](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Полное руководство по распознаванию текста с изображений в C# с использованием Aspose OCR. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/russian/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..71ea156e --- /dev/null +++ b/ocr/russian/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,206 @@ +--- +category: general +date: 2026-01-09 +description: Узнайте, как выполнять OCR изображения и извлекать текст с помощью Aspose.OCR. + Включает шаги по конвертации отсканированного документа, включению GPU и чтению + изображения с помощью OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: ru +og_description: Как быстро выполнять OCR изображения с помощью Aspose.OCR. Следуйте + этому пошаговому руководству, чтобы извлечь текст из изображения, конвертировать + отсканированный документ и включить GPU. +og_title: Как выполнить OCR изображения в C# – руководство с ускорением GPU +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Как распознавать изображение с помощью OCR в C# — полное руководство с поддержкой + GPU +url: /ru/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как выполнять OCR изображений в C# – Полное руководство с поддержкой GPU + +Ever wondered **how to OCR image** files directly from your .NET app? You're not the only one—developers constantly need to pull text out of PDFs, TIFFs, and photos, especially when dealing with large scanned documents. The good news? With Aspose.OCR you can **extract image text** in just a few lines, and you can even **enable GPU** acceleration for faster processing. + +In this tutorial we’ll walk through everything you need to know: from installing the library, to initializing the OCR engine with GPU fallback, to finally **reading image with OCR** and displaying the result. By the end you’ll be able to **convert scanned document** images into editable strings—no external services required. + +--- + +## Что понадобится + +Before we get our hands dirty, make sure you have the following: + +- **.NET 6.0** or later (the code works on .NET Core and .NET Framework as well). +- A **license** for Aspose.OCR or a temporary evaluation key (the free trial works for testing). +- An image file you want to process—preferably a high‑resolution TIFF or PNG. +- (Optional) A GPU‑enabled machine if you want to see the speed boost; otherwise the engine will gracefully fall back to CPU. + +Having these prerequisites covered means you can focus on the actual OCR workflow without hitting a wall later. + +--- + +## Шаг 1: Установите пакет Aspose.OCR NuGet + +First things first—add the Aspose.OCR library to your project. Open a terminal in your solution folder and run: + +```bash +dotnet add package Aspose.OCR +``` + +Or, if you’re using Visual Studio’s NuGet UI, just search for **Aspose.OCR** and hit install. This single command pulls in all the necessary DLLs, including the native GPU binaries when they’re available. + +> **Совет:** Keep the package up‑to‑date. New releases often include language model improvements and better GPU support. + +--- + +## Шаг 2: Импортируйте необходимые пространства имён + +Now that the package is installed, bring the relevant namespaces into scope. This step is where we start **how to OCR image** in code. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +These two lines give you access to the `OcrEngine` class and the settings object that lets you toggle GPU usage. Without them, the compiler would have no idea what `OcrEngine` means. + +--- + +## Шаг 3: Инициализируйте OCR‑движок и включите GPU + +If you’ve ever asked **how to enable GPU** for OCR, this is the answer. We create an `OcrEngineSettings` instance, flip the `UseGpu` flag, and pass it to the engine constructor. The engine automatically detects whether a compatible GPU is present; if not, it falls back to CPU—so you don’t need extra error handling. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Why enable GPU at all? For large images—think multi‑page TIFFs or high‑resolution scans—the processing time can drop from several seconds to a fraction of a second. If you’re building a batch‑processing pipeline, that speed gain adds up quickly. + +--- + +## Шаг 4: Выполните OCR на целевом изображении + +Here’s where we actually **read image with OCR**. Supply the path to your file, and the engine returns the recognized text as a string. This works for any raster format supported by Aspose (PNG, JPEG, TIFF, BMP, etc.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +If you need to **convert scanned document** pages one by one, simply loop over the file names and call `RecognizeImage` for each. The method is thread‑safe, so you can even parallelize the workload on a multi‑core CPU. + +--- + +## Шаг 5: Выведите или сохраните извлечённый текст + +Finally, we output the result. In a console app, `Console.WriteLine` does the trick. In a real‑world scenario you might write the text to a database, a JSON file, or feed it into a search index. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +The above line prints the raw OCR output. You’ll notice line breaks, occasional mis‑recognitions, and perhaps a few stray characters—nothing unusual for OCR. Post‑processing (e.g., regex clean‑up) can tidy things up if needed. + +> **Примечание:** Aspose.OCR also supports language-specific dictionaries. If you’re processing non‑English texts, set `ocrEngine.Settings.Language` accordingly before calling `RecognizeImage`. + +--- + +## Полный рабочий пример + +Putting it all together, here’s a self‑contained program you can copy‑paste into a new console project: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Ожидаемый вывод** (сокращённый для наглядности): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Run the program, and you should see the extracted text appear in your console window. If the GPU is available, the processing time will be noticeably shorter than on CPU‑only machines. + +--- + +## Распространённые ошибки и как их избежать + +| Проблема | Почему происходит | Решение | +|----------|-------------------|---------| +| **Мусорные символы** | Низкое разрешение источника или шумный фон. | Предобработайте изображение (увеличьте DPI, примените бинаризацию) перед OCR. | +| **GPU не используется** | Не установлен совместимый драйвер CUDA. | Проверьте версию драйвера, или установите `UseGpu = false`, чтобы принудительно использовать CPU. | +| **Недостаток памяти при больших TIFF** | Загрузка всего файла сразу. | Используйте `OcrEngineSettings.MaxMemoryUsage` для ограничения потребления памяти, или обрабатывайте страницы по отдельности. | +| **Неправильное определение языка** | Язык по умолчанию — английский. | Установите `ocrEngine.Settings.Language = Language.YourLanguage;` перед вызовом `RecognizeImage`. | + +Addressing these edge cases ensures your **how to OCR image** implementation stays robust across different environments. + +--- + +## Расширение решения + +Now that you can **extract image text**, you might want to: + +- **Convert scanned document** PDFs to searchable PDFs by embedding the OCR layer. +- Store results in an **Azure Cognitive Search** index for fast retrieval. +- Chain the OCR output to a **translation API** if you need multilingual support. +- Use **Aspose.OCR’s** `GetBoundingBoxes` method to locate where each word appears on the image—handy for redaction tools. + +All of these extensions build on the same core principle we covered: initialize the engine, feed it an image, and read the text. + +--- + +## Заключение + +We’ve walked through a complete, end‑to‑end example of **how to OCR image** using Aspose.OCR in C#. By installing the NuGet package, importing the right namespaces, enabling GPU (or falling back to CPU), and calling `RecognizeImage`, you can reliably **extract image text**, **convert scanned document** pages, and **read image with OCR** in any .NET application. + +Give it a try on a handful of your own scans—experiment with different image formats, toggle the GPU flag, and see how the performance changes. When you’re ready, explore the advanced features like language dictionaries or bounding‑box extraction to make your solution even smarter. + +Happy coding, and may your OCR pipelines be fast, accurate, and hassle‑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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/russian/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..ff38ce37 --- /dev/null +++ b/ocr/russian/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,250 @@ +--- +category: general +date: 2026-01-09 +description: Распознавайте текст на изображении с помощью Aspose OCR в C#. Узнайте, + как отключить автоматическую загрузку, извлечь китайский текст с изображения и задать + язык OCR. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: ru +og_description: распознавать текст с изображения с помощью Aspose OCR в C#. Следуйте + этому пошаговому руководству, чтобы отключить автоматическую загрузку, извлечь китайский + текст из изображения и установить язык OCR. +og_title: Распознавание текста на изображении с помощью Aspose OCR – Полное руководство + по C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Распознавание текста с изображения с помощью Aspose OCR – Полное руководство + по C# +url: /ru/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Распознавание текста с изображения с помощью Aspose OCR – Полное руководство на C# + +Ever needed to **recognize text from image** but were stuck on configuration details? You're not alone. Many developers hit a wall when the OCR engine tries to download language packs at runtime, or when they can't pull Chinese characters out of a sign photo. + +Когда‑нибудь вам нужно было **распознать текст с изображения**, но вы застряли в деталях конфигурации? Вы не одиноки. Многие разработчики сталкиваются с проблемой, когда движок OCR пытается загрузить языковые пакеты во время выполнения, или когда им не удаётся извлечь китайские символы из фотографии вывески. + +In this tutorial we’ll walk through a hands‑on solution that shows you how to **disable auto download**, **extract text image**, **extract Chinese text image**, and **set OCR language**—all with Aspose OCR for .NET. By the end you’ll have a single, runnable program that prints the recognized text straight to the console. + +В этом руководстве мы пошагово рассмотрим практическое решение, показывающее, как **отключить автоматическую загрузку**, **извлечь текст из изображения**, **извлечь китайский текст из изображения** и **установить язык OCR** — всё с помощью Aspose OCR для .NET. К концу вы получите единую исполняемую программу, выводящую распознанный текст непосредственно в консоль. + +## Что вы узнаете + +- Как установить и подключить пакет Aspose.OCR из NuGet. +- Почему отключение автоматической загрузки ресурсов важно для офлайн‑или защищённых сред. +- Точные шаги, чтобы указать движку локальную папку с языковыми пакетами. +- Как выбрать правильный язык (упрощённый китайский) перед обработкой изображения. +- Проверка результата и устранение распространённых проблем. + +No prior experience with Aspose is required; just a basic C# setup and an image file you want to read. + +Предыдущий опыт работы с Aspose не требуется; достаточно базовой настройки C# и файла изображения, который вы хотите прочитать. + +## Требования + +| Requirement | Reason | +|-------------|--------| +| .NET 6.0 или новее (или .NET Framework 4.7+) | Aspose.OCR поддерживает эти среды выполнения. | +| Visual Studio 2022 (или любая IDE по вашему выбору) | Для простого создания проекта и отладки. | +| Файл изображения, содержащий китайский текст (например, `chinese-sign.jpg`) | Для демонстрации **extract Chinese text image**. | +| Локальная копия языковых пакетов Aspose OCR (скачанных один раз с портала Aspose) | Необходимо, потому что мы будем **disable auto download**. | + +Make sure the language‑pack ZIP files sit in a folder you can reference, for example `C:\MyOCR\Resources`. + +Убедитесь, что ZIP‑файлы языковых пакетов находятся в папке, к которой вы можете обратиться, например `C:\MyOCR\Resources`. + +## Шаг 1: Распознавание текста с изображения – Настройка OCR‑движка + +First things first: we need an `OcrEngineSettings` object that tells Aspose where to look for resources. This is the foundation for any **extract text image** operation. + +Прежде всего: нам нужен объект `OcrEngineSettings`, который указывает Aspose, где искать ресурсы. Это основа любой операции **extract text image**. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +Why set `AutoDownloadResources` to `false`? In production environments you often run behind firewalls, or you simply don’t want your app to reach out to the internet at runtime. Disabling the feature guarantees that the engine will only use the files you placed in `ResourceFolder`, which also speeds up initialization. + +Зачем устанавливать `AutoDownloadResources` в `false`? В производственных средах вы часто работаете за брандмауэром, или просто не хотите, чтобы приложение обращалось к интернету во время выполнения. Отключение этой функции гарантирует, что движок будет использовать только файлы, размещённые в `ResourceFolder`, что также ускоряет инициализацию. + +## Шаг 2: Создание OCR‑движка с указанными настройками + +Now that the settings are ready, we instantiate the engine. This step is where the **set OCR language** capability will later come into play. + +Теперь, когда настройки готовы, мы создаём экземпляр движка. На этом этапе позже проявится возможность **set OCR language**. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +The `OcrEngine` object is lightweight; it doesn’t actually load any language data until you assign a language. That lazy loading is why you can safely create the engine even if the resource folder is empty—nothing will break until you try to **extract Chinese text image**. + +Объект `OcrEngine` лёгкий; он действительно не загружает данные языка, пока вы не назначите язык. Такая отложенная загрузка позволяет безопасно создавать движок, даже если папка ресурсов пуста — ничего не сломается, пока вы не попытаетесь **extract Chinese text image**. + +## Шаг 3: Установка языка OCR – Выбор упрощённого китайского + +Aspose supports dozens of languages, each packaged as a ZIP file. Since our sample image contains Simplified Chinese characters, we explicitly set the language before recognition. + +Aspose поддерживает десятки языков, каждый упакован в ZIP‑файл. Поскольку наше примерное изображение содержит упрощённые китайские символы, мы явно задаём язык перед распознаванием. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +If you forget this step, the engine defaults to English and you’ll get garbled output. Also, note that the language name must match the ZIP file name inside `ResourceFolder`. For example, `ChineseSimplified.zip` should be present. + +Если вы пропустите этот шаг, движок по умолчанию использует английский, и вы получите искажённый вывод. Также обратите внимание, что имя языка должно соответствовать имени ZIP‑файла внутри `ResourceFolder`. Например, должен присутствовать `ChineseSimplified.zip`. + +## Шаг 4: Извлечение текста из целевого изображения + +With the engine configured and the language set, we finally **recognize text from image**. The method returns a plain string that you can log, store, or feed into another system. + +С движком, настроенным и языком, установленным, мы наконец **распознаём текст с изображения**. Метод возвращает обычную строку, которую можно записать в журнал, сохранить или передать в другую систему. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +The call to `RecognizeImage` does all the heavy lifting: preprocessing, segmentation, character matching, and finally assembling the result. If the image is clear and the language pack is correct, you’ll see the Chinese characters printed to the console. + +Вызов `RecognizeImage` выполняет всю тяжёлую работу: предобработку, сегментацию, сопоставление символов и окончательную сборку результата. Если изображение чёткое и языковой пакет правильный, вы увидите китайские символы, выведенные в консоль. + +> **Совет:** Если вам нужно извлечь только часть изображения (например, определённый регион), используйте перегрузку `RecognizeImage(string, Rectangle)`, чтобы передать прямоугольник обрезки. + +## Полный рабочий пример + +Below is the complete program you can copy‑paste into a new console project. It includes the `using` statements, the settings, language selection, and the final output. Save it as `Program.cs`, restore NuGet packages, and run. + +Ниже приведена полная программа, которую вы можете скопировать и вставить в новый консольный проект. Она включает директивы `using`, настройки, выбор языка и окончательный вывод. Сохраните её как `Program.cs`, восстановите пакеты NuGet и запустите. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Ожидаемый вывод + +If `chinese-sign.jpg` contains the phrase “欢迎光临”, the console will display something akin to: + +Если `chinese-sign.jpg` содержит фразу «欢迎光临», консоль выведет что‑то вроде: + +``` +=== Recognized Text === +欢迎光临 +``` + +The exact formatting may vary depending on the image quality, but the characters should be legible. + +Точное форматирование может различаться в зависимости от качества изображения, но символы должны быть разборчивыми. + +## Распространённые проблемы и профессиональные советы + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| **Пустая строка возвращена** | Языковой пакет не найден или `AutoDownloadResources` всё ещё пытается его загрузить | Проверьте путь `ResourceFolder` и убедитесь, что `ChineseSimplified.zip` присутствует. | +| **Непонятные символы** | Изображение размытое или с низким контрастом | Предобработайте изображение (увеличьте контраст, бинаризуйте) перед передачей в `RecognizeImage`. | +| **Исключение: `FileNotFoundException`** | Неправильный путь к изображению | Используйте абсолютный путь или разместите изображение в каталоге вывода проекта и укажите его с помощью `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`. | +| **Замедление производительности** | Большие размеры изображения | Измените размер изображения до разумной ширины (например, 1024 px) перед распознаванием. | + +**Pro tip:** Храните языковые пакеты в папке, контролируемой системой версий. При обновлении Aspose.OCR новые пакеты могут иметь другие схемы именования, что может бесшумно нарушить вашу стратегию **disable auto download**. + +## Расширение примера + +Now that you can **recognize text from image**, you might want to: + +Теперь, когда вы можете **recognize text from image**, вы, возможно, захотите: + +- **Batch process** папку изображений (перебрать файлы, вызвать `RecognizeImage` каждый раз). +- **Export** результаты в CSV или JSON файл для последующего анализа. +- **Combine** OCR с API перевода, чтобы преобразовать китайские вывески в английский на лету. + +All of these scenarios reuse the same core steps: configure once, set the language, and call `RecognizeImage`. The modular design keeps your code clean and easy to maintain. + +Все эти сценарии используют те же базовые шаги: настроить один раз, установить язык и вызвать `RecognizeImage`. Модульный дизайн сохраняет ваш код чистым и лёгким в поддержке. + +## Заключение + +You’ve just learned how to **recognize text from image** using Aspose OCR in C#. By explicitly **disable auto download**, pointing the engine at a local resource folder, and **set OCR language** to Chinese Simplified, you can reliably **extract Chinese text image** and any other language you supply. + +Вы только что узнали, как **recognize text from image** с помощью Aspose OCR в C#. Явно **disable auto download**, указав движок на локальную папку ресурсов, и **set OCR language** на упрощённый китайский, вы можете надёжно **extract Chinese text image** и любой другой язык, который предоставите. + +The complete, runnable code above demonstrates a practical workflow you can drop into real projects. From here, experiment with different image qualities, add error handling, or integrate the output into a larger system. The possibilities are practically endless. + +Полный, исполняемый код выше демонстрирует практический рабочий процесс, который можно внедрить в реальные проекты. Отсюда экспериментируйте с разным качеством изображений, добавляйте обработку ошибок или интегрируйте вывод в более крупную систему. Возможности практически безграничны. + +Got questions about other languages, performance tuning, or cloud deployment? Feel free to leave a comment—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/net/ocr-optimization/_index.md b/ocr/russian/net/ocr-optimization/_index.md index 1a0003ec..d6bdee91 100644 --- a/ocr/russian/net/ocr-optimization/_index.md +++ b/ocr/russian/net/ocr-optimization/_index.md @@ -50,9 +50,12 @@ url: /ru/net/ocr-optimization/ Повысьте точность распознавания с помощью Aspose.OCR для .NET. Исправляйте орфографию, настраивайте словари и без труда добивайтесь безошибочного распознавания текста. ### [Сохранить многостраничный результат как документ в распознавании изображений OCR](./save-multipage-result-as-document/) Раскройте потенциал Aspose.OCR для .NET. С легкостью сохраняйте многостраничные результаты оптического распознавания текста в виде документов с помощью этого подробного пошагового руководства. +### [c# OCR учебник: Распознавание текста с изображения с предварительной обработкой](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Узнайте, как распознавать текст на изображениях, применяя фильтры предварительной обработки с помощью Aspose.OCR для .NET. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/russian/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..734da236 --- /dev/null +++ b/ocr/russian/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR‑урок, показывающий, как распознавать текст с изображения и предварительно + обрабатывать изображение для OCR с помощью фильтров Aspose.OCR – пошаговое руководство. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: ru +og_description: c# OCR‑урок, который пошагово покажет, как распознавать текст на изображении + и предварительно обрабатывать изображение для OCR с использованием фильтров Aspose.OCR. + Полный код включён. +og_title: c# OCR учебник – Распознавание текста на изображении с предварительной обработкой +tags: +- OCR +- C# +- Image Processing +title: 'c# OCR tutorial: распознавание текста на изображении с предварительной обработкой' +url: /ru/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Распознавание текста с изображения с предварительной обработкой + +Задумывались ли вы когда‑нибудь, как **распознать текст с изображения** в C#‑приложении, не тратя недели на настройку фильтров? Вы не одиноки. В этом **c# ocr tutorial** мы пройдем полный, готовый к запуску пример, который не только считывает текст, но и **предобрабатывает изображение для OCR**, повышая точность. + +Мы будем использовать библиотеку Aspose.OCR, потому что она поставляется с удобным конвейером фильтров, позволяющим подключать шаги выравнивания, удаления шума и повышения контраста всего в несколько строк. К концу этого руководства у вас будет консольное приложение, которое может взять наклонённый, шумный PNG, очистить его и вывести извлечённую строку — всё с понятными объяснениями, почему каждый шаг важен. + +## Предварительные требования + +Before we dive in, make sure you have: + +| Требование | Зачем это нужно | +|------------|-----------------| +| .NET 6 SDK (или новее) | Современные возможности C# и лучшая производительность | +| Visual Studio 2022 (или VS Code) | Удобная отладка и IntelliSense | +| NuGet‑пакет **Aspose.OCR** | Предоставляет `OcrEngine` и классы фильтров | +| Входное изображение (например, `skewed‑noisy.png`) | Показывает необходимость предварительной обработки | + +Если чего‑то не хватает, установите это в первую очередь. Шаг с NuGet описан в следующем разделе. + +## Шаг 1: Установить Aspose.OCR через NuGet + +Откройте терминал (или консоль диспетчера пакетов) и выполните: + +```bash +dotnet add package Aspose.OCR +``` + +> **Подсказка:** Используйте флаг `--version`, чтобы зафиксировать конкретную версию, если вам нужны воспроизводимые сборки. + +Пакет уже содержит все необходимые фильтры, поэтому дополнительные DLL не требуются. + +## Шаг 2: Инициализировать OCR‑движок – сердце c# ocr tutorial + +Создание движка простое, но стоит понять, что происходит под капотом. `OcrEngine` содержит конвейер **фильтров**, которые обрабатывают bitmap перед запуском алгоритма распознавания. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Почему инициализировать сначала?** Движок кэширует внутренние ресурсы (например, языковые модели). Повторное использование одного экземпляра для нескольких изображений экономит память и ускоряет последующие распознавания. + +## Шаг 3: Предобработать изображение для OCR – добавить выравнивание, удаление шума и повышение контраста + +Большинство реальных сканов не идеальны; они наклонены, имеют пятна или слишком тёмные. Поэтому **предобработка изображения для OCR** является критическим шагом. Aspose предоставляет три фильтра, которые хорошо работают вместе: + +| Фильтр | Что делает | Типичный сценарий использования | +|--------|------------|---------------------------------| +| `DeskewFilter` | Поворачивает изображение, исправляя наклон | Отсканированные документы со сканера | +| `DenoiseFilter` | Удаляет отдельные пиксели (шум «соль‑перец») | Фотографии при плохом освещении | +| `ContrastBoostFilter` | Увеличивает контраст для усиления краёв текста | Выцветшие печатные материалы или захваченные изображения низкого разрешения | + +Ниже приведён код, который добавляет каждый фильтр в конвейер движка: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **Как это работает:** Когда вы позже вызываете `RecognizeImage`, движок последовательно выполнит эти три фильтра, прежде чем передать очищенный bitmap в ядро распознавания. + +### Визуальная иллюстрация (по желанию) + +Если вы вставляете изображение, убедитесь, что alt‑текст содержит основной ключевой запрос: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Шаг 4: Распознать текст с изображения – момент истины + +Теперь, когда изображение предобработано, мы наконец можем извлечь символы. Метод возвращает обычную строку, которую можно записать в журнал, сохранить или передать в другую систему. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Ожидаемый вывод + +Запуск примера на типичном скане счёта‑фактуры выдаст примерно следующее: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +Если вывод выглядит искажённым, проверьте качество изображения и попробуйте отрегулировать `ContrastBoostFilter.Level` (значения > 2.0 могут быть слишком агрессивными). + +## Шаг 5: Вывести результат и выполнить необязательную пост‑обработку + +Консольное приложение может просто вывести строку, но во многих проектах требуется дополнительная обработка — например, обрезка пробелов, удаление разрывов строк или запись текста в базу данных. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Зачем пост‑обрабатывать? + +Даже при хорошей предобработке OCR часто добавляет лишние разрывы строк или невидимые символы. Быстрая цепочка `Replace` может сделать данные гораздо более пригодными для дальнейшего использования. + +## Шаг 6: Полный рабочий пример – готовый к копированию и вставке + +Ниже представлен **полный** код программы, который можно сразу скомпилировать и запустить. Он включает все директивы using, настройку фильтров, вызов OCR и обработку вывода. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**Как запустить** + +1. Сохраните файл как `Program.cs` внутри нового консольного проекта (`dotnet new console`). +2. Замените `YOUR_DIRECTORY/skewed-noisy.png` реальным путём к вашему тестовому изображению. +3. Выполните `dotnet run`. Вы должны увидеть вывод OCR, напечатанный в терминале. + +## Распространённые подводные камни и советы (надёжное распознавание текста с изображения) + +| Проблема | Что проверить | Исправление | +|----------|---------------|-------------| +| **Непонятные символы** | Изображение слишком тёмное или низкого разрешения | Увеличьте `ContrastBoostFilter.Level` или используйте источник с более высоким разрешением | +| **Отсутствующие строки** | Выравнивание не полностью исправило угол | Сначала вручную поверните изображение или отрегулируйте допуск `DeskewFilter` | +| **Низкая производительность** | Обработка множества больших изображений в цикле | Повторно используйте один экземпляр `OcrEngine` и вызывайте `ocrEngine.Clear()` после каждой обработки | +| **Неподдерживаемый язык** | Текст не на английском | Установите `ocrEngine.Language = OcrLanguage.French` (или другой поддерживаемый язык) перед распознаванием | + +### Пограничный случай: обработка многостраничных PDF + +Если вам нужно выполнить OCR PDF, преобразуйте каждую страницу в изображение (например, с помощью `Aspose.PDF`) и передавайте их по одной в тот же движок. Конвейер предобработки остаётся одинаковым, обеспечивая согласованные результаты на всех страницах. + +## Заключение + +В этом **c# ocr tutorial** мы рассмотрели всё, что нужно для **распознавания текста с изображения** и **предобработки изображения для OCR** с использованием встроенных фильтров Aspose.OCR. Инициализировав движок, добавив шаги выравнивания, удаления шума и повышения контраста, и, наконец, вызвав `RecognizeImage`, вы получаете чистое, надёжное извлечение текста всего несколькими строками кода. + +Не стесняйтесь экспериментировать — заменяйте фильтры, регулируйте уровень контраста или интегрируйте результат в более крупный конвейер данных. Принципы применимы к любой библиотеке 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/net/text-recognition/_index.md b/ocr/russian/net/text-recognition/_index.md index cbc7a99c..ca1c2743 100644 --- a/ocr/russian/net/text-recognition/_index.md +++ b/ocr/russian/net/text-recognition/_index.md @@ -35,7 +35,7 @@ url: /ru/net/text-recognition/ ## Распознать PDF в распознавании изображений OCR -Раскройте потенциал оптического распознавания символов в .NET с помощью Aspose.OCR. Легко извлекайте текст из PDF-файлов и легко интегрируйте его в свои приложения. В этом руководстве представлено подробное руководство по распознаванию текста в PDF-файлах, обеспечивающее плавную и эффективную интеграцию. +Раскройте потенциал оптического распознавания символов в .NET с помощью Aspose.OCR. Легко извлекайте текст из PDF-файлов и легко интегрируйте его в свои приложения. В этом руководстве представлено подробное руководство по распознаванию текста в PDF-файлах, обеспечующее плавную и эффективную интеграцию. ## Распознать таблицу в распознавании изображений OCR @@ -55,9 +55,22 @@ url: /ru/net/text-recognition/ Раскройте потенциал оптического распознавания символов в .NET с помощью Aspose.OCR. Извлекайте текст из PDF-файлов без особых усилий. Загрузите сейчас и получите беспрепятственную интеграцию. ### [Распознать таблицу в распознавании изображений OCR](./recognize-table/) Раскройте потенциал Aspose.OCR для .NET с помощью нашего подробного руководства по распознаванию таблиц в распознавании изображений OCR. +### [c# OCR‑урок – извлечение текста на хинди из PNG‑чеков](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Извлеките хинди‑текст из PNG‑чеков с помощью Aspose.OCR в C#. Пошаговое руководство по настройке и использованию OCR. +### [Распознать текст в JPG с помощью Aspose OCR – Полное руководство C#](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Полное пошаговое руководство по распознаванию текста в JPG‑изображениях с использованием Aspose OCR в C#. +### [c# OCR‑урок – извлечение текста из изображений и файлов DJVU](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Извлеките текст из обычных изображений и файлов DJVU с помощью Aspose.OCR в C#. Пошаговое руководство по настройке и использованию OCR. +### [Извлечение текста из TIFF с Aspose OCR C# – Полное руководство](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Полное пошаговое руководство по извлечению текста из файлов TIFF с помощью Aspose OCR в C#. +### [c# OCR‑урок – извлечение текста из изображений с Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Извлеките текст из изображений с помощью Aspose OCR в C#. Пошаговое руководство для быстрой интеграции. +### [Извлечение текста из PNG – Полное руководство Aspose OCR](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Полное пошаговое руководство по извлечению текста из PNG‑изображений с помощью Aspose OCR. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/russian/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..4ae41ac3 --- /dev/null +++ b/ocr/russian/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,215 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR учебник по чтению текста из PNG, преобразованию изображения в + текст и распознаванию хинди‑текста на чеке с помощью Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: ru +og_description: c# OCR‑урок, который учит, как считывать текст из PNG, преобразовывать + изображение в текст и распознавать хинди‑текст на чеке с помощью Aspose OCR. +og_title: c# OCR учебник – извлечение текста на хинди из PNG‑чеков +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# OCR учебник – извлечение текста на хинди из PNG‑чеков +url: /ru/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Извлечение текста на хинди из PNG‑чеков + +Задумывались ли вы когда‑нибудь, как **читать текст из PNG** файлов в приложении C#? Возможно, у вас есть множество чеков на хинди, и вам нужно автоматически извлекать суммы. Именно это решает данный c# ocr tutorial — преобразование изображения в поисковый текст с помощью всего нескольких строк кода. + +В этом руководстве мы пройдем установку Aspose OCR, загрузку PNG‑чека, распознавание символов хинди и, наконец, вывод извлеченной строки в консоль. К концу вы сможете **convert image to text**, **recognize Hindi text** и даже **extract text from receipt** изображения, не покидая свою IDE. + +> Примечание к требованиям: вам нужна действующая лицензия Aspose OCR (или вы можете использовать бесплатную пробную версию) и установленный .NET 6+. Если вы новичок в NuGet, не переживайте — мы также расскажем об этом. + +## Что понадобится + +- **Visual Studio 2022** (или любой совместимый с C# редактор) +- **.NET 6 SDK** (или более поздняя версия) +- **Aspose.OCR** NuGet package + ```bash + dotnet add package Aspose.OCR + ``` +- Пример изображения чека, например `hindi-receipt.png`, сохранённый в папке проекта. + +Имея всё готово, вы сможете скопировать‑вставить окончательный код и сразу нажать **F5**. + +## Шаг 1: Создание проекта и импорт пространств имён + +Сначала создайте консольный проект, если у вас его ещё нет: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Теперь откройте `Program.cs`. В верхней части импортируйте пространства имён Aspose OCR, чтобы компилятор знал, где находятся классы: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> Почему это важно: `OcrEngine` находится в `Aspose.OCR`, а перечисления, связанные с языками, — в `Aspose.OCR.Settings`. Пропуск любого из них приведёт к ошибке компиляции. + +## Шаг 2: Инициализация OCR‑движка и выбор языковой модели + +OCR‑движку необходимо знать **какой язык** искать. Aspose поставляется со множеством языковых пакетов; указание `OcrLanguage.Hindi` сообщает движку загрузить (если отсутствует) и использовать модель хинди. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> Совет профессионала: если вы планируете обрабатывать чеки на нескольких языках, вы можете переключать `Language` во время выполнения или даже включить режим `MultiLanguage`. + +## Шаг 3: Передача PNG‑чека в движок + +Здесь мы **читаем текст из PNG**. Укажите полный путь (относительно исполняемого файла тоже подходит). Метод возвращает обычную строку, содержащую всё, что движок смог расшифровать. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Если изображение высокого разрешения и текст чистый, вы получите почти идеальные результаты. Для шумных сканов рассмотрите предобработку (например, бинаризацию) — Aspose предоставляет методы `PreprocessImage`, которые вы можете изучить позже. + +## Шаг 4: Отображение или сохранение извлечённого текста + +Большинство разработчиков просто выводят результат в консоль во время тестирования. В продакшн‑сценарии вы можете записать его в базу данных или CSV‑файл. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Запуск программы с примером чека выводит что‑то вроде: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +Это демонстрация части **convert image to text** — без необходимости ручной транскрипции. + +## Полный рабочий пример (готовый к копированию) + +Ниже представлен полный, автономный пример программы. Вставьте его в `Program.cs`, разместите `hindi-receipt.png` рядом с скомпилированным `.exe` и нажмите **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Ожидаемый вывод + +Когда изображение чека содержит чёткие символы хинди, консоль отобразит извлечённые строки, сохраняя разрывы строк. Если OCR не распознает слово, вы увидите искажённый фрагмент — сигнал к улучшению качества изображения или настройке предобработки. + +## Шаг 5: Выход за пределы — программное извлечение текста из чека + +Если ваша цель — **extract text from receipt** поля (дата, итог, номер счета), вы можете пост‑обработать строку OCR с помощью регулярных выражений: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +## Распространённые ошибки и как их избежать + +| Проблема | Почему происходит | Решение | +|----------|-------------------|---------| +| **Пустой вывод** | Неправильный путь к изображению или файл не скопирован в папку вывода. | Используйте `Path.GetFullPath` и проверьте, что файл существует (`File.Exists`). | +| **Непонятные символы** | PNG низкого разрешения или сжатые цвета. | Увеличьте масштаб изображения, установите DPI 300+, или используйте `ocrEngine.ImagePreprocessor`. | +| **Языковая модель не загружена** | Нет подключения к интернету при первом запуске. | Предзагрузите модель хинди через портал Aspose или разместите её локально. | +| **Задержка производительности** | Обработка множества страниц в цикле без освобождения ресурсов. | Оберните `OcrEngine` в блок `using` или переиспользуйте один экземпляр. | + +## Иллюстрация + +![c# ocr tutorial чтение текста на хинди из PNG‑чека](https://example.com/placeholder-image.png "c# ocr tutorial – чтение текста из png‑чека") + +*Скриншот показывает чек на хинди до и после конвертации OCR.* + +## Итоги: Что мы рассмотрели + +- Настроили консольное приложение C# и добавили пакет Aspose OCR NuGet. +- Инициализировали `OcrEngine` с языковой моделью **recognize hindi text**. +- **Read text from PNG** с использованием `RecognizeImage`. +- **Convert image to text** и вывели результат. +- Продемонстрировали простой шаблон для **extract text from receipt** полей. + +Всё это было предоставлено в одном исполняемом файле — именно то, что должен предоставить **c# ocr tutorial**. + +## Следующие шаги и связанные темы + +1. **Batch processing** – проход по папке с изображениями чеков и сохранение результатов в CSV. +2. **Pre‑processing** – изучите `ocrEngine.ImagePreprocessor` для удаления шума, коррекции наклона или повышения контрастности. +3. **Multi‑language OCR** – включите `OcrLanguage.Multilingual` для обработки чеков, содержащих смесь хинди и английского. +4. **Integration** – передайте извлечённые данные в модель Entity Framework Core для постоянного хранения. + +Если вам интересны эти темы, ознакомьтесь с нашими руководствами по **convert image to text in C#** и **extract structured data from OCR results**. + +### Приятного кодинга! + +Не стесняйтесь оставить комментарий, если столкнётесь с проблемами, или поделиться тем, как вы расширили этот **c# ocr tutorial** в своих проектах. Помните, 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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/russian/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..db3cc280 --- /dev/null +++ b/ocr/russian/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-01-09 +description: Учебник по OCR на C#, показывающий, как извлекать текст из файлов изображений + и конвертировать DJVU в текст с помощью Aspose.OCR. Научитесь пошагово извлекать + текст за считанные минуты. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: ru +og_description: c# OCR‑урок, который быстро показывает, как извлекать текст из файлов + изображений и конвертировать DJVU в текст с помощью Aspose.OCR. Следуйте руководству + для получения работающего решения. +og_title: Учебник по OCR на C# – извлечение текста из изображения и DJVU +tags: +- OCR +- C# +- Aspose +title: 'Учебник по OCR на C#: извлечение текста из изображений и файлов DJVU' +url: /ru/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR tutorial – Извлечение текста из изображений и файлов DJVU + +Когда‑нибудь задумывались, как извлечь текст из файлов изображений, не теряя волосы? В этом **c# OCR tutorial** мы пройдём полный, готовый к запуску пример, который извлекает текст как из обычной картинки, *так и* из документа DJVU. + +Если вы также ищете быстрый способ **convert DJVU to text**, вы попали в нужное место — без дополнительных конвертеров, только чистый C# код. + +## Что вы узнаете + +- Как настроить библиотеку Aspose.OCR в .NET‑проекте. +- Точный код, который нужен для **extract text from image** файлов. +- Краткий метод для **extracting text from DJVU** файлов (да, тот же движок справляется). +- Распространённые подводные камни (большие файлы, отсутствие шрифтов, лицензирование) и как их избежать. + +Всё, что вам нужно, — это современный .NET SDK и подключение к интернету для получения пакета NuGet. Предыдущий опыт работы с OCR не требуется. + +## Требования + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6.0 или новее | Aspose.OCR ориентирован на .NET Standard 2.0, поэтому .NET 6+ обеспечивает лучшую производительность. | +| Visual Studio 2022 (или VS Code) | IDE упрощают управление пакетами, но любой редактор подойдёт. | +| NuGet‑пакет **Aspose.OCR** | Это движок, который действительно делает тяжёлую работу. | +| Пример изображения (`sample.png`) и файл DJVU (`sample.djvu`) | Мы будем использовать их для демонстрации обоих сценариев извлечения. | + +Вы можете установить пакет следующей командой: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** Если вы работаете на CI‑сервере, добавьте `--no-restore` к шагу сборки и выполните восстановление один раз в начале, чтобы ускорить процесс. + +## Шаг 1: Инициализация OCR‑движка – сердце c# OCR tutorial + +Первое, что мы делаем, — создаём экземпляр `OcrEngine`. Представьте, что это включение сканера в вашем программном обеспечении. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Почему каждый раз создаём новый движок? Потому что движок хранит конфигурацию (язык, режим обнаружения и т.д.). Запуская его «с чистого листа», вы избегаете «заплесневевших» настроек, перетекших из предыдущих запусков. + +## Шаг 2: Загрузка и распознавание изображения – how to extract text from image + +Теперь мы передадим обычный bitmap (PNG, JPEG, BMP…) в движок. Метод `RecognizeImage` возвращает обнаруженную строку. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +Несколько замечаний: + +* **File existence** – Если путь неверный, метод бросает `FileNotFoundException`. Оберните его в `try/catch`, если ожидаете пути от пользователя. +* **Image quality** – OCR работает лучше всего при 300 dpi и выше. Сканы низкого разрешения могут давать искажённый вывод. +* **Language support** – По умолчанию Aspose.OCR предполагает английский. Чтобы изменить язык, задайте `ocrEngine.Language = Language.Spanish;` перед вызовом `RecognizeImage`. + +## Шаг 3: Распознавание текста из DJVU‑документа – convert DJVU to text + +DJVU — контейнерный формат, способный хранить несколько страниц. Aspose.OCR может работать с ним напрямую; достаточно указать путь к файлу. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +Под капотом движок извлекает каждую страницу как изображение и пропускает её через тот же конвейер распознавания. Поэтому отдельный шаг «convert DJVU to text» не нужен — OCR‑движок делает это за вас. + +### Обработка многостраничных DJVU‑файлов + +Если ваш DJVU содержит несколько страниц, `RecognizeImage` объединяет их в порядке следования. Если нужны отдельные страницы, используйте перегрузку, возвращающую `List`: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Шаг 4: Тонкая настройка движка для повышения точности – why this matters + +Результаты «из коробки» приемлемы, но их можно улучшить, подправив несколько параметров: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Эти флаги особенно полезны, когда **how to extract text** из отсканированных PDF, предварительно сохранённых как DJVU. Включение обнаружения ориентации избавит вас от ручного вращения изображений. + +## Шаг 5: Работа с лицензией и ошибками выполнения + +Aspose.OCR поставляется с бесплатной пробной версией, которая ставит «Demo» на вывод после нескольких страниц. Чтобы убрать водяной знак, добавьте ваш лицензионный файл: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Если вы пропустите этот шаг, движок всё равно будет работать, но результат будет содержать слово «Demo». Также следите за `OutOfMemoryException` при обработке огромных DJVU‑файлов — рассмотрите постраничную обработку, как показано ранее. + +## Полный, готовый к запуску пример + +Ниже приведена автономная консольная программа, объединяющая всё вместе. Скопируйте‑вставьте, скорректируйте пути к файлам и нажмите **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Expected output** (при условии, что файлы содержат фразу «Hello World»): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Если источник содержит несколько строк, они появятся точно так же, как в оригинальном документе. + +## Часто задаваемые вопросы и обработка крайних случаев + +* **What if the image is black‑and‑white?** + OCR работает нормально, но вы можете улучшить контраст с помощью `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +* **Can I extract only numbers?** + Да — задайте `ocrEngine.CharWhitelist = "0123456789";` перед вызовом `RecognizeImage`. + +* **Is there a limit on file size?** + Движок читает весь файл в память. Для файлов больше ~100 MB обрабатывайте постранично (см. перегрузку списка в Шаге 3). + +* **How does this differ from Tesseract?** + Aspose.OCR — коммерческая библиотека с встроенной поддержкой DJVU и без нативных зависимостей, тогда как Tesseract требует нативных бинарников и отдельные инструменты конвертации DJVU. + +## Заключение + +Вы только что завершили **c# OCR tutorial**, показывающий, как **extract text from image** файлов и без проблем **convert DJVU to text** с помощью Aspose.OCR. Пример охватывает всё: от установки пакета до лицензирования, от распознавания одностраничных изображений до обработки многостраничных DJVU, а также советы по повышению точности. + +Далее вы можете исследовать **how to extract text** из PDF, интегрировать шаг OCR в веб‑API или поэкспериментировать с языковыми пакетами для многоязычных документов. Возможности безграничны — просто помните ключевые моменты: задать движок, подать файл и считать полученную строку. + +Есть вопросы? Оставьте комментарий, попробуйте код на своих документах и happy coding! + +![c# OCR tutorial скриншот, показывающий вывод в консоли](/images/csharp-ocr-tutorial.png "c# 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/russian/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/russian/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..d9a6776a --- /dev/null +++ b/ocr/russian/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR‑урок, показывающий, как извлекать текст из файлов изображений, + распознавать текст из PNG, преобразовывать изображение в строку и автоматически + определять язык с помощью Aspose.OCR. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: ru +og_description: c# OCR‑урок, который пошагово покажет, как извлекать текст из изображений, + распознавать текст из PNG‑файлов, преобразовывать изображения в строки и автоматически + определять язык с помощью Aspose OCR. +og_title: c# OCR учебник – извлечение текста из изображений +tags: +- C# +- OCR +- Aspose +- Image Processing +title: c# OCR учебник – Извлечение текста из изображений с помощью Aspose OCR +url: /ru/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Извлечение текста из изображений с помощью Aspose OCR + +Когда‑нибудь вам нужен был **c# ocr tutorial**, который действительно работает с реальным PNG‑файлом? Возможно, вы создаёте сканер чеков, многоязычный процессор форм или просто хотите узнать, как превратить фотографию текста в поисковую строку. В любом случае, вы попали в нужное место. + +В этом руководстве мы покажем вам шаг за шагом, как **извлекать текст из изображения** файлов, **распознавать текст из png**, **преобразовывать изображение в строку**, а также **автоматически определять язык** — всё с помощью библиотеки Aspose.OCR. Никаких расплывчатых ссылок, только полноценный, готовый к запуску пример, который можно скопировать и вставить в Visual Studio. + +## Что понадобится + +- .NET 6.0 или новее (код также работает с .NET Core и .NET Framework) +- Ссылка NuGet на `Aspose.OCR` (версия 23.9 или новее) +- Файл изображения (`mixed‑script.png` в этом примере), размещённый там, где приложение может его прочитать +- Базовое понимание C# (если вы писали «Hello World», вам достаточно) + +> **Pro tip:** Если у вас ещё нет лицензии, Aspose предлагает бесплатную временную лицензию для тестирования. Просто поместите файл `.lic` рядом с исполняемым файлом. + +## Шаг 1 – Установить пакет Aspose.OCR из NuGet + +Сначала добавьте библиотеку в ваш проект. Откройте консоль диспетчера пакетов и выполните: + +```powershell +Install-Package Aspose.OCR +``` + +Или, если предпочитаете графический интерфейс, щёлкните правой кнопкой мыши *Dependencies → Manage NuGet Packages* и найдите **Aspose.OCR**. + +## Шаг 2 – Подготовить OCR‑движок (c# ocr tutorial core) + +Теперь мы создадим экземпляр `OcrEngine`, укажем ему автоматически определять язык и направим его на наш PNG‑файл. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Почему мы устанавливаем `Language = OcrLanguage.AutoDetect` + +Автоматическое определение языка избавляет вас от догадок, содержит ли изображение английский, русский, арабский текст или их смесь. Это самый гибкий вариант для сценария **detect language automatically**, и он работает «из коробки» для большинства скриптов, поддерживаемых Aspose. + +## Шаг 3 – Запустить приложение и проверить вывод + +Скомпилируйте и запустите программу (`dotnet run` или нажмите **F5** в Visual Studio). Если всё настроено правильно, вы увидите что‑то вроде: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +Этот вывод доказывает, что мы успешно **извлекли текст из изображения**, **распознали текст из png** и **преобразовали изображение в строку** — всё в одном коротком фрагменте кода. + +## Шаг 4 – Распространённые варианты и граничные случаи + +### Обработка нескольких изображений + +Если нужно обработать каталог PNG‑файлов, оберните вызов распознавания в цикл `foreach`: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Указание фиксированного языка + +Иногда язык известен заранее (например, только английский). Можно заменить `AutoDetect` на `OcrLanguage.English`, чтобы ускорить обработку: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Работа с низкокачественными сканами + +Aspose.OCR предлагает варианты предобработки (удаление шума, выравнивание). Быстрое решение: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Сохранение результата в файл + +Вместо вывода в консоль вы можете записать извлечённый текст в файл `.txt`: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Шаг 5 – Полный рабочий пример (готовый к копированию) + +Ниже представлен **полный программный код** с необязательной предобработкой и логикой записи в файл. При необходимости измените пути к файлам. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Ожидаемый вывод + +Запуск программы на PNG, содержащем английский, русский и арабский тексты, даёт: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +Если изображение пустое или нечитаемое, движок возвращает пустую строку — обработайте этот случай, проверив `string.IsNullOrWhiteSpace(extractedText)` перед дальнейшими действиями. + +## Часто задаваемые вопросы (FAQ) + +**Q: Поддерживает ли Aspose.OCR рукописный текст?** +A: Библиотека ориентирована на печатный OCR. Для рукописного текста понадобится специализированная модель машинного обучения или сервис вроде Azure Computer Vision. + +**Q: Можно ли запускать это на Linux/macOS?** +A: Конечно. Aspose.OCR кроссплатформенна; достаточно установить .NET‑runtime для вашей ОС. + +**Q: Что делать, если нужно обрабатывать PDF вместо PNG?** +A: Сначала преобразуйте каждую страницу PDF в изображение (например, с помощью `Aspose.PDF`), а затем передайте полученное изображение в OCR‑движок. + +## Заключение + +Мы только что завершили **c# ocr tutorial**, который проводит вас через **извлечение текста из изображения** файлов, **распознавание текста из png**, **преобразование изображения в строку** и **автоматическое определение языка** с помощью Aspose.OCR. Код короткий, концепции ясны, и вы можете расширить его до пакетной обработки, пользовательских настроек языка или даже интегрировать в веб‑API. + +Что дальше? Попробуйте передать результат OCR в поисковый индекс, отправить его в сервис перевода или комбинировать с Azure Cognitive Services для более богатых конвейеров данных. Возможности безграничны, как только вы освоите основы преобразования изображений в текст в C#. + +Счастливого кодинга, и не забывайте экспериментировать с различным качеством изображений — ваш OCR‑движок вам благодарен! + +![c# ocr tutorial – пример вывода OCR на PNG с несколькими скриптами](placeholder-image.png "c# ocr tutorial – скриншот результата 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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/russian/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..3df9b43a --- /dev/null +++ b/ocr/russian/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,224 @@ +--- +category: general +date: 2026-01-09 +description: Быстро извлекайте текст из PNG с помощью Aspose OCR. Узнайте, как читать + текст с изображений, улучшать точность OCR и получать чистые результаты в C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: ru +og_description: Быстро извлекайте текст из PNG с помощью Aspose OCR. Узнайте, как + считывать текст с изображений, повышать точность OCR и получать чистые результаты + в C#. +og_title: Извлечение текста из PNG – Полный учебник по OCR Aspose +tags: +- Aspose OCR +- C# +- Image Processing +title: Извлечение текста из PNG – полный учебник по Aspose OCR +url: /ru/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Извлечение текста из PNG – Полный учебник по Aspose OCR + +Когда‑то вам нужно было **извлечь текст из PNG**‑файлов, но результаты были полны бессмыслицы? Вы не одиноки. Во многих реальных проектах – счета‑фактуры, чеки или отсканированные формы – качество вывода OCR может решить судьбу автоматических конвейеров. + +В этом руководстве мы покажем **пошаговый** способ чтения текста с изображения с помощью Aspose OCR, добавим пользовательский словарь для **повышения точности OCR**, очистим шум и, наконец, выведем аккуратную строку. К концу вы получите готовое к запуску консольное приложение C#, надёжно извлекающее текст из PNG‑изображений. + +> **Что вы получите** +> * Полный, готовый к запуску пример кода. +> * Понимание, почему важен пользовательский словарь. +> * Советы по работе с краевыми случаями, такими как сканы с низким контрастом. + +## Требования + +- .NET 6 SDK или новее (код ориентирован на .NET 6, но .NET 5 тоже подойдёт). +- Visual Studio 2022 или любой другой редактор по вашему выбору. +- **PNG**‑изображение, которое вы хотите обработать – например `invoice.png`. +- Пакет **Aspose.OCR** из NuGet (`dotnet add package Aspose.OCR`). + +Дополнительные файлы конфигурации не требуются; всё находится в одном файле `.cs`. + +## Шаг 1 – Установка и подключение Aspose OCR + +Сначала добавьте библиотеку в ваш проект. Откройте терминал в папке решения и выполните: + +```bash +dotnet add package Aspose.OCR +``` + +Эта единственная строка скачивает последнюю стабильную версию (по состоянию на янв 2026, версия 23.9). Пакет содержит класс `OcrEngine`, который мы будем использовать на протяжении всего руководства. + +## Шаг 2 – Инициализация OCR‑движка + +Создание экземпляра `OcrEngine` – фундаментальная часть. Представьте, что вы включаете сканер, готовый интерпретировать пиксели. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Совет:** Если планируете обрабатывать множество изображений в цикле, переиспользуйте один и тот же экземпляр `OcrEngine`. Он кэширует внутренние ресурсы и ускоряет последующие вызовы. + +## Шаг 3 – Повышение точности с помощью пользовательского словаря + +Стандартный OCR хорош, но может спотыкаться на специфических для домена словах, таких как «Aspose», «OCR» или «SDK». Добавление этих терминов в **пользовательский словарь** сообщает движку, что эти строки допустимы, уменьшая количество ошибок распознавания. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Почему пользовательский словарь помогает + +- **Статистические модели** OCR сильно учитывают распространённые языковые шаблоны. Необычные слова получают низкую вероятность и могут быть заменены похожими символами. +- Явно перечислив их, вы переопределяете догадки модели. +- Это особенно удобно для **чтения текста с изображения**, содержащего коды продуктов, аббревиатуры или бренды. + +## Шаг 4 – Распознавание текста из PNG‑файла + +Теперь передаём движку путь к изображению. Метод `RecognizeImage` возвращает «сырой» строковый результат, в котором всё ещё могут присутствовать неизвестные токены (например, «#@!»), которые движок не смог сопоставить. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Краевой случай:** Если файл не найден, `RecognizeImage` бросает `FileNotFoundException`. Оберните вызов в блок try‑catch для продакшн‑кода. + +## Шаг 5 – Очистка результата с помощью `CleanText` + +Aspose OCR поставляется с помощником, который удаляет символы, помеченные как «неизвестные». Этот шаг критичен для проектов **извлечения текста из изображения**, где последующие парсеры ожидают только буквенно‑цифровые символы и базовую пунктуацию. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +Метод `CleanText` также нормализует окончания строк, делая вывод безопасным для хранения в базах данных или передачи другим сервисам. + +## Шаг 6 – Вывод очищенного текста + +Наконец, отобразите или сохраните результат. В консольном приложении достаточно вызвать `Console.WriteLine`. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +При запуске программы вы должны увидеть аккуратный блок текста, соответствующий содержимому `invoice.png`. Если изображение содержит слово «Aspose», пользовательский словарь гарантирует его правильное отображение, а не что‑то вроде «A5p0se». + +## Полный рабочий пример + +Объединив всё вместе, получаем полный `Program.cs`, который можно скопировать в новый консольный проект: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Ожидаемый вывод** (при условии, что PNG содержит простой счёт‑фактуру): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Если видите посторонние символы, проверьте качество изображения или расширьте пользовательский словарь дополнительными терминами. + +## Бонус: Работа с низкокачественными сканами + +Иногда PNG‑файлы сканируются с 72 dpi или имеют сильные артефакты сжатия. Вот несколько быстрых приёмов для **повышения точности OCR** без выхода из C#: + +1. **Предобработайте изображение** с помощью библиотеки вроде `SixLabors.ImageSharp` – увеличьте контраст, переведите в градации серого или слегка размоете, чтобы уменьшить шум. +2. **Установите свойство `Resolution`** у `OcrEngine` (например, `ocrEngine.Resolution = 300;`), чтобы сообщить движку, что изображение имеет более высокое разрешение. +3. **Включите языковые пакеты**, если работаете с неанглийским текстом (`ocrEngine.Language = Language.English;`). + +Все три подхода можно добавить перед вызовом `RecognizeImage`. + +## Часто задаваемые вопросы + +- **Работает ли это с другими форматами изображений?** + Да. `RecognizeImage` принимает JPEG, BMP, TIFF и даже PDF (как контейнер изображения). Те же шаги применимы. + +- **Можно ли извлекать текст из нескольких PNG в папке?** + Конечно. Оберните основную логику в цикл `foreach (var file in Directory.GetFiles(folder, "*.png"))` и сохраняйте каждый результат в список или в отдельные файлы. + +- **А как получить координаты текста?** + Aspose OCR также предоставляет объекты `OcrResult`, содержащие ограничивающие рамки. Используйте `ocrEngine.RecognizeImageToResult(imagePath)` для этой продвинутой задачи. + +## Заключение + +Мы прошли полный **сквозной** процесс **извлечения текста из PNG**‑файлов с помощью Aspose OCR. Инициализировав движок, передав ему **пользовательский словарь**, очистив «сырой» вывод и учтя несколько типичных подводных камней, вы сможете надёжно **читать текст с изображения** и **повышать точность OCR** в своих C#‑приложениях. + +Готовы к следующему шагу? Попробуйте заменить PNG на отсканированный чек, добавьте больше доменно‑специфических слов в словарь или интегрируйте вывод с базой данных для автоматической обработки счетов. Возможности безграничны, когда вы сочетаете Aspose OCR с богатой экосистемой .NET. + +Счастливого кодинга, и пусть ваш OCR всегда будет безупречным! + +![Пример извлечения текста из png](/images/extract-text-from-png.png "извлечение текста из png – демонстрация Aspose 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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/russian/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..23bbfa36 --- /dev/null +++ b/ocr/russian/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,259 @@ +--- +category: general +date: 2026-01-09 +description: Извлечение текста из файлов TIFF с помощью Aspose OCR в C#. Узнайте, + как получить первые 50 символов каждого результата в этом пошаговом руководстве. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: ru +og_description: Извлеките текст из TIFF с помощью Aspose OCR в C#. Это руководство + показывает, как получить первые 50 символов каждого результата OCR, шаг за шагом. +og_title: Извлечение текста из TIFF с помощью Aspose OCR – Полное руководство по C# +tags: +- Aspose OCR +- C# +- TIFF processing +title: Извлечение текста из TIFF с помощью Aspose OCR C# – Полный учебник +url: /ru/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Извлечение текста из TIFF – Полный учебник по Aspose OCR C# Tutorial + +Когда‑нибудь вам нужно было **извлечь текст из TIFF** изображений, но вы не знали, какую библиотеку выбрать? Вы не одиноки. Многие разработчики сталкиваются с проблемой, когда пытаются получить поисковый текст из многостраничных TIFF, особенно когда важна производительность. + +В этом **aspose ocr c# tutorial** мы пройдем готовый к запуску пример, который не только извлекает полный текст, но и показывает, как **получить первые 50 символов** каждой страницы для быстрых превью. К концу вы получите автономную программу, которую можно добавить в любой проект .NET. + +## Что понадобится + +- .NET 6 (или любая современная версия .NET) – код компилируется как под .NET Core, так и под .NET Framework. +- Действующая лицензия Aspose.OCR for .NET (можно начать с бесплатной пробной версии). +- Папка, содержащая один или несколько файлов `.tif`, которые нужно обработать. +- Visual Studio, VS Code или любой другой IDE по вашему выбору – пример написан на чистом C#, поэтому выбор редактора не важен. + +> **Pro tip:** Если вы работаете на CI‑сервере, добавьте пакет NuGet Aspose.OCR (`Aspose.OCR`) в файл проекта; библиотека полностью управляемая и не имеет нативных зависимостей. + +## Шаг 1: Установите пакет NuGet Aspose OCR + +Для начала подключим движок OCR к проекту. Откройте терминал в папке решения и выполните: + +```bash +dotnet add package Aspose.OCR +``` + +## Шаг 2: Инициализируйте движок OCR + +Теперь создаём экземпляр `OcrEngine`. Считайте его «мозгом», который будет читать каждую страницу TIFF. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Почему мы создаём движок только один раз? Потому что `RecognizeImages` может принимать коллекцию путей к файлам, позволяя движку переиспользовать внутренние буферы и значительно ускоряя пакетную обработку. + +## Шаг 3: Соберите все файлы TIFF одним вызовом + +Вместо того чтобы вручную перебирать каталог, позволим .NET выполнить тяжёлую работу. Метод `Directory.GetFiles` возвращает `IEnumerable`, который мы можем сразу передать в вызов OCR. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **What if my images are JPEG or PNG?** Просто измените шаблон поиска (`"*.jpg"` или `"*.*"`). Aspose OCR работает со всеми распространёнными растровыми форматами. + +## Шаг 4: Запустите OCR на всей коллекции + +Вот волшебная строка, которая обрабатывает каждый файл одним запросом. Метод возвращает словарь, где ключ — путь к файлу, а значение — объект `OcrResult`, содержащий распознанный текст. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Почему пакетная обработка? Она уменьшает накладные расходы на повторную загрузку движка OCR, а на многопроцессорных машинах Aspose внутренне параллелит работу, обеспечивая заметный прирост скорости. + +## Шаг 5: Показать превью – получить первые 50 символов + +В большинстве UI‑сценариев нужен лишь фрагмент, а не весь документ. Мы извлечём первые 50 символов (или меньше, если страница короткая) и выведем их рядом с именем файла. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Строка `Math.Min(50, fullText.Length)` гарантирует, что мы не превысим границы строки — небольшая защита, предотвращающая `ArgumentOutOfRangeException`, когда результат OCR короче 50 символов. + +### Ожидаемый вывод в консоль + +Если у вас есть два TIFF‑файла (`invoice1.tif` и `receipt2.tif`), консоль может вывести: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Каждая строка заканчивается многоточием (`...`), указывающим, что превью — это лишь начало более длинного текстового блока. + +## Шаг 6: Обработка граничных случаев и распространённых подводных камней + +### Пустые или повреждённые файлы + +Если файл не может быть прочитан, `RecognizeImages` всё равно возвращает запись с пустым свойством `Text`. Вы можете отфильтровать их: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Большие партии + +Обработка тысяч TIFF может потреблять много памяти. В таких случаях используйте перегрузку, принимающую `Stream` для каждого изображения, либо обрабатывайте список небольшими порциями: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Поддержка языков и шрифтов + +Если ваши документы содержат нелатинские символы, задайте язык перед вызовом `RecognizeImages`: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Эта небольшая настройка может значительно повысить точность. + +## Шаг 7: Полный рабочий пример (готов к копированию и вставке) + +Ниже полный код программы, который можно вставить в новый консольный проект (`dotnet new console`) и запустить без изменений (только замените `YOUR_DIRECTORY/Batch` на реальный путь). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Запустите программу командой `dotnet run`. Вы должны увидеть короткое превью для каждого TIFF‑файла, подтверждающее, что вы успешно **извлекли текст из TIFF** изображений с помощью Aspose OCR. + +## Часто задаваемые вопросы (FAQ) + +**Q: Работает ли это с многостраничными TIFF?** +A: Да. Aspose OCR рассматривает каждую страницу как отдельное изображение, поэтому многостраничный TIFF даёт одну объединённую строку на файл. При необходимости её можно разбить позже. + +**Q: Насколько точен OCR «из коробки»?** +A: Для чистых сканов высокого разрешения (300 DPI и выше) можно ожидать более 95 % точности для английского текста. Предобработка (выравнивание, бинаризация) может повысить её ещё больше. + +**Q: Могу ли я вывести результаты в CSV‑файл?** +A: Конечно. Замените `Console.WriteLine` на `StreamWriter` и записывайте строки `fileName,preview`. Не забудьте экранировать запятые в тексте превью. + +## Следующие шаги и связанные темы + +- **Persist OCR results** – Сохраните полный текст в базе данных для поисковых архивов. +- **Combine with PDF conversion** – Используйте Aspose.PDF, чтобы внедрить извлечённый текст обратно в поисковые PDF‑файлы. +- **Batch processing on Azure Functions** – Масштабируйте обработку OCR с помощью Azure Functions без управления серверами. + +Все эти расширения опираются на основную идею **извлечения текста из TIFF** эффективно, при этом позволяя вам **получать первые 50 символов** для быстрых UI‑превью. + +--- + +*Счастливого кодинга! Если столкнётесь с какими‑либо проблемами, оставьте комментарий ниже — я постараюсь помочь вам настроить OCR‑конвейер.* + +![Extract text from TIFF using Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extract text from TIFF using Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/russian/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..c7fd0f30 --- /dev/null +++ b/ocr/russian/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,240 @@ +--- +category: general +date: 2026-01-09 +description: Быстро распознавайте текст в JPG с помощью Aspose OCR на C#. Узнайте, + как извлекать текст из изображения, конвертировать изображение в JSON и EPUB в одном + руководстве. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: ru +og_description: Распознавать текст в JPG с помощью Aspose OCR. Это руководство показывает, + как извлечь текст из изображения, преобразовать изображение в JSON и EPUB, а также + создать ePub из изображения. +og_title: распознавание текста в jpg – Полный учебник C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Распознавание текста в JPG с помощью Aspose OCR – Полное руководство по C# +url: /ru/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# распознавание текста в jpg – Полное руководство C# + +Когда‑нибудь вам нужно было **распознавать текст в jpg** файлах, но вы не знали, какую библиотеку выбрать? Вы не одиноки. Многие разработчики сталкиваются с тем же, когда впервые пытаются извлечь слова из фотографии или отсканированного документа. + +Хорошие новости? С Aspose OCR вы можете **извлекать текст из изображения** файлов в несколько строк кода C#, а затем мгновенно **конвертировать изображение в JSON** или даже **конвертировать изображение в EPUB** — всё без выхода из вашей IDE. + +В этом руководстве мы пройдем весь процесс: от установки нужных пакетов NuGet, через распознавание текста в JPG, до сохранения результата в виде структурированного JSON и ePub‑документа. К концу вы сможете **создавать epub из изображения** программно, что удобно для платформ e‑learning, цифровых библиотек или любого приложения, требующего поисковые электронные книги. + +--- + +## Что понадобится + +- **.NET 6+** (или .NET Framework 4.6+). Код работает на любой современной среде выполнения. +- **Aspose.OCR** пакет NuGet — основной OCR‑движок. +- **Aspose.Publishing** пакет NuGet — необходим для формата вывода ePub. +- Файл изображения с именем `input.jpg`, расположенный где‑то на вашем диске (замените путь на свой). +- Текстовый редактор или IDE (Visual Studio, VS Code, Rider — на ваш выбор). + +Вот и всё. Никаких дополнительных сервисов, никаких внешних API, только пара библиотек и файл JPG. + +--- + +## Шаг 1: Настройте проект для **распознавания текста в jpg** + +Сначала создайте новое консольное приложение (или добавьте в существующий проект). Затем добавьте два пакета Aspose через менеджер пакетов NuGet: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Совет:** Если вы используете Visual Studio, щёлкните правой кнопкой мыши по проекту → *Manage NuGet Packages* → найдите *Aspose.OCR* и *Aspose.Publishing*, затем нажмите **Install**. + +Эти пакеты предоставляют всё необходимое для **извлечения текста из изображения** и последующего вывода файла ePub. + +--- + +## Шаг 2: **Извлечение текста из изображения** с помощью Aspose OCR + +Теперь мы напишем код, который действительно читает JPG и извлекает из него символы. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Почему это работает:** `OcrEngine` скрывает всю низкоуровневую предобработку изображения, определение языка и сегментацию символов. Вы просто указываете файл, и он возвращает объект `OcrResult`, содержащий строку простого текста (`ocrResult.Text`) и богатый набор метаданных. + +--- + +## Шаг 3: **Конвертировать изображение в JSON** – Экспорт результата OCR + +Если вам нужно сохранить вывод OCR в структурированном формате (для API, баз данных или последующей обработки), Aspose делает сериализацию результата в JSON тривиальной. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +Сгенерированный JSON выглядит примерно так (усечённый для краткости): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**Когда использовать:** JSON идеален, если вы передаёте данные OCR в веб‑сервис, сохраняете их в NoSQL‑хранилище или просто нуждаетесь в переносимом представлении, которое может быть разобрано на любом языке. + +--- + +## Шаг 4: **Конвертировать изображение в EPUB** – Сохранение как электронная книга + +Aspose Publishing добавляет поддержку нескольких форматов электронных книг, включая EPUB. Вызвав `Save` у `OcrResult`, вы можете создать полностью совместимый файл ePub, содержащий распознанный текст и, при желании, оригинальное изображение. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**Что вы получаете:** ePub, который можно открыть в любом читалке (Calibre, Apple Books, Adobe Digital Editions). Файл включает извлечённый текст как поисковый контент, а также исходное изображение как фон — идеально для создания конвейеров **создания epub из изображения**. + +--- + +## Шаг 5: Полный рабочий пример – От JPG к JSON и EPUB + +Объединив всё вместе, представляем полный готовый к запуску пример программы. Скопируйте‑вставьте его в `Program.cs`, скорректируйте пути к файлам и нажмите **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Запустите программу, и вы увидите три результата: + +1. Распознанный текст, выведенный в консоль. +2. Файл `output.json`, содержащий структурированные данные OCR. +3. Файл `output.epub`, который можно открыть в любой читалке. + +--- + +## Часто задаваемые вопросы и особые случаи + +- **Что если изображение в формате PNG или BMP?** + Aspose OCR поддерживает большинство растровых форматов (PNG, BMP, TIFF, GIF). Просто измените расширение файла в `inputPath`; тот же код будет работать. + +- **Можно ли указать язык, отличный от английского?** + Да. Установите `ocrEngine.Language = OcrLanguage.French;` (или любой поддерживаемый язык) перед вызовом `RecognizeImage`. + +- **Как работать с многостраничными PDF?** + Для PDF сначала преобразуйте каждую страницу в изображение (Aspose.PDF может это сделать), а затем передайте каждое изображение в `RecognizeImage`. Полученные объекты `OcrResult` можно объединить перед экспортом в JSON или EPUB. + +- **Я получаю низкие оценки уверенности. Как улучшить точность?** + Предобработайте изображение: увеличьте контраст, исправьте наклон или преобразуйте в градации серого. Aspose OCR также предоставляет `PreprocessOptions`, которые можно настроить. + +--- + +## Заключение + +Теперь у вас есть надёжный сквозной рецепт для **распознавания текста в jpg** файлах с помощью Aspose OCR, затем **конвертации изображения в JSON** для конвейеров данных и **конвертации изображения в EPUB** для создания поисковых электронных книг. Подход лёгок, требует лишь два пакета NuGet и работает на всех современных средах выполнения .NET. + +Дальше вы можете: + +- Интегрировать вывод JSON в поисковый индекс (Azure Cognitive Search, Elastic). +- Пакетно обрабатывать папку изображений и генерировать библиотеку ePub‑книг. +- Расширить процесс с помощью API перевода для автоматического создания многоязычных электронных книг. + +Попробуйте, экспериментируйте с разным качеством изображений и позвольте OCR‑движку выполнить тяжёлую работу. Приятного кодинга! + +--- + +![скриншот вывода распознавания текста в jpg](placeholder-image.png "пример распознавания текста в 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/spanish/net/ocr-configuration/_index.md b/ocr/spanish/net/ocr-configuration/_index.md index 1c0ae924..9d58396d 100644 --- a/ocr/spanish/net/ocr-configuration/_index.md +++ b/ocr/spanish/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ Desbloquee el poder del reconocimiento de imágenes OCR en .NET con Aspose.OCR. Desbloquee potentes capacidades de OCR con Aspose.OCR para .NET. Extraiga texto de imágenes sin problemas. ### [OCROperación con lista en reconocimiento de imágenes OCR](./ocr-operation-with-list/) Libere el potencial de Aspose.OCR para .NET. Realice sin esfuerzo el reconocimiento de imágenes OCR con listas. Aumente la productividad y la extracción de datos en sus aplicaciones. +### [Cómo hacer OCR de una imagen en C# – Guía completa con soporte GPU](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Aprenda a reconocer texto en imágenes usando C# y Aspose.OCR, aprovechando la aceleración GPU para un rendimiento óptimo. +### [Reconocer texto de una imagen con Aspose OCR – Guía completa en C#](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Aprenda a reconocer texto de imágenes usando Aspose OCR en C#, con una guía paso a paso. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/spanish/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..f8575ca4 --- /dev/null +++ b/ocr/spanish/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-01-09 +description: Aprende cómo hacer OCR a una imagen y extraer el texto de la imagen usando + Aspose.OCR. Incluye pasos para convertir documentos escaneados, habilitar la GPU + y leer la imagen con OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: es +og_description: Cómo realizar OCR de una imagen rápidamente con Aspose.OCR. Sigue + este tutorial paso a paso para extraer el texto de la imagen, convertir documentos + escaneados y habilitar la GPU. +og_title: Cómo hacer OCR de una imagen en C# – Guía acelerada por GPU +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Cómo hacer OCR de una imagen en C# – Guía completa con soporte de GPU +url: /es/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo hacer OCR de una imagen en C# – Guía completa con soporte GPU + +¿Alguna vez te has preguntado **cómo hacer OCR de una imagen** directamente desde tu aplicación .NET? No eres el único—los desarrolladores necesitan constantemente extraer texto de PDFs, TIFFs y fotos, especialmente al trabajar con documentos escaneados grandes. ¿La buena noticia? Con Aspose.OCR puedes **extraer texto de la imagen** en solo unas pocas líneas, y también puedes **activar la aceleración GPU** para un procesamiento más rápido. + +En este tutorial recorreremos todo lo que necesitas saber: desde instalar la biblioteca, hasta inicializar el motor OCR con respaldo GPU, y finalmente **leer la imagen con OCR** y mostrar el resultado. Al final podrás **convertir documentos escaneados** en imágenes a cadenas editables—sin servicios externos. + +--- + +## Lo que necesitarás + +- **.NET 6.0** o posterior (el código funciona también en .NET Core y .NET Framework). +- Una **licencia** para Aspose.OCR o una clave de evaluación temporal (la prueba gratuita sirve para pruebas). +- Un archivo de imagen que deseas procesar—preferiblemente un TIFF o PNG de alta resolución. +- (Opcional) Una máquina con GPU habilitada si deseas ver el aumento de velocidad; de lo contrario el motor retrocederá elegantemente a CPU. + +Tener cubiertos estos requisitos previos significa que puedes enfocarte en el flujo de trabajo OCR real sin encontrarte con obstáculos más adelante. + +--- + +## Paso 1: Instalar el paquete NuGet Aspose.OCR + +Lo primero—agrega la biblioteca Aspose.OCR a tu proyecto. Abre una terminal en la carpeta de tu solución y ejecuta: + +```bash +dotnet add package Aspose.OCR +``` + +O, si utilizas la interfaz de NuGet de Visual Studio, simplemente busca **Aspose.OCR** y haz clic en instalar. Este único comando descarga todas las DLL necesarias, incluidos los binarios nativos de GPU cuando están disponibles. + +> **Consejo profesional:** Mantén el paquete actualizado. Las nuevas versiones a menudo incluyen mejoras en los modelos de lenguaje y mejor soporte GPU. + +--- + +## Paso 2: Importar los espacios de nombres requeridos + +Ahora que el paquete está instalado, trae los espacios de nombres relevantes al alcance. Este paso es donde comenzamos **cómo hacer OCR de una imagen** en código. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +Estas dos líneas te dan acceso a la clase `OcrEngine` y al objeto de configuración que te permite alternar el uso de GPU. Sin ellas, el compilador no sabría qué significa `OcrEngine`. + +--- + +## Paso 3: Inicializar el motor OCR y habilitar GPU + +Si alguna vez te has preguntado **cómo habilitar GPU** para OCR, esta es la respuesta. Creamos una instancia de `OcrEngineSettings`, activamos la bandera `UseGpu` y la pasamos al constructor del motor. El motor detecta automáticamente si hay una GPU compatible; si no, retrocede a CPU—por lo que no necesitas manejo de errores adicional. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +¿Por qué habilitar GPU? Para imágenes grandes—piensa en TIFFs de varias páginas o escaneos de alta resolución—el tiempo de procesamiento puede pasar de varios segundos a una fracción de segundo. Si estás construyendo una canalización de procesamiento por lotes, esa ganancia de velocidad se acumula rápidamente. + +--- + +## Paso 4: Realizar OCR en tu imagen objetivo + +Aquí es donde realmente **leemos la imagen con OCR**. Proporciona la ruta a tu archivo, y el motor devuelve el texto reconocido como una cadena. Esto funciona para cualquier formato raster soportado por Aspose (PNG, JPEG, TIFF, BMP, etc.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Si necesitas **convertir documentos escaneados** página por página, simplemente recorre los nombres de archivo y llama a `RecognizeImage` para cada uno. El método es seguro para subprocesos, por lo que incluso puedes paralelizar la carga de trabajo en una CPU multinúcleo. + +--- + +## Paso 5: Mostrar o guardar el texto extraído + +Finalmente, mostramos el resultado. En una aplicación de consola, `Console.WriteLine` hace el truco. En un escenario real podrías escribir el texto a una base de datos, a un archivo JSON, o alimentarlo a un índice de búsqueda. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +La línea anterior imprime la salida OCR cruda. Notarás saltos de línea, ocasionales errores de reconocimiento y quizá algunos caracteres sueltos—nada inusual para OCR. El post‑procesamiento (p. ej., limpieza con expresiones regulares) puede ordenar las cosas si es necesario. + +> **Nota:** Aspose.OCR también soporta diccionarios específicos por idioma. Si estás procesando textos que no son en inglés, establece `ocrEngine.Settings.Language` de manera adecuada antes de llamar a `RecognizeImage`. + +--- + +## Ejemplo completo en funcionamiento + +Juntándolo todo, aquí tienes un programa autónomo que puedes copiar y pegar en un nuevo proyecto de consola: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Salida esperada** (truncada por brevedad): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Ejecuta el programa, y deberías ver el texto extraído aparecer en la ventana de la consola. Si la GPU está disponible, el tiempo de procesamiento será notablemente más corto que en máquinas solo con CPU. + +--- + +## Problemas comunes y cómo evitarlos + +| Problema | Por qué ocurre | Solución | +|-------|----------------|-----| +| **Caracteres basura** | Fuente de baja resolución o fondo ruidoso. | Pre‑procesar la imagen (aumentar DPI, aplicar binarización) antes del OCR. | +| **GPU no utilizada** | No hay un controlador CUDA compatible instalado. | Verificar la versión del controlador, o establecer `UseGpu = false` para forzar CPU. | +| **Falta de memoria en TIFFs grandes** | Cargar todo el archivo de una vez. | Usar `OcrEngineSettings.MaxMemoryUsage` para limitar el consumo, o procesar las páginas individualmente. | +| **Detección de idioma incorrecta** | El idioma predeterminado es inglés. | Establecer `ocrEngine.Settings.Language = Language.YourLanguage;` antes de llamar a `RecognizeImage`. | + +Abordar estos casos extremos asegura que tu implementación de **cómo hacer OCR de una imagen** se mantenga robusta en diferentes entornos. + +--- + +## Extender la solución + +Ahora que puedes **extraer texto de la imagen**, podrías querer: + +- **Convertir documentos escaneados** PDFs a PDFs buscables incrustando la capa OCR. +- Almacenar resultados en un índice de **Azure Cognitive Search** para una recuperación rápida. +- Encadenar la salida OCR a una **API de traducción** si necesitas soporte multilingüe. +- Usar el método `GetBoundingBoxes` de **Aspose.OCR** para localizar dónde aparece cada palabra en la imagen—útil para herramientas de redacción. + +Todas estas extensiones se basan en el mismo principio central que cubrimos: inicializar el motor, alimentarlo con una imagen y leer el texto. + +--- + +## Conclusión + +Hemos recorrido un ejemplo completo, de extremo a extremo, de **cómo hacer OCR de una imagen** usando Aspose.OCR en C#. Al instalar el paquete NuGet, importar los espacios de nombres correctos, habilitar GPU (o retroceder a CPU), y llamar a `RecognizeImage`, puedes de forma fiable **extraer texto de la imagen**, **convertir documentos escaneados** en páginas, y **leer la imagen con OCR** en cualquier aplicación .NET. + +Pruébalo con un puñado de tus propios escaneos—experimenta con diferentes formatos de imagen, alterna la bandera GPU, y observa cómo cambia el rendimiento. Cuando estés listo, explora las funciones avanzadas como diccionarios de idioma o extracción de cajas delimitadoras para que tu solución sea aún más inteligente. + +¡Feliz codificación, y que tus canalizaciones OCR sean rápidas, precisas y sin complicaciones! + +{{< /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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/spanish/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..5c6e338c --- /dev/null +++ b/ocr/spanish/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-01-09 +description: Reconocer texto de una imagen usando Aspose OCR en C#. Aprende cómo desactivar + la descarga automática, extraer texto chino de una imagen y establecer el idioma + del OCR. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: es +og_description: Reconoce texto de una imagen usando Aspose OCR en C#. Sigue este tutorial + paso a paso para desactivar la descarga automática, extraer texto chino de la imagen + y configurar el idioma del OCR. +og_title: reconocer texto de una imagen con Aspose OCR – Guía completa de C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Reconocer texto de una imagen con Aspose OCR – Guía completa de C# +url: /es/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# reconocer texto de imagen con Aspose OCR – Guía completa en C# + +¿Alguna vez necesitaste **reconocer texto de imagen** pero te quedaste atascado con los detalles de configuración? No estás solo. Muchos desarrolladores se topan con un obstáculo cuando el motor OCR intenta descargar paquetes de idioma en tiempo de ejecución, o cuando no pueden extraer los caracteres chinos de una foto de señal. + +En este tutorial recorreremos una solución práctica que te muestra cómo **desactivar la descarga automática**, **extraer texto de imagen**, **extraer texto chino de imagen**, y **establecer el idioma OCR** — todo con Aspose OCR para .NET. Al final tendrás un programa único y ejecutable que imprime el texto reconocido directamente en la consola. + +## Qué aprenderás + +- Cómo instalar y referenciar el paquete NuGet Aspose.OCR. +- Por qué desactivar las descargas automáticas de recursos es importante para entornos offline o seguros. +- Los pasos exactos para apuntar el motor a una carpeta local de paquetes de idioma. +- Cómo seleccionar el idioma correcto (Chino Simplificado) antes de procesar una imagen. +- Verificar la salida y solucionar problemas comunes. + +No se requiere experiencia previa con Aspose; solo una configuración básica de C# y un archivo de imagen que deseas leer. + +## Requisitos previos + +| Requisito | Razón | +|-----------|-------| +| .NET 6.0 o posterior (o .NET Framework 4.7+) | Aspose.OCR soporta estos entornos de ejecución. | +| Visual Studio 2022 (o cualquier IDE que prefieras) | Para una fácil creación de proyectos y depuración. | +| Un archivo de imagen que contenga texto chino (p. ej., `chinese-sign.jpg`) | Para demostrar **extraer texto chino de imagen**. | +| Copia local de los paquetes de idioma Aspose OCR (descargados una vez desde el portal de Aspose) | Necesario porque **desactivaremos la descarga automática**. | + +Asegúrate de que los archivos ZIP de los paquetes de idioma estén en una carpeta a la que puedas hacer referencia, por ejemplo `C:\MyOCR\Resources`. + +## Paso 1: Reconocer texto de imagen – Configurar el motor OCR + +Lo primero: necesitamos un objeto `OcrEngineSettings` que indique a Aspose dónde buscar los recursos. Esta es la base para cualquier operación de **extraer texto de imagen**. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +¿Por qué establecer `AutoDownloadResources` a `false`? En entornos de producción a menudo se opera detrás de firewalls, o simplemente no deseas que tu aplicación acceda a internet en tiempo de ejecución. Desactivar la función garantiza que el motor solo use los archivos que colocaste en `ResourceFolder`, lo que también acelera la inicialización. + +## Paso 2: Crear el motor OCR con la configuración especificada + +Ahora que la configuración está lista, instanciamos el motor. Este paso es donde la capacidad de **establecer el idioma OCR** entrará en juego más adelante. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +El objeto `OcrEngine` es liviano; en realidad no carga datos de idioma hasta que asignas un idioma. Esa carga diferida es la razón por la que puedes crear el motor de forma segura incluso si la carpeta de recursos está vacía — nada fallará hasta que intentes **extraer texto chino de imagen**. + +## Paso 3: Establecer el idioma OCR – Elegir Chino Simplificado + +Aspose soporta decenas de idiomas, cada uno empaquetado como un archivo ZIP. Dado que nuestra imagen de ejemplo contiene caracteres chinos simplificados, establecemos explícitamente el idioma antes del reconocimiento. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +Si olvidas este paso, el motor usará inglés por defecto y obtendrás una salida distorsionada. Además, ten en cuenta que el nombre del idioma debe coincidir con el nombre del archivo ZIP dentro de `ResourceFolder`. Por ejemplo, debe estar presente `ChineseSimplified.zip`. + +## Paso 4: Extraer texto de la imagen objetivo + +Con el motor configurado y el idioma establecido, finalmente **reconocemos texto de imagen**. El método devuelve una cadena simple que puedes registrar, almacenar o pasar a otro sistema. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +La llamada a `RecognizeImage` realiza todo el trabajo pesado: preprocesamiento, segmentación, coincidencia de caracteres y, finalmente, ensamblado del resultado. Si la imagen es clara y el paquete de idioma es correcto, verás los caracteres chinos impresos en la consola. + +> **Consejo:** Si necesitas extraer solo una parte de la imagen (p. ej., una región específica), usa la sobrecarga `RecognizeImage(string, Rectangle)` para pasar un rectángulo de recorte. + +## Ejemplo completo en funcionamiento + +A continuación se muestra el programa completo que puedes copiar y pegar en un nuevo proyecto de consola. Incluye las instrucciones `using`, la configuración, la selección de idioma y la salida final. Guárdalo como `Program.cs`, restaura los paquetes NuGet y ejecútalo. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Salida esperada + +Si `chinese-sign.jpg` contiene la frase “欢迎光临”, la consola mostrará algo similar a: + +``` +=== Recognized Text === +欢迎光临 +``` + +El formato exacto puede variar según la calidad de la imagen, pero los caracteres deberían ser legibles. + +## Problemas comunes y consejos profesionales + +| Síntoma | Causa probable | Solución | +|---------|----------------|----------| +| **Cadena vacía devuelta** | Paquete de idioma no encontrado o `AutoDownloadResources` aún intentando obtenerlo | Verifica la ruta de `ResourceFolder` y asegura que `ChineseSimplified.zip` exista. | +| **Caracteres basura** | La imagen está borrosa o con bajo contraste | Preprocesa la imagen (aumenta el contraste, binariza) antes de pasarla a `RecognizeImage`. | +| **Excepción: `FileNotFoundException`** | Ruta de imagen incorrecta | Usa una ruta absoluta o coloca la imagen en el directorio de salida del proyecto y haz referencia con `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`. | +| **Retraso de rendimiento** | Dimensiones de imagen grandes | Redimensiona la imagen a un ancho razonable (p. ej., 1024 px) antes del reconocimiento. | + +**Consejo profesional:** Mantén los paquetes de idioma en una carpeta bajo control de versiones. Cuando actualices Aspose.OCR, los nuevos paquetes pueden tener convenciones de nombres diferentes, lo que podría romper silenciosamente tu estrategia de **desactivar la descarga automática**. + +## Extender el ejemplo + +Ahora que puedes **reconocer texto de imagen**, podrías querer: + +- **Procesar por lotes** una carpeta de imágenes (iterar sobre los archivos, llamar a `RecognizeImage` cada vez). +- **Exportar** los resultados a un archivo CSV o JSON para análisis posteriores. +- **Combinar** OCR con APIs de traducción para convertir señales chinas a inglés al instante. + +Todos estos escenarios reutilizan los mismos pasos básicos: configurar una vez, establecer el idioma y llamar a `RecognizeImage`. El diseño modular mantiene tu código limpio y fácil de mantener. + +## Conclusión + +Acabas de aprender cómo **reconocer texto de imagen** usando Aspose OCR en C#. Al **desactivar la descarga automática**, apuntar el motor a una carpeta local de recursos y **establecer el idioma OCR** a Chino Simplificado, puedes extraer de forma fiable **texto chino de imagen** y cualquier otro idioma que proporciones. + +El código completo y ejecutable anterior muestra un flujo de trabajo práctico que puedes incorporar a proyectos reales. A partir de aquí, experimenta con diferentes calidades de imagen, agrega manejo de errores o integra la salida en un sistema más grande. Las posibilidades son prácticamente infinitas. + +¿Tienes preguntas sobre otros idiomas, afinación de rendimiento o despliegue en la nube? ¡No dudes en dejar un comentario—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/net/ocr-optimization/_index.md b/ocr/spanish/net/ocr-optimization/_index.md index accbe5af..d51b7c85 100644 --- a/ocr/spanish/net/ocr-optimization/_index.md +++ b/ocr/spanish/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ Explore Aspose.OCR para .NET. Aumente la precisión del OCR con filtros de prepr Mejore la precisión del OCR con Aspose.OCR para .NET. Corrija la ortografía, personalice diccionarios y logre un reconocimiento de texto sin errores sin esfuerzo. ### [Guarde el resultado de varias páginas como documento en el reconocimiento de imágenes OCR](./save-multipage-result-as-document/) Libere el potencial de Aspose.OCR para .NET. Guarde sin esfuerzo los resultados de OCR de varias páginas como documentos con esta guía completa paso a paso. +### [Tutorial OCR en C#: Reconocer texto de imagen con preprocesamiento](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Aprenda a reconocer texto de imágenes con preprocesamiento usando Aspose.OCR para .NET en C#. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/spanish/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..9502be5f --- /dev/null +++ b/ocr/spanish/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-01-09 +description: Tutorial de OCR en C# que muestra cómo reconocer texto de una imagen + y preprocesar la imagen para OCR usando filtros Aspose.OCR – guía paso a paso. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: es +og_description: Tutorial de C# OCR que te guía paso a paso en el reconocimiento de + texto a partir de una imagen y el preprocesamiento de la imagen para OCR usando + filtros Aspose.OCR. Código completo incluido. +og_title: tutorial de OCR en C# – Reconocer texto de una imagen con preprocesamiento +tags: +- OCR +- C# +- Image Processing +title: 'tutorial de OCR en C#: reconocer texto de una imagen con preprocesamiento' +url: /es/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tutorial c# ocr – Reconocer texto de imagen con preprocesamiento + +¿Alguna vez te has preguntado cómo **reconocer texto de una imagen** en una aplicación C# sin pasar semanas ajustando filtros? No estás solo. En este **c# ocr tutorial** recorreremos un ejemplo completo, listo‑para‑ejecutar que no solo lee el texto sino que también **preprocesa la imagen para OCR** para mejorar la precisión. + +Usaremos la biblioteca Aspose.OCR porque incluye una práctica canalización de filtros que te permite incorporar pasos de corrección de inclinación, eliminación de ruido y aumento de contraste en solo unas pocas líneas. Al final de esta guía tendrás una aplicación de consola que puede tomar un PNG inclinado y ruidoso, limpiarlo y devolver la cadena extraída, todo con explicaciones claras de por qué cada paso es importante. + +## Requisitos previos + +Antes de profundizar, asegúrate de tener: + +| Requisito | Por qué es importante | +|-----------|-----------------------| +| .NET 6 SDK (or later) | Características modernas de C# y mejor rendimiento | +| Visual Studio 2022 (or VS Code) | Depuración conveniente e IntelliSense | +| NuGet package **Aspose.OCR** | Proporciona el `OcrEngine` y las clases de filtro | +| An input image (e.g., `skewed‑noisy.png`) | Demuestra la necesidad de preprocesamiento | + +Si falta alguno de estos, instálalo primero. El paso de NuGet se cubre en la siguiente sección. + +## Paso 1: Instalar Aspose.OCR vía NuGet + +Abre tu terminal (o la Consola del Administrador de paquetes) y ejecuta: + +```bash +dotnet add package Aspose.OCR +``` + +> **Consejo profesional:** Usa la bandera `--version` para fijar una versión específica si necesitas compilaciones reproducibles. + +El paquete incluye todos los filtros que necesitaremos, por lo que no se requieren DLLs adicionales. + +## Paso 2: Inicializar el motor OCR – el corazón del tutorial c# ocr + +Crear el motor es sencillo, pero vale la pena entender lo que ocurre internamente. El `OcrEngine` mantiene una canalización de **filtros** que manipulan el bitmap antes de que se ejecute el algoritmo de reconocimiento. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **¿Por qué inicializar primero?** El motor almacena en caché recursos internos (como modelos de idioma). Reutilizar una única instancia para múltiples imágenes ahorra memoria y acelera los reconocimientos posteriores. + +## Paso 3: Preprocesar la imagen para OCR – añadiendo corrección de inclinación, eliminación de ruido y aumento de contraste + +La mayoría de los escaneos del mundo real no son perfectos; están inclinados, manchados o demasiado oscuros. Por eso **preprocess image for OCR** es un paso crítico. Aspose proporciona tres filtros que funcionan bien juntos: + +| Filtro | Qué hace | Caso de uso típico | +|--------|----------|--------------------| +| `DeskewFilter` | Rota la imagen para corregir la inclinación | Documentos escaneados desde un escáner | +| `DenoiseFilter` | Elimina píxeles aislados (ruido “sal‑y‑pimienta”) | Fotos con poca luz | +| `ContrastBoostFilter` | Aumenta el contraste para agudizar los bordes del texto | Impresiones descoloridas o capturas de baja resolución | + +A continuación se muestra el código que agrega cada filtro a la canalización del motor: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **Cómo funciona:** Cuando llames a `RecognizeImage` más adelante, el motor ejecutará secuencialmente estos tres filtros antes de pasar el bitmap limpio al núcleo de reconocimiento. + +### Ilustración visual (opcional) + +Si incrustas una imagen, asegúrate de que el texto alternativo contenga la palabra clave principal: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Paso 4: Reconocer texto de la imagen – el momento de la verdad + +Ahora que la imagen está preprocesada, finalmente podemos extraer los caracteres. El método devuelve una cadena simple, que puedes registrar, almacenar o enviar a otro sistema. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Salida esperada + +Ejecutar el ejemplo con un escaneo típico de factura produce algo como: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +Si la salida se ve distorsionada, verifica la calidad de la imagen y considera ajustar `ContrastBoostFilter.Level` (valores > 2.0 pueden ser demasiado agresivos). + +## Paso 5: Mostrar el resultado y post‑procesamiento opcional + +Una aplicación de consola puede simplemente escribir la cadena, pero muchos proyectos requieren un manejo adicional—como recortar espacios en blanco, eliminar saltos de línea o insertar el texto en una base de datos. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### ¿Por qué post‑procesar? + +Incluso con un buen preprocesamiento, OCR a menudo introduce saltos de línea erróneos o caracteres invisibles. Una cadena rápida de `Replace` puede hacer que los datos sean mucho más utilizables en etapas posteriores. + +## Paso 6: Ejemplo completo funcional – listo para copiar y pegar + +A continuación se muestra el programa **completo** que puedes compilar y ejecutar de inmediato. Incluye todas las sentencias using, la configuración de filtros, la llamada OCR y el manejo de la salida. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**Cómo ejecutarlo** + +1. Guarda el archivo como `Program.cs` dentro de un nuevo proyecto de consola (`dotnet new console`). +2. Reemplaza `YOUR_DIRECTORY/skewed-noisy.png` con la ruta real a tu imagen de prueba. +3. Ejecuta `dotnet run`. Deberías ver la salida OCR impresa en la terminal. + +## Errores comunes y consejos (reconocer texto de imagen de forma fiable) + +| Problema | Qué comprobar | Solución | +|----------|----------------|----------| +| **Caracteres basura** | La imagen es demasiado oscura o de baja resolución | Aumenta `ContrastBoostFilter.Level` o usa una fuente de mayor resolución | +| **Líneas faltantes** | Deskew no corrigió completamente el ángulo | Rota manualmente la imagen primero, o ajusta la tolerancia de `DeskewFilter` | +| **Rendimiento lento** | Procesar muchas imágenes grandes en un bucle | Reutiliza la misma instancia de `OcrEngine` y llama a `ocrEngine.Clear()` después de cada ejecución | +| **Idioma no soportado** | El texto no está en inglés | Establece `ocrEngine.Language = OcrLanguage.French` (u otro idioma soportado) antes del reconocimiento | + +### Caso límite: manejo de PDFs multipágina + +Si necesitas OCR de un PDF, convierte cada página a una imagen (p. ej., usando `Aspose.PDF`) y envíalas una por una al mismo motor. La canalización de preprocesamiento permanece idéntica, garantizando resultados consistentes entre páginas. + +## Conclusión + +En este **c# ocr tutorial** cubrimos todo lo que necesitas para **reconocer texto de una imagen** y **preprocesar la imagen para OCR** usando los filtros incorporados de Aspose.OCR. Al inicializar el motor, añadir los pasos de corrección de inclinación, eliminación de ruido y aumento de contraste, y finalmente llamar a `RecognizeImage`, obtienes una extracción de texto limpia y fiable con solo unas pocas líneas de código. + +Siéntete libre de experimentar—cambiar a otro filtro, ajustar el nivel de contraste, o integrar el resultado en una canalización de datos más grande. Los conceptos aquí se aplican a cualquier biblioteca OCR: el preprocesamiento suele ser la diferencia entre una factura parcialmente leída y un documento capturado perfectamente. + +¿Tienes más preguntas? Tal vez tengas curiosidad sobre cómo manejar texto manuscrito o procesar en lote miles de archivos. Deja un comentario y exploraremos esos escenarios juntos. ¡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/net/text-recognition/_index.md b/ocr/spanish/net/text-recognition/_index.md index 8f06dcbf..47da73de 100644 --- a/ocr/spanish/net/text-recognition/_index.md +++ b/ocr/spanish/net/text-recognition/_index.md @@ -46,7 +46,7 @@ Navegue por las complejidades del reconocimiento de tablas en el reconocimiento ### [Obtenga opciones para caracteres reconocidos en el reconocimiento de imágenes OCR](./get-choices-for-recognized-characters/) Mejore sus aplicaciones .NET con Aspose.OCR para un reconocimiento preciso de caracteres. Siga nuestra guía paso a paso para recuperar opciones de caracteres reconocidos en el reconocimiento de imágenes. ### [Obtener el resultado del reconocimiento en el reconocimiento de imágenes OCR](./get-recognition-result/) -Explore Aspose.OCR para .NET, una potente solución de OCR para un reconocimiento perfecto de texto en imágenes. +Explore Aspose.OCR para .NET, una potente solución de OCR para un reconocimiento perfecto del texto en imágenes. ### [Obtenga resultados como JSON en el reconocimiento de imágenes OCR](./get-result-as-json/) Libere el poder de Aspose.OCR para .NET. Aprenda a obtener resultados OCR en formato JSON sin esfuerzo. Mejore el reconocimiento de sus imágenes con esta guía paso a paso. ### [Modo de detección de áreas OCR en reconocimiento de imágenes OCR](./ocr-detect-areas-mode/) @@ -55,9 +55,22 @@ Mejore sus aplicaciones .NET con Aspose.OCR para un reconocimiento eficiente del Libere el potencial del OCR en .NET con Aspose.OCR. Extraiga texto de archivos PDF sin esfuerzo. Descárguelo ahora para disfrutar de una experiencia de integración perfecta. ### [Reconocer tabla en reconocimiento de imágenes OCR](./recognize-table/) Descubra el potencial de Aspose.OCR para .NET con nuestra guía completa sobre cómo reconocer tablas en el reconocimiento de imágenes OCR. +### [Extraer texto de TIFF con Aspose OCR C# – Tutorial completo](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Aprenda a extraer texto de archivos TIFF usando Aspose OCR en C# con esta guía completa. +### [Reconocer texto en JPG con Aspose OCR – Guía completa en C#](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Aprenda a reconocer texto en imágenes JPG usando Aspose OCR con una guía completa en C#. +### [Tutorial OCR en C# – Extraer texto hindi de recibos PNG](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Aprenda a extraer texto en hindi de recibos PNG usando Aspose.OCR en C#. +### [Tutorial OCR en C#: Extraer texto de imágenes y archivos DJVU](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Aprenda a extraer texto de imágenes y archivos DJVU usando Aspose.OCR en C# con esta guía paso a paso. +### [Tutorial OCR en C# – Extraer texto de imágenes con Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Aprenda a extraer texto de imágenes usando Aspose OCR en C# con esta guía paso a paso. +### [Extraer texto de PNG – Tutorial completo de Aspose OCR](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Aprenda a extraer texto de archivos PNG usando Aspose OCR con esta guía completa. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/spanish/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..23424973 --- /dev/null +++ b/ocr/spanish/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,241 @@ +--- +category: general +date: 2026-01-09 +description: Tutorial de OCR en C# para leer texto de PNG, convertir la imagen a texto + y reconocer texto en hindi en un recibo usando Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: es +og_description: tutorial de OCR en C# que te enseña cómo leer texto de PNG, convertir + la imagen a texto y reconocer texto en hindi en un recibo con Aspose OCR. +og_title: c# tutorial OCR – Extraer texto hindi de recibos PNG +tags: +- OCR +- C# +- Aspose +- Image Processing +title: tutorial de OCR en C# – Extraer texto hindi de recibos PNG +url: /es/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tutorial c# ocr – Extraer texto hindi de recibos PNG + +¿Alguna vez te has preguntado cómo **leer texto de archivos PNG** en una aplicación C#? Tal vez tengas un montón de recibos en hindi y necesites extraer los importes automáticamente. Eso es exactamente lo que aborda este tutorial c# ocr: convertir una imagen en texto buscable con solo unas pocas líneas de código. + +En esta guía recorreremos la instalación de Aspose OCR, la carga de un recibo PNG, el reconocimiento de caracteres hindi y, finalmente, la impresión de la cadena extraída en la consola. Al final podrás **convertir imagen a texto**, **reconocer texto hindi** e incluso **extraer texto de recibos** sin salir de tu IDE. + +> **Nota previa:** Necesitas una licencia válida de Aspose OCR (o puedes usar la prueba gratuita) y .NET 6+ instalado. Si eres nuevo en NuGet, no te preocupes, también lo cubriremos. + +--- + +## Lo que necesitarás + +- **Visual Studio 2022** (o cualquier editor compatible con C#) +- **.NET 6 SDK** (o posterior) +- **Paquete NuGet Aspose.OCR** + ```bash + dotnet add package Aspose.OCR + ``` +- Una imagen de muestra de recibo, por ejemplo `hindi-receipt.png`, guardada en la carpeta de tu proyecto. + +Tener todo esto listo significa que puedes copiar‑pegar el código final y pulsar **F5** de inmediato. + +--- + +## Paso 1: Configurar el proyecto e importar los espacios de nombres + +Primero, crea un proyecto de consola si aún no tienes uno: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Ahora abre `Program.cs`. En la parte superior, importa los espacios de nombres de Aspose OCR para que el compilador sepa dónde encontrar las clases: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Por qué es importante:** `OcrEngine` pertenece a `Aspose.OCR`, mientras que los enumerados relacionados con el idioma están en `Aspose.OCR.Settings`. Olvidar cualquiera de ellos provocará un error de compilación. + +--- + +## Paso 2: Inicializar el motor OCR y elegir el modelo de idioma + +El motor OCR necesita saber **qué idioma** buscar. Aspose incluye muchos paquetes de idiomas; especificar `OcrLanguage.Hindi` indica al motor que descargue (si falta) y use el modelo hindi. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Consejo profesional:** Si planeas procesar recibos en varios idiomas, puedes cambiar `Language` en tiempo de ejecución o incluso habilitar el modo `MultiLanguage`. + +--- + +## Paso 3: Alimentar el recibo PNG al motor + +Aquí es donde **leemos texto de PNG**. Proporciona la ruta completa (una ruta relativa al ejecutable funciona bien). El método devuelve una cadena simple que contiene todo lo que el motor pudo descifrar. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Si la imagen es de alta resolución y el texto está limpio, obtendrás resultados casi perfectos. Para escaneos ruidosos, considera pre‑procesar (p. ej., binarización) – Aspose ofrece métodos `PreprocessImage` que puedes explorar más adelante. + +--- + +## Paso 4: Mostrar o guardar el texto extraído + +La mayoría de los desarrolladores simplemente vuelcan el resultado a la consola mientras prueban. En un escenario de producción podrías escribir a una base de datos o a un archivo CSV. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Ejecutar el programa con el recibo de muestra imprime algo como: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +Ese es el paso **convertir imagen a texto** en acción—sin necesidad de transcripción manual. + +--- + +## Ejemplo completo funcional (listo para copiar‑pegar) + +A continuación tienes el programa completo y autocontenido. Pégalo en `Program.cs`, coloca `hindi-receipt.png` junto al `.exe` compilado y pulsa **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Salida esperada + +Cuando la imagen del recibo contiene caracteres hindi claros, la consola mostrará las líneas extraídas, preservando los saltos de línea. Si el OCR no reconoce alguna palabra, verás un fragmento distorsionado—una señal para mejorar la calidad de la imagen o ajustar el pre‑procesamiento. + +--- + +## Paso 5: Ir más allá – Extraer texto de recibos programáticamente + +Si tu objetivo es **extraer texto de recibos** (fecha, total, número de factura), puedes post‑procesar la cadena OCR con expresiones regulares: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +Este pequeño fragmento muestra cómo convertir la salida OCR cruda en datos estructurados—perfecto para alimentar a un software contable. + +--- + +## Problemas comunes y cómo evitarlos + +| Problema | Por qué ocurre | Solución | +|----------|----------------|----------| +| **Salida en blanco** | Ruta de la imagen incorrecta o archivo no copiado a la carpeta de salida. | Usa `Path.GetFullPath` y verifica que el archivo exista (`File.Exists`). | +| **Caracteres basura** | PNG de baja resolución o colores comprimidos. | Escala la imagen, establece DPI a 300+ o usa `ocrEngine.ImagePreprocessor`. | +| **Modelo de idioma no descargado** | No hay conexión a internet en la primera ejecución. | Pre‑descarga el modelo hindi desde el portal de Aspose o alójalo localmente. | +| **Retraso de rendimiento** | Procesar muchas páginas en un bucle sin liberar recursos. | Envuelve `OcrEngine` en un bloque `using` o reutiliza una única instancia. | + +--- + +## Ilustración + +![c# ocr tutorial reading Hindi text from PNG receipt](https://example.com/placeholder-image.png "c# ocr tutorial – read text from png receipt") + +*La captura muestra un recibo en hindi antes y después de la conversión OCR.* + +--- + +## Recapitulación: Lo que cubrimos + +- Configurar una aplicación de consola C# y añadir el paquete NuGet Aspose OCR. +- Inicializar `OcrEngine` con el modelo de idioma **reconocer texto hindi**. +- **Leer texto de PNG** usando `RecognizeImage`. +- **Convertir imagen a texto** e imprimir el resultado. +- Demostrar un patrón sencillo para **extraer texto de recibos**. + +Todo esto entregado en un solo archivo ejecutable—exactamente lo que debe ofrecer un **tutorial c# ocr**. + +--- + +## Próximos pasos y temas relacionados + +1. **Procesamiento por lotes** – recorrer una carpeta de imágenes de recibos y guardar los resultados en CSV. +2. **Pre‑procesamiento** – explorar `ocrEngine.ImagePreprocessor` para eliminación de ruido, corrección de inclinación o mejora de contraste. +3. **OCR multilingüe** – habilitar `OcrLanguage.Multilingual` para manejar recibos que mezclen hindi e inglés. +4. **Integración** – enviar los datos extraídos a un modelo Entity Framework Core para almacenamiento persistente. + +Si te interesa alguno de estos temas, revisa nuestros tutoriales sobre **convertir imagen a texto en C#** y **extraer datos estructurados de resultados OCR**. + +--- + +### ¡Feliz codificación! + +No dudes en dejar un comentario si encuentras algún obstáculo, o compartir cómo has ampliado este **tutorial c# ocr** en tus propios proyectos. Recuerda, OCR es solo el primer paso—los datos limpios son donde ocurre la verdadera magia. 🚀 + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/spanish/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..4869e647 --- /dev/null +++ b/ocr/spanish/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-01-09 +description: Tutorial de OCR en C# que muestra cómo extraer texto de archivos de imagen + y convertir DJVU a texto usando Aspose.OCR. Aprende la extracción paso a paso en + minutos. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: es +og_description: Tutorial de OCR en C# que muestra rápidamente cómo extraer texto de + archivos de imagen y convertir DJVU a texto usando Aspose.OCR. Sigue la guía para + obtener una solución funcional. +og_title: c# tutorial de OCR – Extraer texto de imagen y DJVU +tags: +- OCR +- C# +- Aspose +title: 'Tutorial de OCR en C#: Extraer texto de imágenes y archivos DJVU' +url: /es/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tutorial de OCR en c# – Extraer texto de imágenes y archivos DJVU + +¿Alguna vez te has preguntado cómo extraer texto de archivos de imagen sin volverte loco? En este **c# OCR tutorial** repasaremos un ejemplo completo, listo‑para‑ejecutar que extrae texto de una foto normal *y* de un documento DJVU. + +Si también buscas una forma rápida de **convertir DJVU a texto**, estás en el lugar correcto—sin convertidores extra, solo código puro de C#. + +## Lo que aprenderás + +- Cómo configurar la biblioteca Aspose.OCR en un proyecto .NET. +- El código exacto que necesitas para **extraer texto de imágenes**. +- Un método conciso para **extraer texto de archivos DJVU** (sí, el mismo motor lo hace). +- Problemas comunes (archivos grandes, fuentes faltantes, licencias) y cómo evitarlos. + +Todo lo que necesitas es un SDK .NET reciente y una conexión a internet para obtener el paquete NuGet. No se requiere experiencia previa en OCR. + +## Requisitos previos + +| Requisito | Por qué es importante | +|-------------|----------------| +| .NET 6.0 o posterior | Aspose.OCR está dirigido a .NET Standard 2.0, por lo que .NET 6+ te brinda el mejor rendimiento. | +| Visual Studio 2022 (o VS Code) | Los IDE facilitan la gestión de paquetes, pero cualquier editor funciona. | +| Paquete NuGet **Aspose.OCR** | Este es el motor que realmente realiza el trabajo pesado. | +| Una imagen de muestra (`sample.png`) y un archivo DJVU (`sample.djvu`) | Los usaremos para demostrar ambos escenarios de extracción. | + +Puedes instalar el paquete con el siguiente comando: + +```bash +dotnet add package Aspose.OCR +``` + +> **Consejo profesional:** Si estás en un servidor CI, agrega `--no-restore` al paso de compilación y restaura una vez al inicio para acelerar el proceso. + +## Paso 1: Inicializar el motor OCR – el corazón del tutorial de OCR en c# + +Lo primero que hacemos es crear una instancia de `OcrEngine`. Piensa en ello como encender el escáner en tu software. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +¿Por qué crear un nuevo motor cada vez? Porque el motor mantiene la configuración (idioma, modo de detección, etc.). Al iniciar desde cero evitas que configuraciones obsoletas se filtren entre ejecuciones. + +## Paso 2: Cargar y reconocer una imagen – cómo extraer texto de una imagen + +Ahora alimentaremos un mapa de bits regular (PNG, JPEG, BMP…) al motor. El método `RecognizeImage` devuelve la cadena detectada. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +Algunas cosas a tener en cuenta: + +* **Existencia del archivo** – Si la ruta es incorrecta el método lanza `FileNotFoundException`. Envuélvelo en un `try/catch` si esperas rutas proporcionadas por el usuario. +* **Calidad de la imagen** – OCR funciona mejor a 300 dpi o más. Escaneos de baja resolución pueden producir resultados distorsionados. +* **Soporte de idioma** – Por defecto Aspose.OCR asume inglés. Para cambiarlo, establece `ocrEngine.Language = Language.Spanish;` antes de `RecognizeImage`. + +## Paso 3: Reconocer texto de un documento DJVU – convertir DJVU a texto + +DJVU es un formato contenedor que puede contener múltiples páginas. Aspose.OCR lo puede manejar directamente; solo apuntas al archivo. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +En su interior, el motor extrae cada página como una imagen y ejecuta la misma canalización de reconocimiento. Por eso no necesitas un paso separado de “convertir DJVU a texto”—el motor OCR lo hace por ti. + +### Manejo de archivos DJVU de varias páginas + +Si tu DJVU contiene varias páginas, `RecognizeImage` las concatena en orden. Si necesitas cada página por separado, puedes usar la sobrecarga que devuelve un `List`: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Paso 4: Ajustar finamente el motor para mayor precisión – por qué es importante + +Los resultados por defecto son aceptables, pero puedes mejorarlos ajustando un par de configuraciones: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Estas banderas son especialmente útiles cuando **cómo extraer texto** de PDFs escaneados que fueron guardados primero como DJVU. Activar la detección de orientación te evita rotar manualmente las imágenes. + +## Paso 5: Gestionar licencias y errores en tiempo de ejecución + +Aspose.OCR se entrega con una prueba gratuita que marca “Demo” en la salida después de algunas páginas. Para eliminar la marca de agua, agrega tu archivo de licencia: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Si olvidas este paso, el motor sigue funcionando, pero el resultado contendrá la palabra “Demo”. Además, ten cuidado con `OutOfMemoryException` al procesar archivos DJVU enormes—considera procesar página por página como se mostró antes. + +## Ejemplo completo y ejecutable + +A continuación hay un programa de consola autónomo que reúne todo. Copia‑pega, ajusta las rutas de los archivos y pulsa **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Salida esperada** (suponiendo que los archivos contengan la frase “Hello World”): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Si la fuente contiene múltiples líneas, aparecerán exactamente como en el documento original. + +## Preguntas comunes y manejo de casos extremos + +* **¿Qué pasa si la imagen es en blanco y negro?** + OCR funciona bien, pero puedes mejorar el contraste con `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +* **¿Puedo extraer solo números?** + Sí—establece `ocrEngine.CharWhitelist = "0123456789";` antes de llamar a `RecognizeImage`. + +* **¿Existe un límite de tamaño de archivo?** + El motor lee todo el archivo en memoria. Para archivos mayores a ~100 MB, procesa página por página (ver la sobrecarga de lista del Paso 3). + +* **¿En qué se diferencia esto de Tesseract?** + Aspose.OCR es una biblioteca comercial con soporte integrado de DJVU y sin dependencias nativas, mientras que Tesseract requiere binarios nativos y herramientas de conversión DJVU separadas. + +## Conclusión + +Acabas de completar un **c# OCR tutorial** que muestra cómo **extraer texto de imágenes** y convertir sin problemas **DJVU a texto** usando Aspose.OCR. El ejemplo cubre todo, desde la instalación del paquete hasta la licencia, desde la extracción de imágenes de una sola página hasta el manejo de DJVU de varias páginas, e incluso consejos para mejorar la precisión. + +A continuación, podrías explorar **cómo extraer texto** de PDFs, integrar el paso OCR en una API web, o experimentar con paquetes de idiomas para documentos multilingües. El cielo es el límite—solo recuerda los puntos clave: configura el motor, aliméntalo con un archivo y lee la cadena resultante. + +¿Tienes más preguntas? Deja un comentario, prueba el código con tus propios documentos, ¡y feliz codificación! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# OCR tutorial – console output 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/spanish/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/spanish/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..48a1812f --- /dev/null +++ b/ocr/spanish/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: Tutorial de OCR en C# que muestra cómo extraer texto de archivos de imagen, + reconocer texto de PNG, convertir la imagen a cadena y detectar el idioma automáticamente + usando Aspose.OCR. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: es +og_description: Tutorial de OCR en C# que te guía a través de la extracción de texto + de imágenes, el reconocimiento de texto de archivos PNG, la conversión de imágenes + a cadenas y la detección automática de idioma usando Aspose OCR. +og_title: tutorial de OCR en C# – Extraer texto de imágenes +tags: +- C# +- OCR +- Aspose +- Image Processing +title: Tutorial de OCR en C# – Extraer texto de imágenes con Aspose OCR +url: /es/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tutorial c# ocr – Extraer texto de imágenes con Aspose OCR + +¿Alguna vez necesitaste un **tutorial c# ocr** que realmente funcione con un archivo PNG del mundo real? Tal vez estés construyendo un escáner de recibos, un procesador de formularios multilingüe, o simplemente tengas curiosidad por convertir una foto de texto en una cadena buscable. Sea cual sea el caso, estás en el lugar correcto. + +En esta guía te mostraremos paso a paso cómo **extraer texto de una imagen**, **reconocer texto de png**, **convertir imagen a cadena**, e incluso **detectar el idioma automáticamente**, todo con la biblioteca Aspose.OCR. Sin referencias vagas, solo un ejemplo completo y ejecutable que puedes copiar‑pegar en Visual Studio. + +## Lo que necesitarás + +- .NET 6.0 o posterior (el código también funciona con .NET Core y .NET Framework) +- Una referencia NuGet a `Aspose.OCR` (versión 23.9 o más reciente) +- Un archivo de imagen (`mixed‑script.png` en este ejemplo) colocado en una ubicación accesible para la aplicación +- Conocimientos básicos de C# (si ya has escrito un “Hello World”, estás listo) + +> **Consejo profesional:** Si aún no tienes una licencia, Aspose ofrece una licencia temporal gratuita para pruebas. Simplemente coloca el archivo `.lic` junto a tu ejecutable. + +## Paso 1 – Instalar el paquete NuGet Aspose.OCR + +Primero, agrega la biblioteca a tu proyecto. Abre la consola del Administrador de paquetes y ejecuta: + +```powershell +Install-Package Aspose.OCR +``` + +O, si prefieres la interfaz gráfica, haz clic derecho en *Dependencies → Manage NuGet Packages* y busca **Aspose.OCR**. + +## Paso 2 – Preparar el motor OCR (c# ocr tutorial core) + +Ahora crearemos una instancia de `OcrEngine`, le indicaremos que detecte el idioma automáticamente y la apuntaremos a nuestro archivo PNG. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Por qué establecemos `Language = OcrLanguage.AutoDetect` + +La detección automática de idioma te evita adivinar si la imagen contiene inglés, ruso, árabe o una combinación. Es la opción más flexible para un escenario de **detectar idioma automáticamente**, y funciona de forma predeterminada para la mayoría de los scripts soportados por Aspose. + +## Paso 3 – Ejecutar la aplicación y verificar la salida + +Compila y ejecuta el programa (`dotnet run` o pulsa **F5** en Visual Studio). Si todo está configurado correctamente, verás algo como: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +Esa salida demuestra que hemos **extraído texto de la imagen**, **reconocido texto de png** y **convertido la imagen a cadena**, todo en un fragmento conciso. + +## Paso 4 – Variaciones comunes y casos límite + +### Procesar múltiples imágenes + +Si necesitas procesar un directorio de PNGs, envuelve la llamada de reconocimiento en un bucle `foreach`: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Especificar un idioma fijo + +A veces conoces el idioma de antemano (por ejemplo, solo inglés). Puedes reemplazar `AutoDetect` por `OcrLanguage.English` para acelerar el procesamiento: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Tratar escaneos de baja calidad + +Aspose.OCR ofrece opciones de preprocesamiento (reducción de ruido, corrección de inclinación). Para una solución rápida: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Guardar el resultado en un archivo + +En lugar de imprimir en la consola, quizá quieras escribir el texto extraído en un archivo `.txt`: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Paso 5 – Ejemplo completo (listo para copiar‑pegar) + +A continuación tienes el **programa completo** incluyendo preprocesamiento opcional y lógica de salida a archivo. Siéntete libre de ajustar las rutas. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Salida esperada + +Ejecutar el programa con un PNG que contenga inglés, ruso y árabe produce: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +Si la imagen está en blanco o es ilegible, el motor devuelve una cadena vacía; maneja ese caso verificando `string.IsNullOrWhiteSpace(extractedText)` antes de continuar. + +## Preguntas frecuentes (FAQs) + +**P: ¿Aspose.OCR admite texto manuscrito?** +R: Se centra en OCR impreso. Para manuscritos necesitarías un modelo de ML dedicado o un servicio como Azure Computer Vision. + +**P: ¿Puedo ejecutar esto en Linux/macOS?** +R: Claro. Aspose.OCR es multiplataforma; solo instala el runtime .NET para tu sistema operativo. + +**P: ¿Qué pasa si necesito procesar PDFs en lugar de PNGs?** +R: Convierte cada página del PDF a una imagen primero (por ejemplo, usando `Aspose.PDF`) y luego pásala al motor OCR. + +## Conclusión + +Acabamos de completar un **tutorial c# ocr** que te guía a través de **extraer texto de imágenes**, **reconocer texto de png**, **convertir la imagen a una cadena** y **detectar el idioma automáticamente** usando Aspose.OCR. El código es breve, los conceptos claros, y puedes ampliarlo para procesamiento por lotes, configuraciones de idioma personalizadas o incluso integrarlo en una API web. + +¿Próximos pasos? Prueba alimentar la salida OCR a un índice de búsqueda, pásala a un servicio de traducción, o combínala con Azure Cognitive Services para pipelines de datos aún más ricos. El cielo es el límite una vez que domines lo básico de la conversión de imagen a texto en C#. + +¡Feliz codificación, y no olvides experimentar con diferentes calidades de imagen—tu motor OCR te lo agradecerá! + +![tutorial c# ocr – ejemplo de salida OCR en un PNG de script mixto](placeholder-image.png "tutorial c# ocr – OCR result screenshot") + +{{< /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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/spanish/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..f5d66abe --- /dev/null +++ b/ocr/spanish/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-01-09 +description: Extrae texto de PNG rápidamente con Aspose OCR. Aprende a leer el texto + de la imagen, mejorar la precisión del OCR y obtener resultados limpios en C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: es +og_description: Extraiga texto de PNG rápidamente con Aspose OCR. Aprenda a leer texto + de imágenes, mejorar la precisión del OCR y obtener resultados limpios en C#. +og_title: Extraer texto de PNG – Tutorial completo de OCR de Aspose +tags: +- Aspose OCR +- C# +- Image Processing +title: Extraer texto de PNG – Tutorial completo de OCR de Aspose +url: /es/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extraer texto de PNG – Tutorial completo de Aspose OCR + +¿Alguna vez necesitaste **extraer texto de PNG** y los resultados estaban llenos de basura? No estás solo. En muchos proyectos del mundo real – facturas, recibos o formularios escaneados – la calidad del resultado OCR puede determinar el éxito o fracaso de los flujos de automatización. + +En esta guía te mostraremos una forma **paso a paso** de leer texto de imágenes usando Aspose OCR, añadir un diccionario personalizado para **mejorar la precisión del OCR**, limpiar el ruido y, finalmente, imprimir una cadena ordenada. Al final tendrás una aplicación de consola C# lista para ejecutar que extrae texto de imágenes PNG de manera fiable. + +> **Lo que obtendrás** +> * Un ejemplo de código completo y ejecutable. +> * Comprensión de por qué un diccionario personalizado es importante. +> * Consejos para manejar casos extremos como escaneos de bajo contraste. + +## Requisitos previos + +- SDK de .NET 6 o posterior (el código está dirigido a .NET 6, pero .NET 5 también funciona). +- Visual Studio 2022 o cualquier editor que prefieras. +- Una imagen **PNG** que quieras procesar – por ejemplo `invoice.png`. +- El paquete NuGet **Aspose.OCR** (`dotnet add package Aspose.OCR`). + +No se necesitan archivos de configuración adicionales; todo vive en un solo archivo `.cs`. + +## Paso 1 – Instalar y Referenciar Aspose OCR + +Primero, incorpora la biblioteca a tu proyecto. Abre una terminal en la carpeta de tu solución y ejecuta: + +```bash +dotnet add package Aspose.OCR +``` + +Esa única línea descarga la última versión estable (a partir de enero 2026, versión 23.9). El paquete incluye la clase `OcrEngine` que utilizaremos a lo largo del tutorial. + +## Paso 2 – Inicializar el Motor OCR + +Crear una instancia de `OcrEngine` es la base. Piensa en ello como encender un escáner listo para interpretar píxeles. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Consejo profesional:** Si planeas procesar muchas imágenes en un bucle, reutiliza la misma instancia de `OcrEngine`. Cachea recursos internos y acelera las llamadas posteriores. + +## Paso 3 – Mejorar la Precisión con un Diccionario Personalizado + +El OCR listo para usar es bueno, pero puede fallar con palabras específicas del dominio como “Aspose”, “OCR” o “SDK”. Añadir esos términos a un **diccionario personalizado** le indica al motor que esas cadenas son válidas, reduciendo los errores de reconocimiento. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Por qué ayuda un diccionario personalizado + +- Los **modelos estadísticos** detrás del OCR ponderan fuertemente los patrones de lenguaje comunes. Las palabras poco habituales tienen baja probabilidad y pueden ser sustituidas por caracteres similares. +- Al listarlas explícitamente, sobrescribes la conjetura del modelo. +- Es especialmente útil para **leer texto de imagen** que contiene códigos de producto, abreviaturas o nombres de marca. + +## Paso 4 – Reconocer Texto del Archivo PNG + +Ahora pasamos al motor la ruta de la imagen. El método `RecognizeImage` devuelve una cadena cruda que aún contiene tokens desconocidos (p. ej., “#@!”) que el motor no pudo mapear. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Caso extremo:** Si el archivo no se encuentra, `RecognizeImage` lanza una `FileNotFoundException`. Envuelve la llamada en un bloque try‑catch para código de producción. + +## Paso 5 – Limpiar el Resultado con `CleanText` + +Aspose OCR incluye un ayudante que elimina los caracteres que marca como “desconocidos”. Este paso es crucial para proyectos de **extraer texto de imagen** donde los analizadores posteriores esperan solo caracteres alfanuméricos y puntuación básica. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +El método `CleanText` también normaliza los finales de línea, haciendo que la salida sea segura para almacenar en bases de datos o pasar a otros servicios. + +## Paso 6 – Mostrar el Texto Limpio + +Finalmente, muestra o guarda el resultado. En una aplicación de consola, `Console.WriteLine` hace el trabajo. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +Al ejecutar el programa, deberías ver un bloque de texto ordenado que refleja el contenido de `invoice.png`. Si la imagen contiene la palabra “Aspose”, el diccionario personalizado garantiza que aparezca correctamente en lugar de algo como “A5p0se”. + +## Ejemplo Completo Funcional + +Juntando todo, aquí tienes el `Program.cs` completo que puedes copiar‑pegar en un nuevo proyecto de consola: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Salida esperada** (suponiendo que el PNG contiene una factura simple): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Si ves símbolos extraños, verifica la calidad de la imagen o amplía el diccionario personalizado con más términos. + +## Bonus: Manejo de Escaneos de Baja Calidad + +A veces los PNG se escanean a 72 dpi o tienen artefactos de compresión fuertes. Aquí tienes algunos trucos rápidos para **mejorar la precisión del OCR** sin salir de C#: + +1. **Pre‑procesar la imagen** con una biblioteca como `SixLabors.ImageSharp` – aumentar el contraste, convertir a escala de grises o aplicar un ligero desenfoque para reducir el ruido. +2. **Establecer la propiedad `Resolution`** en el `OcrEngine` (p. ej., `ocrEngine.Resolution = 300;`) para indicar al motor que trate la imagen como de mayor resolución. +3. **Habilitar paquetes de idioma** si trabajas con texto no inglés (`ocrEngine.Language = Language.English;`). + +Los tres enfoques pueden añadirse antes de la llamada a `RecognizeImage`. + +## Preguntas Frecuentes + +- **¿Esto funciona con otros formatos de imagen?** + Sí. `RecognizeImage` acepta JPEG, BMP, TIFF e incluso PDF (como contenedor de imagen). Los mismos pasos se aplican. + +- **¿Puedo extraer texto de varios PNG en una carpeta?** + Por supuesto. Envuelve la lógica central en un bucle `foreach (var file in Directory.GetFiles(folder, "*.png"))` y guarda cada resultado en una lista o en archivos separados. + +- **¿Qué pasa si necesito las coordenadas del texto?** + Aspose OCR también proporciona objetos `OcrResult` que incluyen cajas delimitadoras. Usa `ocrEngine.RecognizeImageToResult(imagePath)` para ese escenario avanzado. + +## Conclusión + +Hemos recorrido una solución **completa, de extremo a extremo** para **extraer texto de PNG** usando Aspose OCR. Al inicializar el motor, alimentarlo con un **diccionario personalizado**, limpiar la salida cruda y manejar algunos obstáculos comunes, puedes leer texto de imágenes de forma fiable y **mejorar la precisión del OCR** en tus propias aplicaciones C#. + +¿Listo para el siguiente paso? Prueba cambiar el PNG por un recibo escaneado, añade más palabras específicas del dominio al diccionario o integra la salida con una base de datos para procesamiento automático de facturas. El cielo es el límite cuando combinas Aspose OCR con el rico ecosistema de .NET. + +¡Feliz codificación, y que tu OCR siempre sea preciso! + +![Ejemplo de extracción de texto de png](/images/extract-text-from-png.png "extracción de texto de png – demostración de Aspose 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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/spanish/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..548ce323 --- /dev/null +++ b/ocr/spanish/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,261 @@ +--- +category: general +date: 2026-01-09 +description: Extrae texto de archivos TIFF usando Aspose OCR en C#. Aprende cómo obtener + los primeros 50 caracteres de cada resultado en este tutorial paso a paso. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: es +og_description: Extraer texto de TIFF usando Aspose OCR en C#. Esta guía muestra cómo + obtener los primeros 50 caracteres de cada resultado OCR, paso a paso. +og_title: Extraer texto de TIFF con Aspose OCR – Guía completa de C# +tags: +- Aspose OCR +- C# +- TIFF processing +title: Extraer texto de TIFF con Aspose OCR C# – Tutorial completo +url: /es/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extraer Texto de TIFF – Tutorial Completo de Aspose OCR C# + +¿Alguna vez necesitaste **extraer texto de imágenes TIFF** pero no sabías qué biblioteca confiar? No estás solo. Muchos desarrolladores se topan con un muro al intentar obtener texto buscable de TIFFs de varias páginas, especialmente cuando el rendimiento importa. + +En este **aspose ocr c# tutorial** recorreremos un ejemplo listo‑para‑ejecutar que no solo extrae el texto completo sino que también te muestra cómo **obtener los primeros 50 caracteres** de cada página para vistas previas rápidas. Al final tendrás un programa autónomo que puedes incorporar a cualquier proyecto .NET. + +## Lo que Necesitarás + +- .NET 6 (o cualquier versión reciente de .NET) – el código compila tanto con .NET Core como con .NET Framework. +- Una licencia activa de Aspose.OCR para .NET (puedes comenzar con una prueba gratuita). +- Una carpeta que contenga uno o más archivos `.tif` que quieras procesar. +- Visual Studio, VS Code o cualquier IDE que prefieras – el ejemplo es C# puro, por lo que la elección del editor es irrelevante. + +> **Consejo profesional:** Si trabajas en un servidor CI, agrega el paquete NuGet de Aspose.OCR (`Aspose.OCR`) a tu archivo de proyecto; la biblioteca es totalmente administrada y no tiene dependencias nativas. + +## Paso 1: Instalar el Paquete NuGet de Aspose OCR + +Primero lo primero, vamos a traer el motor OCR al proyecto. Abre una terminal en la carpeta de tu solución y ejecuta: + +```bash +dotnet add package Aspose.OCR +``` + +Este comando descarga la última versión estable (a enero 2026 es la 23.9) y actualiza tu `.csproj` automáticamente. No se requiere manipular DLLs manualmente. + +## Paso 2: Inicializar el Motor OCR + +Ahora creamos una instancia de `OcrEngine`. Piensa en él como el “cerebro” que leerá cada página TIFF. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +¿Por qué instanciamos el motor solo una vez? Porque `RecognizeImages` puede aceptar una colección de rutas de archivo, permitiendo que el motor reutilice buffers internos y acelere dramáticamente el procesamiento por lotes. + +## Paso 3: Obtener Todos los Archivos TIFF en una sola Llamada + +En lugar de iterar sobre el directorio tú mismo, dejamos que .NET haga el trabajo pesado. El método `Directory.GetFiles` devuelve un `IEnumerable` que podemos pasar directamente a la llamada OCR. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **¿Y si mis imágenes son JPEG o PNG?** Simplemente cambia el patrón de búsqueda (`"*.jpg"` o `"*.*"`). Aspose OCR funciona con todos los formatos raster comunes. + +## Paso 4: Ejecutar OCR sobre la Colección Completa + +Esta es la línea mágica que procesa cada archivo en una única solicitud. El método devuelve un diccionario donde la clave es la ruta del archivo y el valor es un objeto `OcrResult` que contiene el texto reconocido. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +¿Por qué procesar por lotes? Reduce la sobrecarga de cargar repetidamente el motor OCR y, en máquinas multinúcleo, Aspose paraleliza internamente el trabajo, dándote un notable aumento de velocidad. + +## Paso 5: Mostrar una Vista Previa – Obtener los Primeros 50 Caracteres + +La mayoría de los escenarios UI solo necesitan un fragmento, no todo el documento. Extraeremos los primeros 50 caracteres (o menos si la página es corta) y los imprimiremos junto al nombre del archivo. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +La línea `Math.Min(50, fullText.Length)` garantiza que nunca excedamos los límites de la cadena – una pequeña salvaguarda que evita un `ArgumentOutOfRangeException` cuando el resultado OCR es más corto que 50 caracteres. + +### Salida Esperada en la Consola + +Suponiendo que tienes dos archivos TIFF (`invoice1.tif` y `receipt2.tif`) la consola podría mostrar: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Cada línea termina con una elipsis (`...`) para indicar que la vista previa es solo el comienzo de un bloque de texto más largo. + +## Paso 6: Manejar Casos Límite y Problemas Comunes + +### Archivos Vacíos o Corruptos + +Si un archivo no puede leerse, `RecognizeImages` aún devuelve una entrada con la propiedad `Text` vacía. Puedes filtrarlos así: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Lotes Grandes + +Procesar miles de TIFFs puede consumir mucha memoria. En esos casos, usa la sobrecarga que acepta un `Stream` por imagen, o procesa la lista en bloques más pequeños: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Soporte de Idioma y Fuente + +Si tus documentos contienen caracteres no latinos, establece el idioma antes de llamar a `RecognizeImages`: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Este pequeño ajuste puede mejorar la precisión de forma drástica. + +## Paso 7: Ejemplo Completo (Listo para Copiar‑Pegar) + +A continuación tienes el programa completo que puedes pegar en un nuevo proyecto de consola (`dotnet new console`) y ejecutar tal cual (solo reemplaza `YOUR_DIRECTORY/Batch` por la ruta real). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Ejecuta el programa con `dotnet run`. Deberías ver una vista previa concisa para cada archivo TIFF, confirmando que has **extraído texto de imágenes TIFF** usando Aspose OCR. + +## Preguntas Frecuentes (FAQ) + +**P: ¿Esto funciona con TIFFs de varias páginas?** +R: Sí. Aspose OCR trata cada página como una imagen separada internamente, por lo que un TIFF multipágina genera una única cadena concatenada por archivo. Puedes dividirla después si lo necesitas. + +**P: ¿Qué precisión tiene el OCR por defecto?** +R: Para escaneos limpios y de alta resolución (300 DPI o más) puedes esperar >95 % de precisión en texto en inglés. El pre‑procesamiento (desviación, binarización) puede elevarla aún más. + +**P: ¿Puedo exportar los resultados a un archivo CSV?** +R: Por supuesto. Sustituye el `Console.WriteLine` por un `StreamWriter` y escribe filas `fileName,preview`. Recuerda escapar las comas en el texto de la vista previa. + +## Próximos Pasos y Temas Relacionados + +- **Persistir resultados OCR** – Almacena el texto completo en una base de datos para archivos buscables. +- **Combinar con conversión a PDF** – Usa Aspose.PDF para incrustar el texto extraído en PDFs buscables. +- **Procesamiento por lotes en Azure Functions** – Escala el trabajo OCR sin gestionar servidores. + +Todas estas extensiones se basan en la idea central de **extraer texto de TIFF** de forma eficiente, mientras sigues **obteniendo los primeros 50 caracteres** para vistas previas rápidas en la UI. + +--- + +*¡Feliz codificación! Si encuentras alguna anomalía, deja un comentario abajo – haré lo posible por ayudarte a afinar la canalización OCR.* + +![Extract text from TIFF using Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extract text from TIFF using Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/spanish/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..6613337b --- /dev/null +++ b/ocr/spanish/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-09 +description: Reconoce texto en JPG rápidamente usando Aspose OCR en C#. Aprende a + extraer texto de una imagen, convertir la imagen a JSON y EPUB en un solo tutorial. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: es +og_description: reconocer texto en jpg con Aspose OCR. Esta guía muestra cómo extraer + texto de una imagen, convertir la imagen a JSON y EPUB, y crear un ePub a partir + de una imagen. +og_title: reconocer texto en jpg – Tutorial completo de C# +tags: +- Aspose OCR +- C# +- Image Processing +title: reconocer texto en jpg con Aspose OCR – Guía completa de C# +url: /es/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# reconocer texto en jpg – Guía completa en C# + +¿Alguna vez necesitaste **reconocer texto en jpg** pero no sabías qué biblioteca elegir? No estás solo. Muchos desarrolladores se topan con el mismo obstáculo al intentar extraer palabras de una fotografía o documento escaneado. + +¿La buena noticia? Con Aspose OCR puedes **extraer texto de archivos de imagen** en unas pocas líneas de código C#, y luego **convertir la imagen a JSON** o incluso **convertir la imagen a EPUB**—todo sin salir de tu IDE. + +En este tutorial recorreremos todo el flujo de trabajo: desde la instalación de los paquetes NuGet adecuados, pasando por el reconocimiento de texto en un JPG, hasta guardar el resultado como JSON estructurado y como documento ePub. Al final podrás **crear epub a partir de imágenes** de forma programática, un truco útil para plataformas de e‑learning, bibliotecas digitales o cualquier aplicación que necesite libros electrónicos buscables. + +--- + +## Lo que necesitarás + +- **.NET 6+** (o .NET Framework 4.6+). El código funciona en cualquier runtime reciente. +- Paquete NuGet **Aspose.OCR** – el motor OCR principal. +- Paquete NuGet **Aspose.Publishing** – necesario para el formato de salida ePub. +- Un archivo de imagen llamado `input.jpg` ubicado en alguna parte de tu disco (reemplaza la ruta con la tuya). +- Un editor de texto o IDE (Visual Studio, VS Code, Rider—como prefieras). + +Eso es todo. Sin servicios adicionales, sin APIs externas, solo un par de bibliotecas y un archivo JPG. + +--- + +## Paso 1: Configura tu proyecto para **reconocer texto en jpg** + +Primero, crea una nueva aplicación de consola (o añádela a un proyecto existente). Luego agrega los dos paquetes Aspose mediante el Administrador de paquetes NuGet: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Consejo:** Si usas Visual Studio, haz clic derecho en el proyecto → *Manage NuGet Packages* → busca *Aspose.OCR* y *Aspose.Publishing*, luego haz clic en **Install**. + +Estos paquetes incluyen todo lo necesario para **extraer texto de imagen** y para generar un archivo ePub más adelante. + +--- + +## Paso 2: **Extraer texto de imagen** usando Aspose OCR + +Ahora escribiremos el código que realmente lee el JPG y extrae los caracteres. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Por qué funciona:** `OcrEngine` abstrae todo el preprocesamiento de imagen de bajo nivel, la detección de idioma y la segmentación de caracteres. Simplemente le indicas un archivo y te devuelve un objeto `OcrResult` que contiene la cadena de texto plano (`ocrResult.Text`) y un rico conjunto de metadatos. + +--- + +## Paso 3: **Convertir imagen a JSON** – Exportar el resultado OCR + +Si necesitas almacenar la salida OCR en un formato estructurado (para APIs, bases de datos o procesamiento posterior), Aspose lo hace trivialmente serializando el resultado a JSON. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +El JSON generado se parece aproximadamente a esto (recortado para brevedad): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**Cuándo usarlo:** JSON es perfecto si vas a alimentar los datos OCR a un servicio web, guardarlos en una base NoSQL o simplemente necesitas una representación portable que pueda ser analizada por cualquier lenguaje. + +--- + +## Paso 4: **Convertir imagen a EPUB** – Guardar como libro electrónico + +Aspose Publishing añade soporte para varios formatos de libros electrónicos, incluido EPUB. Al llamar a `Save` sobre el `OcrResult` puedes generar un archivo ePub totalmente compatible que contiene el texto reconocido y, opcionalmente, la imagen original. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**Qué obtienes:** Un ePub que puedes abrir en cualquier lector (Calibre, Apple Books, Adobe Digital Editions). El archivo incluye el texto extraído como contenido buscable, más la imagen fuente como capa de fondo—ideal para crear flujos de **crear epub a partir de imágenes**. + +--- + +## Paso 5: Ejemplo completo – De JPG a JSON y EPUB + +Juntando todo, aquí tienes el programa completo, listo para ejecutar. Copia‑pega esto en `Program.cs`, ajusta las rutas de archivo y pulsa **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Ejecuta el programa y deberías ver tres cosas: + +1. El texto reconocido impreso en la consola. +2. Un archivo `output.json` que contiene los datos OCR estructurados. +3. Un archivo `output.epub` que puedes abrir con cualquier lector de libros electrónicos. + +--- + +## Preguntas frecuentes y casos especiales + +- **¿Y si la imagen es PNG o BMP?** + Aspose OCR soporta la mayoría de los formatos raster (PNG, BMP, TIFF, GIF). Simplemente cambia la extensión del archivo en `inputPath`; el mismo código funciona. + +- **¿Puedo especificar un idioma distinto al inglés?** + Sí. Configura `ocrEngine.Language = OcrLanguage.French;` (o cualquier idioma soportado) antes de llamar a `RecognizeImage`. + +- **¿Qué pasa con PDFs de varias páginas?** + Para PDFs primero conviertes cada página a una imagen (Aspose.PDF puede hacerlo) y luego alimentas cada imagen a `RecognizeImage`. Los objetos `OcrResult` resultantes pueden combinarse antes de exportarlos a JSON o EPUB. + +- **Obtengo puntuaciones de confianza bajas. ¿Cómo mejorar la precisión?** + Preprocesa la imagen: aumenta el contraste, corrige la inclinación o conviértela a escala de grises. Aspose OCR también ofrece `PreprocessOptions` que puedes ajustar. + +--- + +## Conclusión + +Ahora tienes una receta sólida, de extremo a extremo, para **reconocer texto en jpg** usando Aspose OCR, luego **convertir la imagen a JSON** para pipelines de datos y **convertir la imagen a EPUB** para crear libros electrónicos buscables. El enfoque es ligero, requiere solo dos paquetes NuGet y funciona en todos los runtimes .NET modernos. + +A partir de aquí podrías: + +- Integrar la salida JSON en un índice de búsqueda (Azure Cognitive Search, Elastic). +- Procesar por lotes una carpeta de imágenes y generar una biblioteca de libros ePub. +- Extender el flujo con APIs de traducción para crear libros electrónicos multilingües automáticamente. + +Pruébalo, experimenta con diferentes calidades de imagen y deja que el motor OCR haga el trabajo pesado. ¡Feliz codificación! + +--- + +![captura de pantalla de salida de reconocer texto en jpg](placeholder-image.png "ejemplo de reconocer texto en 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/swedish/net/ocr-configuration/_index.md b/ocr/swedish/net/ocr-configuration/_index.md index c6ad0534..a7bd8122 100644 --- a/ocr/swedish/net/ocr-configuration/_index.md +++ b/ocr/swedish/net/ocr-configuration/_index.md @@ -39,9 +39,13 @@ Lås upp kraften med OCR-bildigenkänning i .NET med Aspose.OCR. Extrahera text Lås upp kraftfulla OCR-funktioner med Aspose.OCR för .NET. Extrahera text från bilder sömlöst. ### [OCRoperation med List i OCR-bildigenkänning](./ocr-operation-with-list/) Lås upp potentialen hos Aspose.OCR för .NET. Utför enkelt OCR-bildigenkänning med listor. Öka produktiviteten och datautvinningen i dina applikationer. +### [Hur man OCR:ar bild i C# – Komplett guide med GPU-stöd](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Lär dig att OCR:a bilder i C# med fullständig guide och GPU-stöd för snabbare bearbetning. +### [Känn igen text från bild med Aspose OCR – Komplett C#-guide](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Lär dig att känna igen text i bilder med Aspose OCR i en komplett C#-guide. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/swedish/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..c975acd8 --- /dev/null +++ b/ocr/swedish/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,204 @@ +--- +category: general +date: 2026-01-09 +description: Lär dig hur du OCR:ar en bild och extraherar bildtext med Aspose.OCR. + Inkluderar steg för att konvertera skannat dokument, aktivera GPU och läsa bild + med OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: sv +og_description: Hur man snabbt OCR:ar en bild med Aspose.OCR. Följ den här steg‑för‑steg‑handledningen + för att extrahera bildtext, konvertera skannat dokument och aktivera GPU. +og_title: Hur man OCR:ar en bild i C# – GPU‑accelererad guide +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Hur man OCR:ar bild i C# – Komplett guide med GPU‑stöd +url: /sv/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hur man OCR‑ar bild i C# – Komplett guide med GPU‑stöd + +Har du någonsin undrat **how to OCR image** filer direkt från din .NET-app? Du är inte ensam—utvecklare måste ständigt extrahera text från PDF‑filer, TIFF‑filer och foton, särskilt när de hanterar stora skannade dokument. De goda nyheterna? Med Aspose.OCR kan du **extract image text** på bara några rader, och du kan till och med **enable GPU**‑acceleration för snabbare bearbetning. + +I den här handledningen går vi igenom allt du behöver veta: från att installera biblioteket, till att initiera OCR‑motorn med GPU‑fallback, till slut att **read image with OCR** och visa resultatet. När du är klar kommer du att kunna **convert scanned document**‑bilder till redigerbara strängar—utan externa tjänster. + +--- + +## Vad du behöver + +Innan vi börjar rulla upp ärmarna, se till att du har följande: + +- **.NET 6.0** eller senare (koden fungerar även på .NET Core och .NET Framework). +- En **license** för Aspose.OCR eller en tillfällig utvärderingsnyckel (den kostnadsfria provperioden fungerar för testning). +- En bildfil du vill bearbeta—helst en högupplöst TIFF eller PNG. +- (Valfritt) En GPU‑aktiverad maskin om du vill se hastighetsökningen; annars faller motorn elegant tillbaka till CPU. + +När dessa förutsättningar är uppfyllda kan du fokusera på själva OCR‑arbetsflödet utan att stöta på problem senare. + +--- + +## Steg 1: Installera Aspose.OCR NuGet‑paket + +Först och främst—lägg till Aspose.OCR‑biblioteket i ditt projekt. Öppna en terminal i din lösningsmapp och kör: + +```bash +dotnet add package Aspose.OCR +``` + +Eller, om du använder Visual Studios NuGet‑UI, sök bara efter **Aspose.OCR** och klicka på installera. Detta enkla kommando hämtar alla nödvändiga DLL‑filer, inklusive de inhemska GPU‑binärerna när de finns tillgängliga. + +> **Pro tip:** Håll paketet uppdaterat. Nya versioner innehåller ofta förbättringar av språkmodeller och bättre GPU‑stöd. + +--- + +## Steg 2: Importera nödvändiga namnrymder + +När paketet är installerat, importera de relevanta namnrymderna. Detta steg är där vi börjar **how to OCR image** i kod. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +Dessa två rader ger dig åtkomst till klassen `OcrEngine` och inställningsobjektet som låter dig växla GPU‑användning. Utan dem skulle kompilatorn inte veta vad `OcrEngine` betyder. + +--- + +## Steg 3: Initiera OCR‑motorn och aktivera GPU + +Om du någonsin har undrat **how to enable GPU** för OCR, så är detta svaret. Vi skapar en instans av `OcrEngineSettings`, sätter `UseGpu`‑flaggan och skickar den till motorkonstruktorn. Motorn upptäcker automatiskt om en kompatibel GPU finns; om inte, faller den tillbaka till CPU—så du behöver ingen extra felhantering. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Varför aktivera GPU alls? För stora bilder—tänk flersidiga TIFF‑filer eller högupplösta skanningar—kan bearbetningstiden minska från flera sekunder till en bråkdel av en sekund. Om du bygger en batch‑bearbetningspipeline, adderas den hastighetsvinsten snabbt. + +--- + +## Steg 4: Utför OCR på din målbild + +Här är där vi faktiskt **read image with OCR**. Ange sökvägen till din fil, så returnerar motorn den igenkända texten som en sträng. Detta fungerar för alla rasterformat som stöds av Aspose (PNG, JPEG, TIFF, BMP, etc.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Om du behöver **convert scanned document** sidor en efter en, loopa helt enkelt över filnamnen och anropa `RecognizeImage` för varje. Metoden är trådsäker, så du kan till och med parallellisera arbetsbelastningen på en fler‑kärnig CPU. + +--- + +## Steg 5: Visa eller spara den extraherade texten + +Till sist skriver vi ut resultatet. I en konsolapp räcker `Console.WriteLine`. I ett verkligt scenario kan du skriva texten till en databas, en JSON‑fil eller skicka den till ett sökindex. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +Raden ovan skriver ut den råa OCR‑utdata. Du kommer att märka radbrytningar, tillfälliga feligenkänningar och eventuellt några stray‑tecken—inget ovanligt för OCR. Efterbehandling (t.ex. regex‑rengöring) kan snygga till resultatet om det behövs. + +> **Note:** Aspose.OCR stöder också språk‑specifika ordböcker. Om du bearbetar icke‑engelska texter, sätt `ocrEngine.Settings.Language` därefter innan du anropar `RecognizeImage`. + +--- + +## Fullt fungerande exempel + +Sätt ihop allt, här är ett fristående program som du kan kopiera och klistra in i ett nytt konsolprojekt: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Förväntad utdata** (avkortad för korthet): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Kör programmet, så bör du se den extraherade texten visas i ditt konsolfönster. Om GPU är tillgänglig blir bearbetningstiden märkbart kortare än på maskiner som bara har CPU. + +--- + +## Vanliga fallgropar & hur du undviker dem + +| Issue | Why It Happens | Fix | +|-------|----------------|-----| +| **Garbage characters** | Lågupplöst källa eller bullrig bakgrund. | Förbehandla bilden (öka DPI, tillämpa binarisering) innan OCR. | +| **GPU not used** | Ingen kompatibel CUDA‑drivrutin installerad. | Verifiera drivrutinsversion, eller sätt `UseGpu = false` för att tvinga CPU. | +| **Out‑of‑memory on large TIFFs** | Laddar hela filen på en gång. | Använd `OcrEngineSettings.MaxMemoryUsage` för att begränsa minnesavtrycket, eller bearbeta sidor individuellt. | +| **Incorrect language detection** | Standardspråket är engelska. | Sätt `ocrEngine.Settings.Language = Language.YourLanguage;` innan du anropar `RecognizeImage`. | + +Genom att hantera dessa edge‑cases säkerställer du att din **how to OCR image**‑implementation förblir robust i olika miljöer. + +--- + +## Utöka lösningen + +När du kan **extract image text**, kanske du vill: + +- **Convert scanned document** PDF‑filer till sökbara PDF‑filer genom att bädda in OCR‑lagret. +- Spara resultat i ett **Azure Cognitive Search**‑index för snabb återhämtning. +- Kedja OCR‑utdata till ett **translation API** om du behöver flerspråkigt stöd. +- Använd **Aspose.OCR’s** `GetBoundingBoxes`‑metod för att lokalisera var varje ord visas på bilden—praktiskt för raderingsverktyg. + +Alla dessa utökningar bygger på samma grundprincip vi gick igenom: initiera motorn, mata in en bild och läs texten. + +--- + +## Slutsats + +Vi har gått igenom ett komplett, end‑to‑end‑exempel på **how to OCR image** med Aspose.OCR i C#. Genom att installera NuGet‑paketet, importera rätt namnrymder, aktivera GPU (eller falla tillbaka till CPU) och anropa `RecognizeImage`, kan du på ett pålitligt sätt **extract image text**, **convert scanned document**‑sidor och **read image with OCR** i vilken .NET‑applikation som helst. + +Prova det på ett fåtal av dina egna skanningar—experimentera med olika bildformat, växla GPU‑flaggan och se hur prestandan förändras. När du är redo, utforska de avancerade funktionerna som språk‑ordböcker eller extrahering av bound‑boxar för att göra din lösning ännu smartare. + +Lycka till med kodandet, och må dina OCR‑pipelines vara snabba, korrekta och problemfria! + +{{< /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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/swedish/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..a0042576 --- /dev/null +++ b/ocr/swedish/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,207 @@ +--- +category: general +date: 2026-01-09 +description: igenkänna text från bild med Aspose OCR i C#. Lär dig hur du inaktiverar + automatisk nedladdning, extraherar kinesisk text från bild och ställer in OCR-språk. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: sv +og_description: Känn igen text från bild med Aspose OCR i C#. Följ den här steg‑för‑steg‑handledningen + för att inaktivera automatisk nedladdning, extrahera kinesisk text från bild och + ställa in OCR-språk. +og_title: igenkänn text från bild med Aspose OCR – Komplett C#-guide +tags: +- Aspose OCR +- C# +- Image Processing +title: Igenkänna text från bild med Aspose OCR – Komplett C#-guide +url: /sv/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# igenkänna text från bild med Aspose OCR – Komplett C#-guide + +Har du någonsin behövt **igenkänna text från bild** men fastnat i konfigurationsdetaljer? Du är inte ensam. Många utvecklare stöter på problem när OCR-motorn försöker ladda ner språkpaket vid körning, eller när de inte kan extrahera kinesiska tecken från ett skyltfoto. + +I den här handledningen går vi igenom en praktisk lösning som visar hur du **inaktiverar automatisk nedladdning**, **extraherar text från bild**, **extraherar kinesisk text från bild**, och **anger OCR-språk** — allt med Aspose OCR för .NET. I slutet har du ett enda körbart program som skriver ut den igenkända texten direkt till konsolen. + +## Vad du kommer att lära dig + +- Hur du installerar och refererar Aspose.OCR NuGet‑paketet. +- Varför det är viktigt att stänga av automatiska resurshämtningar för offline‑ eller säkra miljöer. +- De exakta stegen för att peka motorn mot en lokal språkpaket‑mapp. +- Hur du väljer rätt språk (Förenklad kinesiska) innan du bearbetar en bild. +- Verifiera resultatet och felsöka vanliga fallgropar. + +Ingen tidigare erfarenhet av Aspose krävs; bara en grundläggande C#‑miljö och en bildfil du vill läsa. + +## Förutsättningar + +| Requirement | Reason | +|-------------|--------| +| .NET 6.0 eller senare (eller .NET Framework 4.7+) | Aspose.OCR stödjer dessa runtime‑miljöer. | +| Visual Studio 2022 (eller någon IDE du föredrar) | För enkel projektskapning och felsökning. | +| En bildfil som innehåller kinesisk text (t.ex. `chinese-sign.jpg`) | För att demonstrera **extrahera kinesisk text från bild**. | +| Lokal kopia av Aspose OCR‑språkpaket (nedladdade en gång från Aspose‑portalen) | Behövs eftersom vi kommer att **inaktivera automatisk nedladdning**. | + +Se till att språkpaket‑ZIP‑filerna ligger i en mapp du kan referera till, till exempel `C:\MyOCR\Resources`. + +## Steg 1: Igenkänna text från bild – Konfigurera OCR-motorn + +Först och främst: vi behöver ett `OcrEngineSettings`‑objekt som talar om för Aspose var resurserna finns. Detta är grunden för alla **extrahera text från bild**‑operationer. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +Varför sätta `AutoDownloadResources` till `false`? I produktionsmiljöer kör du ofta bakom brandväggar, eller så vill du helt enkelt inte att din app ska nå internet vid körning. Att inaktivera funktionen garanterar att motorn endast använder filerna du placerat i `ResourceFolder`, vilket också snabbar upp initieringen. + +## Steg 2: Skapa OCR-motorn med de angivna inställningarna + +Nu när inställningarna är klara instansierar vi motorn. Detta steg är där **ange OCR-språk**‑funktionen senare kommer in i bilden. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +`OcrEngine`‑objektet är lättviktigt; det laddar faktiskt inte någon språkdata förrän du tilldelar ett språk. Denna lata laddning är anledningen till att du säkert kan skapa motorn även om resursmappen är tom — inget går sönder förrän du försöker **extrahera kinesisk text från bild**. + +## Steg 3: Ange OCR-språk – Välj förenklad kinesiska + +Aspose stödjer dussintals språk, var och en paketerad som en ZIP‑fil. Eftersom vårt exempelbild innehåller förenklade kinesiska tecken sätter vi explicit språket innan igenkänning. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +Om du glömmer detta steg så använder motorn som standard engelska och du får skräpoutput. Observera också att språknamnet måste matcha ZIP‑filens namn i `ResourceFolder`. Till exempel bör `ChineseSimplified.zip` finnas där. + +## Steg 4: Extrahera text från målbilden + +Med motorn konfigurerad och språket angivet, **igenkänner vi nu text från bild**. Metoden returnerar en vanlig sträng som du kan logga, lagra eller skicka vidare till ett annat system. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Anropet till `RecognizeImage` gör allt tungt arbete: förbehandling, segmentering, teckenmatchning och slutligen sammansättning av resultatet. Om bilden är tydlig och språkpaketet korrekt, kommer du att se de kinesiska tecknen skrivas ut i konsolen. + +> **Tip:** Om du bara vill extrahera en del av bilden (t.ex. ett specifikt område), använd överlagringen `RecognizeImage(string, Rectangle)` för att skicka ett beskärningsrektangel. + +## Fullständigt fungerande exempel + +Nedan är hela programmet som du kan kopiera‑klistra in i ett nytt konsolprojekt. Det innehåller `using`‑satserna, inställningarna, språkvalet och det slutgiltiga resultatet. Spara det som `Program.cs`, återställ NuGet‑paketen och kör. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Förväntad output + +Om `chinese-sign.jpg` innehåller frasen “欢迎光临”, kommer konsolen att visa något i stil med: + +``` +=== Recognized Text === +欢迎光临 +``` + +Den exakta formateringen kan variera beroende på bildkvaliteten, men tecknen bör vara läsbara. + +## Vanliga fallgropar & proffstips + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| **Tom sträng returneras** | Språkpaket ej hittat eller `AutoDownloadResources` försöker fortfarande hämta det | Verifiera sökvägen till `ResourceFolder` och säkerställ att `ChineseSimplified.zip` finns. | +| **Skräptecken** | Bilden är suddig eller har låg kontrast | Förbehandla bilden (öka kontrast, binarisera) innan du skickar den till `RecognizeImage`. | +| **Exception: `FileNotFoundException`** | Fel bildsökväg | Använd en absolut sökväg eller placera bilden i projektets output‑katalog och referera den med `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`. | +| **Prestandafördröjning** | Stora bilddimensioner | Ändra storlek på bilden till en rimlig bredd (t.ex. 1024 px) innan igenkänning. | + +**Pro tip:** Förvara språkpaketen i en versionskontrollerad mapp. När du uppgraderar Aspose.OCR kan de nya paketen ha andra namnkonventioner, vilket tyst kan bryta din **inaktivera automatisk nedladdning**‑strategi. + +## Utöka exemplet + +Nu när du kan **igenkänna text från bild**, kanske du vill: + +- **Batch‑processa** en mapp med bilder (loopa över filer, anropa `RecognizeImage` varje gång). +- **Exportera** resultaten till en CSV‑ eller JSON‑fil för vidare analys. +- **Kombinera** OCR med översättnings‑API:er för att omvandla kinesiska skyltar till engelska i realtid. + +Alla dessa scenarier återanvänder samma kärnsteg: konfigurera en gång, ange språket och anropa `RecognizeImage`. Den modulära designen håller koden ren och lätt att underhålla. + +## Slutsats + +Du har just lärt dig hur du **igenkänner text från bild** med Aspose OCR i C#. Genom att explicit **inaktivera automatisk nedladdning**, peka motorn mot en lokal resursmapp och **ange OCR-språk** till förenklad kinesiska, kan du på ett pålitligt sätt **extrahera kinesisk text från bild** och alla andra språk du tillhandahåller. + +Den kompletta, körbara koden ovan demonstrerar ett praktiskt arbetsflöde som du kan släppa in i riktiga projekt. Härifrån kan du experimentera med olika bildkvaliteter, lägga till felhantering eller integrera resultatet i ett större system. Möjligheterna är praktiskt taget oändliga. + +Har du frågor om andra språk, prestandaoptimering eller moln‑distribution? Lämna gärna en 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/swedish/net/ocr-optimization/_index.md b/ocr/swedish/net/ocr-optimization/_index.md index cef3fac3..f60febc7 100644 --- a/ocr/swedish/net/ocr-optimization/_index.md +++ b/ocr/swedish/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ Utforska Aspose.OCR för .NET. Öka OCR-noggrannheten med förbehandlingsfilter. Förbättra OCR-noggrannheten med Aspose.OCR för .NET. Korrigera stavningar, anpassa ordböcker och uppnå felfri textigenkänning utan ansträngning. ### [Spara flersidigt resultat som dokument i OCR-bildigenkänning](./save-multipage-result-as-document/) Lås upp potentialen hos Aspose.OCR för .NET. Spara enkelt flersidiga OCR-resultat som dokument med denna omfattande steg-för-steg-guide. +### [c# OCR-handledning: Känn igen text från bild med förbehandling](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Lär dig hur du förbättrar OCR-genkänning genom att förbehandla bilder innan textidentifiering i C#. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/swedish/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..078971a5 --- /dev/null +++ b/ocr/swedish/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,231 @@ +--- +category: general +date: 2026-01-09 +description: c# ocr‑handledning som visar hur man känner igen text från en bild och + förbehandlar bilden för OCR med Aspose.OCR‑filter – steg‑för‑steg‑guide. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: sv +og_description: c# OCR-handledning som guidar dig genom att känna igen text från en + bild och förbehandla bilden för OCR med Aspose.OCR-filter. Komplett kod medföljer. +og_title: c# OCR-handledning – Känn igen text från bild med förbehandling +tags: +- OCR +- C# +- Image Processing +title: 'c# OCR-handledning: känna igen text från bild med förbehandling' +url: /sv/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – känna igen text från bild med förbehandling + +Har du någonsin undrat hur man **känner igen text från bild** i en C#‑applikation utan att spendera veckor på att justera filter? Du är inte ensam. I den här **c# ocr tutorial** går vi igenom ett komplett, färdigt exempel som inte bara läser texten utan också **förbehandlar bilden för OCR** för att öka noggrannheten. + +Vi kommer att använda Aspose.OCR‑biblioteket eftersom det levereras med en praktisk filterpipeline som låter dig ansluta steg för lutningskorrigering, brusreducering och kontrastökning med bara några rader kod. I slutet av den här guiden har du en konsolapp som kan ta en sned, brusig PNG, rensa den och skriva ut den extraherade strängen – allt med tydliga förklaringar till varför varje steg är viktigt. + +## Förutsättningar + +Innan vi dyker ner, se till att du har: + +| Krav | Varför det är viktigt | +|------|------------------------| +| .NET 6 SDK (or later) | Moderna C#‑funktioner och bättre prestanda | +| Visual Studio 2022 (or VS Code) | Bekväm felsökning och IntelliSense | +| NuGet package **Aspose.OCR** | Tillhandahåller `OcrEngine` och filterklasser | +| En inmatningsbild (t.ex. `skewed‑noisy.png`) | Visar behovet av förbehandling | + +Om någon av dessa saknas, installera dem först. NuGet‑steget behandlas i nästa avsnitt. + +## Steg 1: Installera Aspose.OCR via NuGet + +Öppna din terminal (eller Package Manager Console) och kör: + +```bash +dotnet add package Aspose.OCR +``` + +> **Proffstips:** Använd flaggan `--version` för att låsa till en specifik version om du behöver reproducerbara byggen. + +Paketet levereras med alla filter vi kommer att behöva, så inga extra DLL‑filer krävs. + +## Steg 2: Initiera OCR‑motorn – hjärtat i c# ocr tutorial + +Att skapa motorn är enkelt, men det är bra att förstå vad som händer under huven. `OcrEngine` innehåller en pipeline av **filter** som manipulerar bitmapen innan igenkänningsalgoritmen körs. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Varför initiera först?** Motorn cachar interna resurser (som språkmodeller). Att återanvända en enda instans över flera bilder sparar minne och snabbar upp efterföljande igenkänningar. + +## Steg 3: Förbehandla bild för OCR – lägg till lutningskorrigering, brusreducering och kontrastökning + +De flesta verkliga skanningar är inte perfekta; de är lutande, prickiga eller för mörka. Därför är **förbehandla bild för OCR** ett kritiskt steg. Aspose tillhandahåller tre filter som fungerar bra ihop: + +| Filter | Vad den gör | Typiskt användningsområde | +|--------|--------------|---------------------------| +| `DeskewFilter` | Roterar bilden för att korrigera snedhet | Skannade dokument från en skanner | +| `DenoiseFilter` | Tar bort isolerade pixlar (“salt‑and‑pepper” brus) | Fotografier i svagt ljus | +| `ContrastBoostFilter` | Ökar kontrasten för att skärpa textkanter | Blekta utskrifter eller lågupplösta bilder | + +Koden nedan lägger till varje filter i motorns pipeline: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **Hur det fungerar:** När du senare anropar `RecognizeImage` kommer motorn sekventiellt köra dessa tre filter innan den rena bitmapen skickas till igenkännarkärnan. + +### Visuell illustration (valfritt) + +Om du bäddar in en bild, se till att alt‑texten innehåller huvudnyckelordet: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Steg 4: Känna igen text från bild – sanningsögonblicket + +Nu när bilden är förbehandlad kan vi äntligen extrahera tecknen. Metoden returnerar en vanlig sträng, som du kan logga, lagra eller skicka vidare till ett annat system. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Förväntad output + +Att köra exemplet mot en typisk fakturaskanning ger något i stil med: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +Om outputen ser förvrängd ut, dubbelkolla bildkvaliteten och överväg att justera `ContrastBoostFilter.Level` (värden > 2.0 kan bli för aggressiva). + +## Steg 5: Output resultatet och valfri efterbehandling + +En konsolapp kan helt enkelt skriva ut strängen, men många projekt behöver extra hantering – som att trimma whitespace, ta bort radbrytningar eller föra in texten i en databas. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Varför efterbehandla? + +Även med bra förbehandling introducerar OCR ofta oönskade radbrytningar eller osynliga tecken. En snabb `Replace`‑kedja kan göra datan mycket mer användbar i efterföljande steg. + +## Steg 6: Fullt fungerande exempel – klar att kopiera och klistra in + +Nedan är det **kompletta** programmet som du kan kompilera och köra direkt. Det inkluderar alla `using`‑satser, filterinställning, OCR‑anrop och output‑hantering. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**Hur du kör det** + +1. Spara filen som `Program.cs` i ett nytt konsolprojekt (`dotnet new console`). +2. Ersätt `YOUR_DIRECTORY/skewed-noisy.png` med den faktiska sökvägen till din testbild. +3. Kör `dotnet run`. Du bör se OCR‑outputen skriven i terminalen. + +## Vanliga fallgropar & tips (känna igen text från bild pålitligt) + +| Problem | Vad att kontrollera | Lösning | +|---------|---------------------|---------| +| **Skräptecken** | Bilden är för mörk eller lågupplöst | Öka `ContrastBoostFilter.Level` eller använd en högre upplösning | +| **Saknade rader** | Deskew korrigerade inte vinkeln helt | Rotera bilden manuellt först, eller justera `DeskewFilter` tolerans | +| **Långsam prestanda** | Bearbetar många stora bilder i en loop | Återanvänd samma `OcrEngine`‑instans och anropa `ocrEngine.Clear()` efter varje körning | +| **Ej stödd språk** | Texten är inte engelska | Ställ in `ocrEngine.Language = OcrLanguage.French` (eller ett annat stödd språk) före igenkänning | + +### Edge case: hantera flersidiga PDF‑filer + +Om du behöver OCR:a en PDF, konvertera varje sida till en bild (t.ex. med `Aspose.PDF`) och mata in dem en‑och‑en i samma motor. Förbehandlingspipen förblir identisk, vilket säkerställer konsekventa resultat över sidorna. + +## Slutsats + +I den här **c# ocr tutorial** har vi gått igenom allt du behöver för att **känna igen text från bild** och **förbehandla bild för OCR** med Aspose.OCR:s inbyggda filter. Genom att initiera motorn, lägga till lutningskorrigering, brusreducering och kontrastökning, och slutligen anropa `RecognizeImage`, får du ren, pålitlig textutvinning med bara några få kodrader. + +Känn dig fri att experimentera – byt ut ett filter, justera kontrastnivån, eller integrera resultatet i en större datapipeline. Koncepten gäller för alla OCR‑bibliotek: förbehandling är ofta skillnaden mellan en halvt läst faktura och ett perfekt fångat dokument. + +Har du fler frågor? Kanske är du nyfiken på att hantera handskriven text eller batch‑processa tusentals filer. Lämna en kommentar så utforskar vi de scenarierna tillsammans. 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/swedish/net/text-recognition/_index.md b/ocr/swedish/net/text-recognition/_index.md index fbefcc10..2ad37aab 100644 --- a/ocr/swedish/net/text-recognition/_index.md +++ b/ocr/swedish/net/text-recognition/_index.md @@ -55,9 +55,22 @@ Förbättra dina .NET-applikationer med Aspose.OCR för effektiv bildtextigenkä Lås upp potentialen för OCR i .NET med Aspose.OCR. Extrahera text från PDF-filer utan ansträngning. Ladda ner nu för en sömlös integrationsupplevelse. ### [Identifiera tabell i OCR-bildigenkänning](./recognize-table/) Lås upp potentialen hos Aspose.OCR för .NET med vår omfattande guide om att känna igen tabeller i OCR-bildigenkänning. +### [c# OCR-handledning – Extrahera hindi-text från PNG-kvitton](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Lär dig hur du använder Aspose.OCR för .NET för att extrahera hindi-text från PNG-recept med C#. +### [Känn igen text i jpg med Aspose OCR – Komplett C#-guide](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Lär dig steg-för-steg hur du med Aspose OCR och C# extraherar text från JPG‑bilder. +### [c# OCR-handledning – Extrahera text från bild och DJVU-filer](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Lär dig hur du med Aspose.OCR för .NET extraherar text från bild- och DJVU-filer med C#. +### [c# OCR-handledning – Extrahera text från TIFF med Aspose OCR](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Lär dig steg-för-steg hur du med Aspose OCR och C# extraherar text från TIFF‑filer. +### [c# OCR-handledning – Extrahera text från bilder med Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Lär dig steg-för-steg hur du med Aspose OCR och C# extraherar text från bilder. +### [Extrahera text från PNG – Komplett Aspose OCR-handledning](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Lär dig steg-för-steg hur du med Aspose OCR och C# extraherar text från PNG‑bilder. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/swedish/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..f6dc103e --- /dev/null +++ b/ocr/swedish/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,213 @@ +--- +category: general +date: 2026-01-09 +description: c# ocr-handledning för att läsa text från PNG, konvertera bild till text + och känna igen hindi‑text på ett kvitto med Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: sv +og_description: c# OCR-handledning som lär dig hur du läser text från PNG, konverterar + bild till text och känner igen hindi‑text på ett kvitto med Aspose OCR. +og_title: c# OCR-handledning – Extrahera hindi-text från PNG-kvitton +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# OCR-handledning – Extrahera hindi‑text från PNG‑kvitton +url: /sv/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Extrahera Hindi-text från PNG-kvitton + +Har du någonsin undrat hur man **läser text från PNG**-filer i en C#-applikation? Kanske har du en massa Hindi-kvitton och behöver hämta beloppen automatiskt. Det är precis vad den här c# ocr‑tutorialen handlar om—att omvandla en bild till sökbar text med bara några rader kod. + +I den här guiden går vi igenom hur du installerar Aspose OCR, laddar en PNG‑kvitto, känner igen Hindi‑tecken och slutligen skriver ut den extraherade strängen till konsolen. När du är klar kommer du kunna **convert image to text**, **recognize Hindi text** och till och med **extract text from receipt**‑bilder utan att lämna din IDE. + +> **Prerequisite note:** Du behöver en giltig Aspose OCR‑licens (eller så kan du använda gratisprovversionen) och .NET 6+ installerat. Om du är ny på NuGet, oroa dig inte—vi går igenom det också. + +## Vad du behöver + +- **Visual Studio 2022** (eller någon C#‑kompatibel editor) +- **.NET 6 SDK** (eller senare) +- **Aspose.OCR** NuGet‑paket + ```bash + dotnet add package Aspose.OCR + ``` +- En exempel‑kvitto‑bild, t.ex. `hindi-receipt.png`, sparad i din projektmapp. + +När du har dessa redo kan du kopiera‑klistra in den färdiga koden och trycka **F5** omedelbart. + +## Steg 1: Skapa projektet och importera namnrymder + +Först, skapa ett konsolprojekt om du inte redan har ett: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Öppna nu `Program.cs`. Längst upp importerar du Aspose OCR‑namnrymderna så att kompilatorn vet var klasserna finns: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Why this matters:** `OcrEngine` finns i `Aspose.OCR`, medan språk‑relaterade enums finns i `Aspose.OCR.Settings`. Att glömma någon av dem kommer orsaka ett kompileringsfel. + +## Steg 2: Initiera OCR‑motorn och välj språkmodellen + +OCR‑motorn måste veta **vilket språk** den ska leta efter. Aspose levereras med många språkpaket; att ange `OcrLanguage.Hindi` talar om för motorn att ladda ner (om det saknas) och använda Hindi‑modellen. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Pro tip:** Om du planerar att bearbeta kvitton på flera språk kan du byta `Language` vid körning eller till och med aktivera `MultiLanguage`‑läge. + +## Steg 3: Mata PNG‑kvitton till motorn + +Här är där vi **read text from PNG**. Ange den fullständiga sökvägen (relativt den körbara filen fungerar bra). Metoden returnerar en vanlig sträng som innehåller allt motorn kunde tyda. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Om bilden har hög upplösning och texten är ren får du nästan perfekta resultat. För brusiga skanningar, överväg förbehandling (t.ex. binarisering) – Aspose erbjuder `PreprocessImage`‑metoder som du kan utforska senare. + +## Steg 4: Visa eller spara den extraherade texten + +De flesta utvecklare dumpar helt enkelt resultatet till konsolen under testning. I ett produktionsscenario kan du skriva till en databas eller en CSV‑fil. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +När du kör programmet med exempel‑kvittot skrivs något liknande ut: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +Det är **convert image to text**‑delen i aktion—ingen manuell transkription behövs. + +## Fullt fungerande exempel (Klar att kopiera‑klistra in) + +Nedan är det kompletta, självständiga programmet. Klistra in det i `Program.cs`, placera `hindi-receipt.png` bredvid den kompilerade `.exe`, och tryck **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Förväntad output + +När kvittobilden innehåller tydliga Hindi‑tecken kommer konsolen att visa de extraherade raderna, med radbrytningar bevarade. Om OCR misslyckas med att känna igen ett ord ser du ett förvrängt fragment—bara en signal att förbättra bildkvaliteten eller justera förbehandlingen. + +## Steg 5: Gå längre – extrahera text från kvitto programatiskt + +Om ditt mål är att **extract text from receipt**‑fält (datum, total, fakturanummer) kan du efterbearbeta OCR‑strängen med reguljära uttryck: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +## Vanliga fallgropar & hur man undviker dem + +| Problem | Varför det händer | Lösning | +|-------|----------------|-----| +| **Blank output** | Fel bildsökväg eller filen kopierades inte till output‑mappen. | Använd `Path.GetFullPath` och verifiera att filen finns (`File.Exists`). | +| **Garbage characters** | Lågupplöst PNG eller komprimerade färger. | Skala upp bilden, sätt DPI till 300+, eller använd `ocrEngine.ImagePreprocessor`. | +| **Language model not downloaded** | Ingen internetanslutning vid första körningen. | För‑ladda Hindi‑modellen via Aspose‑portalen eller hosta den lokalt. | +| **Performance lag** | Bearbetar många sidor i en loop utan att frigöra resurser. | Wrappa `OcrEngine` i ett `using`‑block eller återanvänd en enda instans. | + +## Bildillustration + +![c# ocr tutorial läser Hindi-text från PNG‑kvitto](https://example.com/placeholder-image.png "c# ocr tutorial – läs text från png‑kvitto") + +*Skärmbilden visar ett Hindi‑kvitto före och efter OCR‑konvertering.* + +## Sammanfattning: Vad vi gick igenom + +- Skapade en C#‑konsolapp och lade till Aspose OCR‑NuGet‑paketet. +- Initierade `OcrEngine` med språkmodellen **recognize hindi text**. +- **Read text from PNG** med `RecognizeImage`. +- **Convert image to text** och skrev ut resultatet. +- Visade ett enkelt mönster för att **extract text from receipt**‑fält. + +## Nästa steg & relaterade ämnen + +1. **Batch processing** – loopa igenom en mapp med kvittobilder och lagra resultaten i CSV. +2. **Pre‑processing** – utforska `ocrEngine.ImagePreprocessor` för brusreducering, skevkorrektion eller kontrastförbättring. +3. **Multi‑language OCR** – aktivera `OcrLanguage.Multilingual` för att hantera kvitton som blandar Hindi och engelska. +4. **Integration** – skicka extraherad data till en Entity Framework Core‑modell för beständig lagring. + +Om du är nyfiken på någon av dessa, kolla in våra guider om **convert image to text in C#** och **extract structured data from OCR results**. + +### Lycka till med kodandet! + +Känn dig fri att lämna en kommentar om du stöter på problem, eller dela hur du har utökat denna **c# ocr tutorial** i dina egna projekt. Kom ihåg, OCR är bara första steget—ren data är där den verkliga magin händer. 🚀 + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/swedish/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..d30f3b2e --- /dev/null +++ b/ocr/swedish/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR-handledning som visar hur man extraherar text från bildfiler och + konverterar DJVU till text med Aspose.OCR. Lär dig steg‑för‑steg‑extraktion på några + minuter. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: sv +og_description: c# OCR-handledning som snabbt visar hur man extraherar text från bildfiler + och konverterar DJVU till text med Aspose.OCR. Följ guiden för en fungerande lösning. +og_title: c# OCR-handledning – Extrahera text från bild & DJVU +tags: +- OCR +- C# +- Aspose +title: 'c# OCR-handledning: Extrahera text från bild och DJVU-filer' +url: /sv/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR‑handledning – Extrahera text från bild och DJVU‑filer + +Har du någonsin undrat hur man extraherar text från bildfiler utan att rycka ur håret? I den här **c# OCR‑handledningen** går vi igenom ett komplett, färdigt‑att‑köra‑exempel som drar ut text från en vanlig bild *och* ett DJVU‑dokument. + +Om du också letar efter ett snabbt sätt att **konvertera DJVU till text**, är du på rätt plats—inga extra konverterare, bara ren C#‑kod. + +## Vad du kommer att lära dig + +- Hur du installerar Aspose.OCR‑biblioteket i ett .NET‑projekt. +- Den exakta koden du behöver för att **extrahera text från bild**‑filer. +- En kort metod för **extrahering av text från DJVU**‑filer (ja, samma motor gör det). +- Vanliga fallgropar (stora filer, saknade typsnitt, licensiering) och hur du undviker dem. + +Allt du behöver är ett aktuellt .NET‑SDK och en internetanslutning för att hämta NuGet‑paketet. Ingen tidigare OCR‑erfarenhet krävs. + +## Förutsättningar + +| Requirement | Why it matters | +|-------------|----------------| +| .NET 6.0 or later | Aspose.OCR riktar sig mot .NET Standard 2.0, så .NET 6+ ger dig bästa prestanda. | +| Visual Studio 2022 (or VS Code) | IDE:er gör paketshantering smärtfri, men vilken editor som helst fungerar. | +| NuGet package **Aspose.OCR** | Detta är motorn som faktiskt gör det tunga lyftet. | +| A sample image (`sample.png`) and a DJVU file (`sample.djvu`) | Vi kommer att använda dessa för att demonstrera båda extraktionsscenarierna. | + +Du kan installera paketet med följande kommando: + +```bash +dotnet add package Aspose.OCR +``` + +> **Proffstips:** Om du kör på en CI‑server, lägg till `--no-restore` i byggsteget och återställ en gång i början för att snabba upp processen. + +## Steg 1: Initiera OCR‑motorn – hjärtat i c# OCR‑handledningen + +Det första vi gör är att skapa en instans av `OcrEngine`. Tänk på det som att slå på skannern i din programvara. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Varför skapa en ny motor varje gång? Eftersom motorn innehåller konfiguration (språk, detekteringsläge osv.). Genom att börja på nytt undviker du att gamla inställningar läcker mellan körningar. + +## Steg 2: Ladda och känna igen en bild – hur man extraherar text från bild + +Nu matar vi in en vanlig bitmap (PNG, JPEG, BMP…) i motorn. Metoden `RecognizeImage` returnerar den detekterade strängen. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +A few things to note: + +* **Filens existens** – Om sökvägen är fel kastar metoden `FileNotFoundException`. Omge den med ett `try/catch` om du förväntar dig användar‑angivna sökvägar. +* **Bildkvalitet** – OCR fungerar bäst på 300 dpi eller högre. Lågreolerade skanningar kan ge förvrängd output. +* **Språkstöd** – Som standard antar Aspose.OCR engelska. För att ändra det, sätt `ocrEngine.Language = Language.Spanish;` innan `RecognizeImage`. + +## Steg 3: Känna igen text från ett DJVU‑dokument – konvertera DJVU till text + +DJVU är ett containerformat som kan innehålla flera sidor. Aspose.OCR kan hantera det direkt; du pekar bara på filen. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +Bakom kulisserna extraherar motorn varje sida som en bild och kör samma igenkänningspipeline. Därför behöver du inget separat steg för “konvertera DJVU till text”—OCR‑motorn gör det åt dig. + +### Hantera flersidiga DJVU‑filer + +Om ditt DJVU innehåller flera sidor, concatenar `RecognizeImage` dem i ordning. Om du behöver varje sida separat, kan du använda överlagringen som returnerar en `List`: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Steg 4: Finjustera motorn för bättre noggrannhet – varför detta är viktigt + +Resultaten direkt ur lådan är hyfsade, men du kan förbättra dem genom att justera ett par inställningar: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Dessa flaggor är särskilt användbara när du **extraherar text** från skannade PDF‑filer som först sparats som DJVU. Att slå på orienteringsdetektering sparar dig från att manuellt rotera bilder. + +## Steg 5: Hantera licensiering och körningsfel + +Aspose.OCR levereras med en gratis provversion som stämplar “Demo” på output efter några sidor. För att ta bort vattenstämpeln, lägg till din licensfil: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Om du glömmer detta steg fungerar motorn fortfarande, men resultatet kommer att innehålla ordet “Demo”. Var också uppmärksam på `OutOfMemoryException` när du bearbetar enorma DJVU‑filer—överväg att bearbeta sida‑för‑sida som visat tidigare. + +## Komplett, körbart exempel + +Nedan är ett självständigt konsolprogram som sätter ihop allt. Kopiera‑klistra, justera filsökvägarna och tryck på **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Förväntad output** (förutsatt att filerna innehåller frasen “Hello World”): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Om källan innehåller flera rader kommer de att visas exakt som i originaldokumentet. + +## Vanliga frågor & hantering av kantfall + +* **Vad händer om bilden är svart‑vit?** + OCR fungerar bra, men du kan förbättra kontrasten med `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +* **Kan jag extrahera bara siffror?** + Ja—sätt `ocrEngine.CharWhitelist = "0123456789";` innan du anropar `RecognizeImage`. + +* **Finns det någon gräns för filstorlek?** + Motorn läser in hela filen i minnet. För filer större än ~100 MB, bearbeta sida‑för‑sida (se steg 3:s list‑överlagring). + +* **Hur skiljer sig detta från Tesseract?** + Aspose.OCR är ett kommersiellt bibliotek med inbyggt DJVU‑stöd och utan inhemska beroenden, medan Tesseract kräver native‑binärer och separata verktyg för DJVU‑konvertering. + +## Slutsats + +Du har just slutfört en **c# OCR‑handledning** som visar hur man **extraherar text från bild**‑filer och sömlöst **konverterar DJVU till text** med Aspose.OCR. Exemplet täcker allt från paketinstallation till licensiering, från enkelsidig bildextraktion till hantering av flersidiga DJVU‑filer, och även tips för att öka noggrannheten. + +Nästa steg kan du utforska **hur man extraherar text** från PDF‑filer, integrera OCR‑steget i ett webb‑API, eller experimentera med språkpaket för flerspråkiga dokument. Himlen är gränsen—kom bara ihåg huvudpoängerna: ställ in motorn, mata den med en fil, och läs tillbaka strängen. + +Har du fler frågor? Lämna en kommentar, prova koden på dina egna dokument, och lycka till med kodandet! + +![c# OCR‑handledning skärmbild som visar konsoloutput](/images/csharp-ocr-tutorial.png "c# OCR‑handledning – exempel på konsoloutput") + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/swedish/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..ac61536b --- /dev/null +++ b/ocr/swedish/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR-handledning som visar hur man extraherar text från bildfiler, + känner igen text från PNG, konverterar bild till sträng och automatiskt upptäcker + språk med Aspose.OCR. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: sv +og_description: c# ocr‑handledning som guidar dig genom att extrahera text från bilder, + känna igen text från png‑filer, konvertera bilder till strängar och automatiskt + upptäcka språk med Aspose OCR. +og_title: c# OCR-handledning – Extrahera text från bilder +tags: +- C# +- OCR +- Aspose +- Image Processing +title: c# OCR-handledning – Extrahera text från bilder med Aspose OCR +url: /sv/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Extract Text from Images with Aspose OCR + +Har du någonsin behövt en **c# ocr tutorial** som faktiskt fungerar på en riktig PNG‑fil? Kanske bygger du en kvittoscanner, en flerspråkig formulärprocessor, eller är bara nyfiken på hur man omvandlar en bild av text till en sökbar sträng. Oavsett vad, så är du på rätt plats. + +I den här guiden visar vi steg‑för‑steg hur du **extract text from image**, **recognize text from png**, **convert image to string**, och till och med **detect language automatically** — allt med Aspose.OCR‑biblioteket. Inga vaga referenser, bara ett komplett, körbart exempel som du kan kopiera‑klistra in i Visual Studio. + +## What You’ll Need + +- .NET 6.0 eller senare (koden fungerar även med .NET Core och .NET Framework) +- En NuGet‑referens till `Aspose.OCR` (version 23.9 eller nyare) +- En bildfil (`mixed‑script.png` i detta exempel) placerad någonstans där appen kan läsa den +- En grundläggande förståelse för C# (om du har skrivit ett “Hello World”, är du klar) + +> **Pro tip:** Om du ännu inte har någon licens, erbjuder Aspose en gratis tillfällig licens för testning. Lägg bara `.lic`‑filen bredvid din körbara fil. + +## Step 1 – Install the Aspose.OCR NuGet Package + +First, add the library to your project. Open the Package Manager Console and run: + +```powershell +Install-Package Aspose.OCR +``` + +Or, if you prefer the UI, right‑click *Dependencies → Manage NuGet Packages* and search for **Aspose.OCR**. + +## Step 2 – Prepare the OCR Engine (c# ocr tutorial core) + +Now we’ll create an `OcrEngine` instance, tell it to auto‑detect the language, and point it at our PNG file. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Why we set `Language = OcrLanguage.AutoDetect` + +Automatic language detection saves you from guessing whether the image contains English, Russian, Arabic, or a mix. It’s the most flexible option for a **detect language automatically** scenario, and it works out‑of‑the‑box for most scripts supported by Aspose. + +## Step 3 – Run the Application and Verify the Output + +Compile and run the program (`dotnet run` or press **F5** in Visual Studio). If everything is wired correctly, you’ll see something like: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +That output proves we successfully **extract text from image**, **recognize text from png**, and **convert image to string** – all in a single, concise snippet. + +## Step 4 – Common Variations & Edge Cases + +### Handling Multiple Images + +If you need to process a directory of PNGs, wrap the recognition call in a `foreach` loop: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Specifying a Fixed Language + +Sometimes you know the language ahead of time (e.g., only English). You can replace `AutoDetect` with `OcrLanguage.English` to speed up processing: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Dealing With Low‑Quality Scans + +Aspose.OCR offers preprocessing options (noise reduction, deskew). For a quick fix: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Saving the Result to a File + +Instead of printing to console, you might want to write the extracted text to a `.txt` file: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Step 5 – Full Working Example (Copy‑Paste Ready) + +Below is the **complete program** including optional preprocessing and file‑output logic. Feel free to tweak the paths. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Expected Output + +Running the program on a PNG that contains English, Russian, and Arabic yields: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +If the image is blank or unreadable, the engine returns an empty string—handle that case by checking `string.IsNullOrWhiteSpace(extractedText)` before proceeding. + +## Frequently Asked Questions (FAQs) + +**Q: Does Aspose.OCR support handwritten text?** +A: It focuses on printed OCR. For handwriting you’d need a dedicated ML model or a service like Azure Computer Vision. + +**Q: Can I run this on Linux/macOS?** +A: Absolutely. Aspose.OCR is cross‑platform; just install the .NET runtime for your OS. + +**Q: What if I need to process PDFs instead of PNGs?** +A: Convert each PDF page to an image first (e.g., using `Aspose.PDF`) and then feed the image to the OCR engine. + +## Conclusion + +We’ve just completed a **c# ocr tutorial** that walks you through **extracting text from image** files, **recognizing text from png**, **converting the image to a string**, and **detecting language automatically** using Aspose.OCR. The code is short, the concepts are clear, and you can expand it to batch processing, custom language settings, or even integrate it into a web API. + +Next steps? Try feeding the OCR output into a search index, feed it to a translation service, or combine it with Azure Cognitive Services for even richer data pipelines. The sky’s the limit once you’ve mastered the basics of image‑to‑text conversion in C#. + +Happy coding, and don’t forget to experiment with different image qualities—your OCR engine will thank you! + +![c# ocr tutorial – exempel på OCR‑utdata på en blandad‑script PNG](placeholder-image.png "c# ocr tutorial – OCR‑resultat‑skärmbild") + +{{< /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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/swedish/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..36575ace --- /dev/null +++ b/ocr/swedish/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-01-09 +description: Extrahera text från PNG snabbt med Aspose OCR. Lär dig hur du läser bildtext, + förbättrar OCR‑noggrannheten och får rena resultat i C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: sv +og_description: Extrahera text från PNG snabbt med Aspose OCR. Lär dig hur du läser + bildtext, förbättrar OCR‑noggrannheten och får rena resultat i C#. +og_title: Extrahera text från PNG – Komplett Aspose OCR-handledning +tags: +- Aspose OCR +- C# +- Image Processing +title: Extrahera text från PNG – Komplett Aspose OCR-handledning +url: /sv/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrahera text från PNG – Komplett Aspose OCR‑handledning + +Har du någonsin behövt **extrahera text från PNG**‑filer men resultaten var fyllda med nonsens? Du är inte ensam. I många verkliga projekt – fakturor, kvitton eller skannade formulär – kan kvaliteten på OCR‑utdata avgöra om automatiseringspipeline lyckas eller misslyckas. + +I den här guiden visar vi dig ett **steg‑för‑steg**‑sätt för att läsa bildtext med Aspose OCR, lägga till en anpassad ordlista för att **förbättra OCR‑noggrannheten**, rensa bort brus och slutligen skriva ut en prydlig sträng. När du är klar har du en färdig C#‑konsolapp som på ett pålitligt sätt extraherar text från PNG‑bilder. + +> **Vad du får med dig** +> * Ett komplett, körbart kodexempel. +> * Förståelse för varför en anpassad ordlista är viktig. +> * Tips för att hantera kantfall som lågkontrast‑skanningar. + +## Förutsättningar + +- .NET 6 SDK eller senare (koden riktar sig mot .NET 6, men .NET 5 fungerar också). +- Visual Studio 2022 eller någon annan editor du föredrar. +- En **PNG**‑bild du vill bearbeta – till exempel `invoice.png`. +- **Aspose.OCR**‑NuGet‑paketet (`dotnet add package Aspose.OCR`). + +Inga extra konfigurationsfiler behövs; allt lever i en enda `.cs`‑fil. + +## Steg 1 – Installera och referera Aspose OCR + +Först hämtar du biblioteket till ditt projekt. Öppna en terminal i din lösningsmapp och kör: + +```bash +dotnet add package Aspose.OCR +``` + +Den enda raden hämtar den senaste stabila versionen (från och med jan 2026, version 23.9). Paketet innehåller klassen `OcrEngine` som vi kommer att använda genom hela handledningen. + +## Steg 2 – Initiera OCR‑motorn + +Att skapa en `OcrEngine`‑instans är grunden. Tänk på det som att slå på en skanner som är redo att tolka pixlar. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Proffstips:** Om du planerar att bearbeta många bilder i en loop, återanvänd samma `OcrEngine`‑instans. Den cachar interna resurser och snabbar upp efterföljande anrop. + +## Steg 3 – Höj noggrannheten med en anpassad ordlista + +Standard‑OCR är bra, men den kan snubbla på domänspecifika ord som “Aspose”, “OCR” eller “SDK”. Genom att lägga till dessa termer i en **anpassad ordlista** talar du om för motorn att dessa strängar är giltiga, vilket minskar felaktiga igenkänningar. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Varför en anpassad ordlista hjälper + +- **Statistiska modeller** bakom OCR väger vanliga språkmönster tungt. Ovanliga ord får låg sannolikhet och kan ersättas av liknande tecken. +- Genom att explicit lista dem åsidosätter du modellens gissningar. +- Det är särskilt praktiskt för **läsa bildtext** som innehåller produktkoder, förkortningar eller varumärkesnamn. + +## Steg 4 – Känn igen text från PNG‑filen + +Nu matar vi motorn med bildens sökväg. Metoden `RecognizeImage` returnerar en råsträng som fortfarande kan innehålla okända tecken (t.ex. “#@!”) som motorn inte kunde mappa. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Kantfall:** Om filen inte hittas kastar `RecognizeImage` ett `FileNotFoundException`. Omslut anropet med en try‑catch‑block i produktionskod. + +## Steg 5 – Rensa resultatet med `CleanText` + +Aspose OCR levereras med ett verktyg som tar bort tecken som flaggas som “okända”. Detta steg är avgörande för **extrahera text från bild**‑projekt där efterföljande parsers förväntar sig enbart alfanumeriska tecken och grundläggande skiljetecken. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +`CleanText`‑metoden normaliserar också radslut, vilket gör utdata säkra att lagra i databaser eller skicka till andra tjänster. + +## Steg 6 – Skriv ut den rensade texten + +Till sist visar eller sparar du resultatet. I en konsolapp gör `Console.WriteLine` jobbet. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +När du kör programmet bör du se ett prydligt textblock som speglar innehållet i `invoice.png`. Om bilden innehåller ordet “Aspose” säkerställer den anpassade ordlistan att det visas korrekt istället för något som “A5p0se”. + +## Fullt fungerande exempel + +Sätter vi ihop allt får vi den kompletta `Program.cs` som du kan kopiera‑klistra in i ett nytt konsolprojekt: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Förväntad utdata** (förutsatt att PNG‑filen innehåller en enkel faktura): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Om du ser främmande symboler, dubbelkolla bildkvaliteten eller utöka den anpassade ordlistan med fler termer. + +## Bonus: Hantera lågkvalitativa skanningar + +Ibland är PNG‑filer skannade med 72 dpi eller har kraftiga komprimeringsartefakter. Här är några snabba knep för att **förbättra OCR‑noggrannheten** utan att lämna C#: + +1. **Förbehandla bilden** med ett bibliotek som `SixLabors.ImageSharp` – öka kontrast, konvertera till gråskala eller applicera en lätt oskärpa för att minska brus. +2. **Ställ in egenskapen `Resolution`** på `OcrEngine` (t.ex. `ocrEngine.Resolution = 300;`) för att tala om för motorn att behandla bilden som högupplöst. +3. **Aktivera språkpaket** om du arbetar med icke‑engelsk text (`ocrEngine.Language = Language.English;`). + +Alla tre metoder kan läggas till innan anropet till `RecognizeImage`. + +## Vanliga frågor + +- **Fungerar detta med andra bildformat?** + Ja. `RecognizeImage` accepterar JPEG, BMP, TIFF och till och med PDF (som en bildbehållare). Samma steg gäller. + +- **Kan jag extrahera text från flera PNG‑filer i en mapp?** + Absolut. Lägg in kärnlogiken i en `foreach (var file in Directory.GetFiles(folder, "*.png"))`‑loop och lagra varje resultat i en lista eller skriv till separata filer. + +- **Vad händer om jag behöver textens koordinater?** + Aspose OCR erbjuder även `OcrResult`‑objekt som innehåller avgränsningsrutor. Använd `ocrEngine.RecognizeImageToResult(imagePath)` för det avancerade scenariot. + +## Slutsats + +Vi har gått igenom en **komplett, end‑to‑end**‑lösning för **extrahera text från PNG**‑filer med Aspose OCR. Genom att initiera motorn, mata in en **anpassad ordlista**, rensa den råa utdata och hantera några vanliga fallgropar kan du på ett pålitligt sätt **läsa bildtext** och **förbättra OCR‑noggrannheten** i dina egna C#‑applikationer. + +Redo för nästa steg? Prova att byta PNG mot ett skannat kvitto, lägg till fler domänspecifika ord i ordlistan eller integrera utdata med en databas för automatiserad fakturabehandling. Himlen är gränsen när du kombinerar Aspose OCR med .NET:s rika ekosystem. + +Happy coding, and may your OCR always be spot‑on! + +![Exempel på extraherad text från png](/images/extract-text-from-png.png "extrahera text från png – Aspose OCR‑demo") + +{{< /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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/swedish/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..0118a4cc --- /dev/null +++ b/ocr/swedish/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,261 @@ +--- +category: general +date: 2026-01-09 +description: Extrahera text från TIFF‑filer med Aspose OCR i C#. Lär dig hur du får + de första 50 tecknen i varje resultat i den här steg‑för‑steg‑handledningen. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: sv +og_description: Extrahera text från TIFF med Aspose OCR i C#. Den här guiden visar + hur du får de första 50 tecknen i varje OCR‑resultat, steg för steg. +og_title: Extrahera text från TIFF med Aspose OCR – Komplett C#‑guide +tags: +- Aspose OCR +- C# +- TIFF processing +title: Extrahera text från TIFF med Aspose OCR C# – Fullständig handledning +url: /sv/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrahera text från TIFF – Komplett Aspose OCR C# handledning + +Har du någonsin behövt **extrahera text från TIFF**‑bilder men varit osäker på vilket bibliotek du ska lita på? Du är inte ensam. Många utvecklare stöter på problem när de försöker hämta sökbar text från flersidiga TIFF‑filer, särskilt när prestanda är viktigt. + +I den här **aspose ocr c# tutorial** går vi igenom ett färdigt exempel som inte bara extraherar hela texten utan också visar hur du **hämtar de första 50 tecknen** på varje sida för snabba förhandsvisningar. När du är klar har du ett självständigt program som du kan lägga in i vilket .NET‑projekt som helst. + +## Vad du behöver + +- .NET 6 (eller någon nyare .NET‑version) – koden kompileras med både .NET Core och .NET Framework. +- En aktiv Aspose.OCR för .NET‑licens (du kan börja med en gratis provperiod). +- En mapp som innehåller en eller flera `.tif`‑filer du vill bearbeta. +- Visual Studio, VS Code eller någon annan IDE du föredrar – exemplet är ren C# så valet av editor är irrelevant. + +> **Proffstips:** Om du kör på en CI‑server, lägg till Aspose.OCR NuGet‑paketet (`Aspose.OCR`) i din projektfil; biblioteket är helt hanterat och har inga inhemska beroenden. + +## Steg 1: Installera Aspose OCR NuGet‑paketet + +Först och främst, låt oss lägga till OCR‑motorn i projektet. Öppna en terminal i din lösningsmapp och kör: + +```bash +dotnet add package Aspose.OCR +``` + +Detta kommando hämtar den senaste stabila versionen (från och med jan 2026 är den 23.9) och uppdaterar automatiskt din `.csproj`. Ingen manuell DLL‑hantering behövs. + +## Steg 2: Initiera OCR‑motorn + +Nu skapar vi en instans av `OcrEngine`. Tänk på den som “hjärnan” som kommer att läsa varje TIFF‑sida. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Varför instansierar vi motorn bara en gång? Eftersom `RecognizeImages` kan ta emot en samling av filsökvägar, vilket låter motorn återanvända interna buffertar och dramatiskt snabba upp batch‑bearbetning. + +## Steg 3: Samla alla TIFF‑filer i ett anrop + +Istället för att själv loopa över katalogen låter vi .NET göra det tunga arbetet. Metoden `Directory.GetFiles` returnerar ett `IEnumerable` som vi kan skicka direkt till OCR‑anropet. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **Vad händer om mina bilder är JPEG eller PNG?** Ändra bara sökmönstret (`"*.jpg"` eller `"*.*"`). Aspose OCR fungerar med alla vanliga rasterformat. + +## Steg 4: Kör OCR på hela samlingen + +Här är den magiska raden som bearbetar varje fil i ett enda anrop. Metoden returnerar en dictionary där nyckeln är filsökvägen och värdet är ett `OcrResult`‑objekt som innehåller den igenkända texten. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Varför batch‑processa? Det minskar overheaden av att upprepade gånger ladda OCR‑motorn, och på maskiner med flera kärnor parallelliserar Aspose arbetet internt, vilket ger en märkbar hastighetsökning. + +## Steg 5: Visa en förhandsvisning – Hämta de första 50 tecknen + +De flesta UI‑scenarier behöver bara ett utdrag, inte hela dokumentet. Vi extraherar de första 50 tecknen (eller färre om sidan är kort) och skriver ut dem tillsammans med filnamnet. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Raden `Math.Min(50, fullText.Length)` garanterar att vi aldrig överskrider strängens gränser – en liten skyddsåtgärd som förhindrar ett `ArgumentOutOfRangeException` när OCR‑resultatet är kortare än 50 tecken. + +### Förväntad konsolutmatning + +Om du har två TIFF‑filer (`invoice1.tif` och `receipt2.tif`) kan konsolen visa: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Varje rad avslutas med en ellipsis (`...`) för att indikera att förhandsvisningen bara är början på ett längre textblock. + +## Steg 6: Hantera kantfall och vanliga fallgropar + +### Tomma eller korrupta filer + +Om en fil inte kan läsas returnerar `RecognizeImages` fortfarande en post med en tom `Text`‑egenskap. Du kan filtrera bort dem: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Stora batcher + +Att bearbeta tusentals TIFF‑filer kan förbruka mycket minne. I sådana fall, använd överlagringen som accepterar en `Stream` per bild, eller bearbeta listan i mindre delar: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Språk‑ och teckensnittsstöd + +Om dina dokument innehåller icke‑latinska tecken, ange språket innan du anropar `RecognizeImages`: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Denna lilla justering kan öka noggrannheten avsevärt. + +## Steg 7: Fullt fungerande exempel (Klar‑för‑kopiering) + +Nedan är det kompletta programmet som du kan klistra in i ett nytt konsolprojekt (`dotnet new console`) och köra som det är (byt bara ut `YOUR_DIRECTORY/Batch` mot den faktiska sökvägen). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Kör programmet med `dotnet run`. Du bör se en kort förhandsvisning för varje TIFF‑fil, vilket bekräftar att du framgångsrikt **extraherat text från TIFF**‑bilder med Aspose OCR. + +## Vanliga frågor (FAQ) + +**Q: Fungerar detta med flersidiga TIFF‑filer?** +A: Ja. Aspose OCR behandlar varje sida som en separat bild internt, så en flersidig TIFF ger en enda sammansatt sträng per fil. Du kan dela upp den senare om så behövs. + +**Q: Hur exakt är OCR:n direkt ur lådan?** +A: För rena, högupplösta skanningar (300 DPI eller högre) kan du förvänta dig >95 % noggrannhet på engelsk text. Förbehandling (rättning, binarisering) kan öka den ännu mer. + +**Q: Kan jag skriva ut resultaten till en CSV‑fil?** +A: Absolut. Byt ut `Console.WriteLine` mot en `StreamWriter` och skriv raderna `fileName,preview`. Kom ihåg att escapera kommatecken i förhandsvisningstexten. + +## Nästa steg och relaterade ämnen + +- **Spara OCR‑resultat** – Lagra hela texten i en databas för sökbara arkiv. +- **Kombinera med PDF‑konvertering** – Använd Aspose.PDF för att bädda in den extraherade texten tillbaka i sökbara PDF‑filer. +- **Batch‑bearbetning på Azure Functions** – Skala ut OCR‑arbetet utan att hantera servrar. + +Alla dessa tillägg knyter tillbaka till huvudidén att **extrahera text från TIFF** effektivt, samtidigt som du fortfarande kan **hämta de första 50 tecknen** för snabba UI‑förhandsvisningar. + +--- + +*Lycka till med kodandet! Om du stöter på några konstigheter, lämna en kommentar nedan – jag gör mitt bästa för att hjälpa dig finjustera OCR‑pipeline:n.* + +![Extract text from TIFF using Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extract text from TIFF using Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/swedish/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..b24cba90 --- /dev/null +++ b/ocr/swedish/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-09 +description: Känn igen text i jpg snabbt med Aspose OCR i C#. Lär dig hur du extraherar + text från en bild, konverterar bilden till JSON och EPUB i en enda handledning. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: sv +og_description: Känn igen text i jpg med Aspose OCR. Denna guide visar hur man extraherar + text från en bild, konverterar bilden till JSON och EPUB, och skapar en ePub från + en bild. +og_title: Känn igen text i jpg – Fullständig C#‑handledning +tags: +- Aspose OCR +- C# +- Image Processing +title: Igenkänna text i jpg med Aspose OCR – Komplett C#‑guide +url: /sv/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# känna igen text i jpg – Komplett C#-guide + +Har du någonsin behövt **recognize text in jpg**-filer men varit osäker på vilket bibliotek du ska välja? Du är inte ensam. Många utvecklare stöter på samma problem när de först försöker extrahera ord från ett fotografi eller en skannad dokument. + +Den goda nyheten? Med Aspose OCR kan du **extract text from image**-filer med några få rader C#-kod, och sedan omedelbart **convert image to JSON** eller till och med **convert image to EPUB**—allt utan att lämna din IDE. + +I den här handledningen går vi igenom hela arbetsflödet: från att installera rätt NuGet-paket, via att känna igen text i en JPG, till att spara resultatet som strukturerad JSON och som ett ePub-dokument. När du är klar kommer du att kunna **create epub from image**-filer programatiskt, ett praktiskt knep för e‑learning‑plattformar, digitala bibliotek eller vilken app som helst som behöver sökbara e‑böcker. + +--- + +## Vad du behöver + +- **.NET 6+** (eller .NET Framework 4.6+). Koden fungerar på alla moderna runtime-miljöer. +- **Aspose.OCR** NuGet‑paket – OCR‑motorn. +- **Aspose.Publishing** NuGet‑paket – krävs för ePub‑utdataformatet. +- En bildfil med namnet `input.jpg` placerad någonstans på din disk (byt ut sökvägen mot din egen). +- En textredigerare eller IDE (Visual Studio, VS Code, Rider—du bestämmer). + +Det är allt. Inga extra tjänster, inga externa API:er, bara ett par bibliotek och en JPG‑fil. + +--- + +## Steg 1: Ställ in ditt projekt för att **recognize text in jpg** + +Först, skapa en ny konsolapplikation (eller lägg till i ett befintligt projekt). Lägg sedan till de två Aspose‑paketen via NuGet Package Manager: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Pro tip:** Om du använder Visual Studio, högerklicka på projektet → *Manage NuGet Packages* → sök efter *Aspose.OCR* och *Aspose.Publishing*, klicka sedan på **Install**. + +Dessa paket ger dig allt du behöver för att **extract text from image** och för att senare producera en ePub‑fil. + +--- + +## Steg 2: **Extract text from image** med Aspose OCR + +Nu ska vi skriva koden som faktiskt läser JPG‑filen och extraherar tecknen från den. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Varför detta fungerar:** `OcrEngine` döljer all låg‑nivå bildförbehandling, språkdetection och teckensegmentering. Du pekar helt enkelt på en fil så returnerar den ett `OcrResult`‑objekt som innehåller ren textsträng (`ocrResult.Text`) och en rik uppsättning metadata. + +--- + +## Steg 3: **Convert image to JSON** – Exportera OCR‑resultatet + +Om du behöver lagra OCR‑utdata i ett strukturerat format (för API:er, databaser eller efterföljande bearbetning) gör Aspose det enkelt att serialisera resultatet till JSON. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +Den genererade JSON‑strukturen ser ungefär ut så här (kortad för tydlighet): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**När du ska använda den:** JSON är perfekt om du matar OCR‑data till en webbtjänst, lagrar den i en NoSQL‑databas, eller helt enkelt behöver en portabel representation som kan parsas av vilket språk som helst. + +--- + +## Steg 4: **Convert image to EPUB** – Spara som en e‑bok + +Aspose Publishing lägger till stöd för flera e‑bokformat, inklusive EPUB. Genom att anropa `Save` på `OcrResult` kan du generera en fullt kompatibel ePub‑fil som innehåller den igenkända texten och, valfritt, den ursprungliga bilden. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**Vad du får:** En ePub som du kan öppna i vilken läsare som helst (Calibre, Apple Books, Adobe Digital Editions). Filen innehåller den extraherade texten som sökbar innehåll, plus källbilden som ett bakgrundslager—idealiskt för att skapa **create epub from image**‑pipelines. + +--- + +## Steg 5: Fullt fungerande exempel – Från JPG till JSON & EPUB + +När vi sätter ihop allt, här är det kompletta, körklara programmet. Kopiera‑klistra in detta i `Program.cs`, justera filsökvägarna och tryck på **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Kör programmet och du bör se tre saker: + +1. Den igenkända texten skriven i konsolen. +2. En `output.json`‑fil som innehåller den strukturerade OCR‑datan. +3. En `output.epub`‑fil som du kan öppna med vilken e‑boksläsare som helst. + +--- + +## Vanliga frågor & edge‑cases + +- **Vad händer om bilden är en PNG eller BMP?** + Aspose OCR stödjer de flesta rasterformat (PNG, BMP, TIFF, GIF). Byt bara filändelsen i `inputPath`; samma kod fungerar. + +- **Kan jag ange ett annat språk än engelska?** + Ja. Sätt `ocrEngine.Language = OcrLanguage.French;` (eller något annat stödjat språk) innan du anropar `RecognizeImage`. + +- **Hur är det med flersidiga PDF‑filer?** + För PDF‑filer konverterar du först varje sida till en bild (Aspose.PDF kan göra det) och matar sedan varje bild till `RecognizeImage`. De resulterande `OcrResult`‑objekten kan slås ihop innan export till JSON eller EPUB. + +- **Jag får låga förtroendesiffror. Hur kan jag förbättra noggrannheten?** + Förbehandla bilden: öka kontrast, räta upp, eller konvertera till gråskala. Aspose OCR erbjuder också `PreprocessOptions` som du kan justera. + +--- + +## Slutsats + +Du har nu ett robust, end‑to‑end‑recept för att **recognize text in jpg**‑filer med Aspose OCR, sedan **convert image to JSON** för datapipelines och **convert image to EPUB** för att bygga sökbara e‑böcker. Metoden är lättviktig, kräver bara två NuGet‑paket och fungerar på alla moderna .NET‑runtime-miljöer. + +Från detta kan du: + +- Integrera JSON‑utdata i ett sökindex (Azure Cognitive Search, Elastic). +- Batch‑processa en mapp med bilder och generera ett bibliotek av ePub‑böcker. +- Utöka arbetsflödet med översättnings‑API:er för att automatiskt skapa flerspråkiga e‑böcker. + +Prova det, experimentera med olika bildkvaliteter, och låt OCR‑motorn göra det tunga arbetet. Lycka till med kodningen! + +--- + +![recognize text in jpg output screenshot](placeholder-image.png "recognize text in jpg 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/net/ocr-configuration/_index.md b/ocr/thai/net/ocr-configuration/_index.md index b8a87a31..8ed13032 100644 --- a/ocr/thai/net/ocr-configuration/_index.md +++ b/ocr/thai/net/ocr-configuration/_index.md @@ -39,9 +39,13 @@ url: /th/net/ocr-configuration/ ปลดล็อกความสามารถ OCR อันทรงพลังด้วย Aspose.OCR สำหรับ .NET แยกข้อความจากรูปภาพได้อย่างลงตัว ### [OCROperation พร้อมรายการในการจดจำรูปภาพ OCR](./ocr-operation-with-list/) ปลดล็อกศักยภาพของ Aspose.OCR สำหรับ .NET ดำเนินการจดจำรูปภาพ OCR พร้อมรายการได้อย่างง่ายดาย เพิ่มประสิทธิภาพการทำงานและการดึงข้อมูลในแอปพลิเคชันของคุณ +### [วิธีทำ OCR รูปภาพใน C# – คู่มือฉบับสมบูรณ์พร้อมการสนับสนุน GPU](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +เรียนรู้วิธีใช้ Aspose.OCR ใน C# เพื่อแยกข้อความจากรูปภาพด้วยการเร่งความเร็วจาก GPU อย่างเต็มที่ +### [การจดจำข้อความจากรูปภาพด้วย Aspose OCR – คู่มือ C# ฉบับสมบูรณ์](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +เรียนรู้วิธีใช้ Aspose OCR ใน C# เพื่อจดจำข้อความจากรูปภาพอย่างครบถ้วน {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/thai/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..58d42e31 --- /dev/null +++ b/ocr/thai/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-01-09 +description: เรียนรู้วิธีทำ OCR รูปภาพและดึงข้อความจากรูปภาพโดยใช้ Aspose.OCR รวมขั้นตอนการแปลงเอกสารสแกน, + เปิดใช้งาน GPU, และอ่านรูปภาพด้วย OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: th +og_description: วิธีทำ OCR รูปภาพอย่างรวดเร็วด้วย Aspose.OCR. ทำตามบทแนะนำขั้นตอนต่อขั้นตอนนี้เพื่อดึงข้อความจากรูปภาพ, + แปลงเอกสารสแกน, และเปิดใช้งาน GPU. +og_title: วิธีทำ OCR รูปภาพใน C# – คู่มือเร่งความเร็วด้วย GPU +tags: +- OCR +- C# +- Aspose +- Image Processing +title: วิธีทำ OCR รูปภาพใน C# – คู่มือฉบับสมบูรณ์พร้อมการสนับสนุน GPU +url: /th/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีทำ OCR รูปภาพใน C# – คู่มือฉบับสมบูรณ์พร้อมการสนับสนุน GPU + +เคยสงสัย **how to OCR image** ไฟล์โดยตรงจากแอป .NET ของคุณหรือไม่? คุณไม่ได้เป็นคนเดียว—นักพัฒนาต้องการดึงข้อความจาก PDF, TIFF, และรูปถ่ายบ่อยครั้ง โดยเฉพาะเมื่อทำงานกับเอกสารสแกนขนาดใหญ่ ข่าวดีคือ ด้วย Aspose.OCR คุณสามารถ **extract image text** ได้เพียงไม่กี่บรรทัด และยังสามารถ **enable GPU** เพื่อเร่งความเร็วการประมวลผลได้อีกด้วย + +ในบทแนะนำนี้เราจะพาคุณผ่านทุกขั้นตอนที่จำเป็น: ตั้งแต่การติดตั้งไลบรารี, การเริ่มต้น OCR engine พร้อมการสำรอง GPU, จนถึงการ **read image with OCR** และแสดงผลลัพธ์ สุดท้ายคุณจะสามารถ **convert scanned document** เป็นสตริงที่แก้ไขได้—โดยไม่ต้องพึ่งบริการภายนอก + +--- + +## สิ่งที่คุณต้องเตรียม + +ก่อนที่เราจะลงมือทำจริง ให้ตรวจสอบว่าคุณมีสิ่งต่อไปนี้ครบแล้ว: + +- **.NET 6.0** หรือใหม่กว่า (โค้ดนี้ทำงานได้บน .NET Core และ .NET Framework ด้วย) +- **license** สำหรับ Aspose.OCR หรือคีย์ทดลองชั่วคราว (รุ่นทดลองฟรีใช้สำหรับการทดสอบ) +- ไฟล์รูปภาพที่ต้องการประมวลผล—แนะนำให้เป็น TIFF หรือ PNG ความละเอียดสูง +- (ไม่บังคับ) เครื่องที่เปิดใช้งาน GPU หากต้องการเห็นความเร็วที่เพิ่มขึ้น; หากไม่มี engine จะเปลี่ยนไปใช้ CPU อย่างอัตโนมัติ + +เมื่อคุณเตรียมสิ่งเหล่านี้ครบ คุณก็พร้อมเริ่มทำงาน OCR โดยไม่ต้องเจออุปสรรคในภายหลัง + +--- + +## ขั้นตอนที่ 1: ติดตั้งแพคเกจ NuGet ของ Aspose.OCR + +เริ่มแรกให้เพิ่มไลบรารี Aspose.OCR เข้าไปในโปรเจกต์ของคุณ เปิดเทอร์มินัลในโฟลเดอร์โซลูชันแล้วรัน: + +```bash +dotnet add package Aspose.OCR +``` + +หรือถ้าคุณใช้ UI ของ NuGet ใน Visual Studio เพียงค้นหา **Aspose.OCR** แล้วคลิก Install คำสั่งเดียวนี้จะดึง DLL ทั้งหมดที่จำเป็น รวมถึงไบนารี GPU ที่มีให้ใช้ด้วย + +> **เคล็ดลับ:** ควรอัปเดตแพคเกจให้เป็นเวอร์ชันล่าสุดอยู่เสมอ เพราะการปล่อยเวอร์ชันใหม่มักมีการปรับปรุงโมเดลภาษาและการสนับสนุน GPU ที่ดียิ่งขึ้น + +--- + +## ขั้นตอนที่ 2: นำเข้า Namespace ที่จำเป็น + +หลังจากติดตั้งแพคเกจแล้ว ให้นำเข้า namespace ที่เกี่ยวข้องเข้าสู่สโคป ขั้นตอนนี้คือจุดเริ่มต้นของ **how to OCR image** ในโค้ด + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +สองบรรทัดนี้ทำให้คุณเข้าถึงคลาส `OcrEngine` และอ็อบเจ็กต์ตั้งค่าที่ใช้สลับการใช้ GPU หากไม่มีบรรทัดเหล่านี้ คอมไพเลอร์จะไม่รู้จัก `OcrEngine` + +--- + +## ขั้นตอนที่ 3: เริ่มต้น OCR Engine และเปิดใช้งาน GPU + +หากคุณเคยถามว่า **how to enable GPU** สำหรับ OCR นี่คือคำตอบ เราจะสร้างอินสแตนซ์ `OcrEngineSettings` ปรับค่า `UseGpu` แล้วส่งให้กับคอนสตรัคเตอร์ของ engine engine จะตรวจจับว่ามี GPU ที่รองรับหรือไม่โดยอัตโนมัติ; หากไม่มีจะเปลี่ยนไปใช้ CPU—จึงไม่ต้องเขียนโค้ดจัดการข้อผิดพลาดเพิ่มเติม + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +ทำไมต้องเปิด GPU? สำหรับภาพขนาดใหญ่—เช่น TIFF หลายหน้า หรือสแกนความละเอียดสูง—เวลาในการประมวลผลอาจลดจากหลายวินาทีเหลือเพียงเศษวินาที หากคุณสร้าง pipeline การประมวลผลเป็นชุดใหญ่ ความเร็วที่เพิ่มขึ้นนี้จะส่งผลอย่างมาก + +--- + +## ขั้นตอนที่ 4: ทำ OCR กับภาพเป้าหมายของคุณ + +นี่คือขั้นตอนที่เราจริง ๆ **read image with OCR** ให้ระบุพาธไฟล์ของคุณ แล้ว engine จะคืนค่าข้อความที่รับรู้เป็นสตริง ซึ่งทำงานได้กับฟอร์แมตราสเตอร์ที่ Aspose รองรับทั้งหมด (PNG, JPEG, TIFF, BMP ฯลฯ) + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +หากต้องการ **convert scanned document** ทีละหน้า เพียงวนลูปชื่อไฟล์และเรียก `RecognizeImage` สำหรับแต่ละไฟล์ เมธอดนี้ปลอดภัยต่อการทำงานหลายเธรด คุณจึงสามารถทำ parallel processing บน CPU หลายคอร์ได้ + +--- + +## ขั้นตอนที่ 5: แสดงหรือบันทึกข้อความที่สกัดออกมา + +สุดท้ายเราจะเอาผลลัพธ์ออกมาแสดง ในแอปคอนโซล `Console.WriteLine` ทำหน้าที่นี้ได้เลย ในสถานการณ์จริงคุณอาจบันทึกข้อความลงฐานข้อมูล, ไฟล์ JSON, หรือส่งต่อไปยังดัชนีการค้นหา + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +บรรทัดข้างต้นพิมพ์ผลลัพธ์ OCR ดิบออกมา คุณจะสังเกตเห็นการขึ้นบรรทัดใหม่, การรับรู้ที่ผิดพลาดบ้าง, และอักขระแปลก ๆ บางตัว—เป็นเรื่องปกติของ OCR การทำ post‑processing (เช่น regex ทำความสะอาด) สามารถทำให้ผลลัพธ์ดูเรียบร้อยขึ้นได้หากต้องการ + +> **หมายเหตุ:** Aspose.OCR ยังรองรับพจนานุกรมตามภาษา หากคุณประมวลผลข้อความที่ไม่ใช่ภาษาอังกฤษ ให้ตั้งค่า `ocrEngine.Settings.Language` ให้ตรงก่อนเรียก `RecognizeImage` + +--- + +## ตัวอย่างทำงานเต็มรูปแบบ + +รวมทุกขั้นตอนเข้าด้วยกัน นี่คือโปรแกรมแบบ self‑contained ที่คุณสามารถคัดลอกไปวางในโปรเจกต์คอนโซลใหม่ได้เลย: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**ผลลัพธ์ที่คาดหวัง** (ตัดบางส่วนเพื่อความกระชับ): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +รันโปรแกรมแล้วคุณจะเห็นข้อความที่สกัดออกมาปรากฏในหน้าต่างคอนโซล หากมี GPU พร้อมใช้งาน เวลาในการประมวลผลจะสั้นกว่าเครื่องที่ใช้ CPU อย่างเด่นชัด + +--- + +## ปัญหาที่พบบ่อย & วิธีหลีกเลี่ยง + +| ปัญหา | สาเหตุ | วิธีแก้ | +|-------|--------|--------| +| **Garbage characters** | แหล่งที่มามีความละเอียดต่ำหรือมีสัญญาณรบกวน | ทำการ pre‑process ภาพ (เพิ่ม DPI, ใช้การแปลงเป็น binary) ก่อน OCR | +| **GPU not used** | ไม่มีไดรเวอร์ CUDA ที่เข้ากันได้ | ตรวจสอบเวอร์ชันไดรเวอร์ หรือกำหนด `UseGpu = false` เพื่อบังคับใช้ CPU | +| **Out‑of‑memory on large TIFFs** | โหลดไฟล์ทั้งหมดพร้อมกัน | ใช้ `OcrEngineSettings.MaxMemoryUsage` เพื่อลดการใช้หน่วยความจำ หรือประมวลผลทีละหน้า | +| **Incorrect language detection** | ภาษาเริ่มต้นเป็น English | ตั้งค่า `ocrEngine.Settings.Language = Language.YourLanguage;` ก่อนเรียก `RecognizeImage` | + +การจัดการกับกรณีเหล่านี้จะทำให้การ **how to OCR image** ของคุณทำงานได้อย่างมั่นคงในสภาพแวดล้อมที่หลากหลาย + +--- + +## การขยายโซลูชัน + +เมื่อคุณสามารถ **extract image text** ได้แล้ว อาจต้องการทำต่อ: + +- **convert scanned document** PDFs ให้เป็น PDF ที่ค้นหาได้โดยฝังเลเยอร์ OCR +- เก็บผลลัพธ์ในดัชนี **Azure Cognitive Search** เพื่อการดึงข้อมูลที่รวดเร็ว +- เชื่อมต่อผลลัพธ์ OCR กับ **translation API** หากต้องการรองรับหลายภาษา +- ใช้เมธอด `GetBoundingBoxes` ของ **Aspose.OCR** เพื่อหาตำแหน่งของแต่ละคำบนภาพ—เป็นประโยชน์สำหรับเครื่องมือปกปิดข้อมูล + +การต่อยอดทั้งหมดนี้อาศัยหลักการเดียวกันที่เราอธิบายไว้: เริ่ม engine, ป้อนภาพ, แล้วอ่านข้อความ + +--- + +## สรุป + +เราผ่านตัวอย่างครบวงจรของ **how to OCR image** ด้วย Aspose.OCR ใน C# ตั้งแต่การติดตั้ง NuGet, การนำเข้า namespace ที่จำเป็น, การเปิด GPU (หรือ fallback ไป CPU) และการเรียก `RecognizeImage` คุณจึงสามารถ **extract image text**, **convert scanned document** หน้าใดก็ได้, และ **read image with OCR** ในแอป .NET ใดก็ได้ + +ลองใช้กับสแกนของคุณหลาย ๆ แบบ—เปลี่ยนฟอร์แมตภาพ, สลับสวิตช์ GPU, แล้วสังเกตการเปลี่ยนแปลงของประสิทธิภาพ เมื่อพร้อมแล้วสำรวจฟีเจอร์ขั้นสูงเช่นพจนานุกรมภาษา หรือการดึง bounding‑box เพื่อทำให้โซลูชันของคุณฉลาดยิ่งขึ้น + +ขอให้เขียนโค้ดสนุกและ 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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/thai/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..6948be81 --- /dev/null +++ b/ocr/thai/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,206 @@ +--- +category: general +date: 2026-01-09 +description: จดจำข้อความจากภาพโดยใช้ Aspose OCR ใน C# เรียนรู้วิธีปิดการดาวน์โหลดอัตโนมัติ, + แยกข้อความภาษาจีนจากภาพ, และตั้งค่าภาษา OCR. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: th +og_description: จดจำข้อความจากภาพด้วย Aspose OCR ใน C# ทำตามบทแนะนำขั้นตอนต่อขั้นตอนนี้เพื่อปิดการดาวน์โหลดอัตโนมัติ, + แยกข้อความภาษาจีนจากภาพ, และตั้งค่าภาษา OCR. +og_title: แยกข้อความจากภาพด้วย Aspose OCR – คู่มือ C# ฉบับสมบูรณ์ +tags: +- Aspose OCR +- C# +- Image Processing +title: แปลงข้อความจากภาพด้วย Aspose OCR – คู่มือ C# ฉบับสมบูรณ์ +url: /th/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# จดจำข้อความจากภาพด้วย Aspose OCR – คู่มือ C# ฉบับสมบูรณ์ + +เคยต้อง **จดจำข้อความจากภาพ** แต่ติดขัดกับรายละเอียดการตั้งค่าบ้างไหม? คุณไม่ได้อยู่คนเดียว นักพัฒนาหลายคนเจออุปสรรคเมื่อเอ็นจิ้น OCR พยายามดาวน์โหลดแพ็คภาษาในขณะรันไทม์ หรือเมื่อไม่สามารถดึงอักขระจีนออกจากภาพป้ายได้ + +ในบทเรียนนี้เราจะพาคุณผ่านโซลูชันแบบทำตามขั้นตอนที่แสดงให้เห็นว่า **วิธีปิดการดาวน์โหลดอัตโนมัติ**, **วิธีดึงข้อความจากภาพ**, **วิธีดึงข้อความจีนจากภาพ**, และ **วิธีตั้งค่าภาษา OCR**—ทั้งหมดด้วย Aspose OCR สำหรับ .NET. เมื่อเสร็จสิ้นคุณจะได้โปรแกรมเดียวที่รันได้และพิมพ์ข้อความที่จดจำได้โดยตรงไปยังคอนโซล + +## สิ่งที่คุณจะได้เรียนรู้ + +- วิธีการติดตั้งและอ้างอิงแพ็กเกจ Aspose.OCR NuGet +- ทำไมการปิดการดาวน์โหลดทรัพยากรอัตโนมัติจึงสำคัญสำหรับสภาพแวดล้อมออฟไลน์หรือที่ต้องการความปลอดภัย +- ขั้นตอนที่แน่นอนในการชี้เอ็นจิ้นไปยังโฟลเดอร์แพ็คภาษาในเครื่อง +- วิธีเลือกภาษาที่ถูกต้อง (Chinese Simplified) ก่อนประมวลผลภาพ +- การตรวจสอบผลลัพธ์และการแก้ไขปัญหาที่พบบ่อย + +ไม่จำเป็นต้องมีประสบการณ์กับ Aspose มาก่อน; เพียงแค่มีการตั้งค่า C# เบื้องต้นและไฟล์ภาพที่คุณต้องการอ่าน + +## ข้อกำหนดเบื้องต้น + +| ความต้องการ | เหตุผล | +|-------------|--------| +| .NET 6.0 หรือใหม่กว่า (หรือ .NET Framework 4.7+) | Aspose.OCR รองรับรันไทม์เหล่านี้ | +| Visual Studio 2022 (หรือ IDE ใดก็ได้ที่คุณชอบ) | เพื่อการสร้างโปรเจกต์และดีบักที่ง่าย | +| ไฟล์ภาพที่มีข้อความภาษาจีน (เช่น `chinese-sign.jpg`) | เพื่อสาธิต **extract Chinese text image** | +| สำเนาในเครื่องของแพ็คภาษา Aspose OCR (ดาวน์โหลดครั้งเดียวจากพอร์ทัลของ Aspose) | จำเป็นเพราะเราจะ **disable auto download** | + +ตรวจสอบให้แน่ใจว่าไฟล์ ZIP ของแพ็คภาษาอยู่ในโฟลเดอร์ที่คุณอ้างอิงได้, ตัวอย่างเช่น `C:\MyOCR\Resources`. + +## ขั้นตอนที่ 1: จดจำข้อความจากภาพ – ตั้งค่าเอ็นจิ้น OCR + +ก่อนอื่นเราต้องมีอ็อบเจ็กต์ `OcrEngineSettings` ที่บอก Aspose ว่าจะมองหาทรัพยากรที่ไหน. นี่คือพื้นฐานของการทำ **extract text image** ใด ๆ + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +ทำไมต้องตั้งค่า `AutoDownloadResources` เป็น `false`? ในสภาพแวดล้อมการผลิตคุณมักทำงานอยู่หลังไฟร์วอลล์, หรือคุณอาจไม่ต้องการให้แอปของคุณเชื่อมต่ออินเทอร์เน็ตในขณะรันไทม์. การปิดคุณลักษณะนี้รับประกันว่าเอ็นจิ้นจะใช้ไฟล์ที่คุณวางไว้ใน `ResourceFolder` เท่านั้น, ซึ่งยังช่วยเร่งการเริ่มต้นอีกด้วย + +## ขั้นตอนที่ 2: สร้างเอ็นจิ้น OCR ด้วยการตั้งค่าที่ระบุ + +เมื่อการตั้งค่าเตรียมพร้อมแล้ว เราจะสร้างอินสแตนซ์ของเอ็นจิ้น. ขั้นตอนนี้คือจุดที่ความสามารถ **set OCR language** จะเข้ามามีบทบาทในภายหลัง + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +อ็อบเจ็กต์ `OcrEngine` มีน้ำหนักเบา; มันจะไม่โหลดข้อมูลภาษาใด ๆ จนกว่าคุณจะกำหนดภาษา. การโหลดแบบ lazy นี้ทำให้คุณสร้างเอ็นจิ้นได้อย่างปลอดภัยแม้โฟลเดอร์ทรัพยากรจะว่างเปล่า—จะไม่มีอะไรพังจนกว่าคุณจะพยายาม **extract Chinese text image**. + +## ขั้นตอนที่ 3: ตั้งค่าภาษา OCR – เลือก Chinese Simplified + +Aspose รองรับหลายสิบภาษา, แต่ละภาษาถูกบรรจุเป็นไฟล์ ZIP. เนื่องจากภาพตัวอย่างของเรามีอักขระจีนแบบ Simplified เราจึงตั้งค่าภาษาอย่างชัดเจนก่อนทำการจดจำ + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +หากคุณลืมขั้นตอนนี้, เอ็นจิ้นจะใช้ค่าเริ่มต้นเป็นภาษาอังกฤษและคุณจะได้ผลลัพธ์ที่เป็นอักขระผสม. นอกจากนี้, ชื่อภาษาต้องตรงกับชื่อไฟล์ ZIP ภายใน `ResourceFolder`. ตัวอย่างเช่น, ควรมีไฟล์ `ChineseSimplified.zip` อยู่ในโฟลเดอร์นั้น + +## ขั้นตอนที่ 4: ดึงข้อความจากภาพเป้าหมาย + +เมื่อเอ็นจิ้นตั้งค่าแล้วและกำหนดภาษาแล้ว, เราจะ **recognize text from image** สุดท้าย. เมธอดนี้จะคืนสตริงธรรมดาที่คุณสามารถบันทึก, เก็บ, หรือส่งต่อไปยังระบบอื่นได้ + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +การเรียก `RecognizeImage` ทำงานหนักทั้งหมด: การเตรียมข้อมูลล่วงหน้า, การแบ่งส่วน, การจับคู่ตัวอักษร, และสุดท้ายการประกอบผลลัพธ์. หากภาพชัดเจนและแพ็คภาษาถูกต้อง, คุณจะเห็นอักขระจีนแสดงบนคอนโซล + +> **เคล็ดลับ:** หากต้องการดึงเฉพาะส่วนของภาพ (เช่น บริเวณที่กำหนด), ใช้ overload `RecognizeImage(string, Rectangle)` เพื่อส่งสี่เหลี่ยมตัดภาพ + +## ตัวอย่างทำงานเต็มรูปแบบ + +ด้านล่างเป็นโปรแกรมสมบูรณ์ที่คุณสามารถคัดลอก‑วางไปยังโปรเจกต์คอนโซลใหม่. รวมถึงคำสั่ง `using`, การตั้งค่า, การเลือกภาษา, และการแสดงผลสุดท้าย. บันทึกเป็น `Program.cs`, เรียกคืนแพ็กเกจ NuGet, แล้วรัน + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### ผลลัพธ์ที่คาดหวัง + +หาก `chinese-sign.jpg` มีวลี “欢迎光临”, คอนโซลจะแสดงประมาณนี้: + +``` +=== Recognized Text === +欢迎光临 +``` + +รูปแบบที่แน่นอนอาจแตกต่างกันตามคุณภาพของภาพ, แต่ตัวอักษรควรอ่านได้ชัดเจน + +## ปัญหาที่พบบ่อย & เคล็ดลับระดับมืออาชีพ + +| อาการ | สาเหตุที่เป็นไปได้ | วิธีแก้ | +|--------|-------------------|----------| +| **Empty string returned** | ไม่พบแพ็คภาษา หรือ `AutoDownloadResources` ยังพยายามดาวน์โหลด | ตรวจสอบเส้นทาง `ResourceFolder` และให้แน่ใจว่าไฟล์ `ChineseSimplified.zip` มีอยู่ | +| **Garbage characters** | ภาพเบลอหรือคอนทราสต์ต่ำ | ทำการประมวลผลล่วงหน้าภาพ (เพิ่มคอนทราสต์, ทำไบนารี) ก่อนส่งให้ `RecognizeImage` | +| **Exception: `FileNotFoundException`** | เส้นทางภาพไม่ถูกต้อง | ใช้เส้นทางแบบ absolute หรือวางภาพในโฟลเดอร์ output ของโปรเจกต์และอ้างอิงด้วย `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")` | +| **Performance lag** | ขนาดภาพใหญ่ | ปรับขนาดภาพให้กว้างที่เหมาะสม (เช่น 1024 px) ก่อนทำการจดจำ | + +**เคล็ดลับระดับมืออาชีพ:** เก็บแพ็คภาษาไว้ในโฟลเดอร์ที่ควบคุมเวอร์ชัน. เมื่อคุณอัปเกรด Aspose.OCR, แพ็คใหม่อาจมีการตั้งชื่อที่แตกต่าง, ซึ่งอาจทำให้กลยุทธ์ **disable auto download** ของคุณล้มเหลวโดยไม่แจ้งเตือน + +## การขยายตัวอย่าง + +ตอนนี้คุณสามารถ **recognize text from image** แล้ว, คุณอาจต้องการ: + +- **Batch process** โฟลเดอร์ของภาพหลายไฟล์ (วนลูปไฟล์, เรียก `RecognizeImage` ทุกครั้ง) +- **Export** ผลลัพธ์เป็นไฟล์ CSV หรือ JSON เพื่อการวิเคราะห์ต่อเนื่อง +- **Combine** OCR กับ API แปลภาษาเพื่อแปลงป้ายจีนเป็นอังกฤษแบบเรียลไทม์ + +ทุกสถานการณ์เหล่านี้ใช้ขั้นตอนหลักเดียวกัน: ตั้งค่าเพียงครั้งเดียว, ตั้งค่าภาษา, แล้วเรียก `RecognizeImage`. การออกแบบแบบโมดูลทำให้โค้ดของคุณสะอาดและง่ายต่อการบำรุงรักษา + +## สรุป + +คุณเพิ่งเรียนรู้วิธี **recognize text from image** ด้วย Aspose OCR ใน C#. ด้วยการ **disable auto download** อย่างชัดเจน, ชี้เอ็นจิ้นไปยังโฟลเดอร์ทรัพยากรในเครื่อง, และ **set OCR language** เป็น Chinese Simplified, คุณสามารถ **extract Chinese text image** อย่างเชื่อถือได้และยังสามารถดึงข้อความจากภาษาอื่นที่คุณเตรียมไว้ได้ + +โค้ดที่ทำงานได้เต็มรูปแบบที่แสดงด้านบนเป็นเวิร์กโฟลว์ที่ใช้งานได้จริงซึ่งคุณสามารถนำไปใช้ในโปรเจกต์จริงได้เลย จากนี้ลองทดลองกับคุณภาพภาพที่ต่างกัน, เพิ่มการจัดการข้อผิดพลาด, หรือรวมผลลัพธ์เข้ากับระบบที่ใหญ่ขึ้น ความเป็นไปได้แทบไม่มีที่สิ้นสุด + +มีคำถามเกี่ยวกับภาษาอื่น, การปรับประสิทธิภาพ, หรือการปรับใช้บนคลาวด์? อย่าลังเลที่จะคอมเมนต์—ขอให้เขียนโค้ดอย่างสนุก! + +{{< /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/net/ocr-optimization/_index.md b/ocr/thai/net/ocr-optimization/_index.md index f843ecb3..c98c72a9 100644 --- a/ocr/thai/net/ocr-optimization/_index.md +++ b/ocr/thai/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ url: /th/net/ocr-optimization/ เพิ่มความแม่นยำของ OCR ด้วย Aspose.OCR สำหรับ .NET แก้ไขการสะกด ปรับแต่งพจนานุกรม และรับรู้ข้อความที่ปราศจากข้อผิดพลาดได้อย่างง่ายดาย ### [บันทึกผลลัพธ์หลายหน้าเป็นเอกสารในการจดจำรูปภาพ OCR](./save-multipage-result-as-document/) ปลดล็อกศักยภาพของ Aspose.OCR สำหรับ .NET บันทึกผลลัพธ์ OCR หลายหน้าเป็นเอกสารได้อย่างง่ายดายด้วยคำแนะนำทีละขั้นตอนที่ครอบคลุมนี้ +### [c# OCR tutorial: การจดจำข้อความจากภาพด้วยการประมวลผลล่วงหน้า](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +เรียนรู้วิธีใช้ Aspose.OCR กับ C# เพื่อจดจำข้อความจากภาพโดยใช้การประมวลผลล่วงหน้าเพื่อเพิ่มความแม่นยำ {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/thai/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..409f7178 --- /dev/null +++ b/ocr/thai/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,231 @@ +--- +category: general +date: 2026-01-09 +description: บทเรียน c# OCR ที่แสดงวิธีการจดจำข้อความจากภาพและเตรียมภาพล่วงหน้าสำหรับ + OCR ด้วยฟิลเตอร์ Aspose.OCR – คู่มือแบบขั้นตอนต่อขั้นตอน +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: th +og_description: บทเรียน OCR ด้วย C# ที่สอนคุณขั้นตอนการจดจำข้อความจากภาพและการเตรียมภาพสำหรับ + OCR ด้วยฟิลเตอร์ Aspose.OCR พร้อมโค้ดเต็ม. +og_title: c# OCR tutorial – การจดจำข้อความจากภาพด้วยการเตรียมข้อมูลล่วงหน้า +tags: +- OCR +- C# +- Image Processing +title: 'บทเรียน OCR ด้วย C#: จดจำข้อความจากภาพพร้อมการเตรียมล่วงหน้า' +url: /th/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – การจดจำข้อความจากรูปภาพด้วยการเตรียมข้อมูลล่วงหน้า + +เคยสงสัยไหมว่า **จดจำข้อความจากรูปภาพ** ในแอปพลิเคชัน C# อย่างไรโดยไม่ต้องใช้เวลาหลายสัปดาห์ในการปรับแต่งฟิลเตอร์? คุณไม่ได้อยู่คนเดียว ใน **c# ocr tutorial** นี้เราจะพาคุณผ่านตัวอย่างที่สมบูรณ์และพร้อมรันที่ไม่เพียงอ่านข้อความเท่านั้น แต่ยัง **เตรียมภาพสำหรับ OCR** เพื่อเพิ่มความแม่นยำอีกด้วย + +เราจะใช้ไลบรารี Aspose.OCR เพราะมาพร้อมกับ pipeline ฟิลเตอร์ที่ใช้งานง่าย ซึ่งให้คุณเชื่อมต่อ deskew, denoise, และ contrast‑boost ได้ในไม่กี่บรรทัด สุดท้ายคุณจะได้แอปคอนโซลที่รับ PNG ที่เอียงและมีสัญญาณรบกวน ทำความสะอาด แล้วแสดงสตริงที่สกัดออกมา—พร้อมคำอธิบายชัดเจนว่าทำไมแต่ละขั้นตอนถึงสำคัญ + +## ข้อกำหนดเบื้องต้น + +ก่อนที่เราจะลงลึก ตรวจสอบให้แน่ใจว่าคุณมี: + +| ความต้องการ | ทำไมจึงสำคัญ | +|-------------|----------------| +| .NET 6 SDK (or later) | ฟีเจอร์ C# สมัยใหม่และประสิทธิภาพที่ดีกว่า | +| Visual Studio 2022 (or VS Code) | การดีบักที่สะดวกและ IntelliSense | +| NuGet package **Aspose.OCR** | ให้ `OcrEngine` และคลาสฟิลเตอร์ | +| An input image (e.g., `skewed‑noisy.png`) | แสดงความจำเป็นของการเตรียมข้อมูลล่วงหน้า | + +หากขาดส่วนใดส่วนหนึ่ง ให้ติดตั้งก่อน ขั้นตอนการติดตั้ง NuGet จะอธิบายในส่วนต่อไป + +## ขั้นตอนที่ 1: ติดตั้ง Aspose.OCR ผ่าน NuGet + +เปิดเทอร์มินัลของคุณ (หรือ Package Manager Console) แล้วรัน: + +```bash +dotnet add package Aspose.OCR +``` + +> **เคล็ดลับ:** ใช้ flag `--version` เพื่อระบุเวอร์ชันเฉพาะ หากคุณต้องการการสร้างที่ทำซ้ำได้ + +แพ็กเกจมาพร้อมกับฟิลเตอร์ทั้งหมดที่เราต้องการ จึงไม่ต้องใช้ DLL เพิ่มเติม + +## ขั้นตอนที่ 2: เริ่มต้น OCR Engine – หัวใจของ c# ocr tutorial + +การสร้าง engine นั้นง่าย แต่ควรเข้าใจว่ามันทำอะไรเบื้องหลัง `OcrEngine` จะเก็บ pipeline ของ **ฟิลเตอร์** ที่ปรับแต่งบิตแมพก่อนที่อัลกอริทึมการจดจำจะทำงาน + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **ทำไมต้องเริ่มต้นก่อน?** Engine จะเก็บแคชทรัพยากรภายใน (เช่นโมเดลภาษา) การใช้ instance เดียวกันหลายภาพจะช่วยประหยัดหน่วยความจำและเร่งความเร็วการจดจำต่อ ๆ ไป + +## ขั้นตอนที่ 3: เตรียมภาพสำหรับ OCR – เพิ่ม deskew, denoise, และ contrast boost + +การสแกนในโลกจริงมักไม่สมบูรณ์; มันอาจเอียง, มีจุดรบกวน, หรือมืดเกินไป นั่นคือเหตุผลที่ **เตรียมภาพสำหรับ OCR** เป็นขั้นตอนสำคัญ Aspose มีฟิลเตอร์สามตัวที่ทำงานร่วมกันได้อย่างดี: + +| Filter | ทำอะไร | กรณีใช้งานทั่วไป | +|--------|--------------|------------------| +| `DeskewFilter` | หมุนภาพเพื่อแก้ไขการเอียง | เอกสารสแกนจากเครื่องสแกน | +| `DenoiseFilter` | ลบพิกเซลโดดเดี่ยว (สัญญาณรบกวน “เกลือและพริกไทย”) | ภาพถ่ายในแสงน้อย | +| `ContrastBoostFilter` | เพิ่มความคอนทราสต์เพื่อทำให้ขอบข้อความคมชัด | พิมพ์ซีดหรือภาพที่ความละเอียดต่ำ | + +โค้ดต่อไปนี้จะเพิ่มฟิลเตอร์แต่ละตัวเข้าไปใน pipeline ของ engine: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **วิธีทำงาน:** เมื่อคุณเรียก `RecognizeImage` ภายหลัง engine จะเรียกใช้ฟิลเตอร์ทั้งสามนี้ตามลำดับก่อนส่งบิตแมพที่ทำความสะอาดให้กับคอร์การจดจำ + +### ภาพประกอบ (ตัวเลือก) + +หากคุณฝังรูปภาพ อย่าลืมให้ข้อความ alt มีคีย์เวิร์ดหลัก: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## ขั้นตอนที่ 4: จดจำข้อความจากรูปภาพ – ช่วงเวลาที่สำคัญ + +ตอนนี้ภาพได้ผ่านการเตรียมแล้ว เราจึงสามารถสกัดอักขระได้ วิธีนี้คืนค่าเป็นสตริงธรรมดา ซึ่งคุณสามารถบันทึก, เก็บ, หรือส่งต่อไปยังระบบอื่นได้ + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### ผลลัพธ์ที่คาดหวัง + +การรันตัวอย่างกับสแกนใบแจ้งหนี้ทั่วไปจะได้ผลลัพธ์ประมาณนี้: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +หากผลลัพธ์ดูเป็นอักขระเสีย ให้ตรวจสอบคุณภาพของภาพอีกครั้งและลองปรับ `ContrastBoostFilter.Level` (ค่าที่มากกว่า 2.0 อาจทำให้แรงเกินไป) + +## ขั้นตอนที่ 5: แสดงผลลัพธ์และการประมวลผลต่อ (Post‑Processing) ทางเลือก + +แอปคอนโซลสามารถเขียนสตริงออกได้โดยตรง แต่หลายโครงการต้องการการจัดการเพิ่มเติม—เช่นตัดช่องว่าง, ลบการขึ้นบรรทัดใหม่, หรือบันทึกข้อความลงฐานข้อมูล + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### ทำไมต้องประมวลผลต่อ? + +แม้จะมีการเตรียมภาพที่ดี OCR ยังอาจสร้างบรรทัดที่ไม่ต้องการหรืออักขระที่มองไม่เห็นได้ การใช้ `Replace` อย่างรวดเร็วทำให้ข้อมูลใช้งานได้ดีขึ้นในขั้นตอนต่อไป + +## ขั้นตอนที่ 6: ตัวอย่างทำงานเต็มรูปแบบ – พร้อมคัดลอกและวาง + +ด้านล่างเป็นโปรแกรม **complete** ที่คุณสามารถคอมไพล์และรันได้ทันที รวมถึงคำสั่ง `using` ทั้งหมด, การตั้งค่าฟิลเตอร์, การเรียก OCR, และการจัดการผลลัพธ์ + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**วิธีรัน** + +1. บันทึกไฟล์เป็น `Program.cs` ภายในโปรเจกต์คอนโซลใหม่ (`dotnet new console`). +2. แทนที่ `YOUR_DIRECTORY/skewed-noisy.png` ด้วยพาธจริงของรูปภาพทดสอบของคุณ. +3. รัน `dotnet run`. คุณจะเห็นผลลัพธ์ OCR แสดงบนเทอร์มินัล. + +## ปัญหาที่พบบ่อยและเคล็ดลับ (การจดจำข้อความจากรูปภาพอย่างเชื่อถือได้) + +| ปัญหา | สิ่งที่ต้องตรวจสอบ | วิธีแก้ | +|-------|----------------|-----| +| **อักขระเสีย** | ภาพมืดเกินไปหรือความละเอียดต่ำ | เพิ่ม `ContrastBoostFilter.Level` หรือใช้แหล่งที่มาที่ความละเอียดสูงกว่า | +| **บรรทัดหาย** | Deskew ไม่ได้แก้ไขมุมอย่างเต็มที่ | หมุนภาพด้วยตนเองก่อน หรือปรับค่าความทนทานของ `DeskewFilter` | +| **ประสิทธิภาพช้า** | ประมวลผลหลายภาพขนาดใหญ่ในลูป | ใช้ instance ของ `OcrEngine` เดียวกันและเรียก `ocrEngine.Clear()` หลังแต่ละครั้ง | +| **ภาษาที่ไม่รองรับ** | ข้อความไม่ใช่ภาษาอังกฤษ | ตั้งค่า `ocrEngine.Language = OcrLanguage.French` (หรือภาษาอื่นที่รองรับ) ก่อนทำการจดจำ | + +### กรณีพิเศษ: การจัดการ PDF หลายหน้า + +หากต้องการ OCR PDF ให้แปลงแต่ละหน้าเป็นภาพ (เช่นใช้ `Aspose.PDF`) แล้วส่งต่อไปยัง engine ตัวเดียวกัน การเตรียมภาพจะยังคงเหมือนเดิม ทำให้ผลลัพธ์สม่ำเสมอในทุกหน้า + +## สรุป + +ใน **c# ocr tutorial** นี้เราได้ครอบคลุมทุกอย่างที่คุณต้องการเพื่อ **จดจำข้อความจากรูปภาพ** และ **เตรียมภาพสำหรับ OCR** ด้วยฟิลเตอร์ในตัวของ Aspose.OCR โดยการเริ่มต้น engine, เพิ่มขั้นตอน deskew, denoise, และ contrast‑boost, แล้วเรียก `RecognizeImage` คุณจะได้การสกัดข้อความที่สะอาดและเชื่อถือได้ด้วยเพียงไม่กี่บรรทัดของโค้ด + +อย่ากลัวที่จะทดลอง—สลับฟิลเตอร์, ปรับระดับคอนทราสต์, หรือรวมผลลัพธ์เข้ากับ pipeline ข้อมูลที่ใหญ่กว่า แนวคิดเหล่านี้ใช้ได้กับไลบรารี 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/net/text-recognition/_index.md b/ocr/thai/net/text-recognition/_index.md index 7001ea59..1c015cd0 100644 --- a/ocr/thai/net/text-recognition/_index.md +++ b/ocr/thai/net/text-recognition/_index.md @@ -55,9 +55,21 @@ url: /th/net/text-recognition/ ปลดล็อกศักยภาพของ OCR ใน .NET ด้วย Aspose.OCR แยกข้อความจาก PDF ได้อย่างง่ายดาย ดาวน์โหลดทันทีเพื่อประสบการณ์การบูรณาการที่ราบรื่น ### [จดจำตารางในการจดจำรูปภาพ OCR](./recognize-table/) ปลดล็อกศักยภาพของ Aspose.OCR สำหรับ .NET ด้วยคำแนะนำที่ครอบคลุมเกี่ยวกับการจดจำตารางในการจดจำรูปภาพ OCR +### [c# OCR tutorial – ดึงข้อความภาษาฮินดีจากใบเสร็จ PNG](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +เรียนรู้วิธีใช้ Aspose.OCR กับ C# เพื่อสกัดข้อความภาษาฮินดีจากไฟล์ PNG ของใบเสร็จ +### [ดึงข้อความจาก PNG – บทเรียน Aspose OCR ฉบับสมบูรณ์](./extract-text-from-png-complete-aspose-ocr-tutorial/) +เรียนรู้วิธีใช้ Aspose OCR กับ C# เพื่อดึงข้อความจากไฟล์ PNG อย่างละเอียดและครบถ้วน +### [จดจำข้อความใน JPG ด้วย Aspose OCR – คู่มือ C# ฉบับสมบูรณ์](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +เรียนรู้วิธีใช้ Aspose OCR กับ C# เพื่อจดจำข้อความจากไฟล์ JPG อย่างละเอียดและครบถ้วน +### [c# OCR tutorial – ดึงข้อความจากรูปภาพและไฟล์ DJVU](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +### [c# OCR tutorial – ดึงข้อความจากภาพด้วย Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +เรียนรู้วิธีใช้ Aspose OCR กับ C# เพื่อสกัดข้อความจากภาพอย่างละเอียดและครบถ้วน +### [ดึงข้อความจากไฟล์ TIFF ด้วย Aspose OCR C# – บทเรียนเต็ม](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +เรียนรู้วิธีใช้ Aspose OCR กับ C# เพื่อสกัดข้อความจากไฟล์ TIFF อย่างละเอียดและครบถ้วน + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/thai/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..de6a1d3f --- /dev/null +++ b/ocr/thai/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-01-09 +description: บทเรียน OCR ด้วย C# เพื่ออ่านข้อความจาก PNG, แปลงภาพเป็นข้อความและจดจำข้อความภาษาฮินดีบนใบเสร็จโดยใช้ + Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: th +og_description: บทเรียน OCR ด้วย C# ที่สอนวิธีอ่านข้อความจากไฟล์ PNG, แปลงภาพเป็นข้อความ + และจดจำข้อความภาษาฮินดีบนใบเสร็จด้วย Aspose OCR. +og_title: c# OCR tutorial – ดึงข้อความฮินดีจากใบเสร็จ PNG +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# OCR tutorial – ดึงข้อความฮินดีจากใบเสร็จ PNG +url: /th/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – ดึงข้อความภาษาฮินดีจาก PNG ใบเสร็จ + +เคยสงสัยหรือไม่ว่า **read text from PNG** อย่างไรในแอปพลิเคชัน C#? บางทีคุณอาจมีใบเสร็จภาษาฮินดีหลายใบและต้องการดึงจำนวนเงินโดยอัตโนมัติ. นั่นคือสิ่งที่ c# ocr tutorial นี้ทำ—เปนภาพให้เป็นข้อความที่ค้นหาได้ด้วยเพียงไม่กี่บรรทัดของโค้ด. + +ในคู่มือนี้เราจะเดินผ่านการติดตั้ง Aspose OCR, การโหลดใบเสร็จ PNG, การจดจำอักขระภาษาฮินดี, และสุดท้ายการพิมพ์สตริงที่ดึงออกมาที่คอนโซล. เมื่อจบคุณจะสามารถ **convert image to text**, **recognize Hindi text**, และแม้แต่ **extract text from receipt** จากรูปภาพโดยไม่ต้องออกจาก IDE. + +> **Prerequisite note:** คุณต้องมีใบอนุญาต Aspose OCR ที่ถูกต้อง (หรือใช้รุ่นทดลองฟรี) และต้องติดตั้ง .NET 6+ หากคุณใหม่กับ NuGet ไม่ต้องกังวล—we’ll cover that too. + +## สิ่งที่คุณต้องการ + +- **Visual Studio 2022** (หรือเครื่องมือแก้ไขที่รองรับ C# ใดก็ได้) +- **.NET 6 SDK** (หรือใหม่กว่า) +- **Aspose.OCR** NuGet package + ```bash + dotnet add package Aspose.OCR + ``` +- ตัวอย่างรูปใบเสร็จ, เช่น `hindi-receipt.png`, บันทึกไว้ในโฟลเดอร์โปรเจกต์ของคุณ + +เมื่อเตรียมสิ่งเหล่านี้พร้อม คุณสามารถคัดลอก‑วางโค้ดสุดท้ายและกด **F5** ได้ทันที. + +## ขั้นตอนที่ 1: ตั้งค่าโปรเจกต์และนำเข้า Namespaces + +แรกเริ่ม, สร้างโปรเจกต์คอนโซลหากคุณยังไม่มี: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +จากนั้นเปิด `Program.cs`. ที่ส่วนบนให้นำเข้า namespaces ของ Aspose OCR เพื่อให้คอมไพเลอร์รู้ว่าจะหา class ใดได้: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Why this matters:** `OcrEngine` อยู่ใน `Aspose.OCR`, ส่วน enum ที่เกี่ยวกับภาษาอยู่ใน `Aspose.OCR.Settings`. ลืมอย่างใดอย่างหนึ่งจะทำให้เกิดข้อผิดพลาดตอนคอมไพล์. + +## ขั้นตอนที่ 2: เริ่มต้น OCR Engine และเลือก Language Model + +OCR engine ต้องรู้ **which language** ที่ต้องมองหา. Aspose มี language pack มากมาย; การระบุ `OcrLanguage.Hindi` จะบอก engine ให้ดาวน์โหลด (หากยังไม่มี) และใช้โมเดลภาษาฮินดี. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Pro tip:** หากคุณต้องการประมวลผลใบเสร็จหลายภาษา คุณสามารถสลับ `Language` ระหว่างรันไทม์หรือเปิดโหมด `MultiLanguage` ได้. + +## ขั้นตอนที่ 3: ป้อน PNG Receipt ให้ Engine + +นี่คือจุดที่เราจะ **read text from PNG**. ระบุพาธเต็ม (พาธสัมพันธ์กับไฟล์ executable ทำงานได้ดี). เมธอดจะคืนค่าเป็นสตริงธรรมดาที่มีทุกอย่างที่ engine สามารถถอดรหัสได้. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +หากภาพมีความละเอียดสูงและข้อความคมชัด คุณจะได้ผลลัพธ์เกือบสมบูรณ์. สำหรับสแกนที่มีเสียงรบกวน ควรพิจารณา pre‑processing (เช่น binarization) – Aspose มีเมธอด `PreprocessImage` ที่คุณสามารถสำรวจต่อได้. + +## ขั้นตอนที่ 4: แสดงหรือบันทึกข้อความที่ดึงออกมา + +นักพัฒนาส่วนใหญ่มักจะ dump ผลลัพธ์ไปที่คอนโซลระหว่างทดสอบ. ในสภาพแวดล้อมการผลิต คุณอาจเขียนลงฐานข้อมูลหรือไฟล์ CSV. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +การรันโปรแกรมกับใบเสร็จตัวอย่างจะพิมพ์อะไรบางอย่างเช่น: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +นี่คือส่วน **convert image to text** ที่ทำงานอยู่—ไม่ต้องพิมพ์ข้อความด้วยมือเลย. + +## ตัวอย่างทำงานเต็ม (Copy‑Paste Ready) + +ด้านล่างเป็นโปรแกรมที่สมบูรณ์และเป็นอิสระ. คัดลอกไปวางใน `Program.cs`, วาง `hindi-receipt.png` ข้างไฟล์ `.exe` ที่คอมไพล์แล้ว, แล้วกด **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### ผลลัพธ์ที่คาดหวัง + +เมื่อรูปใบเสร็จมีอักขระภาษาฮินดีที่ชัดเจน, คอนโซลจะแสดงบรรทัดที่ดึงออกมา, รักษา line break ไว้. หาก OCR ไม่สามารถจดจำคำได้, คุณจะเห็นข้อความที่บิดเบือน—เป็นสัญญาณให้ปรับปรุงคุณภาพภาพหรือปรับการ pre‑processing. + +## ขั้นตอนที่ 5: ไปไกลกว่านั้น – ดึงข้อความจากใบเสร็จแบบโปรแกรม + +หากเป้าหมายของคุณคือ **extract text from receipt** เช่น วันที่, ยอดรวม, หมายเลขใบแจ้งหนี้, คุณสามารถ post‑process สตริง OCR ด้วย regular expressions: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +โค้ดสั้น ๆ นี้แสดงวิธีแปลงผลลัพธ์ OCR ดิบให้เป็นข้อมูลโครงสร้าง—เหมาะสำหรับส่งต่อไปยังซอฟต์แวร์บัญชี. + +## ปัญหาที่พบบ่อย & วิธีหลีกเลี่ยง + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Blank output** | Image path wrong or file not copied to output folder. | Use `Path.GetFullPath` and verify the file exists (`File.Exists`). | +| **Garbage characters** | Low‑resolution PNG or compressed colors. | Upscale the image, set DPI to 300+, or use `ocrEngine.ImagePreprocessor`. | +| **Language model not downloaded** | No internet connection on first run. | Pre‑download the Hindi model via Aspose portal or host it locally. | +| **Performance lag** | Processing many pages in a loop without disposal. | Wrap `OcrEngine` in a `using` block or reuse a single instance. | + +## Image Illustration + +![c# ocr tutorial อ่านข้อความภาษาฮินดีจาก PNG receipt](https://example.com/placeholder-image.png "c# ocr tutorial – อ่านข้อความจาก png receipt") + +*ภาพหน้าจอแสดงใบเสร็จภาษาฮินดีก่อนและหลังการแปลง OCR.* + +## สรุป: สิ่งที่เราได้ครอบคลุม + +- ตั้งค่าแอปคอนโซล C# และเพิ่มแพคเกจ Aspose OCR NuGet. +- เริ่มต้น `OcrEngine` ด้วยโมเดลภาษาที่ **recognize hindi text**. +- **Read text from PNG** ด้วย `RecognizeImage`. +- **Convert image to text** และพิมพ์ผลลัพธ์. +- แสดงตัวอย่างแพทเทิร์นง่าย ๆ เพื่อ **extract text from receipt**. + +ทั้งหมดนี้ถูกจัดส่งในไฟล์เดียวที่สามารถรันได้—ตรงกับที่ **c# ocr tutorial** ควรให้. + +## ขั้นตอนต่อไป & หัวข้อที่เกี่ยวข้อง + +1. **Batch processing** – วนลูปผ่านโฟลเดอร์ของรูปใบเสร็จและบันทึกผลลัพธ์เป็น CSV. +2. **Pre‑processing** – สำรวจ `ocrEngine.ImagePreprocessor` สำหรับการลบสัญญาณรบกวน, การแก้ไขการเอียง, หรือการเพิ่มคอนทราสต์. +3. **Multi‑language OCR** – เปิดใช้งาน `OcrLanguage.Multilingual` เพื่อจัดการใบเสร็จที่ผสมภาษาฮินดีและอังกฤษ. +4. **Integration** – ส่งข้อมูลที่ดึงออกไปยังโมเดล Entity Framework Core เพื่อการจัดเก็บถาวร. + +หากคุณสนใจในหัวข้อใด ๆ เหล่านี้, ตรวจสอบบทแนะนำของเราที่ **convert image to text in C#** และ **extract structured data from OCR results**. + +### Happy Coding! + +อย่าลังเลที่จะฝากคอมเมนต์หากเจออุปสรรค, หรือแชร์วิธีที่คุณขยาย **c# ocr tutorial** นี้ในโปรเจกต์ของคุณเอง. จำไว้ว่า 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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/thai/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..224003dc --- /dev/null +++ b/ocr/thai/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,251 @@ +--- +category: general +date: 2026-01-09 +description: บทเรียน OCR ด้วย C# ที่แสดงวิธีดึงข้อความจากไฟล์รูปภาพและแปลง DJVU เป็นข้อความโดยใช้ + Aspose.OCR เรียนรู้การดึงข้อมูลแบบขั้นตอนต่อขั้นตอนในไม่กี่นาที +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: th +og_description: บทเรียน OCR ด้วย C# ที่สาธิตอย่างรวดเร็วว่าการดึงข้อความจากไฟล์รูปภาพและแปลง + DJVU เป็นข้อความโดยใช้ Aspose.OCR ทำตามคำแนะนำเพื่อรับโซลูชันที่ทำงานได้ +og_title: บทเรียน OCR ด้วย C# – ดึงข้อความจากภาพและ DJVU +tags: +- OCR +- C# +- Aspose +title: 'บทเรียน OCR ด้วย C#: ดึงข้อความจากภาพและไฟล์ DJVU' +url: /th/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR tutorial – ดึงข้อความจากรูปภาพและไฟล์ DJVU + +เคยสงสัยไหมว่าจะแยกข้อความจากไฟล์รูปภาพอย่างไรโดยไม่ทำให้หัวของคุณบิด? ใน **c# OCR tutorial** นี้เราจะพาคุณผ่านตัวอย่างที่สมบูรณ์และพร้อมรันที่ดึงข้อความออกจากรูปภาพทั่วไป *และ* เอกสาร DJVU + +หากคุณกำลังมองหาวิธีรวดเร็วเพื่อ **convert DJVU to text** คุณมาถูกที่แล้ว—ไม่มีตัวแปลงเพิ่มเติม เพียงโค้ด C# แท้ๆ + +## สิ่งที่คุณจะได้เรียนรู้ + +- วิธีตั้งค่าไลบรารี Aspose.OCR ในโครงการ .NET +- โค้ดที่จำเป็นเพื่อ **extract text from image** ไฟล์ +- วิธีสั้นๆ สำหรับ **extracting text from DJVU** ไฟล์ (ใช่, เอนจินเดียวกันทำได้) +- ข้อผิดพลาดทั่วไป (ไฟล์ขนาดใหญ่, ฟอนต์หาย, ใบอนุญาต) และวิธีหลีกเลี่ยง + +ทั้งหมดที่คุณต้องการคือ .NET SDK ล่าสุดและการเชื่อมต่ออินเทอร์เน็ตเพื่อดาวน์โหลดแพคเกจ NuGet. ไม่จำเป็นต้องมีประสบการณ์ OCR มาก่อน + +## ข้อกำหนดเบื้องต้น + +| ความต้องการ | ทำไมจึงสำคัญ | +|-------------|----------------| +| .NET 6.0 หรือใหม่กว่า | Aspose.OCR รองรับ .NET Standard 2.0, ดังนั้น .NET 6+ จะให้ประสิทธิภาพที่ดีที่สุด | +| Visual Studio 2022 (หรือ VS Code) | IDE ทำให้การจัดการแพคเกจง่ายดาย, แต่โปรแกรมแก้ไขใดก็ได้ก็ใช้ได้ | +| แพคเกจ NuGet **Aspose.OCR** | นี่คือเอนจินที่ทำงานหนักจริงๆ | +| ภาพตัวอย่าง (`sample.png`) และไฟล์ DJVU (`sample.djvu`) | เราจะใช้เหล่านี้เพื่อสาธิตทั้งสองสถานการณ์การดึงข้อมูล | + +คุณสามารถติดตั้งแพคเกจด้วยคำสั่งต่อไปนี้: + +```bash +dotnet add package Aspose.OCR +``` + +> **เคล็ดลับ:** หากคุณอยู่บนเซิร์ฟเวอร์ CI, เพิ่ม `--no-restore` ไปยังขั้นตอนการสร้างและทำการ restore ครั้งเดียวที่เริ่มต้นเพื่อเร่งความเร็ว + +## ขั้นตอนที่ 1: เริ่มต้น OCR engine – ใจกลางของ c# OCR tutorial + +สิ่งแรกที่เราทำคือสร้างอินสแตนซ์ของ `OcrEngine`. คิดว่าเป็นการเปิดสแกนเนอร์ในซอฟต์แวร์ของคุณ + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +ทำไมต้องสร้างเอนจินใหม่ทุกครั้ง? เพราะเอนจินเก็บการตั้งค่า (ภาษา, โหมดการตรวจจับ, ฯลฯ). การเริ่มใหม่ช่วยหลีกเลี่ยงการตั้งค่าเก่าที่รั่วไหลระหว่างการรัน + +## ขั้นตอนที่ 2: โหลดและจดจำภาพ – วิธี **extract text from image** + +ตอนนี้เราจะป้อนบิตแมพทั่วไป (PNG, JPEG, BMP…) ให้กับเอนจิน. เมธอด `RecognizeImage` จะคืนสตริงที่ตรวจพบ + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +* **File existence** – หากเส้นทางผิดเมธอดจะโยน `FileNotFoundException`. ห่อไว้ใน `try/catch` หากคาดว่าจะได้รับเส้นทางจากผู้ใช้. +* **Image quality** – OCR ทำงานดีที่สุดที่ 300 dpi หรือสูงกว่า. การสแกนความละเอียดต่ำอาจให้ผลลัพธ์เป็นข้อความผิดพลาด. +* **Language support** – โดยค่าเริ่มต้น Aspose.OCR สมมติเป็นภาษาอังกฤษ. หากต้องการเปลี่ยน ให้ตั้ง `ocrEngine.Language = Language.Spanish;` ก่อน `RecognizeImage`. + +## ขั้นตอนที่ 3: จดจำข้อความจากเอกสาร DJVU – convert DJVU to text + +DJVU เป็นรูปแบบคอนเทนเนอร์ที่สามารถเก็บหลายหน้า. Aspose.OCR สามารถจัดการได้โดยตรง; คุณเพียงชี้ไปที่ไฟล์ + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +ภายในเอนจินจะดึงแต่ละหน้าเป็นภาพและรันไพพ์ไลน์การจดจำเดียวกัน. นั่นคือเหตุผลที่คุณไม่ต้องมีขั้นตอน “convert DJVU to text” แยกต่างหาก—OCR engine ทำให้คุณแล้ว + +### การจัดการไฟล์ DJVU หลายหน้า + +หาก DJVU ของคุณมีหลายหน้า, `RecognizeImage` จะต่อข้อความตามลำดับ. หากต้องการแต่ละหน้าแยกกัน, คุณสามารถใช้ overload ที่คืนค่า `List`: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## ขั้นตอนที่ 4: ปรับจูนเอนจินเพื่อความแม่นยำที่ดียิ่งขึ้น – ทำไมจึงสำคัญ + +ผลลัพธ์จากการใช้งานโดยตรงค่อนข้างดี, แต่คุณสามารถเพิ่มประสิทธิภาพได้โดยปรับการตั้งค่าบางอย่าง: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +แฟล็กเหล่านี้มีประโยชน์เป็นพิเศษเมื่อ **how to extract text** จาก PDF ที่สแกนแล้วและบันทึกเป็น DJVU ก่อน. การเปิดการตรวจจับการวางแนวช่วยคุณไม่ต้องหมุนภาพด้วยตนเอง. + +## ขั้นตอนที่ 5: จัดการกับใบอนุญาตและข้อผิดพลาดขณะรันไทม์ + +Aspose.OCR มาพร้อมกับรุ่นทดลองฟรีที่ใส่ลายน้ำ “Demo” บนผลลัพธ์หลังจากหลายหน้า. เพื่อเอาลายน้ำออก, เพิ่มไฟล์ใบอนุญาตของคุณ: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +หากคุณลืมขั้นตอนนี้, เอนจินยังทำงานได้ แต่ผลลัพธ์จะมีคำว่า “Demo”. นอกจากนี้ ระวัง `OutOfMemoryException` เมื่อประมวลผลไฟล์ DJVU ขนาดใหญ่—พิจารณาประมวลผลทีละหน้าเช่นที่แสดงก่อนหน้า. + +## ตัวอย่างสมบูรณ์ที่สามารถรันได้ + +ด้านล่างเป็นโปรแกรมคอนโซลที่รวมทุกอย่างไว้ในไฟล์เดียว. คัดลอก-วาง, ปรับเส้นทางไฟล์, แล้วกด **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**ผลลัพธ์ที่คาดหวัง** (สมมติว่าไฟล์มีข้อความ “Hello World”): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +หากแหล่งข้อมูลมีหลายบรรทัด, จะปรากฏตามเดิมเหมือนในเอกสารต้นฉบับ. + +## คำถามทั่วไป & การจัดการกรณีขอบ + +* **What if the image is black‑and‑white?** + OCR ทำงานได้ดี, แต่คุณสามารถปรับคอนทราสต์ด้วย `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +* **Can I extract only numbers?** + ได้—ตั้งค่า `ocrEngine.CharWhitelist = "0123456789";` ก่อนเรียก `RecognizeImage`. + +* **Is there a limit on file size?** + เอนจินอ่านไฟล์ทั้งหมดเข้าสู่หน่วยความจำ. สำหรับไฟล์ที่ใหญ่กว่า ~100 MB, ให้ประมวลผลทีละหน้า (ดู overload ของรายการในขั้นตอน 3). + +* **How does this differ from Tesseract?** + Aspose.OCR เป็นไลบรารีเชิงพาณิชย์ที่มีการสนับสนุน DJVU ในตัวและไม่มีการพึ่งพาเนทีฟ, ในขณะที่ Tesseract ต้องการไบนารีเนทีฟและเครื่องมือแปลง DJVU แยกต่างหาก. + +## สรุป + +คุณเพิ่งทำ **c# OCR tutorial** เสร็จสิ้นที่แสดงวิธี **extract text from image** ไฟล์และ **convert DJVU to text** อย่างราบรื่นโดยใช้ Aspose.OCR. ตัวอย่างครอบคลุมตั้งแต่การติดตั้งแพคเกจจนถึงการจัดการใบอนุญาต, ตั้งแต่การดึงข้อความจากภาพหน้าเดียวจนถึงการจัดการ DJVU หลายหน้า, รวมถึงเคล็ดลับเพิ่มความแม่นยำ. + +ต่อไปคุณอาจสำรวจ **how to extract text** จาก PDF, ผสานขั้นตอน OCR เข้ากับ Web API, หรือทดลองใช้ language pack สำหรับเอกสารหลายภาษา. ไม่มีขีดจำกัด—แค่จำไว้ว่า: ตั้งค่าเอนจิน, ป้อนไฟล์, แล้วอ่านสตริงกลับมา. + +มีคำถามเพิ่มเติม? แสดงความคิดเห็น, ทดลองโค้ดกับเอกสารของคุณ, และขอให้สนุกกับการเขียนโค้ด! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# OCR tutorial – console output 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/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/thai/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..fc2a63ec --- /dev/null +++ b/ocr/thai/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-01-09 +description: บทเรียน OCR ด้วย C# ที่แสดงวิธีดึงข้อความจากไฟล์รูปภาพ, จดจำข้อความจาก + PNG, แปลงรูปภาพเป็นสตริง, และตรวจจับภาษาด้วยการใช้ Aspose.OCR โดยอัตโนมัติ +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: th +og_description: บทเรียน OCR ด้วย C# ที่สอนวิธีดึงข้อความจากภาพ, จดจำข้อความจากไฟล์ + PNG, แปลงภาพเป็นสตริง, และตรวจจับภาษาอัตโนมัติด้วย Aspose OCR. +og_title: c# OCR tutorial – ดึงข้อความจากรูปภาพ +tags: +- C# +- OCR +- Aspose +- Image Processing +title: บทเรียน OCR ด้วย C# – แยกข้อความจากรูปภาพด้วย Aspose OCR +url: /th/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – ดึงข้อความจากรูปภาพด้วย Aspose OCR + +เคยต้องการ **c# ocr tutorial** ที่ทำงานได้จริงกับไฟล์ PNG ในโลกจริงหรือไม่? บางทีคุณอาจกำลังสร้างเครื่องสแกนใบเสร็จ, ตัวประมวลผลฟอร์มหลายภาษา, หรือแค่สงสัยว่าจะเปลี่ยนรูปภาพของข้อความให้เป็นสตริงที่ค้นหาได้อย่างไร ไม่ว่ากรณีใด คุณมาถูกที่แล้ว + +ในคู่มือนี้เราจะสาธิตขั้นตอนต่อขั้นตอนว่าอย่างไรที่จะ **extract text from image** ไฟล์, **recognize text from png**, **convert image to string**, และแม้กระทั่ง **detect language automatically**—ทั้งหมดด้วยไลบรารี Aspose.OCR ไม่มีการอ้างอิงที่คลุมเครือ เพียงตัวอย่างที่สมบูรณ์และสามารถรันได้ที่คุณสามารถคัดลอก‑วางลงใน Visual Studio + +## สิ่งที่คุณต้องการ + +- .NET 6.0 หรือใหม่กว่า (โค้ดทำงานได้กับ .NET Core และ .NET Framework ด้วย) +- อ้างอิง NuGet ไปยัง `Aspose.OCR` (เวอร์ชัน 23.9 หรือใหม่กว่า) +- ไฟล์รูปภาพ (`mixed‑script.png` ในตัวอย่างนี้) ที่วางไว้ในตำแหน่งที่แอปสามารถอ่านได้ +- ความเข้าใจพื้นฐานของ C# (ถ้าคุณเคยเขียน “Hello World” คุณพร้อมแล้ว) + +> **เคล็ดลับ:** หากคุณยังไม่มีลิขสิทธิ์ Aspose มีลิขสิทธิ์ชั่วคราวฟรีสำหรับการทดสอบ เพียงวางไฟล์ `.lic` ข้างๆไฟล์ executable ของคุณ + +## ขั้นตอนที่ 1 – ติดตั้งแพคเกจ NuGet Aspose.OCR + +ขั้นแรก เพิ่มไลบรารีลงในโปรเจกต์ของคุณ เปิด Package Manager Console แล้วรัน: + +```powershell +Install-Package Aspose.OCR +``` + +หรือ หากคุณชอบใช้ UI ให้คลิกขวาที่ *Dependencies → Manage NuGet Packages* แล้วค้นหา **Aspose.OCR**. + +## ขั้นตอนที่ 2 – เตรียม OCR Engine (c# ocr tutorial core) + +ตอนนี้เราจะสร้างอินสแตนซ์ `OcrEngine` บอกให้มันตรวจจับภาษาด้วยตนเอง และชี้ไปที่ไฟล์ PNG ของเรา. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### ทำไมเราถึงตั้งค่า `Language = OcrLanguage.AutoDetect` + +การตรวจจับภาษาด้วยอัตโนมัติช่วยคุณไม่ต้องเดาว่าภาพมีภาษาอังกฤษ, รัสเซีย, อาหรับ หรือผสมกัน เป็นตัวเลือกที่ยืดหยุ่นที่สุดสำหรับสถานการณ์ **detect language automatically** และทำงานได้ทันทีสำหรับสคริปต์ส่วนใหญ่ที่ Aspose รองรับ. + +## ขั้นตอนที่ 3 – รันแอปพลิเคชันและตรวจสอบผลลัพธ์ + +คอมไพล์และรันโปรแกรม (`dotnet run` หรือกด **F5** ใน Visual Studio) หากทุกอย่างเชื่อมต่อถูกต้อง คุณจะเห็นอะไรประมาณนี้: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +ผลลัพธ์นั้นพิสูจน์ว่าเราสามารถ **extract text from image**, **recognize text from png**, และ **convert image to string** ได้สำเร็จ – ทั้งหมดในโค้ดสั้น ๆ เพียงส่วนเดียว + +## ขั้นตอนที่ 4 – รูปแบบทั่วไปและกรณีขอบ + +### การจัดการหลายภาพ + +หากคุณต้องการประมวลผลไดเรกทอรีของ PNG ให้ใส่การเรียกการจดจำไว้ในลูป `foreach`: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### การระบุภาษาคงที่ + +บางครั้งคุณอาจรู้ภาษาล่วงหน้า (เช่น ภาษาอังกฤษเท่านั้น) คุณสามารถแทนที่ `AutoDetect` ด้วย `OcrLanguage.English` เพื่อเร่งการประมวลผล: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### การจัดการกับสแกนคุณภาพต่ำ + +Aspose.OCR มีตัวเลือกการเตรียมข้อมูลล่วงหน้า (ลดสัญญาณรบกวน, ปรับแนว) สำหรับการแก้ไขอย่างเร็ว: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### การบันทึกผลลัพธ์ลงไฟล์ + +แทนที่จะพิมพ์ลงคอนโซล คุณอาจต้องการเขียนข้อความที่ดึงออกไปยังไฟล์ `.txt`: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## ขั้นตอนที่ 5 – ตัวอย่างทำงานเต็มรูปแบบ (พร้อมคัดลอก‑วาง) + +ด้านล่างเป็น **complete program** พร้อมตรรกะการเตรียมข้อมูลล่วงหน้าและการบันทึกไฟล์ คุณสามารถปรับเปลี่ยนเส้นทางได้ตามต้องการ. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### ผลลัพธ์ที่คาดหวัง + +การรันโปรแกรมบน PNG ที่มีภาษาอังกฤษ, รัสเซีย, และอาหรับ จะได้ผลลัพธ์ดังนี้: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +หากภาพว่างหรืออ่านไม่ออก เครื่องจะคืนค่าเป็นสตริงว่าง — ให้จัดการกรณีนี้โดยตรวจสอบ `string.IsNullOrWhiteSpace(extractedText)` ก่อนดำเนินการต่อ + +## คำถามที่พบบ่อย (FAQs) + +**Q: Aspose.OCR รองรับข้อความที่เขียนด้วยมือหรือไม่?** +A: มันมุ่งเน้นที่ OCR พิมพ์เท่านั้น สำหรับการเขียนด้วยมือคุณต้องใช้โมเดล ML เฉพาะหรือบริการเช่น Azure Computer Vision. + +**Q: ฉันสามารถรันนี้บน Linux/macOS ได้หรือไม่?** +A: แน่นอน Aspose.OCR รองรับหลายแพลตฟอร์ม; เพียงติดตั้ง .NET runtime สำหรับ OS ของคุณ. + +**Q: ถ้าฉันต้องประมวลผล PDF แทน PNG จะทำอย่างไร?** +A: แปลงแต่ละหน้าของ PDF เป็นภาพก่อน (เช่น ใช้ `Aspose.PDF`) แล้วจึงส่งภาพไปยัง OCR engine. + +## สรุป + +เราเพิ่งเสร็จสิ้น **c# ocr tutorial** ที่พาคุณผ่านการ **extracting text from image** ไฟล์, **recognizing text from png**, **converting the image to a string**, และ **detecting language automatically** ด้วย Aspose.OCR โค้ดสั้น แนวคิดชัดเจน และคุณสามารถขยายเป็นการประมวลผลเป็นชุด การตั้งค่าภาษาแบบกำหนดเอง หรือแม้แต่รวมเข้ากับ Web API + +ขั้นตอนต่อไป? ลองนำผลลัพธ์ OCR ไปใส่ในดัชนีการค้นหา ส่งไปยังบริการแปลภาษา หรือรวมกับ Azure Cognitive Services เพื่อสร้างสายข้อมูลที่สมบูรณ์ยิ่งขึ้น ท้องฟ้าเป็นขอบเขตเมื่อคุณเชี่ยวชาญพื้นฐานของการแปลงภาพเป็นข้อความใน C#. + +ขอให้สนุกกับการเขียนโค้ด และอย่าลืมทดลองกับคุณภาพภาพที่ต่างกัน— OCR engine ของคุณจะขอบคุณคุณ! + +![c# ocr tutorial – ตัวอย่างผลลัพธ์ OCR บน PNG ที่มีหลายสคริปต์](placeholder-image.png "c# ocr tutorial – ภาพหน้าจอผลลัพธ์ 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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/thai/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..3c50215b --- /dev/null +++ b/ocr/thai/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-01-09 +description: ดึงข้อความจากไฟล์ PNG อย่างรวดเร็วด้วย Aspose OCR. เรียนรู้วิธีอ่านข้อความจากภาพ, + ปรับปรุงความแม่นยำของ OCR, และรับผลลัพธ์ที่สะอาดใน C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: th +og_description: ดึงข้อความจากไฟล์ PNG อย่างรวดเร็วด้วย Aspose OCR. เรียนรู้วิธีอ่านข้อความจากภาพ, + ปรับปรุงความแม่นยำของ OCR, และรับผลลัพธ์ที่สะอาดใน C#. +og_title: สกัดข้อความจาก PNG – บทเรียน OCR ของ Aspose อย่างครบถ้วน +tags: +- Aspose OCR +- C# +- Image Processing +title: สกัดข้อความจาก PNG – บทเรียน OCR ของ Aspose อย่างครบถ้วน +url: /th/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# ดึงข้อความจาก PNG – บทแนะนำ Aspose OCR ฉบับสมบูรณ์ + +เคยต้อง **extract text from PNG** ไฟล์แล้วผลลัพธ์เต็มไปด้วยตัวอักษรไร้สาระหรือไม่? คุณไม่ได้เป็นคนเดียว ในหลายโครงการจริง – ใบแจ้งหนี้, ใบเสร็จ, หรือแบบฟอร์มที่สแกน – คุณภาพของผลลัพธ์ OCR สามารถทำให้กระบวนการอัตโนมัติสำเร็จหรือล้มเหลวได้ + +ในคู่มือนี้เราจะสาธิตวิธี **step‑by‑step** เพื่ออ่านข้อความจากภาพโดยใช้ Aspose OCR, เติมพจนานุกรมกำหนดเองเพื่อ **improve OCR accuracy**, ทำความสะอาดสัญญาณรบกวน, และสุดท้ายพิมพ์สตริงที่เรียบร้อย เมื่อเสร็จคุณจะได้แอปคอนโซล C# ที่พร้อมรันและดึงข้อความจากภาพ PNG อย่างเชื่อถือได้ + +> **สิ่งที่คุณจะได้เรียนรู้** +> * ตัวอย่างโค้ดที่สมบูรณ์และสามารถรันได้ +> * ความเข้าใจว่าทำไมพจนานุกรมกำหนดเองถึงสำคัญ +> * เคล็ดลับการจัดการกับกรณีขอบเช่นการสแกนที่คอนทราสต์ต่ำ + +## Prerequisites + +- .NET 6 SDK หรือใหม่กว่า (โค้ดนี้ตั้งเป้าหมายที่ .NET 6, แต่ .NET 5 ก็ทำงานได้เช่นกัน) +- Visual Studio 2022 หรือโปรแกรมแก้ไขใด ๆ ที่คุณชอบ +- รูปภาพ **PNG** ที่คุณต้องการประมวลผล – ตัวอย่างเช่น `invoice.png` +- แพคเกจ **Aspose.OCR** จาก NuGet (`dotnet add package Aspose.OCR`) + +ไม่ต้องมีไฟล์การกำหนดค่าเพิ่มเติม; ทุกอย่างอยู่ในไฟล์ `.cs` ไฟล์เดียว + +## Step 1 – Install and Reference Aspose OCR + +ขั้นแรกให้ดึงไลบรารีเข้ามาในโปรเจคของคุณ เปิดเทอร์มินัลในโฟลเดอร์โซลูชันและรัน: + +```bash +dotnet add package Aspose.OCR +``` + +บรรทัดเดียวนี้จะดึงเวอร์ชันล่าสุดที่เสถียร (ณ มกราคม 2026, เวอร์ชัน 23.9) แพคเกจนี้รวมคลาส `OcrEngine` ที่เราจะใช้ตลอดบทเรียน + +## Step 2 – Initialize the OCR Engine + +การสร้างอินสแตนซ์ `OcrEngine` เป็นพื้นฐาน คิดว่าเป็นการเปิดสแกนเนอร์ที่พร้อมตีความพิกเซล + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Pro tip:** หากคุณวางแผนประมวลผลหลายภาพในลูปเดียว, ให้ใช้อินสแตนซ์ `OcrEngine` เดียวกันซ้ำ ๆ มันจะเก็บแคชทรัพยากรภายในและเร่งการเรียกใช้ครั้งต่อไป + +## Step 3 – Boost Accuracy with a Custom Dictionary + +OCR ที่มาพร้อมใช้งานทำได้ดี, แต่บางครั้งอาจสับสนกับคำเฉพาะด้านเช่น “Aspose”, “OCR”, หรือ “SDK”. การเพิ่มคำเหล่านี้ลงใน **custom dictionary** จะบอกให้เอ็นจิ้นรู้ว่าคำเหล่านั้นเป็นคำที่ถูกต้อง, ลดการจดจำผิดพลาด + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### ทำไมพจนานุกรมกำหนดเองถึงช่วยได้ + +- **Statistical models** ที่อยู่เบื้องหลัง OCR จะให้ความสำคัญกับรูปแบบภาษาที่พบบ่อยเป็นหลัก คำที่ไม่ค่อยเจอจะมีความน่าจะเป็นต่ำและอาจถูกแทนที่ด้วยอักขระที่คล้ายกัน +- การระบุคำเหล่านั้นอย่างชัดเจนจะทำให้คุณเหนือโมเดลที่คาดเดา +- มีประโยชน์อย่างยิ่งสำหรับ **read image text** ที่มีรหัสสินค้า, คำย่อ, หรือชื่อแบรนด์ + +## Step 4 – Recognize Text from the PNG File + +ต่อไปให้ส่งพาธของภาพให้กับเอ็นจิ้น เมธอด `RecognizeImage` จะคืนสตริงดิบที่ยังคงมีโทเคนที่ไม่รู้จัก (เช่น “#@!”) ที่เอ็นจิ้นไม่สามารถแมปได้ + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Edge case:** หากไฟล์ไม่พบ, `RecognizeImage` จะโยน `FileNotFoundException`. ควรห่อการเรียกในบล็อก try‑catch สำหรับโค้ดระดับผลิต + +## Step 5 – Clean the Result with `CleanText` + +Aspose OCR มาพร้อมกับตัวช่วยที่ลบอักขระที่ถูกทำเครื่องหมายว่า “unknown”. ขั้นตอนนี้สำคัญสำหรับโครงการ **extract text from image** ที่ตัวแยกวิเคราะห์ต่อมาคาดหวังเฉพาะอักขระตัวอักษรและเครื่องหมายวรรคตอนพื้นฐาน + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +เมธอด `CleanText` ยังทำการปรับรูปแบบการขึ้นบรรทัดใหม่, ทำให้ผลลัพธ์ปลอดภัยต่อการจัดเก็บในฐานข้อมูลหรือส่งต่อให้บริการอื่น ๆ + +## Step 6 – Output the Cleaned Text + +สุดท้ายให้แสดงหรือบันทึกผลลัพธ์ ในแอปคอนโซล `Console.WriteLine` ทำหน้าที่นี้ได้อย่างง่ายดาย + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +เมื่อคุณรันโปรแกรม, คุณควรเห็นบล็อกข้อความที่เรียบร้อยซึ่งสะท้อนเนื้อหาของ `invoice.png`. หากภาพมีคำว่า “Aspose”, พจนานุกรมกำหนดเองจะทำให้คำนี้แสดงอย่างถูกต้องแทนที่จะเป็น “A5p0se” + +## Full Working Example + +รวมทุกอย่างเข้าด้วยกัน, นี่คือไฟล์ `Program.cs` ฉบับเต็มที่คุณสามารถคัดลอก‑วางลงในโปรเจคคอนโซลใหม่ได้: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**ผลลัพธ์ที่คาดหวัง** (สมมติว่า PNG มีใบแจ้งหนี้แบบง่าย): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +หากคุณเห็นสัญลักษณ์แปลก ๆ, ให้ตรวจสอบคุณภาพของภาพหรือขยายพจนานุกรมกำหนดเองด้วยคำเพิ่มเติม + +## Bonus: Handling Low‑Quality Scans + +บางครั้ง PNG ถูกสแกนที่ 72 dpi หรือมีอ artefacts จากการบีบอัดหนัก ต่อไปนี้คือเคล็ดลับสั้น ๆ เพื่อ **improve OCR accuracy** โดยไม่ต้องออกจาก C#: + +1. **Pre‑process the image** ด้วยไลบรารีเช่น `SixLabors.ImageSharp` – เพิ่มคอนทราสต์, แปลงเป็น grayscale, หรือใช้ blur เล็กน้อยเพื่อลดสัญญาณรบกวน +2. **Set the `Resolution` property** บน `OcrEngine` (เช่น `ocrEngine.Resolution = 300;`) เพื่อบอกเอ็นจิ้นให้ถือภาพเป็นความละเอียดสูงกว่า +3. **Enable language packs** หากคุณทำงานกับข้อความที่ไม่ใช่ภาษาอังกฤษ (`ocrEngine.Language = Language.English;`) + +สามวิธีนี้สามารถใส่ก่อนการเรียก `RecognizeImage` ได้เลย + +## Frequently Asked Questions + +- **Does this work with other image formats?** + ใช่. `RecognizeImage` รองรับ JPEG, BMP, TIFF, และแม้แต่ PDF (เป็นคอนเทนเนอร์ของภาพ). ขั้นตอนเดียวกันใช้ได้กับทุกฟอร์แมต + +- **Can I extract text from multiple PNGs in a folder?** + แน่นอน. ห่อโลจิกหลักในลูป `foreach (var file in Directory.GetFiles(folder, "*.png"))` แล้วเก็บผลลัพธ์แต่ละไฟล์ในรายการหรือเขียนแยกไฟล์ + +- **What if I need the text coordinates?** + Aspose OCR ยังให้บริการ `OcrResult` ที่มีข้อมูล bounding box. ใช้ `ocrEngine.RecognizeImageToResult(imagePath)` สำหรับสถานการณ์ขั้นสูงนี้ + +## Conclusion + +เราได้เดินผ่านโซลูชัน **complete, end‑to‑end** สำหรับ **extracting text from PNG** ด้วย Aspose OCR. ด้วยการเริ่มต้นเอ็นจิ้น, เติม **custom dictionary**, ทำความสะอาดผลลัพธ์ดิบ, และจัดการกับข้อผิดพลาดทั่วไป, คุณสามารถ **read image text** และ **improve OCR accuracy** ในแอป C# ของคุณได้อย่างมั่นใจ + +พร้อมก้าวต่อไปหรือยัง? ลองสลับ PNG เป็นใบเสร็จสแกน, เพิ่มคำเฉพาะโดเมนลงในพจนานุกรม, หรือผสานผลลัพธ์กับฐานข้อมูลเพื่อทำการประมวลผลใบแจ้งหนี้อัตโนมัติ. ความเป็นไปได้ไม่มีขีดจำกัดเมื่อคุณรวม Aspose OCR กับระบบนิเวศของ .NET + +Happy coding, and may your OCR always be spot‑on! + +![ดึงข้อความจาก png ตัวอย่าง](/images/extract-text-from-png.png "ดึงข้อความจาก png – ตัวอย่าง Aspose 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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/thai/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..c34af9cc --- /dev/null +++ b/ocr/thai/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,260 @@ +--- +category: general +date: 2026-01-09 +description: ดึงข้อความจากไฟล์ TIFF ด้วย Aspose OCR ใน C#. เรียนรู้วิธีการรับ 50 ตัวอักษรแรกของแต่ละผลลัพธ์ในบทแนะนำขั้นตอนต่อขั้นตอนนี้. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: th +og_description: ดึงข้อความจากไฟล์ TIFF ด้วย Aspose OCR ใน C# คู่มือนี้แสดงวิธีรับ + 50 ตัวอักษรแรกของผลลัพธ์ OCR แต่ละรายการ ทีละขั้นตอน +og_title: สกัดข้อความจากไฟล์ TIFF ด้วย Aspose OCR – คู่มือ C# ฉบับสมบูรณ์ +tags: +- Aspose OCR +- C# +- TIFF processing +title: สกัดข้อความจากไฟล์ TIFF ด้วย Aspose OCR C# – คู่มือเต็ม +url: /th/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# ดึงข้อความจาก TIFF – การสอน Aspose OCR C# อย่างสมบูรณ์ + +เคยต้อง **ดึงข้อความจากภาพ TIFF** แต่ไม่แน่ใจว่าจะใช้ไลบรารีไหน? คุณไม่ได้อยู่คนเดียว นักพัฒนาหลายคนเจออุปสรรคเมื่อต้องดึงข้อความที่ค้นหาได้จาก TIFF หลายหน้า โดยเฉพาะเมื่อประสิทธิภาพเป็นสิ่งสำคัญ + +ใน **aspose ocr c# tutorial** นี้ เราจะพาคุณผ่านตัวอย่างที่พร้อมรันซึ่งไม่เพียงดึงข้อความทั้งหมด แต่ยังแสดงวิธี **ดึงอักขระ 50 ตัวแรก** ของแต่ละหน้าเพื่อเป็นตัวอย่างอย่างรวดเร็ว เมื่อเสร็จแล้วคุณจะมีโปรแกรมที่สามารถใส่ลงในโปรเจกต์ .NET ใดก็ได้ + +## สิ่งที่คุณต้องมี + +- .NET 6 (หรือเวอร์ชัน .NET ล่าสุด) – โค้ดสามารถคอมไพล์ได้ทั้งบน .NET Core และ .NET Framework +- ไลเซนส์ Aspose.OCR for .NET ที่ใช้งานได้ (คุณสามารถเริ่มต้นด้วยการทดลองฟรี) +- โฟลเดอร์ที่มีไฟล์ `.tif` หนึ่งไฟล์หรือหลายไฟล์ที่ต้องการประมวลผล +- Visual Studio, VS Code หรือ IDE ใดก็ได้ที่คุณชอบ – ตัวอย่างเป็น C# ธรรมดา ไม่จำกัดเครื่องมือแก้ไข + +> **Pro tip:** หากคุณทำงานบนเซิร์ฟเวอร์ CI ให้เพิ่มแพคเกจ NuGet ของ Aspose.OCR (`Aspose.OCR`) ลงในไฟล์โปรเจกต์ของคุณ; ไลบรารีเป็นแบบจัดการเต็มรูปแบบและไม่มีการพึ่งพาเนทีฟ + +## ขั้นตอนที่ 1: ติดตั้งแพคเกจ NuGet ของ Aspose OCR + +เริ่มต้นด้วยการนำเอาเอนจิน OCR เข้ามาในโปรเจกต์ เปิดเทอร์มินัลในโฟลเดอร์โซลูชันของคุณและรัน: + +```bash +dotnet add package Aspose.OCR +``` + +คำสั่งนี้จะดึงเวอร์ชันเสถียรล่าสุด (ณ มกราคม 2026 คือ 23.9) และอัปเดตไฟล์ `.csproj` ของคุณโดยอัตโนมัติ ไม่ต้องจัดการ DLL ด้วยตนเอง + +## ขั้นตอนที่ 2: เริ่มต้น OCR Engine + +ต่อไปเราจะสร้างอินสแตนซ์ของ `OcrEngine` คิดว่าเป็น “สมอง” ที่จะอ่านทุกหน้า TIFF + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +ทำไมต้องสร้างอินสแตนซ์เพียงครั้งเดียว? เพราะ `RecognizeImages` สามารถรับคอลเลกชันของเส้นทางไฟล์ ทำให้เอนจินใช้บัฟเฟอร์ภายในซ้ำได้และเร่งความเร็วการประมวลผลแบบแบตช์อย่างมาก + +## ขั้นตอนที่ 3: รวบรวมไฟล์ TIFF ทั้งหมดในหนึ่งคำสั่ง + +แทนที่จะวนลูปอ่านโฟลเดอร์ด้วยตนเอง เราจะให้ .NET ทำงานหนักให้ `Directory.GetFiles` จะคืนค่า `IEnumerable` ที่เราสามารถส่งตรงไปยังคำสั่ง OCR ได้ + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **ถ้าภาพของฉันเป็น JPEG หรือ PNG?** เพียงเปลี่ยนรูปแบบการค้นหา (`"*.jpg"` หรือ `"*.*"`). Aspose OCR รองรับรูปแบบเรสเตอร์ทั่วไปทั้งหมด + +## ขั้นตอนที่ 4: รัน OCR บนคอลเลกชันทั้งหมด + +นี่คือบรรทัดสำคัญที่ประมวลผลทุกไฟล์ในคำขอเดียว วิธีนี้จะคืนพจนานุกรมที่คีย์คือเส้นทางไฟล์และค่าเป็นอ็อบเจ็กต์ `OcrResult` ที่บรรจุข้อความที่ได้รับการจดจำ + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +ทำไมต้องประมวลผลแบบแบตช์? เพื่อลดค่าโอเวอร์เฮดจากการโหลดเอนจิน OCR ซ้ำ ๆ และบนเครื่องหลายคอร์ Aspose จะทำงานแบบขนานภายในโดยอัตโนมัติ ทำให้คุณเห็นการเพิ่มความเร็วอย่างชัดเจน + +## ขั้นตอนที่ 5: แสดงตัวอย่าง – ดึงอักขระ 50 ตัวแรก + +หลายกรณี UI ต้องการเพียงส่วนสั้น ๆ ไม่ใช่เอกสารเต็ม เราจะดึงอักขระ 50 ตัวแรก (หรือจำนวนน้อยกว่า หากหน้าสั้น) แล้วพิมพ์พร้อมชื่อไฟล์ + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +บรรทัด `Math.Min(50, fullText.Length)` รับประกันว่าเราไม่เกินขอบเขตของสตริง – เป็นการป้องกันเล็ก ๆ ที่หลีกเลี่ยง `ArgumentOutOfRangeException` เมื่อผลลัพธ์ OCR สั้นกว่า 50 ตัวอักษร + +### ผลลัพธ์ที่คาดว่าจะเห็นในคอนโซล + +สมมติว่าคุณมีไฟล์ TIFF สองไฟล์ (`invoice1.tif` และ `receipt2.tif`) คอนโซลอาจแสดงดังนี้: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +แต่ละบรรทัดลงท้ายด้วยจุดไข่ปลา (`...`) เพื่อบ่งบอกว่าตัวอย่างเป็นเพียงส่วนเริ่มต้นของข้อความที่ยาวกว่า + +## ขั้นตอนที่ 6: จัดการกับกรณีขอบและข้อผิดพลาดทั่วไป + +### ไฟล์ว่างหรือเสียหาย + +หากไฟล์ไม่สามารถอ่านได้ `RecognizeImages` ยังจะคืนรายการที่มีคุณสมบัติ `Text` ว่างเปล่า คุณสามารถกรองรายการเหล่านี้ออกได้: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### แบตช์ขนาดใหญ่ + +การประมวลผลหลายพันไฟล์ TIFF อาจใช้หน่วยความจำมาก ในกรณีเช่นนี้ให้ใช้ overload ที่รับ `Stream` ต่อภาพหนึ่งไฟล์ หรือแบ่งรายการเป็นชิ้นย่อย ๆ: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### การสนับสนุนภาษาและฟอนต์ + +หากเอกสารของคุณมีอักขระที่ไม่ใช่ละติน ให้ตั้งค่าภาษา ก่อนเรียก `RecognizeImages`: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +การปรับเล็ก ๆ นี้สามารถเพิ่มความแม่นยำได้อย่างมาก + +## ขั้นตอนที่ 7: ตัวอย่างทำงานเต็มรูปแบบ (พร้อมคัดลอก‑วาง) + +ด้านล่างเป็นโปรแกรมเต็มที่คุณสามารถวางลงในโปรเจกต์คอนโซลใหม่ (`dotnet new console`) แล้วรันได้ทันที (เพียงเปลี่ยน `YOUR_DIRECTORY/Batch` เป็นเส้นทางจริง) + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +รันโปรแกรมด้วย `dotnet run`. คุณควรเห็นตัวอย่างสั้น ๆ สำหรับแต่ละไฟล์ TIFF ยืนยันว่าคุณได้ **ดึงข้อความจาก TIFF** ด้วย Aspose OCR อย่างสำเร็จ + +## คำถามที่พบบ่อย (FAQ) + +**Q: ทำงานกับ TIFF หลายหน้าได้หรือไม่?** +A: ได้. Aspose OCR จะจัดการแต่ละหน้าเป็นภาพแยกภายใน ดังนั้น TIFF หลายหน้าจะให้สตริงที่ต่อเนื่องต่อไฟล์เดียว คุณสามารถแยกส่วนต่อไปได้หากต้องการ + +**Q: ความแม่นยำของ OCR มีระดับเท่าไหร่โดยไม่ต้องปรับแต่ง?** +A: สำหรับสแกนที่คมชัดและความละเอียดสูง (300 DPI หรือมากกว่า) คุณสามารถคาดหวังความแม่นยำ >95 % สำหรับข้อความภาษาอังกฤษ การทำพรี‑โปรเซส (deskew, binarization) สามารถทำให้แม่นยำยิ่งขึ้น + +**Q: สามารถส่งออกผลลัพธ์เป็นไฟล์ CSV ได้หรือไม่?** +A: แน่นอน. แทนที่ `Console.WriteLine` ด้วย `StreamWriter` แล้วเขียนแถว `fileName,preview`. อย่าลืมหลบคอมม่าในข้อความตัวอย่าง + +## ขั้นตอนต่อไปและหัวข้อที่เกี่ยวข้อง + +- **บันทึกผลลัพธ์ OCR** – เก็บข้อความเต็มในฐานข้อมูลเพื่อทำคลังข้อมูลที่ค้นหาได้ +- **รวมกับการแปลง PDF** – ใช้ Aspose.PDF เพื่อฝังข้อความที่ดึงได้กลับเข้า PDF ที่ค้นหาได้ +- **ประมวลผลแบตช์บน Azure Functions** – ขยายการทำงาน OCR โดยไม่ต้องจัดการเซิร์ฟเวอร์ + +ส่วนขยายทั้งหมดนี้เชื่อมโยงกลับไปยังแนวคิดหลักของการ **ดึงข้อความจาก TIFF** อย่างมีประสิทธิภาพ พร้อมให้คุณ **ดึงอักขระ 50 ตัวแรก** เพื่อแสดงตัวอย่าง UI อย่างรวดเร็ว + +--- + +*ขอให้สนุกกับการเขียนโค้ด! หากเจอปัญหาใด ๆ คอมเมนต์ด้านล่าง – ฉันจะพยายามช่วยคุณปรับแต่ง pipeline ของ OCR ให้ดีที่สุด* + +![ดึงข้อความจาก TIFF ด้วย Aspose OCR](https://example.com/images/extract-text-from-tiff.png "ดึงข้อความจาก TIFF ด้วย Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/thai/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..28b57bdd --- /dev/null +++ b/ocr/thai/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,224 @@ +--- +category: general +date: 2026-01-09 +description: จดจำข้อความในไฟล์ JPG อย่างรวดเร็วด้วย Aspose OCR ใน C# เรียนรู้วิธีดึงข้อความจากภาพ + แปลงภาพเป็น JSON และ EPUB ในบทเรียนเดียว. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: th +og_description: จดจำข้อความในไฟล์ jpg ด้วย Aspose OCR คู่มือนี้แสดงวิธีการดึงข้อความจากภาพ + แปลงภาพเป็น JSON และ EPUB และสร้าง ePub จากภาพ +og_title: แยกข้อความในไฟล์ jpg – คอร์สเต็ม C# +tags: +- Aspose OCR +- C# +- Image Processing +title: จดจำข้อความในไฟล์ JPG ด้วย Aspose OCR – คู่มือ C# ฉบับสมบูรณ์ +url: /th/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# จดจำข้อความใน jpg – คู่มือ C# ฉบับสมบูรณ์ + +เคยต้องการ **recognize text in jpg** ในไฟล์แต่ไม่แน่ใจว่าจะเลือกไลบรารีใดใช่ไหม? คุณไม่ได้อยู่คนเดียว นักพัฒนาหลายคนเจออุปสรรคเดียวกันเมื่อลองดึงคำออกจากภาพถ่ายหรือเอกสารที่สแกน + +ข่าวดีคือ? ด้วย Aspose OCR คุณสามารถ **extract text from image** ไฟล์ได้ในไม่กี่บรรทัดของโค้ด C# แล้วแปลง **convert image to JSON** หรือแม้กระทั่ง **convert image to EPUB** ได้ทันที—ทั้งหมดโดยไม่ต้องออกจาก IDE ของคุณ + +ในบทแนะนำนี้เราจะเดินผ่านขั้นตอนทั้งหมด: ตั้งแต่การติดตั้งแพ็กเกจ NuGet ที่เหมาะสม, การจดจำข้อความใน JPG, จนถึงการบันทึกผลลัพธ์เป็น JSON โครงสร้างและเป็นเอกสาร ePub. เมื่อจบคุณจะสามารถ **create epub from image** ไฟล์ได้โดยอัตโนมัติ, เทคนิคที่มีประโยชน์สำหรับแพลตฟอร์ม e‑learning, ห้องสมุดดิจิทัล, หรือแอปใด ๆ ที่ต้องการ e‑books ที่ค้นหาได้ + +--- + +## What You’ll Need + +- **.NET 6+** (or .NET Framework 4.6+). โค้ดทำงานบน runtime ใดก็ได้ที่ทันสมัย +- **Aspose.OCR** NuGet package – ตัวเอนจิน OCR หลัก +- **Aspose.Publishing** NuGet package – จำเป็นสำหรับรูปแบบเอาต์พุต ePub +- ไฟล์รูปภาพชื่อ `input.jpg` อยู่ที่ใดที่หนึ่งบนดิสก์ของคุณ (เปลี่ยนเส้นทางให้เป็นของคุณ) +- ตัวแก้ไขข้อความหรือ IDE (Visual Studio, VS Code, Rider—ตามที่คุณชอบ) + +แค่นี้เอง. ไม่มีบริการเสริม, ไม่มี API ภายนอก, เพียงสองไลบรารีและไฟล์ JPG + +## Step 1: Set Up Your Project to **recognize text in jpg** + +แรกเริ่ม, สร้างแอปพลิเคชันคอนโซลใหม่ (หรือเพิ่มในโปรเจกต์ที่มีอยู่). จากนั้นเพิ่มแพ็กเกจ Aspose สองตัวผ่าน NuGet Package Manager: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Pro tip:** หากคุณใช้ Visual Studio, คลิกขวาที่โปรเจกต์ → *Manage NuGet Packages* → ค้นหา *Aspose.OCR* และ *Aspose.Publishing*, แล้วคลิก **Install**. + +แพ็กเกจเหล่านี้นำเข้าทุกอย่างที่คุณต้องการเพื่อ **extract text from image** และเพื่อส่งออกไฟล์ ePub ในภายหลัง + +## Step 2: **Extract text from image** Using Aspose OCR + +ตอนนี้เราจะเขียนโค้ดที่อ่าน JPG และดึงอักขระออกจากมัน + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Why this works:** `OcrEngine` แยกการประมวลผลภาพระดับต่ำ, การตรวจจับภาษา, และการแยกอักขระออกจากกัน. คุณเพียงแค่ชี้ไปที่ไฟล์และมันจะคืนค่าอ็อบเจ็กต์ `OcrResult` ที่มีสตริงข้อความธรรมดา (`ocrResult.Text`) และเมตาดาต้าชุดเต็ม + +## Step 3: **Convert image to JSON** – Exporting the OCR Result + +หากคุณต้องการเก็บผลลัพธ์ OCR ในรูปแบบโครงสร้าง (สำหรับ API, ฐานข้อมูล, หรือการประมวลผลต่อ) Aspose ทำให้การแปลงผลลัพธ์เป็น JSON ง่ายดาย + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +JSON ที่สร้างขึ้นจะมีลักษณะประมาณนี้ (ตัดทอนเพื่อความกระชับ): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**When to use it:** JSON เหมาะอย่างยิ่งเมื่อคุณส่งข้อมูล OCR ไปยังเว็บเซอร์วิส, เก็บไว้ใน NoSQL, หรือแค่ต้องการรูปแบบพกพาที่สามารถแปลงได้ด้วยภาษาใดก็ได้ + +## Step 4: **Convert image to EPUB** – Saving as an eBook + +Aspose Publishing เพิ่มการสนับสนุนหลายรูปแบบ e‑book, รวมถึง EPUB. โดยการเรียก `Save` บน `OcrResult` คุณสามารถสร้างไฟล์ ePub ที่เป็นมาตรฐานเต็มรูปแบบซึ่งมีข้อความที่จดจำได้และ, หากต้องการ, รูปภาพต้นฉบับ + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**What you get:** ePub ที่คุณสามารถเปิดในโปรแกรมอ่านใดก็ได้ (Calibre, Apple Books, Adobe Digital Editions). ไฟล์จะรวมข้อความที่ดึงออกเป็นเนื้อหาที่ค้นหาได้, พร้อมกับภาพต้นฉบับเป็นเลเยอร์พื้นหลัง—เหมาะสำหรับการสร้าง **create epub from image** pipelines + +## Step 5: Full Working Example – From JPG to JSON & EPUB + +รวมทุกอย่างเข้าด้วยกัน, นี่คือโปรแกรมเต็มที่พร้อมรัน. คัดลอก‑วางนี้ลงใน `Program.cs`, ปรับเส้นทางไฟล์, แล้วกด **F5** + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +รันโปรแกรมและคุณควรเห็นสามอย่าง: + +1. ข้อความที่จดจำได้แสดงในคอนโซล +2. ไฟล์ `output.json` ที่มีข้อมูล OCR โครงสร้าง +3. ไฟล์ `output.epub` ที่คุณสามารถเปิดด้วยโปรแกรมอ่าน e‑book ใดก็ได้ + +## Common Questions & Edge Cases + +- **What if the image is a PNG or BMP?** + Aspose OCR รองรับรูปแบบเรสเตอร์ส่วนใหญ่ (PNG, BMP, TIFF, GIF). เพียงเปลี่ยนนามสกุลไฟล์ใน `inputPath`; โค้ดเดียวกันทำงานได้ + +- **Can I specify a language other than English?** + ได้. ตั้งค่า `ocrEngine.Language = OcrLanguage.French;` (หรือภาษาอื่นที่รองรับ) ก่อนเรียก `RecognizeImage` + +- **What about multi‑page PDFs?** + สำหรับ PDF คุณต้องแปลงแต่ละหน้าเป็นภาพก่อน (Aspose.PDF ทำได้) แล้วจึงส่งภาพแต่ละภาพไปยัง `RecognizeImage`. อ็อบเจ็กต์ `OcrResult` ที่ได้สามารถรวมกันก่อนส่งออกเป็น JSON หรือ EPUB + +- **I get low confidence scores. How can I improve accuracy?** + ทำการพรี‑โปรเซสภาพ: เพิ่มคอนทราสต์, แก้ไขการเอียง, หรือแปลงเป็นระดับสีเทา. Aspose OCR ยังมี `PreprocessOptions` ที่คุณสามารถปรับได้ + +## Conclusion + +คุณมีสูตรครบวงจรเพื่อ **recognize text in jpg** ด้วย Aspose OCR, แล้ว **convert image to JSON** สำหรับสายข้อมูลและ **convert image to EPUB** เพื่อสร้าง e‑books ที่ค้นหาได้. วิธีนี้เบา, ต้องการเพียงสองแพ็กเกจ NuGet, และทำงานบน .NET เวอร์ชันใหม่ทั้งหมด + +จากนี้คุณอาจ: + +- ผสานผลลัพธ์ JSON ไปยังดัชนีการค้นหา (Azure Cognitive Search, Elastic) +- ประมวลผลชุดภาพเป็นกลุ่มและสร้างห้องสมุด ePub +- ขยายเวิร์กโฟลว์ด้วย API แปลภาษาเพื่อสร้าง e‑books หลายภาษาโดยอัตโนมัติ + +ลองใช้งาน, ทดลองกับคุณภาพภาพที่ต่างกัน, ให้ OCR engine ทำงานหนักแทนคุณ. Happy coding! + +--- + +![ภาพหน้าจอผลลัพธ์การจดจำข้อความใน jpg](placeholder-image.png "ตัวอย่างการจดจำข้อความใน 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/turkish/net/ocr-configuration/_index.md b/ocr/turkish/net/ocr-configuration/_index.md index ab8cd94c..212537f2 100644 --- a/ocr/turkish/net/ocr-configuration/_index.md +++ b/ocr/turkish/net/ocr-configuration/_index.md @@ -39,9 +39,13 @@ Aspose.OCR ile .NET'te OCR görüntü tanımanın gücünün kilidini açın. G Aspose.OCR for .NET ile güçlü OCR özelliklerinin kilidini açın. Görüntülerden metni sorunsuz bir şekilde çıkarın. ### [OCR Görüntü Tanıma'da Liste ile OCR İşlemi](./ocr-operation-with-list/) Aspose.OCR for .NET'in potansiyelini ortaya çıkarın. Listelerle OCR görüntü tanımayı zahmetsizce gerçekleştirin. Uygulamalarınızda üretkenliği ve veri çıkarmayı artırın. +### [C#'ta Görüntü OCR'ı – GPU Desteğiyle Tam Kılavuz](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +C# kullanarak GPU desteğiyle görüntü OCR'ı yapmayı adım adım öğrenin. +### [Aspose OCR ile Görüntüden Metin Tanıma – Tam C# Kılavuzu](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Aspose OCR kullanarak C# ile görüntülerden metin çıkarmayı adım adım öğrenin. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/turkish/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..ed85d5f6 --- /dev/null +++ b/ocr/turkish/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-01-09 +description: Aspose.OCR kullanarak görüntüyü OCR'ye çevirme ve görüntü metnini çıkarma + konusunda öğrenin. Tarama belgesini dönüştürme, GPU'yu etkinleştirme ve OCR ile + görüntüyü okuma adımlarını içerir. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: tr +og_description: Aspose.OCR ile görüntüyü hızlıca OCR nasıl yapılır. Görüntü metnini + çıkarmak, taranmış belgeyi dönüştürmek ve GPU'yu etkinleştirmek için bu adım adım + öğreticiyi izleyin. +og_title: C#'ta Görüntüyü OCR Yapma – GPU Hızlandırmalı Rehber +tags: +- OCR +- C# +- Aspose +- Image Processing +title: C#'de Görüntüyü OCR Nasıl Yapılır – GPU Desteğiyle Tam Rehber +url: /tr/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C#'ta Görüntüyü OCR Nasıl Yapılır – GPU Desteğiyle Tam Kılavuz + +Hiç **how to OCR image** dosyalarını doğrudan .NET uygulamanızdan OCR yapmayı merak ettiniz mi? Tek başınıza değilsiniz—geliştiriciler sürekli PDF'lerden, TIFF'lerden ve fotoğraflardan metin çıkarmak zorunda kalıyor, özellikle büyük taranmış belgelerle çalışırken. İyi haber? Aspose.OCR ile sadece birkaç satırda **extract image text** yapabilirsiniz ve hatta daha hızlı işleme için **enable GPU** hızlandırmasını etkinleştirebilirsiniz. + +Bu öğreticide ihtiyacınız olan her şeyi adım adım göstereceğiz: kütüphaneyi kurmaktan, OCR motorunu GPU geri dönüşümüyle başlatmaya, sonunda **reading image with OCR** yapıp sonucu görüntülemeye kadar. Sonuna geldiğinizde **convert scanned document** görüntülerini düzenlenebilir string'lere dönüştürebileceksiniz—harici hizmetlere ihtiyaç duymadan. + +--- + +## Gereksinimler + +Before we get our hands dirty, make sure you have the following: + +- **.NET 6.0** veya daha yeni (kod .NET Core ve .NET Framework'te de çalışır). +- Aspose.OCR için bir **license** veya geçici değerlendirme anahtarı (ücretsiz deneme test için çalışır). +- İşlemek istediğiniz bir görüntü dosyası—tercihen yüksek çözünürlüklü TIFF veya PNG. +- (İsteğe bağlı) Hız artışını görmek istiyorsanız GPU‑destekli bir makine; aksi takdirde motor sorunsuz bir şekilde CPU'ya geri dönecektir. + +Bu ön koşulları karşıladığınızda, gerçek OCR iş akışına odaklanabilir ve ileride bir engelle karşılaşmazsınız. + +--- + +## Adım 1: Aspose.OCR NuGet Paketi'ni Kurun + +İlk olarak—Aspose.OCR kütüphanesini projenize ekleyin. Çözüm klasörünüzde bir terminal açın ve şu komutu çalıştırın: + +```bash +dotnet add package Aspose.OCR +``` + +Ya da Visual Studio'nun NuGet UI'sını kullanıyorsanız, sadece **Aspose.OCR** aratın ve yükle'ye tıklayın. Bu tek komut, gerektiğinde yerel GPU ikili dosyalarını da içeren tüm gerekli DLL'leri çeker. + +> **Pro tip:** Paketi güncel tutun. Yeni sürümler genellikle dil modeli iyileştirmeleri ve daha iyi GPU desteği içerir. + +--- + +## Adım 2: Gerekli Namespace'leri İçe Aktarın + +Paket kurulduğuna göre, ilgili namespace'leri kapsam içine getirin. Bu adım, kodda **how to OCR image**'a başladığımız yerdir. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +Bu iki satır, `OcrEngine` sınıfına ve GPU kullanımını açıp kapatmanıza izin veren ayar nesnesine erişim sağlar. Bunlar olmadan, derleyici `OcrEngine`'in ne olduğunu bilemez. + +--- + +## Adım 3: OCR Motorunu Başlatın ve GPU'yu Etkinleştirin + +Eğer **how to enable GPU**'yu OCR için sorduysanız, işte cevap. Bir `OcrEngineSettings` örneği oluşturur, `UseGpu` bayrağını değiştirir ve motor yapıcısına geçiririz. Motor, uyumlu bir GPU olup olmadığını otomatik olarak algılar; yoksa CPU'ya geri döner—bu yüzden ekstra hata yönetimine gerek yok. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +GPU'yu neden etkinleştiriyoruz? Büyük görüntüler için—çok sayfalı TIFF'ler ya da yüksek çözünürlüklü taramalar—işleme süresi birkaç saniyeden bir saniyenin kesirine düşebilir. Bir toplu işleme hattı kuruyorsanız, bu hız artışı çabuk birikerek büyük fark yaratır. + +--- + +## Adım 4: Hedef Görüntünüzde OCR Yapın + +İşte **read image with OCR**'u gerçekten yaptığımız yer. Dosyanızın yolunu sağlayın, motor tanınan metni bir string olarak döndürür. Bu, Aspose tarafından desteklenen herhangi bir raster formatı (PNG, JPEG, TIFF, BMP, vb.) için çalışır. + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Eğer **convert scanned document** sayfalarını tek tek işlemek isterseniz, dosya adları üzerinde döngü kurup her biri için `RecognizeImage` çağırın. Metot thread‑safe olduğundan, işi çok çekirdekli bir CPU'da paralelleştirebilirsiniz. + +--- + +## Adım 5: Çıkarılan Metni Görüntüleyin veya Saklayın + +Son olarak, sonucu çıktıya veririz. Bir konsol uygulamasında `Console.WriteLine` iş görür. Gerçek dünyada metni bir veritabanına, bir JSON dosyasına yazabilir veya bir arama indeksine besleyebilirsiniz. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +Yukarıdaki satır ham OCR çıktısını yazdırır. Satır sonları, ara sıra hatalı tanıma ve belki birkaç yabancı karakter göreceksiniz—OCR için olağan bir durum. Gerekirse son‑işleme (ör. regex temizliği) işleri düzenleyebilir. + +> **Not:** Aspose.OCR ayrıca dile özgü sözlükleri destekler. İngilizce dışı metinler işliyorsanız, `RecognizeImage`'ı çağırmadan önce `ocrEngine.Settings.Language`'ı uygun şekilde ayarlayın. + +--- + +## Tam Çalışan Örnek + +Her şeyi bir araya getirerek, yeni bir konsol projesine kopyalayıp yapıştırabileceğiniz bağımsız bir program: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Beklenen çıktı** (kısaltılmıştır): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Programı çalıştırın, ve çıkarılan metnin konsol penceresinde göründüğünü görmelisiniz. GPU mevcutsa, işleme süresi yalnızca CPU kullanan makinelerden belirgin şekilde daha kısa olacaktır. + +--- + +## Yaygın Tuzaklar ve Nasıl Önlenir + +| Issue | Why It Happens | Fix | +|-------|----------------|-----| +| **Garbage characters** | Düşük çözünürlüklü kaynak veya gürültülü arka plan. | OCR'den önce görüntüyü ön‑işleme tabi tutun (DPI'yi artırın, ikilileştirme uygulayın). | +| **GPU not used** | Uyumlu CUDA sürücüsü yüklü değil. | Sürücü sürümünü doğrulayın veya CPU'yu zorlamak için `UseGpu = false` ayarlayın. | +| **Out‑of‑memory on large TIFFs** | Tüm dosyanın bir kerede yüklenmesi. | `OcrEngineSettings.MaxMemoryUsage` kullanarak bellek ayak izini sınırlayın veya sayfaları tek tek işleyin. | +| **Incorrect language detection** | Varsayılan dil İngilizce. | `RecognizeImage`'ı çağırmadan önce `ocrEngine.Settings.Language = Language.YourLanguage;` ayarlayın. | + +Bu uç durumları ele alarak, **how to OCR image** uygulamanızın farklı ortamlar içinde sağlam kalmasını sağlarsınız. + +--- + +## Çözümü Genişletmek + +Şimdi **extract image text** yapabildiğinize göre, şunları da düşünebilirsiniz: + +- **Convert scanned document** PDF'leri OCR katmanını ekleyerek aranabilir PDF'lere dönüştürün. +- Sonuçları hızlı erişim için bir **Azure Cognitive Search** indeksine kaydedin. +- OCR çıktısını çok dilli destek gerekiyorsa bir **translation API**'ye bağlayın. +- **Aspose.OCR’s** `GetBoundingBoxes` metodunu kullanarak her kelimenin görüntü üzerindeki konumunu bulun—kırpma araçları için kullanışlı. + +Bu uzantıların tümü, ele aldığımız aynı temel prensibe dayanır: motoru başlatın, ona bir görüntü verin ve metni okuyun. + +--- + +## Sonuç + +Aspose.OCR kullanarak C#'ta **how to OCR image**'in tam, uçtan uca bir örneğini adım adım gösterdik. NuGet paketini kurarak, doğru namespace'leri içe aktararak, GPU'yu etkinleştirerek (veya CPU'ya geri dönerek) ve `RecognizeImage`'ı çağırarak, güvenilir bir şekilde **extract image text**, **convert scanned document** sayfalarını ve **read image with OCR** işlemlerini herhangi bir .NET uygulamasında yapabilirsiniz. + +Kendi birkaç taramanızda denemeler yapın—farklı görüntü formatlarıyla deneyin, GPU bayrağını değiştirin ve performansın nasıl değiştiğini görün. Hazır olduğunuzda, dil sözlükleri veya sınırlama kutusu çıkarma gibi gelişmiş özellikleri keşfederek çözümünüzü daha akıllı hâle getirin. + +İyi kodlamalar, ve OCR hattınızın hızlı, doğru ve sorunsuz 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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/turkish/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..9ba71527 --- /dev/null +++ b/ocr/turkish/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-01-09 +description: Aspose OCR'i C#'ta kullanarak görüntüden metin tanıyın. Otomatik indirmeyi + nasıl devre dışı bırakacağınızı, Çince metin içeren görüntüyü nasıl çıkaracağınızı + ve OCR dilini nasıl ayarlayacağınızı öğrenin. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: tr +og_description: Aspose OCR kullanarak C#'de görüntüden metin tanıyın. Otomatik indirmeyi + devre dışı bırakmak, Çince metin içeren görüntüyü çıkarmak ve OCR dilini ayarlamak + için bu adım adım öğreticiyi izleyin. +og_title: Aspose OCR ile görüntüden metin tanıma – Tam C# Rehberi +tags: +- Aspose OCR +- C# +- Image Processing +title: Aspose OCR ile Görüntüden Metin Tanıma – Tam C# Rehberi +url: /tr/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Görüntüden metin tanıma Aspose OCR ile – Tam C# Kılavuzu + +Hiç **görüntüden metin tanıma** ihtiyacı duydunuz mu ama yapılandırma detayları yüzünden takıldınız mı? Yalnız değilsiniz. Birçok geliştirici, OCR motoru çalışma zamanında dil paketlerini indirmeye çalıştığında ya da bir işaret fotoğrafındaki Çince karakterleri çıkaramadığında bir duvara çarpar. + +Bu öğreticide, **otomatik indirmeyi devre dışı bırakma**, **metin görüntüsü çıkarma**, **Çince metin görüntüsü çıkarma** ve **OCR dilini ayarlama** konularını Aspose OCR for .NET ile nasıl yapacağınızı adım adım göstereceğiz. Sonunda, tanınan metni doğrudan konsola yazdıran tek bir çalıştırılabilir programınız olacak. + +## Öğrenecekleriniz + +- Aspose.OCR NuGet paketini nasıl kurup referanslayacağınızı. +- Çevrimdışı veya güvenli ortamlar için otomatik kaynak indirmesini kapatmanın neden önemli olduğunu. +- Motoru yerel bir dil‑paketi klasörüne yönlendirmek için tam adımları. +- Bir görüntüyü işlemeye başlamadan önce doğru dili (Çince Basitleştirilmiş) nasıl seçeceğinizi. +- Çıktıyı doğrulama ve yaygın tuzakları giderme. + +Aspose ile önceden bir deneyiminiz olması gerekmez; sadece temel bir C# kurulumunuz ve okumak istediğiniz bir görüntü dosyanız olsun yeter. + +## Önkoşullar + +| Gereksinim | Sebep | +|-------------|--------| +| .NET 6.0 veya üzeri (veya .NET Framework 4.7+) | Aspose.OCR bu çalışma zamanlarını destekler. | +| Visual Studio 2022 (veya tercih ettiğiniz herhangi bir IDE) | Proje oluşturmayı ve hata ayıklamayı kolaylaştırır. | +| Çince metin içeren bir görüntü dosyası (ör. `chinese-sign.jpg`) | **Çince metin görüntüsü çıkarma**yı göstermek için. | +| Aspose OCR dil paketlerinin yerel bir kopyası (Aspose portalından bir kez indirilen) | **Otomatik indirmeyi devre dışı bırakma** gerektiği için gereklidir. | + +Dil‑paketi ZIP dosyalarının, örneğin `C:\MyOCR\Resources` gibi referans verebileceğiniz bir klasörde bulunduğundan emin olun. + +## Adım 1: Görüntüden metin tanıma – OCR Motorunu Yapılandırma + +İlk iş olarak, Aspose’un kaynakları nerede arayacağını belirten bir `OcrEngineSettings` nesnesine ihtiyacımız var. Bu, herhangi bir **metin görüntüsü çıkarma** işleminin temelidir. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +`AutoDownloadResources` değerini `false` olarak ayarlamanın nedeni nedir? Üretim ortamlarında sık sık güvenlik duvarlarının arkasında çalışırsınız ya da uygulamanızın çalışma zamanında internete bağlanmasını istemezsiniz. Bu özelliği devre dışı bırakmak, motorun yalnızca `ResourceFolder` içinde bulunan dosyaları kullanmasını sağlar ve aynı zamanda başlatma süresini hızlandırır. + +## Adım 2: Belirtilen ayarlarla OCR motorunu oluşturma + +Ayarlar hazır olduğuna göre, motoru örnekleyelim. Bu adım, daha sonra **OCR dilini ayarlama** yeteneğinin devreye gireceği yerdir. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +`OcrEngine` nesnesi hafiftir; bir dil atayana kadar aslında hiçbir dil verisini yüklemez. Bu tembel yükleme, kaynak klasörü boş olsa bile motoru güvenle oluşturabileceğiniz anlamına gelir—**Çince metin görüntüsü çıkarma**yı denemeden hiçbir şey kırılmaz. + +## Adım 3: OCR dilini ayarla – Çince Basitleştirilmiş’i seç + +Aspose, her biri bir ZIP dosyası olarak paketlenmiş onlarca dili destekler. Örnek görüntümüz Basitleştirilmiş Çince karakterler içerdiği için, tanıma işleminden önce dili açıkça ayarlıyoruz. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +Bu adımı atlamazsanız, motor varsayılan olarak İngilizceyi kullanır ve bozuk bir çıktı alırsınız. Ayrıca, dil adının `ResourceFolder` içindeki ZIP dosyasının adıyla tam olarak eşleşmesi gerektiğini unutmayın. Örneğin, `ChineseSimplified.zip` bulunmalıdır. + +## Adım 4: Hedef görüntüden metni çıkar + +Motor yapılandırıldı ve dil ayarlandı, sonunda **görüntüden metin tanıma**yı gerçekleştirebiliriz. Metot, kaydedebileceğiniz, loglayabileceğiniz veya başka bir sisteme aktarabileceğiniz düz bir string döndürür. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +`RecognizeImage` çağrısı tüm ağır işleri yapar: ön işleme, segmentasyon, karakter eşleştirme ve son olarak sonucu birleştirme. Görüntü net ve dil paketi doğruysa, Çince karakterler konsola yazdırılır. + +> **İpucu:** Yalnızca görüntünün bir kısmını çıkarmak istiyorsanız (ör. belirli bir bölge), kırpma dikdörtgeni geçirmek için `RecognizeImage(string, Rectangle)` aşırı yüklemesini kullanın. + +## Tam Çalışan Örnek + +Aşağıda yeni bir konsol projesine kopyalayıp yapıştırabileceğiniz tam program yer alıyor. `using` ifadeleri, ayarlar, dil seçimi ve son çıktı dahil. Dosyayı `Program.cs` olarak kaydedin, NuGet paketlerini geri yükleyin ve çalıştırın. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Beklenen Çıktı + +`chinese-sign.jpg` dosyası “欢迎光临” ifadesini içeriyorsa, konsol şu benzeri bir çıktı verir: + +``` +=== Recognized Text === +欢迎光临 +``` + +Tam formatlama görüntü kalitesine bağlı olarak değişebilir, ancak karakterler okunaklı olmalıdır. + +## Yaygın Tuzaklar & Pro İpuçları + +| Belirti | Muhtemel Neden | Çözüm | +|---------|----------------|------| +| **Boş string döner** | Dil paketi bulunamadı veya `AutoDownloadResources` hâlâ indirmeye çalışıyor | `ResourceFolder` yolunu doğrulayın ve `ChineseSimplified.zip` dosyasının mevcut olduğundan emin olun. | +| **Garip karakterler** | Görüntü bulanık veya düşük kontrastlı | `RecognizeImage`'a göndermeden önce görüntüyü ön işleyin (kontrast artırın, ikilileştirin). | +| **Exception: `FileNotFoundException`** | Yanlış görüntü yolu | Mutlak bir yol kullanın veya görüntüyü projenin çıktı dizinine koyup `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")` ile referans verin. | +| **Performans gecikmesi** | Büyük görüntü boyutları | Tanımadan önce görüntüyü makul bir genişliğe (ör. 1024 px) yeniden boyutlandırın. | + +**Pro ipucu:** Dil paketlerini sürüm kontrolü yapılan bir klasörde tutun. Aspose.OCR'yi yükselttiğinizde yeni paketlerin adlandırma kuralları değişebilir ve bu da **otomatik indirmeyi devre dışı bırakma** stratejinizi sessizce bozabilir. + +## Örneği Genişletmek + +Artık **görüntüden metin tanıma** yapabildiğinize göre, aşağıdaki senaryoları düşünebilirsiniz: + +- **Klasördeki bir grup görüntüyü toplu işleme** (dosyalar üzerinde döngü, her seferinde `RecognizeImage` çağırma). +- **Sonuçları CSV veya JSON dosyasına dışa aktarma** sonraki analizler için. +- **OCR ile çeviri API'lerini birleştirme** Çince işaretleri anında İngilizceye dönüştürme. + +Tüm bu senaryolar aynı temel adımları tekrarlar: bir kez yapılandır, dili ayarla ve `RecognizeImage`'ı çağır. Modüler tasarım kodunuzu temiz ve bakımını kolay tutar. + +## Sonuç + +Aspose OCR kullanarak C# içinde **görüntüden metin tanıma**yı nasıl yapacağınızı yeni öğrendiniz. **Otomatik indirmeyi devre dışı bırakma**, motoru yerel bir kaynak klasörüne yönlendirme ve **OCR dilini** Çince Basitleştirilmiş olarak ayarlama sayesinde, **Çince metin görüntüsü çıkarma** ve sağladığınız diğer diller için güvenilir bir çözüm elde ettiniz. + +Yukarıdaki tam, çalıştırılabilir kod, gerçek projelere kolayca entegre edebileceğiniz pratik bir iş akışı gösteriyor. Bundan sonra farklı görüntü kaliteleriyle deney yapın, hata yönetimi ekleyin veya çıktıyı daha büyük bir sisteme entegre edin. Olanaklar neredeyse sınırsız. + +Diğer diller, performans ayarlamaları veya bulut dağıtımı hakkında sorularınız mı var? 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/net/ocr-optimization/_index.md b/ocr/turkish/net/ocr-optimization/_index.md index d746e299..1a177820 100644 --- a/ocr/turkish/net/ocr-optimization/_index.md +++ b/ocr/turkish/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ Aspose.OCR for .NET'i keşfedin. Ön işleme filtreleriyle OCR doğruluğunu art Aspose.OCR for .NET ile OCR doğruluğunu artırın. Yazımları düzeltin, sözlükleri özelleştirin ve hatasız metin tanıma işlemini zahmetsizce gerçekleştirin. ### [OCR Görüntü Tanıma'da Çok Sayfalı Sonucu Belge Olarak Kaydet](./save-multipage-result-as-document/) Aspose.OCR for .NET'in potansiyelini ortaya çıkarın. Bu kapsamlı, adım adım kılavuzla çok sayfalı OCR sonuçlarını zahmetsizce belge olarak kaydedin. +### [c# OCR öğreticisi: Ön İşleme ile Görüntüden Metin Tanıma](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Aspose.OCR for .NET ile ön işleme adımları uygulayarak görüntülerden metin tanıyın ve doğruluğu artırın. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/turkish/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..b96edff5 --- /dev/null +++ b/ocr/turkish/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,231 @@ +--- +category: general +date: 2026-01-09 +description: c# ocr öğreticisi, görüntüden metin tanıma ve Aspose.OCR filtreleriyle + OCR için görüntüyü ön işleme adım adım rehber. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: tr +og_description: c# OCR öğreticisi, görüntüden metin tanıma ve OCR için görüntüyü ön + işleme adımlarını Aspose.OCR filtreleriyle gösterir. Tam kod dahildir. +og_title: c# OCR öğretici – Ön işleme ile görüntüden metni tanıma +tags: +- OCR +- C# +- Image Processing +title: 'c# ocr öğretici: Görüntüden Metin Tanıma ve Ön İşleme' +url: /tr/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Görüntüden Metin Tanıma ve Ön İşleme + +Hiç **görüntüden metin tanıma** işlemini bir C# uygulamasında haftalarca filtre ayarlamadan nasıl yapabileceğinizi merak ettiniz mi? Tek başınıza değilsiniz. Bu **c# ocr tutorial**da, sadece metni okumakla kalmayıp **OCR için görüntüyü ön işleme** adımlarıyla doğruluğu artıran, tamamen çalışır bir örnek üzerinden ilerleyeceğiz. + +Aspose.OCR kütüphanesini kullanacağız çünkü içinde, sadece birkaç satır kodla eğme (deskew), gürültü giderme (denoise) ve kontrast artırma adımlarını ekleyebileceğiniz kullanışlı bir filtre hattı bulunuyor. Bu rehberin sonunda, eğimli ve gürültülü bir PNG dosyasını alıp temizleyen ve çıkarılan dizeyi ekrana yazdıran bir konsol uygulamanız olacak – her adımın neden önemli olduğuna dair net açıklamalarla birlikte. + +## Gereksinimler + +İlerlemeye başlamadan önce şunların kurulu olduğundan emin olun: + +| Gereksinim | Neden Önemli | +|-------------|----------------| +| .NET 6 SDK (veya daha yeni) | Modern C# özellikleri ve daha iyi performans | +| Visual Studio 2022 (veya VS Code) | Kolay hata ayıklama ve IntelliSense | +| NuGet paketi **Aspose.OCR** | `OcrEngine` ve filtre sınıflarını sağlar | +| Bir giriş görüntüsü (ör. `skewed‑noisy.png`) | Ön işlemenin gerekliliğini gösterir | + +Eğer bunlardan biri eksikse, önce kurun. NuGet adımı bir sonraki bölümde ele alınmıştır. + +## Adım 1: Aspose.OCR'ı NuGet ile Yükleyin + +Terminalinizi (veya Package Manager Console) açın ve şu komutu çalıştırın: + +```bash +dotnet add package Aspose.OCR +``` + +> **İpucu:** Tekrarlanabilir derlemeler için belirli bir sürümü kilitlemek istiyorsanız `--version` bayrağını kullanın. + +Paket, ihtiyacımız olan tüm filtreleri içerdiği için ekstra DLL'lere gerek yoktur. + +## Adım 2: OCR Motorunu Başlatın – c# ocr tutorial'ın Kalbi + +Motoru oluşturmak basittir, ancak arka planda neler olduğuna bir göz atmak faydalıdır. `OcrEngine`, tanıma algoritması çalışmadan önce bitmap'i işleyen bir **filtre** hattına sahiptir. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Neden önce başlatılıyor?** Motor, iç kaynakları (dil modelleri gibi) önbelleğe alır. Tek bir örneği birden çok görüntüde yeniden kullanmak bellek tasarrufu sağlar ve sonraki tanımalarda hızı artırır. + +## Adım 3: OCR için Görüntüyü Ön İşleme – eğme, gürültü giderme ve kontrast artırma ekleme + +Gerçek dünyadaki taramalar nadiren mükemmeldir; eğimli, lekeli ya da çok karanlık olabilirler. Bu yüzden **OCR için görüntüyü ön işleme** kritik bir adımdır. Aspose üç filtre sunar ve bunlar birlikte sorunsuz çalışır: + +| Filtre | Ne Yapar | Tipik Kullanım Durumu | +|--------|--------------|------------------| +| `DeskewFilter` | Görüntüyü döndürerek eğimi düzeltir | Tarayıcıdan gelen belgeler | +| `DenoiseFilter` | İzole piksel (“tuz‑ve‑karabiber”) gürültüsünü temizler | Düşük ışıklı fotoğraflar | +| `ContrastBoostFilter` | Kontrastı artırarak metin kenarlarını keskinleştirir | Solmuş baskılar veya düşük çözünürlüklü çekimler | + +Aşağıdaki kod, her filtreyi motorun hattına ekler: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **Nasıl çalışır?** Daha sonra `RecognizeImage` çağrıldığında, motor bu üç filtreyi sırasıyla çalıştırır ve temizlenmiş bitmap'i tanıma çekirdeğine gönderir. + +### Görsel açıklama (isteğe bağlı) + +Bir görsel ekliyorsanız, alt metnin ana anahtar kelimeyi içerdiğinden emin olun: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Adım 4: Görüntüden Metin Tanıma – Gerçek An + +Şimdi görüntü ön‑işlendikten sonra karakterleri çıkarabiliriz. Metot düz bir dize döndürür; bu dizeyi loglayabilir, saklayabilir veya başka bir sisteme besleyebilirsiniz. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Beklenen çıktı + +Tipik bir fatura taramasıyla örnek çalıştırıldığında şöyle bir çıktı alınır: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +Çıktı bozuk görünüyorsa, görüntü kalitesini tekrar kontrol edin ve `ContrastBoostFilter.Level` değerini (2.0 üzerindeki değerler çok agresif olabilir) ayarlamayı düşünün. + +## Adım 5: Sonucu Çıktılamak ve İsteğe Bağlı Son‑İşleme + +Bir konsol uygulaması sadece dizeyi yazdırabilir, ancak birçok proje ekstra işlemler gerektirir – boşlukları kırpma, satır sonlarını kaldırma veya metni bir veritabanına aktarma gibi. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Neden son‑işleme? + +İyi bir ön‑işleme yapılmış olsa bile OCR, bazen gereksiz satır sonları veya görünmez karakterler ekler. Kısa bir `Replace` zinciri, veriyi sonraki aşamalarda çok daha kullanılabilir hâle getirir. + +## Adım 6: Tam Çalışan Örnek – Kopyala‑Yapıştır Hazır + +Aşağıda **tam** program yer alıyor; hemen derleyip çalıştırabilirsiniz. Tüm `using` ifadeleri, filtre ayarları, OCR çağrısı ve çıktı işlemesi dahildir. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**Nasıl çalıştırılır** + +1. Yeni bir konsol projesi oluşturup (`dotnet new console`) dosyayı `Program.cs` olarak kaydedin. +2. `YOUR_DIRECTORY/skewed-noisy.png` yolunu gerçek test görüntüsü yolunuzla değiştirin. +3. `dotnet run` komutunu çalıştırın. OCR çıktısını terminalde göreceksiniz. + +## Yaygın Tuzaklar & İpuçları (görüntüden metin tanımada güvenilirlik) + +| Sorun | Kontrol Edilecek | Çözüm | +|-------|----------------|-----| +| **Bozuk karakterler** | Görüntü çok karanlık veya düşük çözünürlüklü | `ContrastBoostFilter.Level` değerini artırın veya daha yüksek çözünürlüklü bir kaynak kullanın | +| **Eksik satırlar** | Deskew tam açı düzeltmesini yapmadı | Görüntüyü manuel olarak döndürün veya `DeskewFilter` toleransını ayarlayın | +| **Yavaş performans** | Döngü içinde çok sayıda büyük görüntü işleniyor | Aynı `OcrEngine` örneğini yeniden kullanın ve her çalışmadan sonra `ocrEngine.Clear()` çağırın | +| **Desteklenmeyen dil** | Metin İngilizce değil | Tanımadan önce `ocrEngine.Language = OcrLanguage.French` (veya başka bir desteklenen dil) ayarlayın | + +### Kenar Durumu: Çok‑Sayfalı PDF'ler + +PDF OCR yapmanız gerekiyorsa, her sayfayı bir görüntüye dönüştürün (ör. `Aspose.PDF` kullanarak) ve aynı motorla tek tek besleyin. Ön‑işleme hattı aynı kalır, sayfalar arasında tutarlı sonuçlar sağlar. + +## Sonuç + +Bu **c# ocr tutorial**da **görüntüden metin tanıma** ve **OCR için görüntüyü ön işleme** konularını Aspose.OCR’ın yerleşik filtreleriyle ele aldık. Motoru başlatıp, eğme, gürültü giderme ve kontrast artırma adımlarını ekleyerek ve sonunda `RecognizeImage` çağrısı yaparak sadece birkaç satır kodla temiz ve güvenilir metin çıkarımı elde edersiniz. + +Denemeler yapın—başka bir filtre ekleyin, kontrast seviyesini ayarlayın veya sonucu daha büyük bir veri akışına entegre edin. Buradaki kavramlar herhangi bir OCR kütüphanesi için geçerlidir: ön‑işleme, yarı‑okunmuş bir faturayı tam‑okunmuş bir belgeye dönüştüren farktır. + +Başka sorularınız mı var? El yazısı metin işleme ya da binlerce dosyanın toplu işlenmesi gibi konular merak ediyorsanız yorum bırakın; bu senaryoları birlikte keşfedelim. Kodlamanın 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/net/text-recognition/_index.md b/ocr/turkish/net/text-recognition/_index.md index 5ddf0e83..df37aa2a 100644 --- a/ocr/turkish/net/text-recognition/_index.md +++ b/ocr/turkish/net/text-recognition/_index.md @@ -21,7 +21,7 @@ url: /tr/net/text-recognition/ Bu eğitimde, görüntü tanıma yeteneklerinizi geliştirmek için Aspose.OCR for .NET'in gücünden yararlanmanız konusunda size rehberlik edeceğiz. Uygulamalarınızda doğruluk ve verimlilik sağlayarak, tanınan karakterlere ilişkin seçimleri nasıl alacağınızı adım adım öğrenin. Aspose.OCR'ın üstün özellikleriyle OCR deneyiminizi geliştirin. -## OCR Görüntü Tanıma'da Tanıma Sonucunu Alın +## OCR Görüntü Tanıma'da Tanıma Sonucunu Al Aspose.OCR for .NET'in yeteneklerini keşfedin ve görüntülerdeki metin tanıma yönteminizi dönüştürün. Kapsamlı kılavuzumuzla tanıma sonuçları elde etmenin inceliklerini ortaya çıkarın. İster deneyimli bir geliştirici olun ister yeni başlıyor olun, bu eğitim OCR'yi projelerinize sorunsuz bir şekilde entegre etmenize yardımcı olacaktır. @@ -55,9 +55,21 @@ Etkili görüntü metni tanıma için .NET uygulamalarınızı Aspose.OCR ile ge Aspose.OCR ile .NET'te OCR'nin potansiyelini ortaya çıkarın. PDF'lerden metni zahmetsizce çıkarın. Sorunsuz bir entegrasyon deneyimi için hemen indirin. ### [OCR Görüntü Tanıma'da Tabloyu Tanıma](./recognize-table/) OCR görüntü tanımada tabloları tanımaya ilişkin kapsamlı kılavuzumuzla Aspose.OCR for .NET'in potansiyelini ortaya çıkarın. +### [c# ocr eğitimi – PNG Makbuzlarından Hint Metni Çıkarma](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +PNG formatindeki makbuzlardan Hintçe metni çıkarın ve .NET uygulamalarınızda kullanın. Adım adım rehberimizi izleyin. +### [PNG'den Metin Çıkarma – Tam Aspose OCR Kılavuzu](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Aspose OCR kullanarak PNG dosyalarından metni adım adım çıkarın. C# ile tam bir rehber. +### [c# OCR eğitimi: Görüntü ve DJVU dosyalarından metin çıkarma](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Görsel ve DJVU dosyalarından metin çıkararak .NET uygulamalarınızda OCR gücünü kullanın. Adım adım rehberimizi izleyin. +### [c# ocr eğitimi – Aspose OCR ile Görüntülerden Metin Çıkarma](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Aspose OCR kullanarak görüntülerden metin çıkarmayı adım adım öğrenin. C# ile tam bir rehber. +### [JPG'de Metin Tanıma – Aspose OCR ile Tam C# Kılavuzu](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Aspose OCR kullanarak JPG dosyalarından metin çıkarmayı adım adım öğrenin. C# ile tam bir rehber. +### [Aspose OCR C# ile TIFF'ten Metin Çıkarma – Tam Kılavuz](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Aspose OCR C# kullanarak TIFF dosyalarından metni nasıl çıkaracağınızı adım adım öğrenin. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/turkish/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..f560d018 --- /dev/null +++ b/ocr/turkish/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,241 @@ +--- +category: general +date: 2026-01-09 +description: c# ocr öğreticisi, PNG'den metin okumak, görüntüyü metne dönüştürmek + ve Aspose OCR kullanarak bir makbup üzerindeki Hintçe metni tanımak. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: tr +og_description: PNG'den metin okuma, görüntüyü metne dönüştürme ve Aspose OCR ile + bir makbup üzerindeki Hintçe metni tanıma konusunda size öğretici bir C# OCR eğitimi. +og_title: c# ocr öğreticisi – PNG makbuzlarından Hintçe metin çıkarma +tags: +- OCR +- C# +- Aspose +- Image Processing +title: c# ocr öğretici – PNG makbuzlarından Hintçe metin çıkarma +url: /tr/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – PNG Makbuzlarından Hint Metni Çıkarma + +Hiç **PNG dosyalarından metin okuma** konusunda bir C# uygulamasında merak ettiniz mi? Belki bir sürü Hintçe makbuzunuz var ve tutarları otomatik olarak çekmeniz gerekiyor. Bu c# ocr tutorial tam da bunu ele alıyor—bir resmi sadece birkaç satır kodla aranabilir metne dönüştürüyor. + +Bu rehberde Aspose OCR kurulumunu, bir PNG makbuzunu yüklemeyi, Hint karakterlerini tanımayı ve sonunda çıkarılan dizeyi konsola yazdırmayı adım adım göstereceğiz. Sonuna geldiğinizde **görseli metne dönüştürme**, **Hint metnini tanıma** ve hatta **makbuzdan metin çıkarma** işlemlerini IDE’nizden çıkmadan yapabilecek olacaksınız. + +> **Önkoşul notu:** Geçerli bir Aspose OCR lisansına ihtiyacınız var (ya da ücretsiz deneme sürümünü kullanabilirsiniz) ve .NET 6+ yüklü olmalı. NuGet’e yeniyseniz endişelenmeyin—onu da ele alacağız. + +--- + +## Gerekenler + +- **Visual Studio 2022** (veya herhangi bir C#‑uyumlu editör) +- **.NET 6 SDK** (veya daha yenisi) +- **Aspose.OCR** NuGet paketi + ```bash + dotnet add package Aspose.OCR + ``` +- Örnek bir makbuz resmi, örn. `hindi-receipt.png`, projenizin klasörüne kaydedilmiş. + +Bunlar hazır olduğunda son kodu kopyalayıp **F5** tuşuna basarak hemen çalıştırabilirsiniz. + +--- + +## Adım 1: Projeyi Oluşturun ve Namespace’leri İçe Aktarın + +Öncelikle bir konsol projesi oluşturun (eğer hâlâ yoksa): + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Şimdi `Program.cs` dosyasını açın. En üstte Aspose OCR namespace’lerini içe aktarın, böylece derleyici sınıfları bulabilir: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Neden önemli:** `OcrEngine` sınıfı `Aspose.OCR` içinde, dil‑ile ilgili enum’lar ise `Aspose.OCR.Settings` içinde bulunur. Birini atlamak derleme zamanında hata almanıza sebep olur. + +--- + +## Adım 2: OCR Motorunu Başlatın ve Dil Modelini Seçin + +OCR motorunun **hangi dili** arayacağını bilmesi gerekir. Aspose birçok dil paketiyle gelir; `OcrLanguage.Hindi` belirtmek motorun Hindi modelini indirip (eğer eksikse) kullanmasını sağlar. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **İpucu:** Birden fazla dilde makbuz işlemek istiyorsanız, `Language` değerini çalışma zamanında değiştirebilir veya `MultiLanguage` modunu etkinleştirebilirsiniz. + +--- + +## Adım 3: PNG Makbuzu Motor’a Besleyin + +İşte **PNG’den metin okuma** kısmı. Tam yolu (çalıştırılabilir dosyaya göre göreceli de olur) sağlayın. Metod, motorun çözdüğü tüm metni içeren düz bir string döndürür. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Görüntü yüksek çözünürlüklü ve metin temizse sonuç neredeyse kusursuz olur. Gürültülü taramalar için ön‑işleme (ör. ikilileştirme) düşünün – Aspose daha sonra keşfedebileceğiniz `PreprocessImage` metodları sunar. + +--- + +## Adım 4: Çıkarılan Metni Görüntüleyin veya Saklayın + +Çoğu geliştirici test aşamasında sonucu konsola döker. Gerçek bir ortamda bir veritabanına ya da CSV dosyasına yazabilirsiniz. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Programı örnek makbuzla çalıştırdığınızda şu şekilde bir çıktı alırsınız: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +Bu, **görseli metne dönüştürme** kısmının çalışır hâli—elle yazmaya hiç gerek yok. + +--- + +## Tam Çalışan Örnek (Kopyala‑Yapıştır Hazır) + +Aşağıda eksiksiz, tek dosyalık program yer alıyor. `Program.cs` içine yapıştırın, `hindi-receipt.png` dosyasını derlenmiş `.exe` nin yanına koyun ve **Ctrl + F5** tuşuna basın. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Beklenen Çıktı + +Makbuz görüntüsü net Hintçe karakterler içeriyorsa, konsol çıkarılan satırları satır sonlarıyla birlikte gösterir. OCR bir kelimeyi tanıyamazsa, bozuk bir parça görürsünüz—bu da görüntü kalitesini artırmanız veya ön‑işlemeyi ayarlamanız gerektiğinin bir işaretidir. + +--- + +## Adım 5: Daha İleri – Makbuzdan Programatik Olarak Metin Çıkarma + +Amacınız **makbuzdan metin çıkarma** (tarih, toplam, fatura numarası) ise OCR çıktısını düzenli ifadelerle işleyebilirsiniz: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +Bu küçük snippet, ham OCR çıktısını yapılandırılmış verilere dönüştürmenin yolunu gösterir—hesap yazılımlarına beslemek için ideal. + +--- + +## Yaygın Tuzaklar ve Çözümleri + +| Sorun | Neden Oluşur | Çözüm | +|-------|--------------|------| +| **Boş çıktı** | Görüntü yolu yanlış veya dosya çıktı klasörüne kopyalanmamış. | `Path.GetFullPath` kullanın ve dosyanın varlığını (`File.Exists`) kontrol edin. | +| **Bozuk karakterler** | Düşük çözünürlüklü PNG veya sıkıştırılmış renkler. | Görüntüyü büyütün, DPI’yi 300+ yapın veya `ocrEngine.ImagePreprocessor` kullanın. | +| **Dil modeli indirilmedi** | İlk çalıştırmada internet bağlantısı yok. | Hindi modelini Aspose portalından önceden indirin ya da yerel olarak barındırın. | +| **Performans gecikmesi** | Döngüde çok sayıda sayfa işlenirken nesne serbest bırakılmıyor. | `OcrEngine` i bir `using` bloğuna alın veya tek bir örnek tekrar kullanın. | + +--- + +## Görsel Açıklama + +![c# ocr tutorial Hindi metni PNG makbuzundan okuma](https://example.com/placeholder-image.png "c# ocr tutorial – png makbuzundan metin okuma") + +*Ekran görüntüsü, bir Hintçe makbuzun OCR öncesi ve sonrası halini gösterir.* + +--- + +## Özet: Neler Öğrendik + +- C# konsol uygulaması kurup Aspose OCR NuGet paketini ekledik. +- **Hintçe metni tanıma** dil modelini kullanarak `OcrEngine` i başlattık. +- `RecognizeImage` ile **PNG’den metin okuma** yaptık. +- **Görseli metne dönüştürme** sonucunu ekrana bastık. +- Basit bir desenle **makbuzdan metin çıkarma** işlemini gösterdik. + +Tüm bunlar tek bir çalıştırılabilir dosyada sunuldu—tam bir **c# ocr tutorial** için gereken her şey. + +--- + +## Sonraki Adımlar ve İlgili Konular + +1. **Toplu işleme** – bir klasördeki makbuz görüntülerini döngüyle işleyip sonuçları CSV’ye kaydedin. +2. **Ön‑işleme** – gürültü giderme, eğikliği düzeltme veya kontrast artırma için `ocrEngine.ImagePreprocessor` i keşfedin. +3. **Çok‑dilli OCR** – `OcrLanguage.Multilingual` i etkinleştirerek Hintçe ve İngilizce karışık makbuzları işleyin. +4. **Entegrasyon** – çıkarılan verileri kalıcı depolama için Entity Framework Core modeline gönderin. + +Bu konular ilginizi çekiyorsa, **C#’ta görseli metne dönüştürme** ve **OCR sonuçlarından yapılandırılmış veri çıkarma** tutorial’larımıza göz atın. + +--- + +### İyi Kodlamalar! + +Herhangi bir sorunla karşılaşırsanız yorum bırakın ya da bu **c# ocr tutorial** ı kendi projelerinizde nasıl genişlettiğinizi paylaşın. Unutmayın, OCR sadece ilk adım—temiz veri gerçek sihrin gerçekleştiği yerdir. 🚀 + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/turkish/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..17b6c8d2 --- /dev/null +++ b/ocr/turkish/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-01-09 +description: c# OCR öğreticisi, görüntü dosyalarından metin çıkarmayı ve Aspose.OCR + kullanarak DJVU'yu metne dönüştürmeyi gösterir. Dakikalar içinde adım adım çıkarımı + öğrenin. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: tr +og_description: c# OCR öğreticisi, görüntü dosyalarından metin çıkarma ve Aspose.OCR + kullanarak DJVU'yu metne dönüştürme sürecini hızlıca gösterir. Çalışan bir çözüm + için rehberi takip edin. +og_title: c# OCR öğreticisi – Görüntü ve DJVU'dan metin çıkarma +tags: +- OCR +- C# +- Aspose +title: 'c# OCR öğretici: Görüntü ve DJVU dosyalarından metin çıkarma' +url: /tr/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# OCR öğreticisi – Görüntü ve DJVU dosyalarından metin çıkarma + +Saçınızı yolmak zorunda kalmadan görüntü dosyalarından metin nasıl çıkarılır merak ettiniz mi? Bu **c# OCR öğreticisinde** normal bir resim *ve* bir DJVU belgesinden metin çıkaran tam, çalıştırmaya hazır bir örnek üzerinden ilerleyeceğiz. + +Eğer **DJVU'yu metne dönüştürmek** için hızlı bir yol arıyorsanız, doğru yerdesiniz—ekstra dönüştürücüler yok, sadece saf C# kodu. + +## Öğrenecekleriniz + +- Aspose.OCR kütüphanesini bir .NET projesinde nasıl kuracağınız. +- Görüntü dosyalarından **metin çıkarmak** için gereken tam kod. +- **DJVU** dosyalarından metin çıkarmak için öz bir yöntem (evet, aynı motor bunu yapar). +- Yaygın tuzaklar (büyük dosyalar, eksik yazı tipleri, lisanslama) ve bunlardan nasıl kaçınılacağı. + +Tek ihtiyacınız, güncel bir .NET SDK ve NuGet paketini indirmek için bir internet bağlantısı. Önceden OCR deneyimi gerekmez. + +## Önkoşullar + +| Gereksinim | Neden Önemli | +|-------------|----------------| +| .NET 6.0 veya daha yeni | Aspose.OCR, .NET Standard 2.0 hedefler, bu yüzden .NET 6+ en iyi performansı sağlar. | +| Visual Studio 2022 (veya VS Code) | IDE'ler paket yönetimini sorunsuz hâle getirir, ancak herhangi bir editör de çalışır. | +| NuGet paketi **Aspose.OCR** | Bu, asıl işi yapan motor. | +| Örnek bir görüntü (`sample.png`) ve bir DJVU dosyası (`sample.djvu`) | Her iki çıkarma senaryosunu göstermek için bunları kullanacağız. | + +Paketi aşağıdaki komutla kurabilirsiniz: + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro ipucu:** Bir CI sunucusunda iseniz, derleme adımına `--no-restore` ekleyin ve başta bir kez restore yaparak süreci hızlandırın. + +## Adım 1: OCR motorunu başlatma – c# OCR öğreticisinin kalbi + +İlk yaptığımız şey `OcrEngine` bir örnek oluşturmaktır. Bunu, yazılımınızdaki tarayıcıyı açmak gibi düşünün. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Neden her seferinde yeni bir motor oluşturuyoruz? Çünkü motor, yapılandırmayı (dil, algılama modu vb.) tutar. Yeni başlamak, eski ayarların çalıştırmalar arasında sızmasını önler. + +## Adım 2: Bir görüntüyü yükleyip tanıma – görüntüden metin nasıl çıkarılır + +Şimdi motoru normal bir bitmap (PNG, JPEG, BMP…) ile besleyeceğiz. `RecognizeImage` metodu tespit edilen dizeyi döndürür. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +Dikkat edilmesi gereken birkaç nokta: + +* **Dosya varlığı** – Yol yanlışsa metod `FileNotFoundException` fırlatır. Kullanıcı tarafından sağlanan yollar bekliyorsanız `try/catch` ile sarın. +* **Görüntü kalitesi** – OCR, 300 dpi veya daha yüksek çözünürlükte en iyi çalışır. Düşük çözünürlüklü taramalar bozuk çıktı üretebilir. +* **Dil desteği** – Varsayılan olarak Aspose.OCR İngilizce varsayar. Değiştirmek için `RecognizeImage`'den önce `ocrEngine.Language = Language.Spanish;` ayarlayın. + +## Adım 3: DJVU belgesinden metin tanıma – DJVU'yu metne dönüştürme + +DJVU, birden çok sayfa tutabilen bir konteyner formatıdır. Aspose.OCR bunu doğrudan işleyebilir; sadece dosyayı gösterirsiniz. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +Motor, her sayfayı bir görüntü olarak çıkarır ve aynı tanıma hattını çalıştırır. Bu yüzden ayrı bir “DJVU'yu metne dönüştür” adımına ihtiyacınız yok—OCR motoru sizin için yapar. + +### Çok sayfalı DJVU dosyalarını işleme + +DJVU'nuz birden fazla sayfa içeriyorsa, `RecognizeImage` onları sırayla birleştirir. Her sayfayı ayrı ayrı ihtiyacınız varsa, `List` döndüren aşırı yüklemeyi kullanabilirsiniz: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Adım 4: Daha iyi doğruluk için motoru ince ayar yapma – bunun önemi + +Kutudan çıkar çıkmaz sonuçlar makul, ancak birkaç ayarı değiştirerek artırabilirsiniz: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Bu bayraklar, önce DJVU olarak kaydedilen taranmış PDF'lerden **metin nasıl çıkarılır** konusunda özellikle faydalıdır. Yön algılamayı açmak, görüntüleri manuel olarak döndürmek zorunda kalmanızı önler. + +## Adım 5: Lisanslama ve çalışma zamanı hatalarıyla başa çıkma + +Aspose.OCR, birkaç sayfadan sonra çıktıya “Demo” damgası ekleyen ücretsiz bir deneme sürümüyle gelir. Filigranı kaldırmak için lisans dosyanızı ekleyin: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Bu adımı unutursanız, motor hâlâ çalışır ancak sonuç “Demo” kelimesini içerir. Ayrıca, büyük DJVU dosyalarını işlerken `OutOfMemoryException`'a dikkat edin—daha önce gösterildiği gibi sayfa sayfa işlemeyi düşünün. + +## Tam, çalıştırılabilir örnek + +Aşağıda her şeyi bir araya getiren bağımsız bir konsol programı var. Kopyala‑yapıştır, dosya yollarını ayarla ve **Run** tuşuna bas. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Beklenen çıktı** (dosyalar “Hello World” ifadesini içeriyorsa): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Eğer kaynak birden çok satır içeriyorsa, bunlar orijinal belgede olduğu gibi görünecek. + +## Yaygın sorular ve uç‑durum yönetimi + +* **Görüntü siyah‑beyaz olursa ne olur?** + OCR sorunsuz çalışır, ancak kontrastı `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;` ile artırabilirsiniz. + +* **Sadece sayıları çıkarabilir miyim?** + Evet—`RecognizeImage`'i çağırmadan önce `ocrEngine.CharWhitelist = "0123456789";` ayarlayın. + +* **Dosya boyutu için bir limit var mı?** + Motor, tüm dosyayı belleğe okur. ~100 MB'den büyük dosyalar için sayfa‑sayfa işleyin (Adım 3'teki liste aşırı yüklemeye bakın). + +* **Bu, Tesseract'tan nasıl farklıdır?** + Aspose.OCR, yerleşik DJVU desteği ve yerel bağımlılıkları olmayan ticari bir kütüphanedir; Tesseract ise yerel ikili dosyalar ve ayrı DJVU dönüşüm araçları gerektirir. + +## Sonuç + +Az önce **c# OCR öğreticisini** tamamladınız; bu, Aspose.OCR kullanarak **görüntü dosyalarından metin çıkarma** ve sorunsuz **DJVU'yu metne dönüştürme** yollarını gösteriyor. Örnek, paket kurulumundan lisanslamaya, tek sayfalı görüntü çıkarımından çok sayfalı DJVU işleme kadar her şeyi kapsar ve doğruluğu artırma ipuçları bile içerir. + +Sonraki adımda **PDF'lerden metin çıkarma**, OCR adımını bir web API'ye entegre etme veya çok dilli belgeler için dil paketleriyle deneme yapma gibi konuları keşfedebilirsiniz. Sınır yok—sadece temel çıkarımları hatırlayın: motoru ayarlayın, bir dosya verin ve dizeyi geri okuyun. + +Başka sorularınız mı var? Bir yorum bırakın, kodu kendi belgelerinizde deneyin ve iyi kodlamalar! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# OCR tutorial – console output 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/turkish/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/turkish/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..171ea0a8 --- /dev/null +++ b/ocr/turkish/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: c# ocr öğreticisi, görüntü dosyalarından metin çıkarmayı, png'den metin + tanımayı, görüntüyü dize dönüştürmeyi ve Aspose.OCR kullanarak dili otomatik olarak + tespit etmeyi gösterir. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: tr +og_description: c# ocr öğreticisi, görüntülerden metin çıkarma, png dosyalarından + metin tanıma, görüntüleri stringe dönüştürme ve Aspose OCR kullanarak dili otomatik + algılama konularında size rehberlik eder. +og_title: c# ocr öğretici – Görsellerden Metin Çıkar +tags: +- C# +- OCR +- Aspose +- Image Processing +title: c# ocr öğretici – Aspose OCR ile Görsellerden Metin Çıkarma +url: /tr/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# c# ocr tutorial – Aspose OCR ile Görüntülerden Metin Çıkarma + +Gerçek bir PNG dosyasında çalışan bir **c# ocr tutorial**'a hiç ihtiyaç duydunuz mu? Belki bir fiş tarayıcı, çok dilli form işleyici geliştiriyorsunuz ya da sadece bir metin resmini aranabilir bir dizeye nasıl dönüştüreceğinizi merak ediyorsunuzdur. Hangi durumda olursanız olun, doğru yerdesiniz. + +Bu rehberde, **extract text from image** dosyalarından, **recognize text from png**, **convert image to string** ve hatta **detect language automatically** nasıl yapılacağını adım adım göstereceğiz — tümü Aspose.OCR kütüphanesi ile. Belirsiz referanslar yok, sadece Visual Studio'ya kopyalayıp yapıştırabileceğiniz tam, çalıştırılabilir bir örnek. + +## Gerekenler + +- .NET 6.0 veya daha yeni bir sürüm (kod .NET Core ve .NET Framework ile de çalışır) +- `Aspose.OCR` NuGet referansı (versiyon 23.9 veya daha yeni) +- Bu örnekteki (`mixed‑script.png`) görüntü dosyası, uygulamanın okuyabileceği bir yerde konumlandırılmış +- C# temellerine bir anlayış (eğer “Hello World” yazdıysanız, hazırsınız) + +> **Pro tip:** Eğer hâlâ bir lisansınız yoksa, Aspose test için ücretsiz geçici bir lisans sunar. `.lic` dosyasını çalıştırılabilir dosyanızın yanına koyun. + +## 1. Adım – Aspose.OCR NuGet Paketini Yükleyin + +İlk olarak, kütüphaneyi projenize ekleyin. Package Manager Console'u açın ve şu komutu çalıştırın: + +```powershell +Install-Package Aspose.OCR +``` + +Veya UI'yi tercih ediyorsanız, *Dependencies → Manage NuGet Packages* üzerine sağ tıklayın ve **Aspose.OCR**'u arayın. + +## 2. Adım – OCR Motorunu Hazırlayın (c# ocr tutorial core) + +Şimdi bir `OcrEngine` örneği oluşturacağız, ona dili otomatik algılamasını söyleyecek ve PNG dosyamıza yönlendireceğiz. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Neden `Language = OcrLanguage.AutoDetect` ayarlıyoruz + +Otomatik dil algılama, görüntünün İngilizce, Rusça, Arapça veya karışık bir dil içerip içermediğini tahmin etmenizi önler. **detect language automatically** senaryosu için en esnek seçenektir ve Aspose tarafından desteklenen çoğu betik için kutudan çıkar çıkmaz çalışır. + +## 3. Adım – Uygulamayı Çalıştırın ve Çıktıyı Doğrulayın + +Programı derleyip çalıştırın (`dotnet run` veya Visual Studio'da **F5** tuşuna basın). Her şey doğru bağlandıysa, aşağıdakine benzer bir çıktı göreceksiniz: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +Bu çıktı, **extract text from image**, **recognize text from png** ve **convert image to string** işlemlerini başarıyla gerçekleştirdiğimizi kanıtlar – hepsi tek, öz bir kod parçasında. + +## 4. Adım – Yaygın Varyasyonlar ve Kenar Durumları + +### Birden Çok Görüntüyü İşleme + +Eğer bir PNG dizinini işlemek istiyorsanız, tanıma çağrısını bir `foreach` döngüsü içinde sarın: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Sabit Bir Dil Belirleme + +Bazen dili önceden biliyorsunuzdur (ör. sadece İngilizce). İşleme hızını artırmak için `AutoDetect` yerine `OcrLanguage.English` kullanabilirsiniz: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Düşük Kaliteli Taramalarla Baş Etme + +Aspose.OCR, ön işleme seçenekleri (gürültü azaltma, eğikliği düzeltme) sunar. Hızlı bir çözüm için: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Sonucu Bir Dosyaya Kaydetme + +Konsola yazdırmak yerine, çıkarılan metni bir `.txt` dosyasına yazmak isteyebilirsiniz: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## 5. Adım – Tam Çalışan Örnek (Kopyala‑Yapıştır Hazır) + +Aşağıda, isteğe bağlı ön işleme ve dosya çıktısı mantığını içeren **complete program** yer alıyor. Yolları dilediğiniz gibi ayarlayabilirsiniz. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Beklenen Çıktı + +İngilizce, Rusça ve Arapça içeren bir PNG üzerinde programı çalıştırmak şu çıktıyı verir: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +Görüntü boş veya okunamazsa, motor boş bir dize döndürür—devam etmeden önce `string.IsNullOrWhiteSpace(extractedText)` kontrolüyle bu durumu ele alın. + +## Sık Sorulan Sorular (SSS) + +**S: Aspose.OCR el yazısı metni destekliyor mu?** +C: Yazdırılmış OCR üzerine odaklanır. El yazısı için ayrı bir ML modeli veya Azure Computer Vision gibi bir hizmet gerekir. + +**S: Bunu Linux/macOS'ta çalıştırabilir miyim?** +C: Kesinlikle. Aspose.OCR çapraz platformdur; sadece işletim sisteminiz için .NET runtime'ı kurun. + +**S: PNG yerine PDF'leri işlemek istersem ne yapmalıyım?** +C: Önce her PDF sayfasını bir görüntüye dönüştürün (ör. `Aspose.PDF` kullanarak) ve ardından görüntüyü OCR motoruna besleyin. + +## Sonuç + +Az önce Aspose.OCR kullanarak **extracting text from image** dosyalarını, **recognizing text from png**, **converting the image to a string** ve **detecting language automatically** adımlarını gösteren bir **c# ocr tutorial** tamamladık. Kod kısa, kavramlar net ve bunu toplu işleme, özel dil ayarları ya da bir web API'ye entegrasyon gibi şekillerde genişletebilirsiniz. + +Sonraki adımlar? OCR çıktısını bir arama indeksine besleyin, bir çeviri hizmetine yönlendirin veya Azure Cognitive Services ile birleştirerek daha zengin veri akışları oluşturun. C#'ta görüntü‑metin dönüşümünün temellerini kavradığınızda, olanaklar sınırsızdır. + +Kodlamaktan keyif alın ve farklı görüntü kaliteleriyle denemeler yapmayı unutmayın—OCR motorunuz size teşekkür edecektir! + +![c# ocr tutorial – example of OCR output on a mixed‑script PNG](placeholder-image.png "c# ocr tutorial – OCR result screenshot") + +{{< /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/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/turkish/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..8574891e --- /dev/null +++ b/ocr/turkish/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-01-09 +description: Aspose OCR ile PNG'den hızlıca metin çıkarın. Görüntü metnini nasıl okuyacağınızı + öğrenin, OCR doğruluğunu artırın ve C#'ta temiz sonuçlar elde edin. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: tr +og_description: Aspose OCR ile PNG'den hızlıca metin çıkarın. Görüntü metnini nasıl + okuyacağınızı öğrenin, OCR doğruluğunu artırın ve C#'ta temiz sonuçlar elde edin. +og_title: PNG'den Metin Çıkarma – Tam Aspose OCR Öğreticisi +tags: +- Aspose OCR +- C# +- Image Processing +title: PNG'den Metin Çıkar – Tam Aspose OCR Öğreticisi +url: /tr/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNG'den Metin Çıkarma – Tam Aspose OCR Öğreticisi + +Hiç **PNG'den metin çıkar** gerekti ve sonuçlar anlamsız karakterlerle doluydu mu? Yalnız değilsiniz. Birçok gerçek dünya projesinde – faturalar, makbuzlar veya taranmış formlar – OCR çıktısının kalitesi otomasyon hatlarını belirleyebilir. + +Bu rehberde, Aspose OCR kullanarak görüntü metnini okumanın **adım‑adım** bir yolunu, OCR doğruluğunu **artırmak** için özel bir sözlük eklemeyi, gürültüyü temizlemeyi ve sonunda düzenli bir dize yazdırmayı göstereceğiz. Sonunda, PNG görüntülerinden güvenilir bir şekilde metin çıkaran, çalıştırmaya hazır bir C# konsol uygulamanız olacak. + +> **Ne kazanacaksınız** +> * Tam, çalıştırılabilir bir kod örneği. +> * Özel bir sözlüğün neden önemli olduğunu anlama. +> * Düşük kontrastlı taramalar gibi kenar durumlarını ele alma ipuçları. + +## Önkoşullar + +- .NET 6 SDK veya daha yenisi (kod .NET 6 hedefli, ancak .NET 5 de çalışır). +- Visual Studio 2022 veya tercih ettiğiniz herhangi bir editör. +- İşlemek istediğiniz bir **PNG** görüntüsü – örneğin `invoice.png`. +- **Aspose.OCR** NuGet paketi (`dotnet add package Aspose.OCR`). + +Ek yapılandırma dosyalarına gerek yok; her şey tek bir `.cs` dosyasında bulunur. + +## 1. Adım – Aspose OCR'yi Kur ve Referans Ekle + +İlk olarak, kütüphaneyi projenize ekleyin. Çözüm klasörünüzde bir terminal açın ve şu komutu çalıştırın: + +```bash +dotnet add package Aspose.OCR +``` + +Bu tek satır, en son kararlı sürümü (Ocak 2026 itibarıyla sürüm 23.9) getirir. Paket, öğreticide boyunca kullanacağımız `OcrEngine` sınıfını içerir. + +## 2. Adım – OCR Motorunu Başlat + +`OcrEngine` örneği oluşturmak temeldir. Bunu, pikselleri yorumlamaya hazır bir tarayıcıyı açmak gibi düşünün. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Pro ipucu:** Bir döngüde çok sayıda görüntü işleyecekseniz aynı `OcrEngine` örneğini yeniden kullanın. İç kaynakları önbelleğe alır ve sonraki çağrıları hızlandırır. + +## 3. Adım – Özel Bir Sözlük ile Doğruluğu Artırma + +Hazır OCR iyidir, ancak “Aspose”, “OCR” veya “SDK” gibi alan‑özel kelimelerde takılabilir. Bu terimleri bir **özel sözlüğe** eklemek, motorun bu dizeleri geçerli olarak kabul etmesini sağlar ve yanlış tanıma olasılığını azaltır. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Özel bir sözlüğün neden yardımcı olduğu + +- OCR'nin arkasındaki **istatistiksel modeller**, yaygın dil kalıplarına büyük ağırlık verir. Nadir kelimeler düşük olasılık alır ve benzer görünümlü karakterlerle değiştirilebilir. +- Bunları açıkça listeleyerek modelin tahminini geçersiniz. +- Özellikle **görüntü metnini okuma** içinde ürün kodları, kısaltmalar veya marka adları bulunan durumlarda kullanışlıdır. + +## 4. Adım – PNG Dosyasından Metni Tanıma + +Şimdi motoru görüntü yoluyla besliyoruz. `RecognizeImage` yöntemi, motorun eşleştiremediği bilinmeyen tokenları (ör. “#@!”) içeren ham bir dize döndürür. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Köşe durumu:** Dosya bulunamazsa, `RecognizeImage` bir `FileNotFoundException` fırlatır. Üretim kodu için çağrıyı bir try‑catch bloğuna sarın. + +## 5. Adım – Sonucu `CleanText` ile Temizleme + +Aspose OCR, “bilinmeyen” olarak işaretlediği karakterleri temizleyen bir yardımcı ile birlikte gelir. Bu adım, **görüntüden metin çıkarma** projelerinde, sonraki ayrıştırıcıların yalnızca alfanümerik ve temel noktalama işaretleri beklediği durumlarda kritiktir. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +`CleanText` yöntemi ayrıca satır sonlarını normalleştirir, çıktının veritabanlarında saklanmasını veya diğer hizmetlere aktarılmasını güvenli hâle getirir. + +## 6. Adım – Temizlenmiş Metni Çıktılamak + +Son olarak, sonucu gösterin veya saklayın. Bir konsol uygulamasında `Console.WriteLine` iş görür. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +Programı çalıştırdığınızda, `invoice.png` içeriğini yansıtan düzenli bir metin bloğu görmelisiniz. Görüntü “Aspose” kelimesini içeriyorsa, özel sözlük bunun doğru şekilde görünmesini, “A5p0se” gibi bir şey yerine sağlamasını garantiler. + +## Tam Çalışan Örnek + +Her şeyi bir araya getirerek, yeni bir konsol projesine kopyalayıp yapıştırabileceğiniz tam `Program.cs` dosyasını aşağıda bulabilirsiniz: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Beklenen çıktı** (PNG basit bir fatura içeriyorsa): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Eğer garip semboller görürseniz, görüntü kalitesini tekrar kontrol edin veya özel sözlüğü daha fazla terim ekleyerek genişletin. + +## Bonus: Düşük Kaliteli Taramalarla Baş Etme + +Bazen PNG'ler 72 dpi'de taranır veya yoğun sıkıştırma artefaktları içerir. C#'tan çıkmadan **OCR doğruluğunu artırmak** için birkaç hızlı ipucu: + +1. `SixLabors.ImageSharp` gibi bir kütüphane ile **görüntüyü ön‑işlemeye** alın – kontrastı artırın, gri tonlamaya dönüştürün veya gürültüyü azaltmak için hafif bir bulanıklık uygulayın. +2. `OcrEngine` üzerindeki `Resolution` özelliğini ayarlayın (ör. `ocrEngine.Resolution = 300;`) motorun görüntüyü daha yüksek çözünürlükte işlemesini söylemek için. +3. İngilizce dışı metinlerle çalışıyorsanız **dil paketlerini etkinleştirin** (`ocrEngine.Language = Language.English;`). + +Bu üç yaklaşım da `RecognizeImage` çağrısından önce eklenebilir. + +## Sık Sorulan Sorular + +- **Bu diğer görüntü formatlarıyla çalışır mı?** + Evet. `RecognizeImage` JPEG, BMP, TIFF ve hatta PDF (görüntü konteyneri olarak) kabul eder. Aynı adımlar geçerlidir. + +- **Bir klasördeki birden fazla PNG'den metin çıkarabilir miyim?** + Kesinlikle. Temel mantığı `foreach (var file in Directory.GetFiles(folder, "*.png"))` döngüsüyle sarın ve her sonucu bir listeye kaydedin ya da ayrı dosyalara yazın. + +- **Metin koordinatlarına ihtiyacım olursa ne yapmalıyım?** + Aspose OCR, sınırlama kutuları içeren `OcrResult` nesneleri de sağlar. Bu gelişmiş senaryo için `ocrEngine.RecognizeImageToResult(imagePath)` kullanın. + +## Sonuç + +Aspose OCR kullanarak **PNG dosyalarından metin çıkarma** için **tam, uçtan uca** bir çözüm üzerinden geçtik. Motoru başlatarak, ona bir **özel sözlük** vererek, ham çıktıyı temizleyerek ve birkaç yaygın sorunu ele alarak, kendi C# uygulamalarınızda **görüntü metnini okuyabilir** ve **OCR doğruluğunu artırabilirsiniz**. + +Bir sonraki adıma hazır mısınız? PNG'yi taranmış bir makbuzla değiştirin, sözlüğe daha fazla alan‑özel kelime ekleyin veya çıktıyı otomatik fatura işleme için bir veritabanına entegre edin. Aspose OCR'yi .NET'in zengin ekosistemiyle birleştirdiğinizde sınır yoktur. + +Kodlamaktan keyif alın ve OCR'niz her zaman kusursuz olsun! + +![Extract text from png example](/images/extract-text-from-png.png "extract text from png – Aspose OCR demo") + +{{< /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/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/turkish/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..c116db38 --- /dev/null +++ b/ocr/turkish/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,259 @@ +--- +category: general +date: 2026-01-09 +description: Aspose OCR kullanarak C#'de TIFF dosyalarından metin çıkarın. Bu adım + adım öğreticide her sonucun ilk 50 karakterini nasıl alacağınızı öğrenin. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: tr +og_description: C#'ta Aspose OCR kullanarak TIFF'ten metin çıkarın. Bu kılavuz, her + OCR sonucunun ilk 50 karakterini adım adım nasıl alacağınızı gösterir. +og_title: Aspose OCR ile TIFF'ten Metin Çıkarma – Tam C# Rehberi +tags: +- Aspose OCR +- C# +- TIFF processing +title: Aspose OCR C# ile TIFF'ten Metin Çıkarma – Tam Kılavuz +url: /tr/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# TIFF'ten Metin Çıkarma – Tam Aspose OCR C# Öğreticisi + +Hiç **TIFF'ten metin çıkarmak** istediğinizde hangi kütüphaneye güveneceğinizi bilemediğiniz oldu mu? Tek başınıza değilsiniz. Birçok geliştirici, özellikle performans önemli olduğunda, çok sayfalı TIFF'lerden aranabilir metin çıkarmaya çalışırken bir engelle karşılaşıyor. + +Bu **aspose ocr c# tutorial** içinde, yalnızca tam metni çıkarmakla kalmayıp aynı zamanda her sayfanın **ilk 50 karakterini** hızlı ön izlemeler için nasıl alacağınızı gösteren, çalıştırmaya hazır bir örnek üzerinden geçeceğiz. Sonunda, herhangi bir .NET projesine ekleyebileceğiniz bağımsız bir programınız olacak. + +## Gereksinimler + +- .NET 6 (veya herhangi bir yeni .NET sürümü) – kod .NET Core ve .NET Framework ile aynı şekilde derlenir. +- Aktif bir Aspose.OCR for .NET lisansı (ücretsiz deneme ile başlayabilirsiniz). +- İşlemek istediğiniz bir veya daha fazla `.tif` dosyası içeren bir klasör. +- Visual Studio, VS Code veya tercih ettiğiniz herhangi bir IDE – örnek saf C# olduğu için editör seçimi önemli değildir. + +> **Pro ipucu:** Bir CI sunucusunda çalışıyorsanız, projenizin dosyasına Aspose.OCR NuGet paketini (`Aspose.OCR`) ekleyin; kütüphane tamamen yönetilen bir yapıya sahiptir ve yerel bağımlılıkları yoktur. + +## Adım 1: Aspose OCR NuGet Paketini Yükleyin + +İlk olarak, OCR motorunu projeye ekleyelim. Çözüm klasörünüzde bir terminal açın ve şu komutu çalıştırın: + +```bash +dotnet add package Aspose.OCR +``` + +Bu komut, en son kararlı sürümü (Ocak 2026 itibarıyla 23.9) indirir ve `.csproj` dosyanızı otomatik olarak günceller. Elle DLL yönetimine gerek yok. + +## Adım 2: OCR Motorunu Başlatın + +Şimdi bir `OcrEngine` örneği oluşturuyoruz. Bunu, her TIFF sayfasını okuyacak “beyin” olarak düşünün. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Motoru sadece bir kez örneklememizin nedeni nedir? Çünkü `RecognizeImages` bir dosya yolu koleksiyonunu kabul edebilir, bu sayede motor iç tamponları yeniden kullanır ve toplu işleme sürecini büyük ölçüde hızlandırır. + +## Adım 3: Tüm TIFF Dosyalarını Tek Bir Çağrıyla Toplayın + +Klasör üzerinde kendiniz döngü kurmak yerine, .NET'in işi yapmasına izin veriyoruz. `Directory.GetFiles` metodu, OCR çağrısına doğrudan aktarabileceğimiz bir `IEnumerable` döndürür. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **Görsellerim JPEG veya PNG olsaydı ne olur?** Arama desenini (`"*.jpg"` veya `"*.*"`) değiştirmeniz yeterlidir. Aspose OCR, tüm yaygın raster formatlarıyla çalışır. + +## Adım 4: Tüm Koleksiyon Üzerinde OCR Çalıştırın + +İşte her dosyayı tek bir istek içinde işleyen sihirli satır. Metod, anahtarın dosya yolu, değerin ise tanınan metni içeren bir `OcrResult` nesnesi olduğu bir sözlük döndürür. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Neden toplu işleme? OCR motorunu tekrar tekrar yükleme yükünü azaltır ve çok çekirdekli makinelerde Aspose işi dahili olarak paralelleştirir, bu da belirgin bir hız artışı sağlar. + +## Adım 5: Ön İzleme Göster – İlk 50 Karakteri Al + +Çoğu UI senaryosu tüm belgeyi değil sadece bir alıntıyı gerektirir. İlk 50 karakteri (veya sayfa kısa ise daha azını) çıkaracağız ve dosya adıyla birlikte yazdıracağız. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +`Math.Min(50, fullText.Length)` satırı, dize sınırlarını asla aşmadığımızı garanti eder – OCR sonucu 50 karakterden kısa olduğunda `ArgumentOutOfRangeException` oluşmasını önleyen küçük bir koruma. + +### Beklenen Konsol Çıktısı + +İki TIFF dosyanız olduğunu varsayarsak (`invoice1.tif` ve `receipt2.tif`), konsol şu şekilde görünebilir: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Her satır, ön izlemenin daha uzun bir metin bloğunun sadece başlangıcı olduğunu göstermek için üç nokta (`...`) ile biter. + +## Adım 6: Kenar Durumlarını ve Yaygın Tuzakları Ele Alın + +### Boş veya Bozuk Dosyalar + +Bir dosya okunamazsa, `RecognizeImages` hâlâ boş bir `Text` özelliği içeren bir giriş döndürür. Bu girişleri filtreleyebilirsiniz: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Büyük Toplu İşlem + +Binlerce TIFF işlemek çok fazla bellek tüketebilir. Bu gibi durumlarda, her görüntü için bir `Stream` kabul eden aşırı yüklemeyi kullanın veya listeyi daha küçük parçalar halinde işleyin: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Dil ve Yazı Tipi Desteği + +Belgeleriniz Latin dışı karakterler içeriyorsa, `RecognizeImages` çağırmadan önce dili ayarlayın: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Bu küçük ayar, doğruluğu büyük ölçüde artırabilir. + +## Adım 7: Tam Çalışan Örnek (Kopyala‑Yapıştır Hazır) + +Aşağıda, yeni bir konsol projesine (`dotnet new console`) yapıştırıp olduğu gibi çalıştırabileceğiniz tam program yer alıyor (sadece `YOUR_DIRECTORY/Batch` ifadesini gerçek yol ile değiştirin). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +`dotnet run` ile programı çalıştırın. Her TIFF dosyası için kısa bir ön izleme göreceksiniz, bu da Aspose OCR kullanarak **TIFF'ten metin çıkardığınızı** doğrular. + +## Sıkça Sorulan Sorular (SSS) + +**Q: Bu çok sayfalı TIFF'lerde çalışır mı?** +A: Evet. Aspose OCR, her sayfayı dahili olarak ayrı bir görüntü olarak ele alır, bu yüzden çok sayfalı bir TIFF dosyası için tek bir birleştirilmiş dize döndürülür. Gerekirse daha sonra bölüştürebilirsiniz. + +**Q: OCR kutudan çıktığında ne kadar doğru?** +A: Temiz, yüksek çözünürlüklü taramalar (300 DPI veya üzeri) için İngilizce metinde %95'in üzerinde doğruluk bekleyebilirsiniz. Ön işleme (eğikliği düzeltme, ikilileştirme) doğruluğu daha da artırabilir. + +**Q: Sonuçları bir CSV dosyasına aktarabilir miyim?** +A: Kesinlikle. `Console.WriteLine` ifadesini bir `StreamWriter` ile değiştirin ve `fileName,preview` satırları yazın. Ön izleme metnindeki virgülleri kaçırmayı unutmayın. + +## Sonraki Adımlar ve İlgili Konular + +- **OCR sonuçlarını kalıcı hale getirin** – Tam metni aranabilir arşivler için bir veritabanında saklayın. +- **PDF dönüşümüyle birleştirin** – Çıkarılan metni aranabilir PDF'lere gömmek için Aspose.PDF kullanın. +- **Azure Functions üzerinde toplu işleme** – Sunucuları yönetmeden OCR işini ölçeklendirin. + +Bu uzantıların tümü, **TIFF'ten metin çıkarmayı** verimli bir şekilde yapma temel fikrine geri dönerken, yine de **ilk 50 karakteri** hızlı UI ön izlemeleri için almanıza olanak tanır. + +*Kodlamaktan keyif alın! Herhangi bir sorunla karşılaşırsanız, aşağıya yorum bırakın – OCR hattını ince ayarlamanıza yardımcı olmak için elimden geleni yaparım.* + +![Extract text from TIFF using Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Extract text from TIFF using Aspose 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/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/turkish/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..6309cd60 --- /dev/null +++ b/ocr/turkish/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,239 @@ +--- +category: general +date: 2026-01-09 +description: Aspose OCR'i C#'ta kullanarak jpg'deki metni hızlıca tanıyın. Tek bir + öğreticide görüntüden metin çıkarma, görüntüyü JSON ve EPUB'a dönüştürmeyi öğrenin. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: tr +og_description: Aspose OCR ile jpg'deki metni tanıyın. Bu kılavuz, görüntüden metin + çıkarmayı, görüntüyü JSON ve EPUB'a dönüştürmeyi ve bir görüntüden ePub oluşturmayı + gösterir. +og_title: JPG'de metni tanıma – Tam C# Öğreticisi +tags: +- Aspose OCR +- C# +- Image Processing +title: Aspose OCR ile jpg'de metin tanıma – Tam C# Rehberi +url: /tr/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# JPG'de Metin Tanıma – Tam C# Rehberi + +JPG dosyalarında **JPG'de metin tanıma** ihtiyacı hiç duydunuz mu ama hangi kütüphaneyi seçeceğinizden emin değildiniz? Yalnız değilsiniz. Birçok geliştirici, bir fotoğraf ya da taranmış belgeden kelimeleri çıkarmaya ilk kez çalıştıklarında aynı duvara çarpar. + +İyi haber? Aspose OCR ile birkaç satır C# koduyla **görüntüden metin çıkarabilir**, ardından anında **görüntüyü JSON'a dönüştürebilir** ya da hatta **görüntüyü EPUB'a dönüştürebilir**—hepsi IDE'nizden çıkmadan. + +Bu öğreticide, doğru NuGet paketlerini kurmaktan JPG'de metin tanımaya, sonucu yapılandırılmış JSON ve ePub belgesi olarak kaydetmeye kadar tüm iş akışını adım adım inceleyeceğiz. Sonuna geldiğinizde programlı olarak **görüntüden epub oluşturma** yeteneğine sahip olacaksınız; bu, e‑öğrenme platformları, dijital kütüphaneler veya aranabilir e‑kitaplara ihtiyaç duyan herhangi bir uygulama için kullanışlı bir hiledir. + +--- + +## Gerekenler + +- **.NET 6+** (veya .NET Framework 4.6+). Kod, herhangi bir yeni çalışma zamanında çalışır. +- **Aspose.OCR** NuGet paketi – temel OCR motoru. +- **Aspose.Publishing** NuGet paketi – ePub çıktı formatı için gereklidir. +- Diskinizde bir yerde bulunan `input.jpg` adlı bir görüntü dosyası (yolu kendi dosyanıza göre değiştirin). +- Bir metin editörü veya IDE (Visual Studio, VS Code, Rider—seçim size). + +Hepsi bu. Ek hizmetler, harici API'ler yok, sadece birkaç kütüphane ve bir JPG dosyası. + +--- + +## Adım 1: Projenizi **JPG'de metin tanıma** için ayarlayın + +İlk olarak, yeni bir konsol uygulaması oluşturun (veya mevcut bir projeye ekleyin). Ardından NuGet Paket Yöneticisi aracılığıyla iki Aspose paketini ekleyin: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Pro ipucu:** Visual Studio kullanıyorsanız, projeye sağ‑tıklayın → *Manage NuGet Packages* → *Aspose.OCR* ve *Aspose.Publishing* paketlerini arayın, ardından **Install** (Yükle) düğmesine tıklayın. + +Bu paketler, **görüntüden metin çıkarma** ve daha sonra bir ePub dosyası oluşturma ihtiyacınız olan her şeyi sağlar. + +--- + +## Adım 2: Aspose OCR Kullanarak **görüntüden metin çıkarma** + +Şimdi JPG'yi okuyup karakterleri çıkaran kodu yazacağız. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Neden bu çalışıyor:** `OcrEngine`, düşük seviyeli görüntü ön işleme, dil algılama ve karakter segmentasyonunu soyutlar. Sadece bir dosyaya işaret edersiniz ve `OcrResult` nesnesi içinde düz metin dizesi (`ocrResult.Text`) ve zengin bir meta veri seti döndürür. + +--- + +## Adım 3: **Görüntüyü JSON'a dönüştürme** – OCR Sonucunu Dışa Aktarma + +OCR çıktısını yapılandırılmış bir formatta (API'ler, veritabanları veya sonraki işlemler için) saklamanız gerekiyorsa, Aspose sonucu JSON'a serileştirmeyi çok basit hale getirir. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +Oluşturulan JSON yaklaşık olarak şu şekilde görünür (kısaltılmıştır): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**Ne zaman kullanılır:** OCR verilerini bir web servisine besliyorsanız, NoSQL bir depoda saklıyorsanız veya herhangi bir dil tarafından ayrıştırılabilen taşınabilir bir temsil gerektiriyorsa JSON mükemmeldir. + +--- + +## Adım 4: **Görüntüyü EPUB'a dönüştürme** – eKitap Olarak Kaydetme + +Aspose Publishing, EPUB dahil olmak üzere çeşitli e‑kitap formatlarını destekler. `OcrResult` üzerinde `Save` metodunu çağırarak tanınan metni ve isteğe bağlı olarak orijinal görüntüyü içeren tam uyumlu bir ePub dosyası oluşturabilirsiniz. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**Ne elde edersiniz:** Herhangi bir okuyucuda (Calibre, Apple Books, Adobe Digital Editions) açabileceğiniz bir ePub. Dosya, aranabilir içerik olarak çıkarılan metni ve arka plan katmanı olarak kaynak görüntüyü içerir—**görüntüden epub oluşturma** iş akışları için idealdir. + +--- + +## Adım 5: Tam Çalışan Örnek – JPG'den JSON ve EPUB'a + +Her şeyi bir araya getirerek, işte tam ve çalıştırmaya hazır program. Bunu `Program.cs` dosyasına kopyalayıp yapıştırın, dosya yollarını ayarlayın ve **F5** tuşuna basın. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Programı çalıştırın ve üç şey görmelisiniz: + +1. Konsolda tanınan metin yazdırılır. +2. `output.json` dosyası, yapılandırılmış OCR verilerini içerir. +3. `output.epub` dosyası, herhangi bir e‑kitap okuyucusunda açılabilir. + +--- + +## Yaygın Sorular ve Kenar Durumları + +- **Görüntü PNG veya BMP ise ne olur?** + Aspose OCR, çoğu raster formatını (PNG, BMP, TIFF, GIF) destekler. `inputPath` içindeki dosya uzantısını değiştirmeniz yeterlidir; aynı kod çalışır. + +- **İngilizce dışındaki bir dili belirtebilir miyim?** + Evet. `RecognizeImage` metodunu çağırmadan önce `ocrEngine.Language = OcrLanguage.French;` (veya desteklenen herhangi bir dil) olarak ayarlayın. + +- **Çok sayfalı PDF'ler ne olur?** + PDF'ler için önce her sayfayı bir görüntüye dönüştürürsünüz (Aspose.PDF bunu yapabilir) ve ardından her görüntüyü `RecognizeImage` metoduna beslersiniz. Ortaya çıkan `OcrResult` nesneleri, JSON veya EPUB'a dışa aktarmadan önce birleştirilebilir. + +- **Düşük güven puanları alıyorum. Doğruluğu nasıl artırabilirim?** + Görüntüyü ön işleme tabi tutun: kontrastı artırın, eğikliği düzeltin veya gri tonlamaya çevirin. Aspose OCR ayrıca ayarlayabileceğiniz `PreprocessOptions` sunar. + +--- + +## Sonuç + +Artık Aspose OCR kullanarak **JPG dosyalarında metin tanıma**, ardından veri akışları için **görüntüyü JSON'a dönüştürme** ve aranabilir e‑kitaplar oluşturmak için **görüntüyü EPUB'a dönüştürme** konularında sağlam, uçtan uca bir tarifiniz var. Yaklaşım hafiftir, sadece iki NuGet paketi gerektirir ve tüm modern .NET çalışma zamanlarında çalışır. + +Buradan şunları yapabilirsiniz: + +- JSON çıktısını bir arama indeksine entegre edin (Azure Cognitive Search, Elastic). +- Görüntü klasörünü toplu işleyerek bir ePub kitap kütüphanesi oluşturun. +- İş akışını çeviri API'leriyle genişleterek çok dilli e‑kitapları otomatik oluşturun. + +Deneyin, farklı görüntü kaliteleriyle oynayın ve OCR motorunun zor işini yapmasına izin verin. Kodlamanın tadını çıkarın! + +--- + +![recognize text in jpg output screenshot](placeholder-image.png "recognize text in jpg 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/vietnamese/net/ocr-configuration/_index.md b/ocr/vietnamese/net/ocr-configuration/_index.md index 4fbea5fd..7b538e16 100644 --- a/ocr/vietnamese/net/ocr-configuration/_index.md +++ b/ocr/vietnamese/net/ocr-configuration/_index.md @@ -39,9 +39,14 @@ Khai phá sức mạnh của nhận dạng hình ảnh OCR trong .NET với Aspo Mở khóa các khả năng OCR mạnh mẽ với Aspose.OCR cho .NET. Trích xuất văn bản từ hình ảnh một cách liền mạch. ### [OCRHoạt động với danh sách trong nhận dạng hình ảnh OCR](./ocr-operation-with-list/) Mở khóa tiềm năng của Aspose.OCR cho .NET. Dễ dàng thực hiện nhận dạng hình ảnh OCR bằng danh sách. Tăng năng suất và trích xuất dữ liệu trong các ứng dụng của bạn. +### [Cách OCR Hình ảnh trong C# – Hướng dẫn đầy đủ với hỗ trợ GPU](./how-to-ocr-image-in-c-complete-guide-with-gpu-support/) +Hướng dẫn chi tiết cách sử dụng Aspose.OCR trong C# để nhận dạng hình ảnh với hỗ trợ GPU, tăng tốc hiệu suất. +### [Nhận dạng văn bản từ hình ảnh với Aspose OCR – Hướng dẫn đầy đủ C#](./recognize-text-from-image-with-aspose-ocr-complete-c-guide/) +Hướng dẫn chi tiết cách nhận dạng văn bản từ hình ảnh bằng Aspose OCR trong C#. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md b/ocr/vietnamese/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md new file mode 100644 index 00000000..7eea8740 --- /dev/null +++ b/ocr/vietnamese/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/_index.md @@ -0,0 +1,186 @@ +--- +category: general +date: 2026-01-09 +description: Tìm hiểu cách OCR hình ảnh và trích xuất văn bản từ hình ảnh bằng Aspose.OCR. + Bao gồm các bước chuyển đổi tài liệu đã quét, bật GPU và đọc hình ảnh bằng OCR. +draft: false +keywords: +- how to ocr image +- extract image text +- convert scanned document +- how to enable gpu +- read image with ocr +language: vi +og_description: Cách OCR hình ảnh nhanh chóng với Aspose.OCR. Thực hiện theo hướng + dẫn từng bước này để trích xuất văn bản từ hình ảnh, chuyển đổi tài liệu đã quét + và kích hoạt GPU. +og_title: Cách OCR Hình ảnh trong C# – Hướng dẫn tăng tốc bằng GPU +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Cách OCR Hình ảnh trong C# – Hướng dẫn đầy đủ với hỗ trợ GPU +url: /vi/net/ocr-configuration/how-to-ocr-image-in-c-complete-guide-with-gpu-support/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách OCR Hình ảnh trong C# – Hướng dẫn đầy đủ với hỗ trợ GPU + +Bạn đã bao giờ tự hỏi **cách OCR hình ảnh** trực tiếp từ ứng dụng .NET của mình chưa? Bạn không phải là người duy nhất—các nhà phát triển luôn cần trích xuất văn bản từ PDF, TIFF và ảnh, đặc biệt khi làm việc với các tài liệu quét lớn. Tin tốt? Với Aspose.OCR, bạn có thể **trích xuất văn bản hình ảnh** chỉ trong vài dòng code, và thậm chí **kích hoạt GPU** để tăng tốc xử lý. + +Trong hướng dẫn này, chúng tôi sẽ đi qua mọi thứ bạn cần biết: từ cài đặt thư viện, khởi tạo engine OCR với khả năng dự phòng GPU, cho đến cuối cùng **đọc hình ảnh bằng OCR** và hiển thị kết quả. Khi kết thúc, bạn sẽ có thể **chuyển đổi tài liệu quét** thành các chuỗi có thể chỉnh sửa—không cần dịch vụ bên ngoài. + +--- + +## Những gì bạn cần + +Trước khi chúng ta bắt tay vào thực hành, hãy chắc chắn bạn có những thứ sau: + +- **.NET 6.0** hoặc mới hơn (code hoạt động trên .NET Core và .NET Framework cũng được). +- Một **giấy phép** cho Aspose.OCR hoặc khóa đánh giá tạm thời (bản dùng thử miễn phí hoạt động cho việc thử nghiệm). +- Một tệp hình ảnh bạn muốn xử lý—tốt nhất là TIFF hoặc PNG độ phân giải cao. +- (Tùy chọn) Một máy có GPU nếu bạn muốn thấy tăng tốc; nếu không, engine sẽ tự động chuyển sang CPU. + +Có những điều kiện tiên quyết này sẽ cho phép bạn tập trung vào quy trình OCR thực tế mà không gặp trở ngại sau này. + +## Bước 1: Cài đặt gói NuGet Aspose.OCR + +Đầu tiên, thêm thư viện Aspose.OCR vào dự án của bạn. Mở terminal trong thư mục solution và chạy: + +```bash +dotnet add package Aspose.OCR +``` + +Hoặc, nếu bạn đang dùng giao diện NuGet của Visual Studio, chỉ cần tìm **Aspose.OCR** và nhấn Install. Lệnh này sẽ tải về tất cả các DLL cần thiết, bao gồm cả các binary GPU gốc khi có sẵn. + +> **Pro tip:** Giữ cho package luôn cập nhật. Các bản phát hành mới thường bao gồm cải tiến mô hình ngôn ngữ và hỗ trợ GPU tốt hơn. + +## Bước 2: Nhập các namespace cần thiết + +Bây giờ package đã được cài đặt, hãy đưa các namespace liên quan vào phạm vi. Đây là bước mà chúng ta bắt đầu **cách OCR hình ảnh** trong code. + +```csharp +// Step 2: Import required namespaces +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +Hai dòng này cho phép bạn truy cập lớp `OcrEngine` và đối tượng settings cho phép bật/tắt GPU. Nếu không có chúng, trình biên dịch sẽ không biết `OcrEngine` là gì. + +## Bước 3: Khởi tạo OCR Engine và bật GPU + +Nếu bạn từng tự hỏi **cách bật GPU** cho OCR, đây là câu trả lời. Chúng ta tạo một instance `OcrEngineSettings`, bật cờ `UseGpu`, và truyền nó vào constructor của engine. Engine sẽ tự động phát hiện xem có GPU tương thích hay không; nếu không, nó sẽ chuyển sang CPU—do đó bạn không cần xử lý lỗi thêm. + +```csharp +// Step 3: Initialize the OCR engine with GPU support (falls back to CPU if unavailable) +var ocrSettings = new OcrEngineSettings { UseGpu = true }; +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Tại sao lại bật GPU? Đối với các hình ảnh lớn—nghĩ đến TIFF đa trang hoặc quét độ phân giải cao—thời gian xử lý có thể giảm từ vài giây xuống chỉ còn phần nghìn giây. Nếu bạn xây dựng một pipeline xử lý hàng loạt, tốc độ này sẽ cộng dồn nhanh chóng. + +## Bước 4: Thực hiện OCR trên ảnh mục tiêu của bạn + +Đây là nơi chúng ta thực sự **đọc hình ảnh bằng OCR**. Cung cấp đường dẫn tới tệp của bạn, và engine sẽ trả về văn bản đã nhận dạng dưới dạng string. Điều này hoạt động với bất kỳ định dạng raster nào được Aspose hỗ trợ (PNG, JPEG, TIFF, BMP, v.v.). + +```csharp +// Step 4: Perform OCR on the target image file +string imagePath = @"C:\Images\large-document.tif"; +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Nếu bạn cần **chuyển đổi tài liệu quét** từng trang một, chỉ cần lặp qua các tên tệp và gọi `RecognizeImage` cho mỗi tệp. Phương thức này an toàn với đa luồng, vì vậy bạn thậm chí có thể song song hoá công việc trên CPU đa nhân. + +## Bước 5: Hiển thị hoặc lưu trữ văn bản đã trích xuất + +Cuối cùng, chúng ta xuất kết quả. Trong một ứng dụng console, `Console.WriteLine` đủ để hiển thị. Trong thực tế, bạn có thể ghi văn bản vào cơ sở dữ liệu, tệp JSON, hoặc đưa vào chỉ mục tìm kiếm. + +```csharp +// Step 5: Display the extracted text +Console.WriteLine(recognizedText); +``` + +Dòng trên in ra kết quả OCR thô. Bạn sẽ thấy các ngắt dòng, một số nhận dạng sai và có thể một vài ký tự lạ—điều này bình thường với OCR. Xử lý hậu kỳ (ví dụ: làm sạch bằng regex) có thể giúp gọn gàng hơn nếu cần. + +> **Note:** Aspose.OCR cũng hỗ trợ từ điển ngôn ngữ riêng. Nếu bạn đang xử lý văn bản không phải tiếng Anh, hãy đặt `ocrEngine.Settings.Language` cho phù hợp trước khi gọi `RecognizeImage`. + +## Ví dụ hoạt động đầy đủ + +Kết hợp tất cả lại, đây là một chương trình tự chứa mà bạn có thể sao chép và dán vào một dự án console mới: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // Initialize OCR engine with GPU support + var ocrSettings = new OcrEngineSettings { UseGpu = true }; + var ocrEngine = new OcrEngine(ocrSettings); + + // Path to the image you want to process + string imagePath = @"C:\Images\large-document.tif"; + + // Perform OCR + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Output the result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + } +} +``` + +**Kết quả mong đợi** (rút gọn để ngắn gọn): + +``` +=== OCR Result === +This is a sample scanned document. +It contains several lines of text that have been +converted from image to editable characters. +... +``` + +Chạy chương trình, và bạn sẽ thấy văn bản đã trích xuất xuất hiện trong cửa sổ console. Nếu GPU có sẵn, thời gian xử lý sẽ ngắn hơn đáng kể so với máy chỉ có CPU. + +## Những khó khăn thường gặp & Cách tránh + +| Issue | Why It Happens | Fix | +|-------|----------------|-----| +| **Ký tự rác** | Nguồn ảnh có độ phân giải thấp hoặc nền nhiễu. | Tiền xử lý ảnh (tăng DPI, áp dụng nhị phân hoá) trước khi OCR. | +| **GPU không được sử dụng** | Không có driver CUDA tương thích được cài đặt. | Kiểm tra phiên bản driver, hoặc đặt `UseGpu = false` để buộc dùng CPU. | +| **Thiếu bộ nhớ khi xử lý TIFF lớn** | Tải toàn bộ tệp một lúc. | Sử dụng `OcrEngineSettings.MaxMemoryUsage` để giới hạn bộ nhớ, hoặc xử lý từng trang riêng biệt. | +| **Nhận dạng ngôn ngữ không đúng** | Ngôn ngữ mặc định là tiếng Anh. | Đặt `ocrEngine.Settings.Language = Language.YourLanguage;` trước khi gọi `RecognizeImage`. | + +Việc giải quyết những trường hợp này sẽ đảm bảo triển khai **cách OCR hình ảnh** của bạn luôn ổn định trên các môi trường khác nhau. + +## Mở rộng giải pháp + +Bây giờ bạn đã có thể **trích xuất văn bản hình ảnh**, bạn có thể muốn: + +- **Chuyển đổi tài liệu quét** PDF thành PDF có thể tìm kiếm bằng cách nhúng lớp OCR. +- Lưu kết quả vào chỉ mục **Azure Cognitive Search** để truy xuất nhanh. +- Kết nối đầu ra OCR với **API dịch thuật** nếu cần hỗ trợ đa ngôn ngữ. +- Sử dụng phương thức `GetBoundingBoxes` của **Aspose.OCR** để xác định vị trí mỗi từ trên ảnh—rất hữu ích cho công cụ che dấu. + +Tất cả các mở rộng này dựa trên nguyên tắc cốt lõi đã đề cập: khởi tạo engine, cung cấp ảnh, và đọc văn bản. + +## Kết luận + +Chúng tôi đã trình bày một ví dụ hoàn chỉnh, từ đầu đến cuối về **cách OCR hình ảnh** bằng Aspose.OCR trong C#. Bằng cách cài đặt package NuGet, nhập các namespace phù hợp, bật GPU (hoặc để fallback sang CPU), và gọi `RecognizeImage`, bạn có thể đáng tin cậy **trích xuất văn bản hình ảnh**, **chuyển đổi tài liệu quét** thành các trang, và **đọc hình ảnh bằng OCR** trong bất kỳ ứng dụng .NET nào. + +Hãy thử trên một vài tệp quét của bạn—thử nghiệm với các định dạng ảnh khác nhau, bật/tắt cờ GPU, và quan sát sự thay đổi về hiệu năng. Khi đã sẵn sàng, khám phá các tính năng nâng cao như từ điển ngôn ngữ hoặc trích xuất bounding‑box để làm cho giải pháp của bạn thông minh hơn. + +Chúc lập trình vui vẻ, và chúc các pipeline OCR của bạn nhanh, chính xác và không gặp rắc rố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/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md b/ocr/vietnamese/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..796be215 --- /dev/null +++ b/ocr/vietnamese/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-01-09 +description: Nhận dạng văn bản từ hình ảnh bằng Aspose OCR trong C#. Tìm hiểu cách + tắt tải xuống tự động, trích xuất hình ảnh văn bản tiếng Trung và thiết lập ngôn + ngữ OCR. +draft: false +keywords: +- recognize text from image +- disable auto download +- extract text image +- extract chinese text image +- set OCR language +language: vi +og_description: Nhận dạng văn bản từ hình ảnh bằng Aspose OCR trong C#. Thực hiện + theo hướng dẫn từng bước này để tắt tải xuống tự động, trích xuất hình ảnh văn bản + tiếng Trung và thiết lập ngôn ngữ OCR. +og_title: Nhận dạng văn bản từ hình ảnh bằng Aspose OCR – Hướng dẫn đầy đủ C# +tags: +- Aspose OCR +- C# +- Image Processing +title: Nhận dạng văn bản từ hình ảnh bằng Aspose OCR – Hướng dẫn C# đầy đủ +url: /vi/net/ocr-configuration/recognize-text-from-image-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Nhận dạng văn bản từ hình ảnh với Aspose OCR – Hướng dẫn đầy đủ C# + +Bạn đã bao giờ cần **nhận dạng văn bản từ hình ảnh** nhưng gặp khó khăn với các chi tiết cấu hình? Bạn không phải là người duy nhất. Nhiều nhà phát triển gặp rào cản khi engine OCR cố gắng tải xuống các gói ngôn ngữ tại thời gian chạy, hoặc khi họ không thể trích xuất các ký tự tiếng Trung từ một bức ảnh biển hiệu. + +Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn một giải pháp thực tế cho thấy cách **vô hiệu hoá tải tự động**, **trích xuất văn bản từ hình ảnh**, **trích xuất văn bản tiếng Trung từ hình ảnh**, và **đặt ngôn ngữ OCR**—tất cả đều với Aspose OCR cho .NET. Khi kết thúc, bạn sẽ có một chương trình duy nhất, có thể chạy được và in ra văn bản đã nhận dạng trực tiếp trên console. + +## Những gì bạn sẽ học + +- Cách cài đặt và tham chiếu gói NuGet Aspose.OCR. +- Tại sao việc tắt tải tài nguyên tự động lại quan trọng đối với môi trường offline hoặc bảo mật. +- Các bước chính xác để chỉ định engine tới thư mục gói ngôn ngữ cục bộ. +- Cách chọn ngôn ngữ đúng (Tiếng Trung giản thể) trước khi xử lý hình ảnh. +- Xác minh đầu ra và khắc phục các vấn đề thường gặp. + +Không cần kinh nghiệm trước với Aspose; chỉ cần một môi trường C# cơ bản và một tệp hình ảnh bạn muốn đọc. + +## Yêu cầu trước + +| Yêu cầu | Lý do | +|-------------|--------| +| .NET 6.0 or later (or .NET Framework 4.7+) | Aspose.OCR hỗ trợ các runtime này. | +| Visual Studio 2022 (or any IDE you like) | Để dễ dàng tạo dự án và gỡ lỗi. | +| An image file containing Chinese text (e.g., `chinese-sign.jpg`) | Để minh họa **trích xuất văn bản tiếng Trung từ hình ảnh**. | +| Local copy of Aspose OCR language packs (downloaded once from the Aspose portal) | Cần thiết vì chúng tôi sẽ **vô hiệu hoá tải tự động**. | + +Đảm bảo các tệp ZIP gói ngôn ngữ nằm trong một thư mục bạn có thể tham chiếu, ví dụ `C:\MyOCR\Resources`. + +## Bước 1: Nhận dạng văn bản từ hình ảnh – Cấu hình Engine OCR + +Đầu tiên, chúng ta cần một đối tượng `OcrEngineSettings` để cho Aspose biết nơi tìm tài nguyên. Đây là nền tảng cho bất kỳ thao tác **trích xuất văn bản từ hình ảnh** nào. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Step 1: Configure OCR engine settings +var ocrSettings = new OcrEngineSettings +{ + // Folder that contains language pack .zip files + ResourceFolder = @"C:\MyOCR\Resources", + + // Turn off the built‑in downloader – we want total control + AutoDownloadResources = false +}; +``` + +Tại sao lại đặt `AutoDownloadResources` thành `false`? Trong môi trường sản xuất, bạn thường chạy sau tường lửa, hoặc đơn giản là không muốn ứng dụng của mình truy cập internet khi chạy. Vô hiệu hoá tính năng này đảm bảo engine chỉ sử dụng các tệp bạn đặt trong `ResourceFolder`, đồng thời tăng tốc khởi tạo. + +## Bước 2: Tạo engine OCR với các thiết lập đã chỉ định + +Bây giờ các thiết lập đã sẵn sàng, chúng ta khởi tạo engine. Bước này là nơi khả năng **đặt ngôn ngữ OCR** sẽ được sử dụng sau này. + +```csharp +// Step 2: Create the OCR engine using the settings above +var ocrEngine = new OcrEngine(ocrSettings); +``` + +Đối tượng `OcrEngine` nhẹ; nó không thực sự tải dữ liệu ngôn ngữ nào cho đến khi bạn chỉ định một ngôn ngữ. Việc tải lười này giải thích tại sao bạn có thể an toàn tạo engine ngay cả khi thư mục tài nguyên trống—không có gì sẽ bị lỗi cho tới khi bạn cố gắng **trích xuất văn bản tiếng Trung từ hình ảnh**. + +## Bước 3: Đặt ngôn ngữ OCR – Chọn Tiếng Trung giản thể + +Aspose hỗ trợ hàng chục ngôn ngữ, mỗi ngôn ngữ được đóng gói dưới dạng tệp ZIP. Vì hình ảnh mẫu của chúng ta chứa các ký tự Tiếng Trung giản thể, chúng ta sẽ đặt ngôn ngữ một cách rõ ràng trước khi nhận dạng. + +```csharp +// Step 3: Select the language for recognition (must be available locally) +ocrEngine.Language = OcrLanguage.ChineseSimplified; +``` + +Nếu bạn bỏ qua bước này, engine sẽ mặc định tiếng Anh và bạn sẽ nhận được kết quả rối rắm. Ngoài ra, lưu ý rằng tên ngôn ngữ phải khớp với tên tệp ZIP trong `ResourceFolder`. Ví dụ, `ChineseSimplified.zip` phải tồn tại. + +## Bước 4: Trích xuất văn bản từ hình ảnh mục tiêu + +Với engine đã được cấu hình và ngôn ngữ đã đặt, cuối cùng chúng ta **nhận dạng văn bản từ hình ảnh**. Phương thức trả về một chuỗi thuần mà bạn có thể ghi log, lưu trữ, hoặc đưa vào hệ thống khác. + +```csharp +// Step 4: Recognize text from the target image +string recognizedText = ocrEngine.RecognizeImage(@"C:\MyOCR\chinese-sign.jpg"); + +// Step 5: Output the recognized text +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Lệnh gọi `RecognizeImage` thực hiện toàn bộ công việc nặng: tiền xử lý, phân đoạn, khớp ký tự, và cuối cùng ghép kết quả. Nếu hình ảnh rõ ràng và gói ngôn ngữ đúng, bạn sẽ thấy các ký tự tiếng Trung được in ra console. + +> **Mẹo:** Nếu bạn cần trích xuất chỉ một phần của hình ảnh (ví dụ, một khu vực cụ thể), hãy sử dụng overload `RecognizeImage(string, Rectangle)` để truyền một hình chữ nhật cắt. + +## Ví dụ Hoạt động Đầy đủ + +Dưới đây là chương trình hoàn chỉnh mà bạn có thể sao chép‑dán vào một dự án console mới. Nó bao gồm các câu lệnh `using`, các thiết lập, lựa chọn ngôn ngữ và đầu ra cuối cùng. Lưu lại dưới tên `Program.cs`, khôi phục các gói NuGet, và chạy. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------------------ + // 1️⃣ Configure OCR engine – point to local resources + // ------------------------------------------------------------ + var ocrSettings = new OcrEngineSettings + { + ResourceFolder = @"C:\MyOCR\Resources", // <-- your local folder + AutoDownloadResources = false // <-- we disable auto download + }; + + // ------------------------------------------------------------ + // 2️⃣ Create the engine with those settings + // ------------------------------------------------------------ + var ocrEngine = new OcrEngine(ocrSettings); + + // ------------------------------------------------------------ + // 3️⃣ Set OCR language – we want Chinese Simplified + // ------------------------------------------------------------ + ocrEngine.Language = OcrLanguage.ChineseSimplified; + + // ------------------------------------------------------------ + // 4️⃣ Recognize text from the image (extract Chinese text image) + // ------------------------------------------------------------ + string imagePath = @"C:\MyOCR\chinese-sign.jpg"; + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // ------------------------------------------------------------ + // 5️⃣ Show the result (extract text image) + // ------------------------------------------------------------ + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Kết quả Dự kiến + +Nếu `chinese-sign.jpg` chứa cụm từ “欢迎光临”, console sẽ hiển thị tương tự như: + +``` +=== Recognized Text === +欢迎光临 +``` + +Định dạng chính xác có thể thay đổi tùy vào chất lượng hình ảnh, nhưng các ký tự nên đọc được. + +## Các Vấn đề Thường gặp & Mẹo Chuyên nghiệp + +| Triệu chứng | Nguyên nhân có thể | Cách khắc phục | +|-------------|---------------------|----------------| +| **Chuỗi rỗng trả về** | Không tìm thấy gói ngôn ngữ hoặc `AutoDownloadResources` vẫn đang cố tải nó | Kiểm tra đường dẫn `ResourceFolder` và đảm bảo `ChineseSimplified.zip` tồn tại. | +| **Ký tự rác** | Hình ảnh mờ hoặc độ tương phản thấp | Tiền xử lý hình ảnh (tăng độ tương phản, nhị phân hoá) trước khi đưa vào `RecognizeImage`. | +| **Ngoại lệ: `FileNotFoundException`** | Đường dẫn hình ảnh sai | Sử dụng đường dẫn tuyệt đối hoặc đặt hình ảnh trong thư mục output của dự án và tham chiếu bằng `Path.Combine(Directory.GetCurrentDirectory(), "chinese-sign.jpg")`. | +| **Hiệu năng chậm** | Kích thước hình ảnh quá lớn | Thay đổi kích thước hình ảnh về chiều rộng hợp lý (ví dụ, 1024 px) trước khi nhận dạng. | + +**Mẹo chuyên nghiệp:** Giữ các gói ngôn ngữ trong một thư mục được quản lý phiên bản. Khi bạn nâng cấp Aspose.OCR, các gói mới có thể có quy ước đặt tên khác, điều này có thể làm hỏng chiến lược **vô hiệu hoá tải tự động** của bạn một cách im lặng. + +## Mở rộng Ví dụ + +Bây giờ bạn đã có thể **nhận dạng văn bản từ hình ảnh**, bạn có thể muốn: + +- **Xử lý hàng loạt** một thư mục các hình ảnh (lặp qua các tệp, gọi `RecognizeImage` mỗi lần). +- **Xuất** kết quả ra tệp CSV hoặc JSON để phân tích tiếp theo. +- **Kết hợp** OCR với các API dịch để chuyển biển hiệu tiếng Trung sang tiếng Anh ngay lập tức. + +Tất cả các kịch bản này đều tái sử dụng các bước cốt lõi: cấu hình một lần, đặt ngôn ngữ, và gọi `RecognizeImage`. Thiết kế mô-đun giúp mã của bạn sạch sẽ và dễ bảo trì. + +## Kết luận + +Bạn vừa học cách **nhận dạng văn bản từ hình ảnh** bằng Aspose OCR trong C#. Bằng cách **vô hiệu hoá tải tự động**, chỉ định engine tới thư mục tài nguyên cục bộ, và **đặt ngôn ngữ OCR** thành Tiếng Trung giản thể, bạn có thể một cách đáng tin cậy **trích xuất văn bản tiếng Trung từ hình ảnh** và bất kỳ ngôn ngữ nào khác bạn cung cấp. + +Mã hoàn chỉnh, có thể chạy ở trên minh họa một quy trình thực tế mà bạn có thể đưa vào các dự án thực tế. Từ đây, hãy thử nghiệm với các chất lượng hình ảnh khác nhau, thêm xử lý lỗi, hoặc tích hợp đầu ra vào hệ thống lớn hơn. Các khả năng gần như vô hạn. + +Có câu hỏi về các ngôn ngữ khác, tối ưu hiệu năng, hoặc triển khai trên đám mây? Hãy để lại bình luận—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/net/ocr-optimization/_index.md b/ocr/vietnamese/net/ocr-optimization/_index.md index edcd6f2e..782ef38b 100644 --- a/ocr/vietnamese/net/ocr-optimization/_index.md +++ b/ocr/vietnamese/net/ocr-optimization/_index.md @@ -50,9 +50,11 @@ Khám phá Aspose.OCR cho .NET. Tăng độ chính xác của OCR bằng các b Nâng cao độ chính xác của OCR với Aspose.OCR cho .NET. Sửa lỗi chính tả, tùy chỉnh từ điển và nhận dạng văn bản không có lỗi một cách dễ dàng. ### [Lưu kết quả nhiều trang dưới dạng tài liệu trong nhận dạng hình ảnh OCR](./save-multipage-result-as-document/) Mở khóa tiềm năng của Aspose.OCR cho .NET. Dễ dàng lưu kết quả OCR nhiều trang dưới dạng tài liệu với hướng dẫn từng bước toàn diện này. +### [c# OCR tutorial: Nhận dạng văn bản từ hình ảnh bằng tiền xử lý](./c-ocr-tutorial-recognize-text-from-image-with-preprocessing/) +Khám phá cách nhận dạng văn bản từ hình ảnh bằng tiền xử lý trong Aspose.OCR cho .NET. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md b/ocr/vietnamese/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md new file mode 100644 index 00000000..1033e670 --- /dev/null +++ b/ocr/vietnamese/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: Hướng dẫn C# OCR cho thấy cách nhận dạng văn bản từ hình ảnh và tiền + xử lý hình ảnh cho OCR bằng các bộ lọc Aspose.OCR – hướng dẫn từng bước. +draft: false +keywords: +- c# ocr tutorial +- recognize text from image +- preprocess image for ocr +- Aspose OCR +- image preprocessing C# +language: vi +og_description: Hướng dẫn OCR bằng C# giúp bạn nhận dạng văn bản từ hình ảnh và tiền + xử lý hình ảnh cho OCR bằng các bộ lọc Aspose.OCR. Bao gồm mã nguồn đầy đủ. +og_title: hướng dẫn OCR bằng C# – Nhận dạng văn bản từ hình ảnh với tiền xử lý +tags: +- OCR +- C# +- Image Processing +title: 'Hướng dẫn OCR C#: Nhận dạng văn bản từ hình ảnh với tiền xử lý' +url: /vi/net/ocr-optimization/c-ocr-tutorial-recognize-text-from-image-with-preprocessing/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# hướng dẫn c# ocr – Nhận dạng văn bản từ hình ảnh với tiền xử lý + +Bạn đã bao giờ tự hỏi làm thế nào để **nhận dạng văn bản từ hình ảnh** trong một ứng dụng C# mà không phải mất hàng tuần để tinh chỉnh các bộ lọc? Bạn không phải là người duy nhất. Trong **hướng dẫn c# ocr** này, chúng tôi sẽ hướng dẫn một ví dụ hoàn chỉnh, sẵn sàng chạy mà không chỉ đọc văn bản mà còn **tiền xử lý hình ảnh cho OCR** để tăng độ chính xác. + +Chúng tôi sẽ sử dụng thư viện Aspose.OCR vì nó đi kèm với một pipeline bộ lọc tiện lợi cho phép bạn chèn các bước deskew, denoise và contrast‑boost chỉ trong vài dòng. Khi kết thúc hướng dẫn này, bạn sẽ có một ứng dụng console có thể nhận một ảnh PNG bị nghiêng, nhiễu, làm sạch và xuất ra chuỗi đã trích xuất — tất cả kèm theo giải thích rõ ràng vì sao mỗi bước quan trọng. + +## Prerequisites + +| Yêu cầu | Lý do quan trọng | +|-------------|----------------| +| .NET 6 SDK (hoặc mới hơn) | Các tính năng hiện đại của C# và hiệu năng tốt hơn | +| Visual Studio 2022 (hoặc VS Code) | Gỡ lỗi thuận tiện và IntelliSense | +| Gói NuGet **Aspose.OCR** | Cung cấp `OcrEngine` và các lớp bộ lọc | +| Ảnh đầu vào (ví dụ, `skewed‑noisy.png`) | Minh họa nhu cầu tiền xử lý | + +Nếu bất kỳ mục nào ở trên còn thiếu, hãy cài đặt chúng trước. Bước cài đặt NuGet sẽ được trình bày trong phần tiếp theo. + +## Step 1: Install Aspose.OCR via NuGet + +Mở terminal (hoặc Package Manager Console) và chạy: + +```bash +dotnet add package Aspose.OCR +``` + +> **Mẹo chuyên nghiệp:** Sử dụng cờ `--version` để khóa vào một phiên bản cụ thể nếu bạn cần các bản dựng có thể tái tạo. + +Gói này đã bao gồm tất cả các bộ lọc chúng ta cần, vì vậy không cần DLL bổ sung nào. + +## Step 2: Initialize the OCR Engine – the Heart of the c# ocr tutorial + +Việc tạo engine rất đơn giản, nhưng đáng để hiểu những gì xảy ra bên trong. `OcrEngine` giữ một pipeline các **filters** thao tác trên bitmap trước khi thuật toán nhận dạng chạy. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Initialize the OCR engine – this is the core object for the entire tutorial +var ocrEngine = new OcrEngine(); +``` + +> **Tại sao phải khởi tạo trước?** Engine lưu trữ bộ nhớ đệm cho các tài nguyên nội bộ (như mô hình ngôn ngữ). Việc tái sử dụng một thể hiện duy nhất cho nhiều ảnh sẽ tiết kiệm bộ nhớ và tăng tốc độ nhận dạng tiếp theo. + +## Step 3: Preprocess Image for OCR – adding deskew, denoise, and contrast boost + +Hầu hết các bản quét thực tế không hoàn hảo; chúng bị nghiêng, có đốm, hoặc quá tối. Đó là lý do **tiền xử lý hình ảnh cho OCR** là một bước quan trọng. Aspose cung cấp ba bộ lọc làm việc cùng nhau rất tốt: + +| Filter | Chức năng | Trường hợp sử dụng thường gặp | +|--------|--------------|------------------| +| `DeskewFilter` | Xoay ảnh để sửa độ nghiêng | Tài liệu quét từ máy quét | +| `DenoiseFilter` | Loại bỏ các pixel riêng lẻ (nhiễu “muối‑và‑tiêu”) | Ảnh chụp trong điều kiện ánh sáng yếu | +| `ContrastBoostFilter` | Tăng độ tương phản để làm sắc nét các cạnh chữ | Bản in mờ hoặc ảnh có độ phân giải thấp | + +Dưới đây là đoạn mã thêm mỗi bộ lọc vào pipeline của engine: + +```csharp +// 1️⃣ Deskew – automatically rotates the image to the proper orientation +ocrEngine.Filters.Add(new DeskewFilter()); + +// 2️⃣ Denoise – cleans up speckles that can confuse the OCR engine +ocrEngine.Filters.Add(new DenoiseFilter()); + +// 3️⃣ Contrast Boost – amplifies the difference between foreground text and background +ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); +``` + +> **Cách hoạt động:** Khi bạn gọi `RecognizeImage` sau này, engine sẽ chạy tuần tự ba bộ lọc này trước khi đưa bitmap đã làm sạch vào lõi nhận dạng. + +### Visual illustration (optional) + +Nếu bạn nhúng một hình ảnh, hãy chắc chắn rằng văn bản alt chứa từ khóa chính: + +```markdown +![c# ocr tutorial preprocessing example](/images/ocr-preprocess.png) +``` + +## Step 4: Recognize Text from Image – the moment of truth + +Bây giờ ảnh đã được tiền xử lý, chúng ta có thể cuối cùng trích xuất các ký tự. Phương thức trả về một chuỗi thuần, bạn có thể ghi log, lưu trữ, hoặc đưa vào hệ thống khác. + +```csharp +// Replace the path with the actual location of your test image +string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + +// Perform OCR – this call applies all the filters we added earlier +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +### Expected output + +Chạy mẫu trên một bản quét hoá đơn điển hình sẽ cho kết quả tương tự: + +``` +Invoice #12345 +Date: 2025‑12‑31 +Total: $1,234.56 +Thank you for your business! +``` + +Nếu đầu ra bị rối, hãy kiểm tra lại chất lượng ảnh và cân nhắc điều chỉnh `ContrastBoostFilter.Level` (giá trị > 2.0 có thể quá mạnh). + +## Step 5: Output the Result and Optional Post‑Processing + +Một ứng dụng console có thể chỉ ghi chuỗi ra màn hình, nhưng nhiều dự án cần xử lý thêm — như cắt bỏ khoảng trắng, loại bỏ ngắt dòng, hoặc đưa văn bản vào cơ sở dữ liệu. + +```csharp +// Basic console output +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(recognizedText); + +// Example of lightweight post‑processing +string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + +Console.WriteLine("\n=== Cleaned Text ==="); +Console.WriteLine(cleaned); +``` + +### Why post‑process? + +Ngay cả khi tiền xử lý tốt, OCR thường tạo ra các ngắt dòng lạ hoặc ký tự vô hình. Một chuỗi `Replace` nhanh sẽ làm dữ liệu dễ sử dụng hơn trong các bước tiếp theo. + +## Step 6: Full Working Example – copy‑paste ready + +Dưới đây là chương trình **đầy đủ** bạn có thể biên dịch và chạy ngay lập tức. Nó bao gồm tất cả các câu lệnh `using`, cài đặt bộ lọc, lời gọi OCR và xử lý kết quả. + +```csharp +// --------------------------------------------------------------- +// Complete c# ocr tutorial – Recognize Text from Image +// --------------------------------------------------------------- +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add preprocessing filters + ocrEngine.Filters.Add(new DeskewFilter()); // Fix rotation + ocrEngine.Filters.Add(new DenoiseFilter()); // Remove speckles + ocrEngine.Filters.Add(new ContrastBoostFilter { Level = 1.5 }); // Boost contrast + + // 3️⃣ Path to the image you want to process + string imagePath = @"YOUR_DIRECTORY/skewed-noisy.png"; + + // 4️⃣ Perform OCR – this also runs the filters we added + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Show raw OCR result + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(recognizedText); + + // 6️⃣ Optional: simple cleanup for downstream use + string cleaned = recognizedText + .Replace("\r", "") + .Replace("\n", " ") + .Trim(); + + Console.WriteLine("\n=== Cleaned Text ==="); + Console.WriteLine(cleaned); + } +} +``` + +**How to run it** + +1. Lưu tệp dưới tên `Program.cs` trong một dự án console mới (`dotnet new console`). +2. Thay thế `YOUR_DIRECTORY/skewed-noisy.png` bằng đường dẫn thực tế tới ảnh thử nghiệm của bạn. +3. Thực thi `dotnet run`. Bạn sẽ thấy kết quả OCR được in ra terminal. + +## Common Pitfalls & Tips (recognize text from image reliably) + +| Vấn đề | Cần kiểm tra | Cách khắc phục | +|-------|----------------|-----| +| **Garbage characters** | Ảnh quá tối hoặc độ phân giải thấp | Tăng `ContrastBoostFilter.Level` hoặc sử dụng nguồn ảnh có độ phân giải cao hơn | +| **Missing lines** | Deskew không sửa hoàn toàn góc nghiêng | Xoay ảnh thủ công trước, hoặc điều chỉnh độ dung sai của `DeskewFilter` | +| **Slow performance** | Xử lý nhiều ảnh lớn trong vòng lặp | Tái sử dụng cùng một thể hiện `OcrEngine` và gọi `ocrEngine.Clear()` sau mỗi lần chạy | +| **Unsupported language** | Văn bản không phải tiếng Anh | Đặt `ocrEngine.Language = OcrLanguage.French` (hoặc ngôn ngữ hỗ trợ khác) trước khi nhận dạng | + +### Edge case: handling multi‑page PDFs + +Nếu bạn cần OCR một PDF, hãy chuyển mỗi trang thành ảnh (ví dụ, dùng `Aspose.PDF`) và đưa chúng từng cái một vào cùng một engine. Pipeline tiền xử lý vẫn giữ nguyên, đảm bảo kết quả nhất quán trên các trang. + +## Conclusion + +Trong **hướng dẫn c# ocr** này chúng ta đã bao quát mọi thứ bạn cần để **nhận dạng văn bản từ hình ảnh** và **tiền xử lý hình ảnh cho OCR** bằng các bộ lọc tích hợp của Aspose.OCR. Bằng cách khởi tạo engine, thêm các bước deskew, denoise và contrast‑boost, và cuối cùng gọi `RecognizeImage`, bạn sẽ có được kết quả trích xuất văn bản sạch sẽ, đáng tin cậy chỉ với vài dòng mã. + +Hãy thoải mái thử nghiệm — thay bộ lọc, điều chỉnh mức độ tương phản, hoặc tích hợp kết quả vào một pipeline dữ liệu lớn hơn. Các khái niệm này áp dụng cho bất kỳ thư viện OCR nào: tiền xử lý thường là yếu tố quyết định giữa một hoá đơn chỉ đọc được một phần và một tài liệu được nắm bắt hoàn hảo. + +Có câu hỏi thêm? Có thể bạn muốn biết cách xử lý văn bản viết tay hoặc xử lý hàng nghìn tệp cùng lúc. Hãy để lại bình luận, chúng tôi sẽ khám phá các kịch bản đó cùng bạn. 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/net/text-recognition/_index.md b/ocr/vietnamese/net/text-recognition/_index.md index 205befde..5b57ad6a 100644 --- a/ocr/vietnamese/net/text-recognition/_index.md +++ b/ocr/vietnamese/net/text-recognition/_index.md @@ -55,9 +55,22 @@ Nâng cao các ứng dụng .NET của bạn với Aspose.OCR để nhận dạn Khai phá tiềm năng của OCR trong .NET với Aspose.OCR. Trích xuất văn bản từ tệp PDF một cách dễ dàng. Tải xuống ngay để có trải nghiệm tích hợp liền mạch. ### [Nhận dạng bảng trong nhận dạng hình ảnh OCR](./recognize-table/) Khai phá tiềm năng của Aspose.OCR cho .NET với hướng dẫn toàn diện của chúng tôi về nhận dạng bảng trong nhận dạng hình ảnh OCR. +### [Hướng dẫn OCR C# – Trích xuất văn bản Hindi từ biên lai PNG](./c-ocr-tutorial-extract-hindi-text-from-png-receipts/) +Hướng dẫn chi tiết cách sử dụng Aspose.OCR với C# để trích xuất văn bản Hindi từ các biên lai PNG. +### [Trích xuất văn bản từ PNG – Hướng dẫn đầy đủ Aspose OCR](./extract-text-from-png-complete-aspose-ocr-tutorial/) +Hướng dẫn chi tiết cách sử dụng Aspose OCR với C# để trích xuất văn bản từ tệp PNG một cách nhanh chóng và chính xác. +### [Nhận dạng văn bản trong JPG bằng Aspose OCR – Hướng dẫn C# đầy đủ](./recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/) +Hướng dẫn chi tiết cách sử dụng Aspose OCR với C# để nhận dạng văn bản trong tệp JPG một cách nhanh chóng và chính xác. +### [Hướng dẫn OCR C# – Trích xuất văn bản từ hình ảnh và tệp DJVU](./c-ocr-tutorial-extract-text-from-image-and-djvu-files/) +Hướng dẫn chi tiết cách sử dụng Aspose.OCR với C# để trích xuất văn bản từ hình ảnh và tệp DJVU. +### [Trích xuất văn bản từ TIFF bằng Aspose OCR C# – Hướng dẫn đầy đủ](./extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/) +Hướng dẫn chi tiết cách sử dụng Aspose OCR với C# để trích xuất văn bản từ tệp TIFF một cách nhanh chóng và chính xác. +### [Hướng dẫn OCR C# – Trích xuất văn bản từ hình ảnh với Aspose OCR](./c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/) +Hướng dẫn chi tiết cách sử dụng Aspose OCR với C# để trích xuất văn bản từ hình ảnh một cách nhanh chóng và chính xác. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md b/ocr/vietnamese/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md new file mode 100644 index 00000000..be6013c4 --- /dev/null +++ b/ocr/vietnamese/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/_index.md @@ -0,0 +1,241 @@ +--- +category: general +date: 2026-01-09 +description: hướng dẫn OCR c# để đọc văn bản từ PNG, chuyển đổi hình ảnh thành văn + bản và nhận dạng văn bản Hindi trên biên lai bằng Aspose OCR. +draft: false +keywords: +- c# ocr tutorial +- read text from png +- convert image to text +- recognize hindi text +- extract text from receipt +language: vi +og_description: Hướng dẫn OCR C# dạy bạn cách đọc văn bản từ PNG, chuyển đổi hình + ảnh thành văn bản và nhận dạng văn bản Hindi trên biên lai bằng Aspose OCR. +og_title: Hướng dẫn OCR bằng C# – Trích xuất văn bản Hindi từ biên lai PNG +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Hướng dẫn OCR C# – Trích xuất văn bản Hindi từ biên lai PNG +url: /vi/net/text-recognition/c-ocr-tutorial-extract-hindi-text-from-png-receipts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# hướng dẫn c# ocr – Trích xuất văn bản Hindi từ biên lai PNG + +Bạn đã bao giờ tự hỏi cách **đọc văn bản từ PNG** trong một ứng dụng C# chưa? Có thể bạn có một loạt biên lai Hindi và cần tự động lấy các số tiền. Đó chính là mục tiêu của **hướng dẫn c# ocr** này — chuyển đổi hình ảnh thành văn bản có thể tìm kiếm chỉ với vài dòng mã. + +Trong hướng dẫn này chúng ta sẽ đi qua việc cài đặt Aspose OCR, tải một biên lai PNG, nhận dạng ký tự Hindi, và cuối cùng in chuỗi đã trích xuất ra console. Khi kết thúc, bạn sẽ có thể **chuyển đổi hình ảnh thành văn bản**, **nhận dạng văn bản Hindi**, và thậm chí **trích xuất văn bản từ biên lai** mà không rời khỏi IDE. + +> **Lưu ý tiền đề:** Bạn cần một giấy phép Aspose OCR hợp lệ (hoặc bạn có thể dùng bản dùng thử miễn phí) và .NET 6+ đã được cài đặt. Nếu bạn mới với NuGet, đừng lo — chúng tôi sẽ hướng dẫn phần đó nữa. + +--- + +## Những gì bạn cần + +- **Visual Studio 2022** (hoặc bất kỳ trình soạn thảo nào hỗ trợ C#) +- **.NET 6 SDK** (hoặc phiên bản mới hơn) +- **Aspose.OCR** gói NuGet + ```bash + dotnet add package Aspose.OCR + ``` +- Một hình ảnh biên lai mẫu, ví dụ `hindi-receipt.png`, được lưu trong thư mục dự án của bạn. + +Có sẵn những thứ này có nghĩa là bạn có thể sao chép‑dán mã cuối cùng và nhấn **F5** ngay lập tức. + +--- + +## Bước 1: Thiết lập dự án và nhập các namespace + +Đầu tiên, tạo một dự án console nếu bạn chưa có: + +```bash +dotnet new console -n HindiReceiptOcr +cd HindiReceiptOcr +dotnet add package Aspose.OCR +``` + +Bây giờ mở `Program.cs`. Ở đầu file, nhập các namespace của Aspose OCR để trình biên dịch biết tìm các lớp ở đâu: + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; +``` + +> **Tại sao lại quan trọng:** `OcrEngine` nằm trong `Aspose.OCR`, trong khi các enum liên quan tới ngôn ngữ nằm trong `Aspose.OCR.Settings`. Bỏ qua bất kỳ namespace nào sẽ gây lỗi biên dịch. + +--- + +## Bước 2: Khởi tạo OCR Engine và chọn mô hình ngôn ngữ + +OCR engine cần biết **ngôn ngữ nào** để tìm kiếm. Aspose cung cấp nhiều gói ngôn ngữ; việc chỉ định `OcrLanguage.Hindi` sẽ khiến engine tải (nếu chưa có) và sử dụng mô hình Hindi. + +```csharp +// Step 2: Create and configure the OCR engine +var ocrEngine = new OcrEngine +{ + // The library will auto‑download the model the first time it runs. + Language = OcrLanguage.Hindi +}; +``` + +> **Mẹo chuyên nghiệp:** Nếu bạn dự định xử lý biên lai bằng nhiều ngôn ngữ, có thể chuyển `Language` tại thời gian chạy hoặc thậm chí bật chế độ `MultiLanguage`. + +--- + +## Bước 3: Cung cấp hình PNG của biên lai cho Engine + +Đây là nơi chúng ta **đọc văn bản từ PNG**. Cung cấp đường dẫn đầy đủ (đường dẫn tương đối tới file thực thi cũng hoạt động tốt). Phương thức sẽ trả về một chuỗi thuần chứa mọi thứ engine có thể giải mã. + +```csharp +// Step 3: Perform OCR on the target image file +string imagePath = @"hindi-receipt.png"; // adjust if your file lives elsewhere +string recognizedText = ocrEngine.RecognizeImage(imagePath); +``` + +Nếu hình ảnh có độ phân giải cao và văn bản sạch sẽ, bạn sẽ nhận được kết quả gần như hoàn hảo. Đối với các bản quét nhiễu, hãy cân nhắc tiền xử lý (ví dụ: nhị phân hoá) – Aspose cung cấp các phương thức `PreprocessImage` mà bạn có thể khám phá sau. + +--- + +## Bước 4: Hiển thị hoặc lưu trữ văn bản đã trích xuất + +Hầu hết các nhà phát triển chỉ đơn giản in kết quả ra console trong quá trình thử nghiệm. Trong môi trường sản xuất, bạn có thể ghi vào cơ sở dữ liệu hoặc file CSV. + +```csharp +// Step 4: Show the OCR result +Console.WriteLine("=== OCR Output ==="); +Console.WriteLine(recognizedText); +``` + +Chạy chương trình với biên lai mẫu sẽ in ra một thứ gì đó như sau: + +``` +=== OCR Output === +दिनांक: 09/01/2026 +बिल no: 12345 +रक्कम: ₹ 1,250.00 +धन्यवाद! +``` + +Đó là phần **chuyển đổi hình ảnh thành văn bản** đang hoạt động — không cần ghi chép thủ công. + +--- + +## Ví dụ hoàn chỉnh (Sẵn sàng sao chép‑dán) + +Dưới đây là chương trình đầy đủ, tự chứa. Dán nó vào `Program.cs`, đặt `hindi-receipt.png` bên cạnh file `.exe` đã biên dịch, và nhấn **Ctrl + F5**. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +namespace HindiReceiptOcr +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Initialize the OCR engine with Hindi language + var ocrEngine = new OcrEngine + { + Language = OcrLanguage.Hindi + }; + + // 2️⃣ Path to the PNG receipt (adjust if needed) + string imagePath = @"hindi-receipt.png"; + + // 3️⃣ Run OCR – this will download the Hindi model on first run + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // 4️⃣ Output the result – you can also write to a file or DB + Console.WriteLine("=== OCR Output ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +### Kết quả mong đợi + +Khi hình ảnh biên lai chứa các ký tự Hindi rõ ràng, console sẽ hiển thị các dòng đã trích xuất, giữ nguyên ngắt dòng. Nếu OCR không nhận dạng được một từ nào đó, bạn sẽ thấy một đoạn ký tự lộn xộn — đây là dấu hiệu để cải thiện chất lượng hình ảnh hoặc điều chỉnh tiền xử lý. + +--- + +## Bước 5: Đi xa hơn – Trích xuất văn bản từ biên lai bằng chương trình + +Nếu mục tiêu của bạn là **trích xuất văn bản từ biên lai** (ngày, tổng tiền, số hóa đơn), bạn có thể xử lý hậu OCR chuỗi bằng các biểu thức chính quy: + +```csharp +using System.Text.RegularExpressions; + +// Example: pull the amount (₹) from the OCR result +var amountMatch = Regex.Match(recognizedText, @"रक्कम:\s*₹\s*([\d,]+\.\d{2})"); +if (amountMatch.Success) +{ + Console.WriteLine($"Detected amount: {amountMatch.Groups[1].Value}"); +} +``` + +Đoạn mã ngắn này cho thấy cách biến đầu ra OCR thô thành dữ liệu có cấu trúc — hoàn hảo để đưa vào phần mềm kế toán. + +--- + +## Những lỗi thường gặp & Cách tránh + +| Vấn đề | Nguyên nhân | Cách khắc phục | +|--------|-------------|----------------| +| **Kết quả trống** | Đường dẫn hình ảnh sai hoặc file không được sao chép vào thư mục output. | Sử dụng `Path.GetFullPath` và kiểm tra file tồn tại (`File.Exists`). | +| **Ký tự rác** | PNG độ phân giải thấp hoặc màu bị nén. | Phóng to hình ảnh, đặt DPI ≥ 300, hoặc dùng `ocrEngine.ImagePreprocessor`. | +| **Mô hình ngôn ngữ chưa tải** | Không có kết nối internet khi chạy lần đầu. | Tải trước mô hình Hindi từ cổng thông tin Aspose hoặc lưu trữ mô hình cục bộ. | +| **Độ trễ hiệu năng** | Xử lý nhiều trang trong vòng lặp mà không giải phóng tài nguyên. | Đặt `OcrEngine` trong khối `using` hoặc tái sử dụng một thể hiện duy nhất. | + +--- + +## Minh hoạ hình ảnh + +![c# ocr tutorial reading Hindi text from PNG receipt](https://example.com/placeholder-image.png "c# ocr tutorial – read text from png receipt") + +*Ảnh chụp màn hình cho thấy một biên lai Hindi trước và sau khi chuyển đổi OCR.* + +--- + +## Tóm tắt: Những gì chúng ta đã đề cập + +- Thiết lập một ứng dụng console C# và thêm gói NuGet Aspose OCR. +- Khởi tạo `OcrEngine` với mô hình ngôn ngữ **recognize hindi text**. +- **Đọc văn bản từ PNG** bằng `RecognizeImage`. +- **Chuyển đổi hình ảnh thành văn bản** và in kết quả. +- Trình bày một mẫu đơn giản để **trích xuất văn bản từ biên lai**. + +Tất cả đều được cung cấp trong một file duy nhất, có thể chạy ngay — chính là những gì một **hướng dẫn c# ocr** nên mang lại. + +--- + +## Các bước tiếp theo & Chủ đề liên quan + +1. **Xử lý hàng loạt** – lặp qua một thư mục các hình ảnh biên lai và lưu kết quả vào CSV. +2. **Tiền xử lý** – khám phá `ocrEngine.ImagePreprocessor` để loại bỏ nhiễu, hiệu chỉnh nghiêng, hoặc tăng độ tương phản. +3. **OCR đa ngôn ngữ** – bật `OcrLanguage.Multilingual` để xử lý các biên lai có hỗn hợp Hindi và tiếng Anh. +4. **Tích hợp** – đẩy dữ liệu đã trích xuất vào mô hình Entity Framework Core để lưu trữ lâu dài. + +Nếu bạn tò mò về bất kỳ mục nào trên, hãy xem các hướng dẫn của chúng tôi về **convert image to text in C#** và **extract structured data from OCR results**. + +--- + +### Chúc bạn lập trình vui! + +Hãy để lại bình luận nếu bạn gặp khó khăn, hoặc chia sẻ cách bạn đã mở rộng **hướng dẫn c# ocr** này trong dự án của mình. Nhớ rằng, OCR chỉ là bước đầu tiên — dữ liệu sạch là nơi phép màu thực sự xảy ra. 🚀 + +{{< /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/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md b/ocr/vietnamese/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md new file mode 100644 index 00000000..6d2cacd7 --- /dev/null +++ b/ocr/vietnamese/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/_index.md @@ -0,0 +1,253 @@ +--- +category: general +date: 2026-01-09 +description: Hướng dẫn OCR C# cho thấy cách trích xuất văn bản từ các tệp hình ảnh + và chuyển đổi DJVU sang văn bản bằng Aspose.OCR. Học cách trích xuất từng bước trong + vài phút. +draft: false +keywords: +- c# OCR tutorial +- extract text from image +- how to extract text +- convert djvu to text +- extract text from djvu +language: vi +og_description: Hướng dẫn OCR c# nhanh chóng cho thấy cách trích xuất văn bản từ các + tệp hình ảnh và chuyển đổi DJVU sang văn bản bằng Aspose.OCR. Hãy làm theo hướng + dẫn để có giải pháp hoạt động. +og_title: c# OCR tutorial – Trích xuất văn bản từ hình ảnh & DJVU +tags: +- OCR +- C# +- Aspose +title: 'Hướng dẫn OCR bằng C#: Trích xuất văn bản từ hình ảnh và tệp DJVU' +url: /vi/net/text-recognition/c-ocr-tutorial-extract-text-from-image-and-djvu-files/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# hướng dẫn OCR c# – Trích xuất văn bản từ hình ảnh và tệp DJVU + +Bạn đã bao giờ tự hỏi làm sao để trích xuất văn bản từ các tệp hình ảnh mà không phải rối bời? Trong **hướng dẫn OCR c#** này, chúng tôi sẽ hướng dẫn qua một ví dụ hoàn chỉnh, sẵn sàng chạy, giúp lấy văn bản từ một bức ảnh thông thường *và* một tài liệu DJVU. + +Nếu bạn cũng đang tìm cách nhanh chóng **chuyển DJVU sang văn bản**, bạn đã đến đúng nơi—không cần bộ chuyển đổi bổ sung, chỉ cần mã C# thuần. + +## Những gì bạn sẽ học + +- Cách thiết lập thư viện Aspose.OCR trong dự án .NET. +- Mã chính xác bạn cần để **trích xuất văn bản từ hình ảnh**. +- Một phương pháp ngắn gọn để **trích xuất văn bản từ DJVU** (đúng vậy, cùng một engine thực hiện). +- Những bẫy thường gặp (tệp lớn, thiếu phông chữ, giấy phép) và cách tránh chúng. + +Bạn chỉ cần một .NET SDK mới và kết nối internet để tải gói NuGet. Không yêu cầu kinh nghiệm OCR trước. + +## Yêu cầu trước + +| Yêu cầu | Lý do quan trọng | +|-------------|----------------| +| .NET 6.0 hoặc mới hơn | Aspose.OCR nhắm tới .NET Standard 2.0, vì vậy .NET 6+ mang lại hiệu năng tốt nhất. | +| Visual Studio 2022 (hoặc VS Code) | IDE giúp quản lý gói dễ dàng, nhưng bất kỳ trình soạn thảo nào cũng được. | +| Gói NuGet **Aspose.OCR** | Đây là engine thực hiện công việc nặng. | +| Một hình mẫu (`sample.png`) và một tệp DJVU (`sample.djvu`) | Chúng tôi sẽ dùng chúng để minh họa cả hai kịch bản trích xuất. | + +Bạn có thể cài đặt gói bằng lệnh sau: + +```bash +dotnet add package Aspose.OCR +``` + +> **Mẹo:** Nếu bạn đang chạy trên máy CI, thêm `--no-restore` vào bước build và thực hiện restore một lần ở đầu để tăng tốc. + +## Bước 1: Khởi tạo engine OCR – trái tim của hướng dẫn OCR c# + +Điều đầu tiên chúng ta làm là tạo một thể hiện của `OcrEngine`. Hãy nghĩ nó như việc bật máy quét trong phần mềm của bạn. + +```csharp +using Aspose.OCR; + +var ocrEngine = new OcrEngine(); +``` + +Tại sao phải tạo engine mới mỗi lần? Vì engine lưu trữ cấu hình (ngôn ngữ, chế độ phát hiện, v.v.). Bắt đầu mới giúp tránh các cài đặt cũ rò rỉ giữa các lần chạy. + +## Bước 2: Tải và nhận dạng hình ảnh – cách trích xuất văn bản từ hình ảnh + +Bây giờ chúng ta sẽ đưa một bitmap thông thường (PNG, JPEG, BMP…) vào engine. Phương thức `RecognizeImage` trả về chuỗi đã phát hiện. + +```csharp +// Path to your image file +string imagePath = @"C:\OCR\sample.png"; + +// Perform OCR +string imageText = ocrEngine.RecognizeImage(imagePath); + +// Show the result +Console.WriteLine("=== Text extracted from image ==="); +Console.WriteLine(imageText); +``` + +* **File existence** – Nếu đường dẫn sai, phương thức sẽ ném `FileNotFoundException`. Hãy bọc trong `try/catch` nếu bạn dự đoán đường dẫn do người dùng cung cấp. +* **Image quality** – OCR hoạt động tốt nhất ở 300 dpi hoặc cao hơn. Các bản quét độ phân giải thấp có thể tạo ra kết quả rối. +* **Language support** – Mặc định Aspose.OCR giả định tiếng Anh. Để thay đổi, đặt `ocrEngine.Language = Language.Spanish;` trước khi gọi `RecognizeImage`. + +## Bước 3: Nhận dạng văn bản từ tài liệu DJVU – chuyển DJVU sang văn bản + +DJVU là định dạng container có thể chứa nhiều trang. Aspose.OCR có thể xử lý trực tiếp; bạn chỉ cần chỉ tới tệp. + +```csharp +// Path to your DJVU file +string djvuPath = @"C:\OCR\sample.djvu"; + +// Perform OCR on the DJVU file +string djvuText = ocrEngine.RecognizeImage(djvuPath); + +// Output the result +Console.WriteLine("\n=== Text extracted from DJVU ==="); +Console.WriteLine(djvuText); +``` + +Bên trong, engine trích xuất mỗi trang dưới dạng hình ảnh và chạy cùng một quy trình nhận dạng. Vì vậy bạn không cần bước “chuyển DJVU sang văn bản” riêng—engine OCR thực hiện thay bạn. + +### Xử lý tệp DJVU đa trang + +Nếu DJVU của bạn chứa nhiều trang, `RecognizeImage` sẽ nối chúng theo thứ tự. Nếu bạn cần mỗi trang riêng biệt, có thể dùng overload trả về `List`: + +```csharp +var pagesText = ocrEngine.RecognizeImage(djvuPath, true); // true = return per‑page list +for (int i = 0; i < pagesText.Count; i++) +{ + Console.WriteLine($"\n--- Page {i + 1} ---"); + Console.WriteLine(pagesText[i]); +} +``` + +## Bước 4: Tinh chỉnh engine để tăng độ chính xác – tại sao lại quan trọng + +Kết quả mặc định khá ổn, nhưng bạn có thể cải thiện bằng cách điều chỉnh một vài cài đặt: + +```csharp +ocrEngine.Language = Language.English; // set detection language +ocrEngine.Dpi = 300; // enforce 300 DPI processing +ocrEngine.IsDetectOrientation = true; // auto‑rotate tilted pages +ocrEngine.IsDetectSkew = true; // correct slanted text +``` + +Các cờ này đặc biệt hữu ích khi **cách trích xuất văn bản** từ PDF đã quét và được lưu dưới dạng DJVU. Bật phát hiện hướng giúp bạn không phải tự quay ảnh. + +## Bước 5: Xử lý giấy phép và lỗi thời gian chạy + +Aspose.OCR đi kèm bản dùng thử miễn phí, dán dấu “Demo” vào kết quả sau một vài trang. Để bỏ watermark, thêm tệp giấy phép của bạn: + +```csharp +// Assuming you have a license.xml in the project root +var license = new Aspose.OCR.License(); +license.SetLicense("license.xml"); +``` + +Nếu bạn bỏ qua bước này, engine vẫn hoạt động, nhưng kết quả sẽ chứa từ “Demo”. Ngoài ra, chú ý `OutOfMemoryException` khi xử lý các tệp DJVU lớn—cân nhắc xử lý từng trang như đã chỉ ra ở trên. + +## Ví dụ hoàn chỉnh, có thể chạy + +Dưới đây là một chương trình console tự chứa, kết hợp mọi thứ lại. Sao chép, điều chỉnh đường dẫn tệp, và nhấn **Run**. + +```csharp +// Complete c# OCR tutorial – extract text from image and DJVU +using System; +using Aspose.OCR; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Set up licensing (optional, removes demo watermark) + // var license = new License(); + // license.SetLicense("license.xml"); + + // 2️⃣ Create the OCR engine + var ocrEngine = new OcrEngine + { + Language = Language.English, + Dpi = 300, + IsDetectOrientation = true, + IsDetectSkew = true + }; + + // 👉 Extract text from a regular image + string imagePath = @"C:\OCR\sample.png"; + try + { + string imageText = ocrEngine.RecognizeImage(imagePath); + Console.WriteLine("=== Text extracted from image ==="); + Console.WriteLine(imageText); + } + catch (Exception ex) + { + Console.WriteLine($"Image OCR failed: {ex.Message}"); + } + + // 👉 Extract text from a DJVU file (convert DJVU to text) + string djvuPath = @"C:\OCR\sample.djvu"; + try + { + // Single string for all pages + string djvuText = ocrEngine.RecognizeImage(djvuPath); + Console.WriteLine("\n=== Text extracted from DJVU ==="); + Console.WriteLine(djvuText); + } + catch (Exception ex) + { + Console.WriteLine($"DJVU OCR failed: {ex.Message}"); + } + + // Keep console open + Console.WriteLine("\nPress any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**Kết quả mong đợi** (giả sử các tệp chứa cụm từ “Hello World”): + +``` +=== Text extracted from image === +Hello World + +=== Text extracted from DJVU === +Hello World +``` + +Nếu nguồn chứa nhiều dòng, chúng sẽ xuất hiện chính xác như trong tài liệu gốc. + +## Câu hỏi thường gặp & xử lý các trường hợp đặc biệt + +* **Nếu ảnh đen‑trắng thì sao?** + OCR hoạt động tốt, nhưng bạn có thể cải thiện độ tương phản bằng `ocrEngine.ImagePreprocessOptions = ImagePreprocessOptions.Contrast;`. + +* **Tôi có thể chỉ trích xuất số không?** + Có—đặt `ocrEngine.CharWhitelist = "0123456789";` trước khi gọi `RecognizeImage`. + +* **Có giới hạn kích thước tệp không?** + Engine đọc toàn bộ tệp vào bộ nhớ. Đối với tệp lớn hơn ~100 MB, hãy xử lý từng trang (xem overload danh sách ở Bước 3). + +* **Điểm khác biệt so với Tesseract là gì?** + Aspose.OCR là thư viện thương mại có hỗ trợ DJVU tích hợp và không phụ thuộc vào thư viện gốc, trong khi Tesseract yêu cầu các binary gốc và công cụ chuyển đổi DJVU riêng. + +## Kết luận + +Bạn vừa hoàn thành một **hướng dẫn OCR c#** cho thấy cách **trích xuất văn bản từ hình ảnh** và chuyển **DJVU sang văn bản** một cách liền mạch bằng Aspose.OCR. Ví dụ bao gồm mọi thứ từ cài đặt gói đến giấy phép, từ trích xuất ảnh một trang đến xử lý DJVU đa trang, và thậm chí các mẹo tăng độ chính xác. + +Tiếp theo, bạn có thể khám phá **cách trích xuất văn bản** từ PDF, tích hợp bước OCR vào API web, hoặc thử các gói ngôn ngữ cho tài liệu đa ngôn ngữ. Không gì là không thể—chỉ cần nhớ các điểm chính: thiết lập engine, đưa vào tệp, và đọc lại chuỗi. + +Có câu hỏi nào thêm? Để lại bình luận, thử mã trên tài liệu của bạn, và chúc lập trình vui vẻ! + +![c# OCR tutorial screenshot showing console output](/images/csharp-ocr-tutorial.png "c# OCR tutorial – console output 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/vietnamese/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md b/ocr/vietnamese/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md new file mode 100644 index 00000000..536b76f0 --- /dev/null +++ b/ocr/vietnamese/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/_index.md @@ -0,0 +1,229 @@ +--- +category: general +date: 2026-01-09 +description: Hướng dẫn OCR C# cho thấy cách trích xuất văn bản từ các tệp hình ảnh, + nhận dạng văn bản từ PNG, chuyển đổi hình ảnh thành chuỗi và tự động phát hiện ngôn + ngữ bằng Aspose.OCR. +draft: false +keywords: +- c# ocr tutorial +- extract text from image +- recognize text from png +- convert image to string +- detect language automatically +language: vi +og_description: Hướng dẫn OCR bằng C# giúp bạn trích xuất văn bản từ hình ảnh, nhận + dạng văn bản từ các tệp PNG, chuyển đổi hình ảnh thành chuỗi và tự động phát hiện + ngôn ngữ bằng Aspose OCR. +og_title: Hướng dẫn OCR C# – Trích xuất văn bản từ hình ảnh +tags: +- C# +- OCR +- Aspose +- Image Processing +title: Hướng dẫn OCR C# – Trích xuất văn bản từ hình ảnh với Aspose OCR +url: /vi/net/text-recognition/c-ocr-tutorial-extract-text-from-images-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# hướng dẫn c# ocr – Trích xuất văn bản từ hình ảnh với Aspose OCR + +Bạn đã bao giờ cần một **c# ocr tutorial** thực sự hoạt động trên một tệp PNG thực tế chưa? Có thể bạn đang xây dựng một máy quét biên lai, một bộ xử lý biểu mẫu đa ngôn ngữ, hoặc chỉ đơn giản tò mò cách chuyển một bức ảnh chứa văn bản thành một chuỗi có thể tìm kiếm. Dù sao đi nữa, bạn đang ở đúng nơi. + +Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn từng bước cách **extract text from image** files, **recognize text from png**, **convert image to string**, và thậm chí **detect language automatically** — tất cả đều sử dụng thư viện Aspose.OCR. Không có những tham chiếu mơ hồ, chỉ có một ví dụ hoàn chỉnh, có thể chạy được mà bạn có thể sao chép‑dán vào Visual Studio. + +## Những gì bạn cần + +- .NET 6.0 hoặc mới hơn (mã chạy được với .NET Core và .NET Framework cũng được) +- Tham chiếu NuGet tới `Aspose.OCR` (phiên bản 23.9 hoặc mới hơn) +- Tệp hình ảnh (`mixed‑script.png` trong ví dụ này) được đặt ở nơi ứng dụng có thể đọc được +- Kiến thức cơ bản về C# (nếu bạn đã viết “Hello World”, bạn đã sẵn sàng) + +> **Mẹo:** Nếu bạn chưa có giấy phép, Aspose cung cấp giấy phép tạm thời miễn phí để thử nghiệm. Chỉ cần đặt tệp `.lic` cạnh tệp thực thi của bạn. + +## Bước 1 – Cài đặt gói NuGet Aspose.OCR + +Đầu tiên, thêm thư viện vào dự án của bạn. Mở Package Manager Console và chạy: + +```powershell +Install-Package Aspose.OCR +``` + +Hoặc, nếu bạn thích giao diện UI, nhấp chuột phải vào *Dependencies → Manage NuGet Packages* và tìm kiếm **Aspose.OCR**. + +## Bước 2 – Chuẩn bị OCR Engine (c# ocr tutorial core) + +Bây giờ chúng ta sẽ tạo một thể hiện `OcrEngine`, yêu cầu nó tự động phát hiện ngôn ngữ, và chỉ tới tệp PNG của chúng ta. + +```csharp +using Aspose.OCR; +using System; + +class Program +{ + static void Main() + { + // Step 2.1: Initialise the OCR engine – this is the heart of the c# ocr tutorial + var ocrEngine = new OcrEngine(); + + // Step 2.2: Let the engine decide which language(s) are present. + // AutoDetect is the default, but we set it explicitly for clarity. + ocrEngine.Language = OcrLanguage.AutoDetect; + + // Step 2.3: Path to the image you want to process. + // Replace with your own path if needed. + string imagePath = @"C:\Images\mixed-script.png"; + + // Step 2.4: Run the recognition. + string recognizedText = ocrEngine.RecognizeImage(imagePath); + + // Step 2.5: Output the result – this is where we **convert image to string**. + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } +} +``` + +### Tại sao chúng ta đặt `Language = OcrLanguage.AutoDetect` + +Việc tự động phát hiện ngôn ngữ giúp bạn tránh việc đoán xem hình ảnh chứa tiếng Anh, tiếng Nga, tiếng Ả Rập hay hỗn hợp. Đây là tùy chọn linh hoạt nhất cho kịch bản **detect language automatically**, và nó hoạt động ngay lập tức cho hầu hết các script mà Aspose hỗ trợ. + +## Bước 3 – Chạy ứng dụng và xác minh đầu ra + +Biên dịch và chạy chương trình (`dotnet run` hoặc nhấn **F5** trong Visual Studio). Nếu mọi thứ đã được cấu hình đúng, bạn sẽ thấy một kết quả như sau: + +``` +=== Recognized Text === +Hello World! +Привет мир! +مرحبا بالعالم! +``` + +Kết quả đó chứng minh chúng ta đã thành công **extract text from image**, **recognize text from png**, và **convert image to string** – tất cả trong một đoạn mã ngắn gọn. + +## Bước 4 – Các biến thể phổ biến & Trường hợp đặc biệt + +### Xử lý nhiều hình ảnh + +Nếu bạn cần xử lý một thư mục chứa nhiều PNG, hãy bao quanh lời gọi nhận dạng trong một vòng lặp `foreach`: + +```csharp +foreach (var file in Directory.GetFiles(@"C:\Images", "*.png")) +{ + string text = ocrEngine.RecognizeImage(file); + Console.WriteLine($"[{Path.GetFileName(file)}] => {text}"); +} +``` + +### Chỉ định ngôn ngữ cố định + +Đôi khi bạn biết ngôn ngữ từ trước (ví dụ, chỉ tiếng Anh). Bạn có thể thay thế `AutoDetect` bằng `OcrLanguage.English` để tăng tốc quá trình xử lý: + +```csharp +ocrEngine.Language = OcrLanguage.English; +``` + +### Xử lý ảnh quét chất lượng thấp + +Aspose.OCR cung cấp các tùy chọn tiền xử lý (giảm nhiễu, chỉnh góc). Để khắc phục nhanh: + +```csharp +ocrEngine.ImagePreprocessingOptions.Deskew = true; +ocrEngine.ImagePreprocessingOptions.RemoveNoise = true; +``` + +### Lưu kết quả vào tệp + +Thay vì in ra console, bạn có thể muốn ghi văn bản đã trích xuất vào một tệp `.txt`: + +```csharp +File.WriteAllText(@"C:\Output\recognized.txt", recognizedText); +``` + +## Bước 5 – Ví dụ hoàn chỉnh (Sẵn sàng sao chép‑dán) + +Dưới đây là **chương trình đầy đủ** bao gồm cả tiền xử lý tùy chọn và logic xuất tệp. Bạn có thể tự do chỉnh sửa các đường dẫn. + +```csharp +using Aspose.OCR; +using System; +using System.IO; + +class OcrDemo +{ + static void Main() + { + // Initialise engine + var ocrEngine = new OcrEngine + { + // Auto‑detect language (detect language automatically) + Language = OcrLanguage.AutoDetect, + + // Optional: improve accuracy on noisy scans + ImagePreprocessingOptions = { + Deskew = true, + RemoveNoise = true + } + }; + + // Input image – change to your own file + string inputPath = @"C:\Images\mixed-script.png"; + + // Perform OCR + string extractedText = ocrEngine.RecognizeImage(inputPath); + + // Display on console (convert image to string) + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + + // Save to a text file for later use + string outputPath = Path.ChangeExtension(inputPath, ".txt"); + File.WriteAllText(outputPath, extractedText); + Console.WriteLine($"\nText saved to: {outputPath}"); + } +} +``` + +### Kết quả mong đợi + +Chạy chương trình trên một PNG chứa tiếng Anh, tiếng Nga và tiếng Ả Rập sẽ cho ra: + +``` +=== OCR Result === +Hello World! +Привет мир! +مرحبا بالعالم! + +Text saved to: C:\Images\mixed-script.txt +``` + +Nếu hình ảnh trống hoặc không đọc được, engine sẽ trả về một chuỗi rỗng — hãy xử lý trường hợp này bằng cách kiểm tra `string.IsNullOrWhiteSpace(extractedText)` trước khi tiếp tục. + +## Câu hỏi thường gặp (FAQs) + +**Q: Aspose.OCR có hỗ trợ văn bản viết tay không?** +A: Nó tập trung vào OCR in ấn. Đối với viết tay, bạn cần một mô hình ML chuyên dụng hoặc dịch vụ như Azure Computer Vision. + +**Q: Tôi có thể chạy điều này trên Linux/macOS không?** +A: Chắc chắn. Aspose.OCR là đa nền tảng; chỉ cần cài đặt runtime .NET cho hệ điều hành của bạn. + +**Q: Nếu tôi cần xử lý PDF thay vì PNG thì sao?** +A: Đầu tiên chuyển mỗi trang PDF thành hình ảnh (ví dụ, sử dụng `Aspose.PDF`) rồi đưa hình ảnh đó cho OCR engine. + +## Kết luận + +Chúng ta vừa hoàn thành một **c# ocr tutorial** hướng dẫn bạn cách **extracting text from image** files, **recognizing text from png**, **converting the image to a string**, và **detecting language automatically** bằng Aspose.OCR. Mã ngắn gọn, các khái niệm rõ ràng, và bạn có thể mở rộng nó để xử lý hàng loạt, tùy chỉnh cài đặt ngôn ngữ, hoặc thậm chí tích hợp vào một API web. + +Bước tiếp theo? Hãy thử đưa đầu ra OCR vào một chỉ mục tìm kiếm, chuyển nó tới dịch vụ dịch thuật, hoặc kết hợp với Azure Cognitive Services để có các pipeline dữ liệu phong phú hơn. Không gì là không thể khi bạn đã nắm vững các kiến thức cơ bản về chuyển đổi hình ảnh sang văn bản trong C#. + +Chúc lập trình vui vẻ, và đừng quên thử nghiệm với các chất lượng hình ảnh khác nhau — engine OCR của bạn sẽ cảm ơn bạn! + +![hướng dẫn c# ocr – ví dụ kết quả OCR trên PNG đa script](placeholder-image.png "hướng dẫn c# ocr – ảnh chụp 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 diff --git a/ocr/vietnamese/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md b/ocr/vietnamese/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md new file mode 100644 index 00000000..495edbc7 --- /dev/null +++ b/ocr/vietnamese/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-01-09 +description: Trích xuất văn bản từ PNG nhanh chóng với Aspose OCR. Tìm hiểu cách đọc + văn bản trong hình ảnh, cải thiện độ chính xác của OCR và nhận kết quả sạch trong + C#. +draft: false +keywords: +- extract text from png +- read image text +- improve ocr accuracy +- extract text from image +- aspose ocr tutorial +language: vi +og_description: Trích xuất văn bản từ PNG nhanh chóng với Aspose OCR. Tìm hiểu cách + đọc văn bản trong hình ảnh, cải thiện độ chính xác của OCR và nhận kết quả sạch + trong C#. +og_title: Trích xuất văn bản từ PNG – Hướng dẫn OCR Aspose hoàn chỉnh +tags: +- Aspose OCR +- C# +- Image Processing +title: Trích xuất văn bản từ PNG – Hướng dẫn đầy đủ Aspose OCR +url: /vi/net/text-recognition/extract-text-from-png-complete-aspose-ocr-tutorial/ +--- + +{{< 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ừ PNG – Hướng dẫn Toàn diện Aspose OCR + +Bạn đã bao giờ cần **trích xuất văn bản từ các tệp PNG** nhưng kết quả lại đầy những ký tự vô nghĩa? Bạn không đơn độc. Trong nhiều dự án thực tế – hoá đơn, biên lai, hoặc mẫu quét – chất lượng đầu ra OCR có thể quyết định thành công hay thất bại của quy trình tự động. + +Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách **từng bước** đọc văn bản trong ảnh bằng Aspose OCR, thêm một từ điển tùy chỉnh để **cải thiện độ chính xác OCR**, làm sạch nhiễu, và cuối cùng in ra một chuỗi gọn gàng. Khi kết thúc, bạn sẽ có một ứng dụng console C# sẵn sàng chạy, đáng tin cậy trong việc trích xuất văn bản từ ảnh PNG. + +> **Bạn sẽ nhận được gì** +> * Một mẫu mã hoàn chỉnh, có thể chạy ngay. +> * Hiểu tại sao từ điển tùy chỉnh lại quan trọng. +> * Các mẹo xử lý các trường hợp đặc biệt như ảnh quét độ tương phản thấp. + +## Yêu cầu trước + +- .NET 6 SDK hoặc mới hơn (mã nguồn nhắm tới .NET 6, nhưng .NET 5 cũng hoạt động). +- Visual Studio 2022 hoặc bất kỳ trình soạn thảo nào bạn thích. +- Một ảnh **PNG** bạn muốn xử lý – ví dụ `invoice.png`. +- Gói NuGet **Aspose.OCR** (`dotnet add package Aspose.OCR`). + +Không cần các tệp cấu hình bổ sung; mọi thứ đều nằm trong một tệp `.cs` duy nhất. + +## Bước 1 – Cài đặt và Tham chiếu Aspose OCR + +Đầu tiên, kéo thư viện vào dự án của bạn. Mở terminal trong thư mục giải pháp và chạy: + +```bash +dotnet add package Aspose.OCR +``` + +Dòng lệnh duy nhất này sẽ tải về phiên bản ổn định mới nhất (tính đến tháng 1 2026, phiên bản 23.9). Gói này bao gồm lớp `OcrEngine` mà chúng ta sẽ sử dụng xuyên suốt tutorial. + +## Bước 2 – Khởi tạo Engine OCR + +Tạo một thể hiện `OcrEngine` là nền tảng. Hãy nghĩ nó như việc bật một máy quét sẵn sàng giải mã các pixel. + +```csharp +using Aspose.OCR; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +> **Mẹo chuyên nghiệp:** Nếu bạn dự định xử lý nhiều ảnh trong một vòng lặp, hãy tái sử dụng cùng một thể hiện `OcrEngine`. Nó sẽ cache các tài nguyên nội bộ và tăng tốc các lần gọi tiếp theo. + +## Bước 3 – Tăng Độ Chính Xác với Từ điển Tùy chỉnh + +OCR mặc định khá tốt, nhưng nó có thể gặp khó khăn với các từ chuyên ngành như “Aspose”, “OCR”, hoặc “SDK”. Thêm những từ này vào **từ điển tùy chỉnh** sẽ thông báo cho engine rằng các chuỗi này là hợp lệ, giảm thiểu các nhận dạng sai. + +```csharp +// Define domain‑specific terms that the engine should recognize +ocrEngine.CustomDictionary = new HashSet +{ + "Aspose", + "OCR", + "SDK", + "invoice" +}; +``` + +### Tại sao từ điển tùy chỉnh lại hữu ích + +- **Mô hình thống kê** phía sau OCR đánh giá cao các mẫu ngôn ngữ phổ biến. Các từ hiếm gặp có xác suất thấp và có thể bị thay thế bằng các ký tự trông giống nhau. +- Khi liệt kê chúng một cách rõ ràng, bạn ghi đè lên dự đoán của mô hình. +- Điều này đặc biệt hữu ích cho **đọc văn bản trong ảnh** chứa mã sản phẩm, viết tắt, hoặc tên thương hiệu. + +## Bước 4 – Nhận Diện Văn bản từ Tệp PNG + +Bây giờ chúng ta truyền đường dẫn ảnh cho engine. Phương thức `RecognizeImage` trả về một chuỗi thô vẫn còn chứa các token không xác định (ví dụ “#@!”) mà engine không thể ánh xạ. + +```csharp +// Path to the PNG you want to process +string imagePath = @"YOUR_DIRECTORY/invoice.png"; + +// Perform OCR +string rawText = ocrEngine.RecognizeImage(imagePath); +``` + +> **Trường hợp đặc biệt:** Nếu tệp không tồn tại, `RecognizeImage` sẽ ném ra `FileNotFoundException`. Hãy bao bọc lời gọi này trong khối try‑catch cho mã sản xuất. + +## Bước 5 – Làm Sạch Kết quả bằng `CleanText` + +Aspose OCR đi kèm với một helper giúp loại bỏ các ký tự mà nó đánh dấu là “không xác định”. Bước này rất quan trọng cho các dự án **trích xuất văn bản từ ảnh** nơi các bộ phân tích phía sau chỉ chấp nhận các ký tự chữ và dấu câu cơ bản. + +```csharp +// Remove unknown tokens and extra whitespace +string cleanedText = ocrEngine.CleanText(rawText); +``` + +Phương thức `CleanText` cũng chuẩn hoá ký tự xuống dòng, giúp đầu ra an toàn khi lưu vào cơ sở dữ liệu hoặc truyền cho các dịch vụ khác. + +## Bước 6 – Xuất Văn bản Đã Làm Sạch + +Cuối cùng, hiển thị hoặc lưu kết quả. Trong một ứng dụng console, `Console.WriteLine` là đủ. + +```csharp +Console.WriteLine("=== Cleaned OCR Output ==="); +Console.WriteLine(cleanedText); +``` + +Khi bạn chạy chương trình, bạn sẽ thấy một khối văn bản gọn gàng phản ánh nội dung của `invoice.png`. Nếu ảnh chứa từ “Aspose”, từ điển tùy chỉnh sẽ đảm bảo nó xuất hiện đúng thay vì thành “A5p0se”. + +## Ví dụ Hoạt động Đầy đủ + +Kết hợp tất cả lại, đây là file `Program.cs` hoàn chỉnh mà bạn có thể sao chép‑dán vào một dự án console mới: + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; + +class Program +{ + static void Main() + { + // 1️⃣ Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Add domain‑specific terms to improve OCR accuracy + ocrEngine.CustomDictionary = new HashSet + { + "Aspose", + "OCR", + "SDK", + "invoice" + }; + + // 3️⃣ Path to your PNG file (adjust as needed) + string imagePath = @"YOUR_DIRECTORY/invoice.png"; + + try + { + // 4️⃣ Recognize raw text from the image + string rawText = ocrEngine.RecognizeImage(imagePath); + + // 5️⃣ Clean up unknown tokens + string cleanedText = ocrEngine.CleanText(rawText); + + // 6️⃣ Show the result + Console.WriteLine("=== Cleaned OCR Output ==="); + Console.WriteLine(cleanedText); + } + catch (Exception ex) + { + Console.Error.WriteLine($"Error processing image: {ex.Message}"); + } + } +} +``` + +**Kết quả mong đợi** (giả sử PNG chứa một hoá đơn đơn giản): + +``` +=== Cleaned OCR Output === +Invoice #12345 +Date: 01/08/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Nếu bạn thấy các ký hiệu lạ, hãy kiểm tra lại chất lượng ảnh hoặc mở rộng từ điển tùy chỉnh với thêm nhiều thuật ngữ. + +## Bonus: Xử lý Ảnh Quét Chất lượng Thấp + +Đôi khi PNG được quét ở 72 dpi hoặc có nhiều artefact nén. Dưới đây là một vài mẹo nhanh để **cải thiện độ chính xác OCR** mà không rời khỏi C#: + +1. **Tiền xử lý ảnh** bằng thư viện như `SixLabors.ImageSharp` – tăng độ tương phản, chuyển sang grayscale, hoặc áp dụng một chút blur để giảm nhiễu. +2. **Đặt thuộc tính `Resolution`** trên `OcrEngine` (ví dụ, `ocrEngine.Resolution = 300;`) để báo cho engine xem ảnh có độ phân giải cao hơn. +3. **Bật gói ngôn ngữ** nếu bạn làm việc với văn bản không phải tiếng Anh (`ocrEngine.Language = Language.English;`). + +Cả ba cách đều có thể được thêm vào trước lời gọi `RecognizeImage`. + +## Câu hỏi Thường gặp + +- **Điều này có hoạt động với các định dạng ảnh khác không?** + Có. `RecognizeImage` chấp nhận JPEG, BMP, TIFF, và thậm chí PDF (như một container ảnh). Các bước vẫn giống nhau. + +- **Tôi có thể trích xuất văn bản từ nhiều PNG trong một thư mục không?** + Chắc chắn. Đặt logic chính vào vòng lặp `foreach (var file in Directory.GetFiles(folder, "*.png"))` và lưu mỗi kết quả vào danh sách hoặc ghi ra các tệp riêng. + +- **Nếu tôi cần tọa độ của văn bản thì sao?** + Aspose OCR cũng cung cấp các đối tượng `OcrResult` chứa các bounding box. Sử dụng `ocrEngine.RecognizeImageToResult(imagePath)` cho trường hợp nâng cao này. + +## Kết luận + +Chúng ta đã đi qua một giải pháp **toàn diện, đầu‑tới‑cuối** để **trích xuất văn bản từ các tệp PNG** bằng Aspose OCR. Bằng cách khởi tạo engine, cung cấp **từ điển tùy chỉnh**, làm sạch đầu ra thô, và xử lý một vài vấn đề thường gặp, bạn có thể đáng tin cậy **đọc văn bản trong ảnh** và **cải thiện độ chính xác OCR** trong các ứng dụng C# của mình. + +Sẵn sàng cho bước tiếp theo? Hãy thử thay PNG bằng một biên lai quét, thêm nhiều từ chuyên ngành vào từ điển, hoặc tích hợp đầu ra với cơ sở dữ liệu để tự động xử lý hoá đơn. Khi kết hợp Aspose OCR với hệ sinh thái phong phú của .NET, khả năng của bạn sẽ không có giới hạn. + +Chúc lập trình vui vẻ, và hy vọng OCR của bạn luôn “spot‑on”! + +![Ví dụ trích xuất văn bản từ png](/images/extract-text-from-png.png "trích xuất văn bản từ png – demo Aspose 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/vietnamese/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md b/ocr/vietnamese/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md new file mode 100644 index 00000000..c23a17ea --- /dev/null +++ b/ocr/vietnamese/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/_index.md @@ -0,0 +1,261 @@ +--- +category: general +date: 2026-01-09 +description: Trích xuất văn bản từ các tệp TIFF bằng Aspose OCR trong C#. Tìm hiểu + cách lấy 50 ký tự đầu tiên của mỗi kết quả trong hướng dẫn từng bước này. +draft: false +keywords: +- extract text from tiff +- get first 50 characters +- aspose ocr c# tutorial +language: vi +og_description: Trích xuất văn bản từ tệp TIFF bằng Aspose OCR trong C#. Hướng dẫn + này chỉ cách lấy 50 ký tự đầu tiên của mỗi kết quả OCR, từng bước một. +og_title: Trích xuất văn bản từ TIFF bằng Aspose OCR – Hướng dẫn C# đầy đủ +tags: +- Aspose OCR +- C# +- TIFF processing +title: Trích xuất văn bản từ TIFF bằng Aspose OCR C# – Hướng dẫn đầy đủ +url: /vi/net/text-recognition/extract-text-from-tiff-with-aspose-ocr-c-full-tutorial/ +--- + +{{< 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ừ TIFF – Hướng dẫn Aspose OCR C# Đầy đủ + +Bạn đã bao giờ cần **trích xuất văn bản từ ảnh TIFF** nhưng không chắc thư viện nào đáng tin cậy? Bạn không đơn độc. Nhiều nhà phát triển gặp khó khăn khi cố gắng lấy văn bản có thể tìm kiếm được từ các tệp TIFF đa trang, đặc biệt khi hiệu năng là yếu tố quan trọng. + +Trong **bài hướng dẫn aspose ocr c#** này, chúng ta sẽ đi qua một ví dụ sẵn sàng chạy, không chỉ trích xuất toàn bộ văn bản mà còn cho bạn cách **lấy 50 ký tự đầu tiên** của mỗi trang để xem trước nhanh. Khi hoàn thành, bạn sẽ có một chương trình độc lập có thể đưa vào bất kỳ dự án .NET nào. + +## Những gì bạn cần + +- .NET 6 (hoặc bất kỳ phiên bản .NET mới nào) – mã sẽ biên dịch được với .NET Core và .NET Framework. +- Giấy phép Aspose.OCR cho .NET đang hoạt động (bạn có thể bắt đầu với bản dùng thử miễn phí). +- Một thư mục chứa một hoặc nhiều tệp `.tif` mà bạn muốn xử lý. +- Visual Studio, VS Code, hoặc bất kỳ IDE nào bạn thích – ví dụ là C# thuần nên lựa chọn trình soạn thảo không quan trọng. + +> **Mẹo chuyên nghiệp:** Nếu bạn đang chạy trên máy chủ CI, hãy thêm gói NuGet Aspose.OCR (`Aspose.OCR`) vào tệp dự án của bạn; thư viện hoàn toàn được quản lý và không có phụ thuộc native. + +## Bước 1: Cài đặt Gói NuGet Aspose OCR + +Đầu tiên, hãy đưa engine OCR vào dự án. Mở terminal trong thư mục solution và chạy: + +```bash +dotnet add package Aspose.OCR +``` + +Lệnh này sẽ tải phiên bản ổn định mới nhất (tính đến Tháng 1 2026 là 23.9) và tự động cập nhật tệp `.csproj` của bạn. Không cần phải tự tay quản lý DLL. + +## Bước 2: Khởi tạo Engine OCR + +Bây giờ chúng ta tạo một thể hiện của `OcrEngine`. Hãy nghĩ nó như “bộ não” sẽ đọc mọi trang TIFF. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Step 2: Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: tweak recognition settings if you know the language + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; // higher DPI can improve accuracy +``` + +Tại sao chúng ta chỉ khởi tạo engine một lần? Vì `RecognizeImages` có thể nhận một tập hợp các đường dẫn tệp, cho phép engine tái sử dụng bộ nhớ đệm nội bộ và tăng tốc đáng kể khi xử lý hàng loạt. + +## Bước 3: Thu thập Tất cả Các Tệp TIFF trong Một Lần + +Thay vì tự mình lặp qua thư mục, chúng ta để .NET làm công việc nặng. Phương thức `Directory.GetFiles` trả về một `IEnumerable` mà chúng ta có thể truyền thẳng vào lời gọi OCR. + +```csharp + // Step 3: Collect all TIFF images from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } +``` + +> **Nếu ảnh của tôi là JPEG hoặc PNG thì sao?** Chỉ cần thay đổi mẫu tìm kiếm (`"*.jpg"` hoặc `"*.*"`). Aspose OCR hỗ trợ tất cả các định dạng raster phổ biến. + +## Bước 4: Chạy OCR trên Toàn bộ Bộ Sưu Tập + +Đây là dòng lệnh ma thuật xử lý mọi tệp trong một yêu cầu duy nhất. Phương thức trả về một dictionary, trong đó khóa là đường dẫn tệp và giá trị là đối tượng `OcrResult` chứa văn bản đã nhận dạng. + +```csharp + // Step 4: Perform OCR on the entire collection in one call + var ocrResults = ocrEngine.RecognizeImages(imageFiles); +``` + +Tại sao lại batch‑process? Nó giảm chi phí tải lại engine OCR liên tục, và trên các máy đa lõi Aspose sẽ thực hiện song song công việc, mang lại tăng tốc đáng kể. + +## Bước 5: Hiển thị Xem trước – Lấy 50 Ký tự Đầu tiên + +Hầu hết các giao diện UI chỉ cần một đoạn trích, không phải toàn bộ tài liệu. Chúng ta sẽ lấy 50 ký tự đầu tiên (hoặc ít hơn nếu trang ngắn) và in chúng cùng với tên tệp. + +```csharp + // Step 5: Display each file name with a preview of the recognized text + foreach (var entry in ocrResults) // entry.Key = file path, entry.Value = OcrResult + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Dòng `Math.Min(50, fullText.Length)` đảm bảo chúng ta không vượt quá giới hạn chuỗi – một biện pháp bảo vệ nhỏ ngăn `ArgumentOutOfRangeException` khi kết quả OCR ngắn hơn 50 ký tự. + +### Đầu ra Console Dự kiến + +Giả sử bạn có hai tệp TIFF (`invoice1.tif` và `receipt2.tif`) console có thể hiển thị: + +``` +invoice1.tif → Invoice Number: 2025-07-14 Date: 07/14/... +receipt2.tif → Store: QuickMart Total: $23.45 Date: ... +``` + +Mỗi dòng kết thúc bằng dấu ba chấm (`...`) để chỉ ra rằng phần xem trước chỉ là phần đầu của một khối văn bản dài hơn. + +## Bước 6: Xử lý Các Trường hợp Cạnh và Những Cạm bẫy Thông thường + +### Tệp Trống hoặc Hỏng + +Nếu một tệp không đọc được, `RecognizeImages` vẫn trả về một mục với thuộc tính `Text` rỗng. Bạn có thể lọc chúng ra: + +```csharp +if (string.IsNullOrWhiteSpace(fullText)) +{ + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; +} +``` + +### Batch Lớn + +Xử lý hàng ngàn tệp TIFF có thể tiêu tốn nhiều bộ nhớ. Trong trường hợp này, hãy sử dụng overload chấp nhận một `Stream` cho mỗi ảnh, hoặc xử lý danh sách thành các khối nhỏ hơn: + +```csharp +var batches = imageFiles.Chunk(100); // .NET 6+ extension +foreach (var batch in batches) +{ + var batchResults = ocrEngine.RecognizeImages(batch); + // handle batchResults... +} +``` + +### Hỗ trợ Ngôn ngữ và Phông chữ + +Nếu tài liệu của bạn chứa ký tự không phải Latin, hãy đặt ngôn ngữ trước khi gọi `RecognizeImages`: + +```csharp +ocrEngine.Language = Language.Spanish; // or Language.MultiLanguage +``` + +Cài đặt nhỏ này có thể tăng độ chính xác đáng kể. + +## Bước 7: Ví dụ Hoàn chỉnh (Sẵn sàng Sao chép‑Dán) + +Dưới đây là chương trình đầy đủ mà bạn có thể dán vào một dự án console mới (`dotnet new console`) và chạy ngay (chỉ cần thay `YOUR_DIRECTORY/Batch` bằng đường dẫn thực). + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace TiffOcrDemo +{ + class Program + { + static void Main() + { + // Initialize the OCR engine + var ocrEngine = new OcrEngine(); + + // Optional: set language or DPI for better accuracy + // ocrEngine.Language = Language.English; + // ocrEngine.Dpi = 300; + + // Collect all TIFF files from the batch folder + IEnumerable imageFiles = Directory.GetFiles(@"YOUR_DIRECTORY/Batch", "*.tif"); + + if (!imageFiles.Any()) + { + Console.WriteLine("No TIFF files found in the specified folder."); + return; + } + + // Perform OCR on the entire collection + var ocrResults = ocrEngine.RecognizeImages(imageFiles); + + // Show a preview – get first 50 characters of each result + foreach (var entry in ocrResults) + { + string fileName = Path.GetFileName(entry.Key); + string fullText = entry.Value.Text ?? string.Empty; + + if (string.IsNullOrWhiteSpace(fullText)) + { + Console.WriteLine($"{fileName} → (No recognizable text)"); + continue; + } + + string preview = fullText.Substring(0, Math.Min(50, fullText.Length)); + Console.WriteLine($"{fileName} → {preview}..."); + } + } + } +} +``` + +Chạy chương trình bằng `dotnet run`. Bạn sẽ thấy một đoạn xem trước ngắn gọn cho mỗi tệp TIFF, xác nhận rằng bạn đã **trích xuất văn bản từ ảnh TIFF** thành công bằng Aspose OCR. + +## Câu hỏi Thường gặp (FAQ) + +**H: Điều này có hoạt động với TIFF đa trang không?** +Đ: Có. Aspose OCR xử lý mỗi trang như một ảnh riêng biệt bên trong, vì vậy một TIFF đa trang sẽ cho ra một chuỗi nối lại duy nhất cho mỗi tệp. Bạn có thể tách chúng ra sau này nếu cần. + +**H: Độ chính xác của OCR mặc định như thế nào?** +Đ: Đối với các bản quét sạch, độ phân giải cao (300 DPI trở lên) bạn có thể mong đợi độ chính xác >95 % cho văn bản tiếng Anh. Tiền xử lý (điều chỉnh góc, nhị phân hoá) có thể nâng cao hơn nữa. + +**H: Tôi có thể xuất kết quả ra file CSV không?** +Đ: Chắc chắn. Thay `Console.WriteLine` bằng một `StreamWriter` và ghi các dòng `fileName,preview`. Đừng quên escape dấu phẩy trong văn bản xem trước. + +## Các Bước Tiếp Theo và Chủ đề Liên quan + +- **Lưu trữ kết quả OCR** – Lưu toàn bộ văn bản vào cơ sở dữ liệu để tạo kho lưu trữ có thể tìm kiếm. +- **Kết hợp với chuyển đổi PDF** – Sử dụng Aspose.PDF để nhúng văn bản đã trích xuất trở lại PDF có thể tìm kiếm. +- **Xử lý batch trên Azure Functions** – Mở rộng công việc OCR mà không cần quản lý máy chủ. + +Tất cả các mở rộng này đều quay lại ý tưởng cốt lõi là **trích xuất văn bản từ TIFF** một cách hiệu quả, đồng thời vẫn cho phép bạn **lấy 50 ký tự đầu tiên** để hiển thị nhanh trong UI. + +--- + +*Chúc bạn lập trình vui vẻ! Nếu gặp bất kỳ vấn đề nào, hãy để lại bình luận bên dưới – tôi sẽ cố gắng giúp bạn tinh chỉnh pipeline OCR.* + +![Trích xuất văn bản từ TIFF bằng Aspose OCR](https://example.com/images/extract-text-from-tiff.png "Trích xuất văn bản từ TIFF bằng Aspose 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/vietnamese/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md b/ocr/vietnamese/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md new file mode 100644 index 00000000..46e6e58b --- /dev/null +++ b/ocr/vietnamese/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/_index.md @@ -0,0 +1,240 @@ +--- +category: general +date: 2026-01-09 +description: Nhận dạng văn bản trong file jpg nhanh chóng bằng Aspose OCR trong C#. + Tìm hiểu cách trích xuất văn bản từ hình ảnh, chuyển đổi hình ảnh sang JSON và EPUB + trong một hướng dẫn duy nhất. +draft: false +keywords: +- recognize text in jpg +- extract text from image +- convert image to json +- convert image to epub +- create epub from image +language: vi +og_description: Nhận dạng văn bản trong file jpg bằng Aspose OCR. Hướng dẫn này cho + thấy cách trích xuất văn bản từ hình ảnh, chuyển đổi hình ảnh sang JSON và EPUB, + và tạo một ePub từ hình ảnh. +og_title: Nhận dạng văn bản trong jpg – Hướng dẫn C# đầy đủ +tags: +- Aspose OCR +- C# +- Image Processing +title: Nhận dạng văn bản trong jpg bằng Aspose OCR – Hướng dẫn C# đầy đủ +url: /vi/net/text-recognition/recognize-text-in-jpg-with-aspose-ocr-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Nhận dạng văn bản trong jpg – Hướng dẫn C# đầy đủ + +Bạn đã bao giờ cần **recognize text in jpg** trong các tệp jpg nhưng không chắc nên chọn thư viện nào? Bạn không cô đơn. Nhiều nhà phát triển gặp cùng một rào cản khi họ lần đầu cố gắng lấy các từ ra khỏi một bức ảnh hoặc tài liệu đã quét. + +Tin tốt? Với Aspose OCR bạn có thể **extract text from image** các tệp trong vài dòng mã C#, sau đó ngay lập tức **convert image to JSON** hoặc thậm chí **convert image to EPUB**—tất cả mà không rời khỏi IDE của bạn. + +Trong hướng dẫn này chúng ta sẽ đi qua toàn bộ quy trình: từ cài đặt các gói NuGet phù hợp, qua việc nhận dạng văn bản trong một JPG, đến việc lưu kết quả dưới dạng JSON có cấu trúc và dưới dạng tài liệu ePub. Khi kết thúc, bạn sẽ có thể **create epub from image** các tệp một cách lập trình, một thủ thuật hữu ích cho các nền tảng e‑learning, thư viện kỹ thuật số, hoặc bất kỳ ứng dụng nào cần sách điện tử có thể tìm kiếm. + +--- + +## Bạn Cần Gì + +- **.NET 6+** (hoặc .NET Framework 4.6+). Mã chạy trên bất kỳ runtime hiện đại nào. +- **Aspose.OCR** NuGet package – động cơ OCR cốt lõi. +- **Aspose.Publishing** NuGet package – cần thiết cho định dạng đầu ra ePub. +- Một tệp hình ảnh có tên `input.jpg` nằm ở đâu đó trên ổ đĩa của bạn (thay đổi đường dẫn thành của bạn). +- Một trình soạn thảo văn bản hoặc IDE (Visual Studio, VS Code, Rider—tùy bạn). + +Chỉ vậy thôi. Không có dịch vụ phụ trợ, không có API bên ngoài, chỉ một vài thư viện và một tệp JPG. + +--- + +## Step 1: Thiết lập dự án của bạn để **recognize text in jpg** + +Đầu tiên, tạo một ứng dụng console mới (hoặc thêm vào dự án hiện có). Sau đó thêm hai gói Aspose qua NuGet Package Manager: + +```bash +dotnet add package Aspose.OCR +dotnet add package Aspose.Publishing +``` + +> **Pro tip:** Nếu bạn đang sử dụng Visual Studio, nhấp chuột phải vào dự án → *Manage NuGet Packages* → tìm kiếm *Aspose.OCR* và *Aspose.Publishing*, sau đó nhấn **Install**. + +Các gói này cung cấp mọi thứ bạn cần để **extract text from image** và xuất tệp ePub sau này. + +--- + +## Step 2: **Extract text from image** Sử dụng Aspose OCR + +Bây giờ chúng ta sẽ viết mã thực sự đọc JPG và lấy các ký tự ra từ nó. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToTextDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // 2️⃣ Recognize text from the JPG file + // Replace the path with the location of your own image + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // 3️⃣ Show the recognized text in the console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + } + } +} +``` + +**Why this works:** `OcrEngine` trừu tượng hoá mọi tiền xử lý ảnh mức thấp, phát hiện ngôn ngữ và phân đoạn ký tự. Bạn chỉ cần chỉ vào một tệp và nó trả về một đối tượng `OcrResult` chứa chuỗi văn bản thuần (`ocrResult.Text`) và một tập hợp phong phú các siêu dữ liệu. + +--- + +## Step 3: **Convert image to JSON** – Xuất kết quả OCR + +Nếu bạn cần lưu trữ đầu ra OCR ở định dạng có cấu trúc (cho API, cơ sở dữ liệu, hoặc xử lý tiếp theo), Aspose làm cho việc tuần tự hoá kết quả sang JSON trở nên đơn giản. + +```csharp +// 4️⃣ Convert the OCR result to JSON +string jsonContent = ocrResult.ToJson(); + +// 5️⃣ Save the JSON to disk +string jsonPath = @"YOUR_DIRECTORY\output.json"; +File.WriteAllText(jsonPath, jsonContent); + +Console.WriteLine($"JSON saved to: {jsonPath}"); +``` + +JSON được tạo ra trông gần như như sau (được rút gọn để ngắn gọn): + +```json +{ + "Text": "Hello world!", + "Confidence": 0.98, + "PageCount": 1, + "Words": [ + { "Value": "Hello", "Confidence": 0.99 }, + { "Value": "world!", "Confidence": 0.97 } + ] +} +``` + +**When to use it:** JSON là lựa chọn hoàn hảo nếu bạn đưa dữ liệu OCR vào một dịch vụ web, lưu trữ nó trong kho NoSQL, hoặc chỉ cần một biểu diễn di động có thể được phân tích bởi bất kỳ ngôn ngữ nào. + +--- + +## Step 4: **Convert image to EPUB** – Lưu dưới dạng eBook + +Aspose Publishing bổ sung hỗ trợ cho một số định dạng e‑book, bao gồm EPUB. Bằng cách gọi `Save` trên `OcrResult` bạn có thể tạo một tệp ePub hoàn toàn tuân chuẩn chứa văn bản đã nhận dạng và, tùy chọn, hình ảnh gốc. + +```csharp +// 6️⃣ Save the OCR result as an ePub document +string epubPath = @"YOUR_DIRECTORY\output.epub"; +ocrResult.Save(epubPath, OcrOutputFormat.Epub); + +Console.WriteLine($"EPUB created at: {epubPath}"); +``` + +**What you get:** Một ePub mà bạn có thể mở trong bất kỳ trình đọc nào (Calibre, Apple Books, Adobe Digital Editions). Tệp bao gồm văn bản đã trích xuất dưới dạng nội dung có thể tìm kiếm, cộng thêm hình ảnh nguồn làm lớp nền—lý tưởng cho việc tạo các pipeline **create epub from image**. + +--- + +## Step 5: Ví dụ Hoạt Động Đầy Đủ – Từ JPG sang JSON & EPUB + +Kết hợp mọi thứ lại, đây là chương trình hoàn chỉnh, sẵn sàng chạy. Sao chép‑dán đoạn này vào `Program.cs`, điều chỉnh đường dẫn tệp, và nhấn **F5**. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Output; + +namespace ImageToEpubDemo +{ + class Program + { + static void Main(string[] args) + { + // Initialize OCR engine + var ocrEngine = new OcrEngine(); + + // Path to the input JPG + string inputPath = @"YOUR_DIRECTORY\input.jpg"; + + // Recognize text + var ocrResult = ocrEngine.RecognizeImage(inputPath); + + // Output recognized text to console + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(ocrResult.Text); + Console.WriteLine(); + + // Export to JSON + string jsonPath = @"YOUR_DIRECTORY\output.json"; + File.WriteAllText(jsonPath, ocrResult.ToJson()); + Console.WriteLine($"JSON saved to: {jsonPath}"); + + // Export to EPUB + string epubPath = @"YOUR_DIRECTORY\output.epub"; + ocrResult.Save(epubPath, OcrOutputFormat.Epub); + Console.WriteLine($"EPUB created at: {epubPath}"); + } + } +} +``` + +Chạy chương trình và bạn sẽ thấy ba điều: + +1. Văn bản đã nhận dạng được in ra trong console. +2. Một tệp `output.json` chứa dữ liệu OCR có cấu trúc. +3. Một tệp `output.epub` bạn có thể mở bằng bất kỳ trình đọc e‑book nào. + +--- + +## Câu Hỏi Thường Gặp & Trường Hợp Cạnh + +- **What if the image is a PNG or BMP?** + Aspose OCR hỗ trợ hầu hết các định dạng raster (PNG, BMP, TIFF, GIF). Chỉ cần thay đổi phần mở rộng tệp trong `inputPath`; cùng một mã vẫn hoạt động. + +- **Can I specify a language other than English?** + Có. Đặt `ocrEngine.Language = OcrLanguage.French;` (hoặc bất kỳ ngôn ngữ nào được hỗ trợ) trước khi gọi `RecognizeImage`. + +- **What about multi‑page PDFs?** + Đối với PDF, bạn sẽ chuyển mỗi trang thành một hình ảnh (Aspose.PDF có thể làm điều này) và sau đó đưa mỗi hình ảnh vào `RecognizeImage`. Các đối tượng `OcrResult` thu được có thể được hợp nhất trước khi xuất ra JSON hoặc EPUB. + +- **I get low confidence scores. How can I improve accuracy?** + Tiền xử lý ảnh: tăng độ tương phản, chỉnh góc nghiêng, hoặc chuyển sang thang độ xám. Aspose OCR cũng cung cấp `PreprocessOptions` mà bạn có thể điều chỉnh. + +--- + +## Kết Luận + +Bây giờ bạn đã có một công thức toàn diện, đầu‑cuối‑đầu để **recognize text in jpg** các tệp bằng Aspose OCR, sau đó **convert image to JSON** cho các pipeline dữ liệu và **convert image to EPUB** để xây dựng sách điện tử có thể tìm kiếm. Cách tiếp cận này nhẹ, chỉ yêu cầu hai gói NuGet, và hoạt động trên mọi runtime .NET hiện đại. + +Từ đây bạn có thể: + +- Tích hợp đầu ra JSON vào chỉ mục tìm kiếm (Azure Cognitive Search, Elastic). +- Xử lý hàng loạt một thư mục hình ảnh và tạo thư viện sách ePub. +- Mở rộng quy trình làm việc với các API dịch thuật để tự động tạo sách điện tử đa ngôn ngữ. + +Hãy thử nghiệm, khám phá các chất lượng ảnh khác nhau, và để engine OCR thực hiện công việc nặng. Chúc lập trình vui vẻ! + +--- + +![recognize text in jpg output screenshot](placeholder-image.png "recognize text in jpg 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