diff --git a/ocr/arabic/java/advanced-ocr-techniques/_index.md b/ocr/arabic/java/advanced-ocr-techniques/_index.md index 826cbb80a..75538f14d 100644 --- a/ocr/arabic/java/advanced-ocr-techniques/_index.md +++ b/ocr/arabic/java/advanced-ocr-techniques/_index.md @@ -45,6 +45,10 @@ url: /ar/java/advanced-ocr-techniques/ يمكنك استخراج النص من الصور بسهولة عن طريق تحديد الأحرف المسموح بها باستخدام Aspose.OCR لـ Java. اتبع دليلنا خطوة بخطوة لتحقيق التكامل الفعال، مما يضمن تجربة التعرف على النص بسلاسة. قم بتحسين تطبيقات Java الخاصة بك باستخدام إمكانيات Aspose.OCR. +## [كيفية تمكين GPU للتعرف الضوئي على الحروف (OCR) في Java – دليل كامل](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) + +دليل شامل لتمكين GPU في Aspose.OCR لـ Java لتحسين سرعة ودقة التعرف الضوئي على الحروف. + ## خاتمة مع Aspose.OCR لـ Java، أصبح إتقان تقنيات التعرف الضوئي على الحروف المتقدمة أسهل من أي وقت مضى. انغمس في هذه البرامج التعليمية واطلق العنان للإمكانات الكاملة للتعرف على النص في مشاريع Java الخاصة بك. ارفع مستوى تطبيقاتك من خلال التكامل السلس والدقة العالية وإمكانيات استخراج النص المتنوعة. قم بالتنزيل الآن واتخذ الخطوة الأولى نحو التميز في التعرف الضوئي على الحروف باستخدام Aspose.OCR لـ Java! @@ -61,9 +65,13 @@ url: /ar/java/advanced-ocr-techniques/ قم بتمكين تطبيقات Java الخاصة بك باستخدام Aspose.OCR للتعرف الدقيق على النص. سهولة التكامل، ودقة عالية. ### [تحديد الأحرف المسموح بها في Aspose.OCR](./specify-allowed-characters/) أطلق العنان لاستخراج النص من الصور بسلاسة باستخدام Aspose.OCR لـ Java. اتبع دليلنا خطوة بخطوة للتكامل الفعال. +### [كيفية تمكين GPU للتعرف الضوئي على الحروف (OCR) في Java – دليل كامل](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +دليل شامل لتمكين GPU في Aspose.OCR لـ Java لتحسين سرعة ودقة التعرف الضوئي على الحروف. +### [كيفية التعرف الضوئي على الحروف (OCR) لصورة في Java – ملاحظات مكتوبة بخط اليد مع تدقيق إملائي](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) + {{< /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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/arabic/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..31fac9e84 --- /dev/null +++ b/ocr/arabic/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,214 @@ +--- +category: general +date: 2026-02-19 +description: كيفية تمكين وحدة معالجة الرسومات (GPU) لمعالجة OCR سريعة. تعلم كيفية + تحميل صورة عالية الدقة، التعرف على نص الصورة، واستخراج النص باستخدام Aspose OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: ar +og_description: كيفية تمكين وحدة معالجة الرسومات (GPU) لمعالجة OCR بسرعة. يوضح هذا + الدليل كيفية تحميل صورة عالية الدقة، والتعرف على النص في الصورة، واستخراج النص باستخدام + Aspose OCR. +og_title: كيفية تمكين وحدة معالجة الرسومات (GPU) للتعرف الضوئي على الأحرف (OCR) في + جافا – دليل شامل +tags: +- OCR +- Java +- GPU +- Aspose +title: كيفية تمكين وحدة معالجة الرسومات (GPU) للتعرف الضوئي على الحروف (OCR) في جافا + – دليل كامل +url: /ar/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +for the latest **enable GPU processing** recommendations." Translate. + +"Happy coding, and may your GPU stay cool while it crunches text!" Translate. + +Then closing shortcodes unchanged. + +Now produce final content.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية تمكين وحدة معالجة الرسومات (GPU) للتعرف الضوئي على الأحرف (OCR) في جافا – دليل كامل + +هل تساءلت يومًا **كيفية تمكين GPU** لمسار OCR الخاص بك وتوفير ثوانٍ من وقت المعالجة؟ لست وحدك. في العديد من المشاريع التي تعتمد على الصور بشكل كبير، تكون نقطة الاختناق هي خطوة استخراج النص المعتمدة على وحدة المعالجة المركزية، والتحول إلى GPU يمكن أن يكون نقطة تحول. + +في هذا الدرس سنستعرض تحميل **صورة عالية الدقة**، تكوين Aspose OCR للعمل على GPU، وأخيرًا **التعرف على صورة النص** و**استخراج النص** ببضع أسطر من جافا فقط. في النهاية ستحصل على برنامج جاهز للتنفيذ يوضح **تمكين معالجة GPU** من البداية حتى النهاية. + +## ما ستحتاجه + +- Java 17 أو أحدث (الكود يستخدم نظام الوحدات لكنه يعمل على إصدارات JDK القديمة مع بعض التعديلات البسيطة) +- Aspose OCR for Java 23.10 (أو أحدث نسخة) – يمكنك الحصول على إحداثيات Maven من موقع Aspose +- وحدة معالجة رسومات NVIDIA مع برامج تشغيل CUDA 12+ مثبتة (المكتبة سترفض البدء إذا لم يتوفر ذلك) +- صورة عينة عالية الدقة (PNG أو JPEG) تريد قراءة النص منها + +هذا كل شيء. لا خدمات خارجية، لا رصيد سحابي، فقط جهازك ومجموعة التعريفات الصحيحة. + +![مخطط سير عمل GPU OCR – كيفية تمكين معالجة GPU](gpu-ocr-workflow.png) + +*نص بديل للصورة: مخطط يوضح كيفية تمكين GPU لمعالجة OCR في جافا.* + +## تنفيذ خطوة بخطوة + +أدناه نقسم الحل إلى أجزاء منطقية. كل قسم يحتوي على مقتطف شفرة مختصر، شرح **لماذا** الخطوة مهمة، وبعض النصائح العملية التي قد تقدرها لاحقًا. + +### كيفية تمكين GPU للتعرف الضوئي على الأحرف – الخطوة 1: تثبيت الاعتمادات والتحقق من CUDA + +قبل تشغيل أي شفرة جافا، يجب أن يكون وقت تشغيل CUDA الأصلي قابلًا للاكتشاف. على Windows يمكنك التحقق باستخدام: + +```bat +nvcc --version +``` + +على Linux: + +```bash +nvidia-smi +``` + +إذا طبع الأمر إصدار التعريف وتفاصيل GPU، فأنت جاهز. وإلا، انتقل إلى موقع NVIDIA، حمّل التعريف المناسب، وثبّت مجموعة أدوات CUDA (تأكد من أن الإصدار يتطابق مع متطلبات Aspose OCR – حالياً 12.x). + +**Tip:** حافظ على تحديث تعريف GPU الخاص بك لكن تجنّب إصدارات “beta‑latest”؛ فهي أحيانًا تكسر التوافق الثنائي مع مكتبات Aspose الأصلية. + +### كيفية تمكين GPU للتعرف الضوئي على الأحرف – الخطوة 2: إضافة اعتماد Aspose OCR إلى Maven + +أضف ما يلي إلى ملف `pom.xml`. سيجلب هذا محرك OCR الأساسي والملفات الثنائية الأصلية لـ GPU لأنظمة Windows وLinux وmacOS. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +إذا كنت تفضّل Gradle، فالمكافئ هو: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +بعد تحديث مشروعك، تصبح الفئات `OcrEngine` و`OcrDeviceType` و`ImageStream` متاحة. + +### كيفية تمكين GPU للتعرف الضوئي على الأحرف – الخطوة 3: إنشاء محرك OCR وتمكين GPU + +الآن نخبر Aspose فعليًا بالعمل على GPU. تُظهر فئة `OcrEngine` كائن `Device` حيث يمكننا تبديل نوع جهاز المعالجة. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Why this matters:** ضبط `OcrDeviceType.GPU` يستبدل محرك الاستدلال الأساسي من تنفيذ يعتمد على CPU إلى تنفيذ مسرّع بـ CUDA. استدعاء `setStreamCount` الاختياري يتيح لك التحكم في التوازي؛ اثنان من التدفقات يعتبران إعدادًا آمنًا لمعظم بطاقات المستهلك. + +### كيفية تمكين GPU للتعرف الضوئي على الأحرف – الخطوة 4: تحميل صورة عالية الدقة + +المصادر عالية الدقة تعطي نموذج OCR تفاصيل بصرية أكثر، مما يترجم إلى دقة أعلى، خاصةً للخطوط الصغيرة أو النصوص المعقدة. المساعد `ImageStream.fromFile` يقرأ الملف إلى الصيغة التي يتوقعها المحرك. + +إذا كنت بحاجة إلى **تحميل صورة عالية الدقة** من URL أو من مصفوفة بايت في الذاكرة، يمكنك استخدام: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Edge case:** بعض بطاقات GPU لديها حد أقصى لحجم النسيج (غالبًا 16384 × 16384). إذا تجاوزت صورتك هذا الحد، فكر في تقليل الحجم إلى حجم لا يزال يحافظ على قابلية القراءة (مثلاً 3000 × 2000). سيقوم محرك OCR تلقائيًا بإعادة التحجيم إذا استدعيت `ocrEngine.setResizeFactor(0.5)` قبل التحميل. + +### كيفية تمكين GPU للتعرف الضوئي على الأحرف – الخطوة 5: التعرف على صورة النص واستخراج النص + +استدعاء `ocrEngine.recognize()` يُشغّل استدلال الشبكة العصبية على GPU. تُعيد الطريقة كائن `OcrResult`؛ `getText()` يستخرج السلسلة النصية العادية. يمكنك أيضًا استرجاع الصناديق المحيطة، درجات الثقة، أو JSON الخام إذا كنت تحتاج إلى بيانات أغنى. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Why you might want this:** خطوة `recognize text image` هي المكان الذي يبرز فيه GPU—الصور الكبيرة التي قد تستغرق ثوانٍ على CPU تُعالج في جزء من ذلك الوقت. تسمح لك درجات الثقة بفلترة النتائج منخفضة الجودة، وهي حيلة مفيدة عندما تريد لاحقًا **كيفية استخراج النص** للتحليلات اللاحقة. + +### نصائح احترافية ومشكلات شائعة + +| الحالة | ما الذي يجب فعله | +|-----------|------------| +| **Out‑of‑memory errors** on GPU | قلل `setStreamCount` إلى 1، أو قلل حجم الصورة قبل تمريرها إلى المحرك. | +| **Unrecognized characters** despite high resolution | تأكد من أن نموذج اللغة (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) يطابق لغة النص. | +| **CUDA version mismatch** | طابق إصدار مجموعة أدوات CUDA مع الإصدار المدمج في Aspose OCR (تحقق من ملاحظات الإصدار). | +| **Multiple GPUs** | استخدم `ocrEngine.getDevice().setDeviceId(1)` لاختيار بطاقة الرسومات الثانية إذا كانت الأولى مشغولة. | +| **Running on a headless server** | لا خطوات إضافية مطلوبة؛ برنامج تشغيل GPU يعمل بدون شاشة. | + +## كيفية استخراج النص – التحقق من المخرجات + +عند تشغيل الفئة أعلاه، يجب أن ترى شيئًا مشابهًا لـ: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +إذا كان الإخراج مشوشًا، تحقق مرة أخرى من أن الصورة عالية الدقة فعلاً وأن تعريف GPU مثبت بشكل صحيح. يمكنك أيضًا تمكين التسجيل التفصيلي: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +ستظهر السجلات ما إذا تم تحميل نوى CUDA الأصلية بنجاح. + +## الخطوات التالية والمواضيع ذات الصلة + +- **Batch processing:** غلف `OcrEngine` داخل حلقة ومرّر قائمة بمسارات الصور. تذكّر إعادة استخدام نفس كائن المحرك لتجنب عبء تهيئة GPU المتكرر. +- **Language detection:** يدعم Aspose OCR أكثر من 30 لغة. غيّر اللغة باستخدام `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Post‑processing:** استخدم التعابير النمطية لتنظيف السلسلة المستخرجة، أو مرّرها إلى خط أنابيب NLP لاحق. +- **Alternative devices:** إذا لم يكن لديك GPU يدعم CUDA، يمكنك الرجوع إلى `OcrDeviceType.CPU`. الشيفرة نفسها تعمل؛ فقط غير نوع الجهاز. +- **Performance benchmarking:** قس فرق الوقت باستخدام `System.nanoTime()` قبل وبعد `recognize()` لتحديد الفائدة من **تمكين معالجة GPU**. + +### الخلاصة + +لقد غطينا **كيفية تمكين GPU** لـ Aspose OCR في جافا، بدءًا من تثبيت التعريفات الصحيحة إلى تحميل **صورة عالية الدقة**، **التعرف على صورة النص**، وأخيرًا **كيفية استخراج النص** من النتيجة. المثال الكامل القابل للتنفيذ أعلاه يجب أن يعمل فورًا على أي GPU NVIDIA حديث. + +جرّبه، جرب أحجام صور مختلفة، وشاهد زيادة إنتاجية OCR الخاصة بك. إذا واجهت أي مشاكل، راجع قسم النصائح أو تحقق من ملاحظات إصدار Aspose لأحدث توصيات **تمكين معالجة GPU**. + +برمجة سعيدة، ولتظل وحدة معالجة الرسومات باردة أثناء معالجة النص! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/arabic/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..c66f2c5d5 --- /dev/null +++ b/ocr/arabic/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,250 @@ +--- +category: general +date: 2026-02-19 +description: تعلم كيفية تحويل صورة ملاحظات مكتوبة بخط اليد إلى نص باستخدام OCR في + جافا مع Aspose OCR. يتضمن تحميل الصورة للـ OCR، قراءة الملاحظات المكتوبة بخط اليد + وتحويل نص الصورة المكتوبة بخط اليد. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: ar +og_description: كيفية التعرف الضوئي على الأحرف (OCR) لصورة ملاحظات مكتوبة بخط اليد + في Java باستخدام Aspose. دليل خطوة بخطوة لتحميل الصورة للتعرف الضوئي على الأحرف، + قراءة الملاحظات المكتوبة بخط اليد وتحويل نص الصورة المكتوبة بخط اليد. +og_title: كيفية إجراء OCR على صورة في جافا – دليل الملاحظات المكتوبة يدوياً +tags: +- Java +- OCR +- Aspose +- Handwriting +title: كيفية التعرف الضوئي على الأحرف في صورة باستخدام جافا – ملاحظات مكتوبة يدوياً + مع تدقيق إملائي +url: /ar/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية التعرف الضوئي على الأحرف (OCR) في صورة باستخدام Java – ملاحظات مكتوبة بخط اليد مع تصحيح إملائي + +هل تساءلت يومًا **how to OCR image** التي تحتوي على قائمة البقالة المكتوبة بخطك أو محاضر الاجتماع؟ لست وحدك. في العديد من التطبيقات الواقعية، يحتاج المطورون إلى قراءة الملاحظات المكتوبة بخط اليد وتحويلها إلى نص قابل للبحث—دون الحاجة إلى إعادة كتابة يدوية. + +في هذا الدرس سنستعرض مثالًا كاملًا وجاهزًا للتنفيذ يوضح لك بالضبط **how to OCR image** باستخدام Aspose OCR for Java، وكيفية **load image for OCR**، وكيفية **read handwritten notes** مع تصحيح إملائي مدمج. في النهاية، ستكون قادرًا على **convert handwritten image text** إلى سلسلة نصية نظيفة يمكنك تخزينها أو فهرستها أو عرضها. + +## ما ستتعلمه + +- الخطوات الدقيقة لإعداد محرك OCR يفهم الكتابة اليدوية باللغة الإنجليزية. +- كيفية **load image for OCR** من القرص وإدخالها إلى المحرك. +- لماذا يهم تمكين مدقق الإملاء عند التعامل مع الكتابات الفوضوية. +- طرق التعامل مع الحالات الشائعة، مثل الصور منخفضة التباين أو حزم اللغات المفقودة. +- عينة كود كاملة قابلة للتنفيذ يمكنك لصقها في بيئة التطوير الخاصة بك ورؤية النتائج فورًا. + +> **المتطلبات المسبقة**: تثبيت Java 8+، Maven أو Gradle لإدارة الاعتمادات، ورخصة Aspose OCR for Java (الإصدار التجريبي المجاني يكفي للتعلم). لا توجد مكتبات خارجية أخرى مطلوبة. + +--- + +## الخطوة 1: إعداد المشروع وإضافة تبعية Aspose OCR + +أولًا وقبل كل شيء—يحتاج مشروعك إلى مكتبة Aspose OCR. إذا كنت تستخدم Maven، أضف هذا إلى ملف `pom.xml` الخاص بك: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +أو باستخدام Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **نصيحة احترافية**: راقب رقم الإصدار؛ الإصدارات الأحدث تحسن التعرف على الكتابة اليدوية وتضيف دعمًا للغات. + +بعد حل التبعية، ستكون جاهزًا لـ **load image for OCR**. + +## الخطوة 2: إنشاء كائن محرك OCR + +لـ **how to OCR image** بفعالية، تحتاج إلى كائن `OcrEngine`. هذا الكائن هو قلب العملية—يحتوي على إعدادات اللغة، وعلامات تمكين تصحيح الإملاء، والصورة نفسها. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +لماذا ننشئ المحرك أولاً؟ لأن Aspose OCR مصمم ليكون قابلًا لإعادة الاستخدام؛ يمكنك معالجة صور متعددة باستخدام نفس الكائن، وتعديل الإعدادات بين التشغيلات إذا لزم الأمر. + +## الخطوة 3: إضافة دعم اللغة الإنجليزية وتمكين تصحيح الإملاء + +غالبًا ما تكون الملاحظات المكتوبة بخط اليد مليئة بالأخطاء الإملائية، أو الحروف المفقودة، أو الاختصارات غير التقليدية. تمكين مدقق الإملاء يمنح المحرك فرصة لتنظيف الناتج. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **لماذا تمكين تصحيح الإملاء؟** +> بدون ذلك، قد يظهر ناتج OCR الخام كـ “t0d@y” أو “c0ffee”. يقوم مدقق الإملاء بتطبيع هذه الشذوذ، مما يجعل النص النهائي أكثر فائدة للمعالجة اللاحقة مثل فهرسة البحث. + +## الخطوة 4: تحميل الصورة المكتوبة بخط اليد + +الآن نقوم بـ **load image for OCR**. توفر Aspose طريقة مريحة `ImageStream.fromFile` التي تقبل أي تنسيق نقطي شائع (PNG، JPEG، BMP). + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +إذا كانت صورتك موجودة في مجلد الموارد أو استلمتها كمصفوفة بايت (مثلاً من رفع ويب)، يمكنك استخدام `ImageStream.fromBytes` بدلاً من ذلك—فقط استبدل السطر السابق بـ: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## الخطوة 5: تنفيذ OCR واسترجاع النص المصحح + +مع تكوين المحرك وتحميل الصورة، يكون استدعاء **how to OCR image** الفعلي سطرًا واحدًا: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +طريقة `recognize()` تُعيد كائن `OcrResult` الذي يحتوي ليس فقط على النص العادي بل أيضًا على درجات الثقة، ومربعات الإحاطة، وأكثر. بالنسبة لمعظم الحالات، يكون `getText()` العادي كافيًا. + +## الخطوة 6: إخراج النتيجة + +أخيرًا، نقوم بطباعة السلسلة المنقحة إلى وحدة التحكم. في تطبيق حقيقي قد تقوم بتخزينها في قاعدة بيانات، أو تمريرها إلى محرك بحث، أو إمدادها إلى نموذج لغة. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### النتيجة المتوقعة + +بافتراض أن الملاحظة المكتوبة بخط اليد تقول: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +يجب أن ترى شيئًا مثل: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +حتى إذا كانت الكتابة الأصلية فوضوية—مثلاً “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”—عادةً ما يقوم مدقق الإملاء بتصحيحها. + +--- + +## تحميل الصورة لـ OCR – نصائح لتحسين الدقة + +1. **الدقة مهمة** – استهدف على الأقل 300 dpi. الدقات الأقل تجعل المحرك يفقد الضربات الدقيقة. +2. **التباين هو الملك** – إذا كان الخلفية ملونة، حوّل الصورة إلى تدرج الرمادي أولاً. +3. **قص إلى المحتوى** – إزالة الهوامش غير الضرورية يقلل الضوضاء ويسرّع المعالجة. + +يمكنك معالجة الصور مسبقًا باستخدام مكتبات مثل OpenCV أو حتى `BufferedImage` المدمجة في Java قبل تمريرها إلى Aspose. + +## قراءة الملاحظات المكتوبة بخط اليد: التعامل مع الحالات الطرفية + +- **كلمات منخفضة الثقة**: `ocrEngine.getResult().getWords()` تُعيد قائمة حيث كل كلمة لها قيمة ثقة (0–100). يمكنك تصفية الكلمات التي تحت العتبة وتوجيه المستخدم للمراجعة اليدوية. +- **لغات متعددة**: إذا كنت بحاجة إلى **read handwritten notes** باللغتين الإنجليزية والإسبانية، أضف كلا اللغتين قبل استدعاء `recognize()`. +- **ملفات كبيرة**: بالنسبة لملفات PDF أو TIFF متعددة الصفحات، كرّر عبر كل صفحة باستخدام `ocrEngine.setImage(pageStream)` داخل حلقة. + +## تحويل نص الصورة المكتوبة بخط اليد إلى بيانات منظمة + +غالبًا لا تحتاج فقط إلى سلسلة نصية خام؛ قد ترغب في استخراج التواريخ أو المبالغ أو عناصر القائمة. بعد حصولك على النص المصحح، يمكن للتعبيرات النمطية أو مكتبات معالجة اللغة الطبيعية (مثل Stanford CoreNLP) تحليل المحتوى: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +هذا المقتطف يوضح مدى سهولة الانتقال من **convert handwritten image text** إلى بيانات قابلة للتنفيذ. + +## الأخطاء الشائعة وكيفية تجنبها + +| العَرَض | السبب المحتمل | الحل | +|---------|--------------|-----| +| مخرجات مشوشة، الكثير من الأحرف `?` | الصورة مظلمة جدًا أو منخفضة التباين | زيادة السطوع أو معالجة مسبقة باستخدام موازنة التدرج اللوني | +| كلمات مفقودة | الكتابة اليدوية متصلة جدًا | تمكين `ocrEngine.getSettings().setEnableCursive(true)` (إذا كان مدعومًا) | +| مدقق الإملاء يُدخل كلمات خاطئة | عدم توافق نموذج اللغة | إضافة قاموس مخصص عبر `ocrEngine.getSpellChecker().addUserWords(...)` | +| خطأ نفاد الذاكرة عند الصور الكبيرة | حجم الصورة > 10 MB | تقليل الحجم قبل التحميل، أو المعالجة على قطع | + +## مثال كامل يعمل (جاهز للنسخ واللصق) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **ملاحظة**: إذا كنت تشغل الكود من بيئة تطوير (IDE)، تأكد من أن مجلد `YOUR_DIRECTORY` موجود في مسار الفئة (classpath) أو استخدم مسارًا مطلقًا. + +## الخلاصة + +لقد غطينا **how to OCR image** في Java من البداية إلى النهاية، موضحين لك كيفية **load image for OCR**، **read handwritten notes**، تمكين تصحيح الإملاء، وأخيرًا **convert handwritten image text** إلى سلسلة نصية نظيفة. النهج بسيط، لكنه قوي بما يكفي لتطبيقات الإنتاج. + +هل أنت مستعد للتحدي التالي؟ جرّب تجربة ملفات PDF متعددة الصفحات، أضف قواميس مخصصة للمصطلحات الخاصة بالصناعة، أو أدخل ناتج OCR إلى نموذج تعلم آلي لتحليل المشاعر. السماء هي الحد عندما تجمع بين دقة Aspose OCR ومرونة Java. + +هل لديك أسئلة حول حالة طرفية معينة، أو تريد مشاركة كيفية دمج هذا في تطبيق هاتف محمول؟ اترك تعليقًا أدناه—برمجة سعيدة! + +--- + +![how to OCR image example](/images/ocr-handwritten-example.png "how to OCR image of handwritten notes") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/arabic/java/ocr-basics/_index.md index 6248b9d8b..acff778b0 100644 --- a/ocr/arabic/java/ocr-basics/_index.md +++ b/ocr/arabic/java/ocr-basics/_index.md @@ -96,11 +96,21 @@ weight: 20 ## دروس أساسيات OCR ### [How to Set License for Aspose.OCR in Java](./set-license/) اكتشف إمكانات Aspose.OCR for Java من خلال هذا الدليل خطوة بخطوة. اضبط الترخيص بسهولة وعزز قدرات OCR الخاصة بك. + ### [Calculating Skew Angle in Aspose.OCR for Java](./calculate-skew-angle/) حسّن دقة OCR باستخدام Aspose.OCR for Java. تعلم كيفية حساب زوايا الميل خطوة بخطوة. حسّن معالجة المستندات بسهولة. + ### [Getting Rectangles with Text Areas in Aspose.OCR](./get-rectangles-with-text-areas/) اكتشف قوة Aspose.OCR for Java. تعلم كيفية استخراج النص من الصور بسلاسة في هذا الدليل خطوة بخطوة. حمّل الآن لتعرف على التعرف الفعال على النص. +### [التعرف على النص من PNG في Java – دليل Aspose OCR](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) + +### [استخراج النص من الصورة – تحويل PNG إلى نص في Java](./extract-text-from-image-convert-png-to-text-in-java/) + +### [استخراج النص من الصورة في Java – مثال OCR كامل](./extract-text-from-image-in-java-complete-ocr-example/) + +### [استخراج النص من الصورة باستخدام Aspose OCR – دليل Java السريع](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) + --- **آخر تحديث:** 2025-12-08 @@ -112,4 +122,4 @@ weight: 20 {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/arabic/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..86f26f7e7 --- /dev/null +++ b/ocr/arabic/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,216 @@ +--- +category: general +date: 2026-02-19 +description: استخراج النص من الصورة باستخدام Aspose OCR Java – تعلم كيفية تحويل PNG + إلى نص، تحميل الصورة للتعرف الضوئي على الأحرف، واتبع دليل OCR بلغة Java. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: ar +og_description: استخراج النص من الصورة باستخدام Aspose OCR Java. اتبع هذا الدليل خطوة + بخطوة لتقنية OCR في Java لتحويل PNG إلى نص وتحميل الصورة للتعرف الضوئي على الأحرف. +og_title: استخراج النص من الصورة – دليل Java OCR +tags: +- OCR +- Java +- Aspose +- Image Processing +title: استخراج النص من الصورة – تحويل PNG إلى نص في جافا +url: /ar/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +Be careful with bold formatting: keep **text**. + +Also code block placeholders remain unchanged. + +Proceed. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# استخراج النص من الصورة – دليل Java OCR + +هل احتجت يومًا إلى **استخراج النص من الصورة** لكنك لم تكن متأكدًا أي مكتبة ستمكنك من ذلك دون عناء؟ لست وحدك—المطورون يسألون باستمرار، “كيف يمكنني تحويل PNG إلى نص في Java؟” الخبر السار هو أن Aspose OCR يجعل العملية بأكملها سهلة كالمشي في الحديقة. في هذا الدليل سنستعرض **دليل java ocr كامل**، ونظهر لك كيفية **تحميل الصورة للـ OCR**، وسنحصل على نص نظيف وقابل للبحث. + +سنغطي كل شيء من إعداد المحرك إلى التعامل مع المحتوى متعدد اللغات، بحيث تكون في النهاية قادرًا على **استخراج النص من الصورة** لأي حجم أو تنسيق أو لغة. لا خدمات خارجية، لا مفاتيح API—فقط ملف JAR واحد وقليل من الأسطر البرمجية. + +## ما ستحتاجه + +- JDK 8 أو أحدث مثبت (الكود يعمل على JDK 11+ أيضًا). +- Maven أو Gradle لسحب مكتبة Aspose OCR، أو يمكنك تنزيل ملف JAR يدويًا من موقع Aspose. +- صورة PNG تحتوي على نص قابل للقراءة (للمثال سنستخدم `khmer-sign.png`). +- بيئة تطوير أو محرر نصوص تشعر بالراحة معه—IntelliJ IDEA، Eclipse، VS Code، أيًا كان. + +هذا كل شيء. لا أطر ثقيلة، لا بيانات اعتماد سحابية. جاهز؟ لنبدأ باستخراج النص من ملفات الصورة. + +## الخطوة 1: إضافة Aspose OCR إلى مشروعك + +أولًا وقبل كل شيء—تحتاج إلى محرك OCR في مسار الفئة (classpath). إذا كنت تستخدم Maven، أضف هذا الاعتماد إلى `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +أو باستخدام Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +إذا كنت تفضل الطريقة اليدوية، قم بتنزيل ملف JAR من صفحة تحميل Aspose وضعه في مجلد `libs` الخاص بمشروعك، ثم أضفه إلى مسار البناء. + +> **نصيحة احترافية:** دائمًا اختر أحدث نسخة مستقرة؛ الإصدارات القديمة قد تفتقد حزم اللغات أو تصحيحات الأخطاء. + +## الخطوة 2: إنشاء كائن OcrEngine + +الآن بعد أن المكتبة متاحة، يمكننا إنشاء كائن `OcrEngine`. فكر في المحرك كالعقل الذي سيقرأ البكسلات ويحولها إلى أحرف. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +لماذا ننشئ محركًا جديدًا في كل مرة؟ المحرك يحتفظ بذاكرات داخلية وبيانات اللغة؛ البدء من الصفر يضمن نتائج حتمية، خاصةً عندما تقوم بتغيير اللغات لاحقًا. + +## الخطوة 3: تمكين اللغة المطلوبة (اختياري لكن مُستحسن) + +Aspose OCR يأتي مع عشرات حزم اللغات. إذا كنت تعرف لغة الصورة المصدر، فعّلها صراحةً؛ هذا يسرّع التعرف ويحسّن الدقة. في مثالنا سنفعّل اللغة الخميرية (`khm`)، لكن يمكنك استبدالها بـ `ENG` للإنجليزية، `CHN` للصينية، إلخ. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **لماذا هذا مهم:** عندما **تحمّل الصورة للـ OCR**، سيبحث المحرك فقط في القواميس الخاصة باللغات المفعّلة. ترك جميع اللغات مفعّلة قد يبطئ العملية ويزيد من الإيجابيات الزائفة. + +## الخطوة 4: تحميل الصورة للـ OCR – تحويل PNG إلى نص + +هنا يحدث خطوة **تحميل الصورة للـ OCR**. توفر Aspose أداة مساعدة `ImageStream.fromFile` التي تُبسط التعامل مع الإدخال/الإخراج منخفض المستوى. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +إذا كانت صورتك بتنسيق آخر (JPEG، BMP، TIFF)، تعمل نفس الطريقة—Aspose يكتشف التنسيق تلقائيًا. فقط تأكد من صحة مسار الملف؛ وإلا ستواجه استثناء `FileNotFoundException`. + +## الخطوة 5: تشغيل عملية OCR وتحويل PNG إلى نص + +مع جاهزية المحرك وتحميل الصورة، يصبح التعرف الفعلي استدعاءً لطريقة واحدة. كائن النتيجة يمنحك السلسلة الخام بالإضافة إلى درجات الثقة. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +هذا كل شيء—لقد **حولت PNG إلى نص**. قد تحتوي السلسلة المعادة على فواصل أسطر ومسافات كما رآها المحرك. يمكنك معالجة ما بعد ذلك باستخدام `trim()`, `replaceAll("\\s+", " ")` أو أي تنظيف آخر تحتاجه. + +## الخطوة 6: إخراج النتيجة (أو تخزينها) + +لإجراء فحص سريع، اطبع النتيجة على وحدة التحكم. في تطبيق حقيقي ربما تكتبها إلى ملف، قاعدة بيانات، أو تمرّرها إلى خدمة أخرى. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**الناتج المتوقع** (للعلامة الخميرية المقدمة) قد يبدو هكذا: + +``` +សួស្តី +Welcome +``` + +إذا كان الناتج مشوشًا، تأكد من أنك فعّلت اللغة الصحيحة في الخطوة 3 وأن الصورة ليست ضبابية جدًا. زيادة دقة الصورة (مثلاً مسح بدقة 300 dpi) غالبًا ما يساعد. + +## مثال كامل يعمل + +بجمع كل الأجزاء معًا، إليك برنامج مستقل يمكنك نسخه ولصقه في `ExtractTextExample.java` وتشغيله: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +شغّل البرنامج باستخدام: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +أو، إذا كنت تستخدم Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +يجب أن ترى النص المستخرج يُطبع على وحدة التحكم، مؤكدًا أنك نجحت في **استخراج النص من الصورة** باستخدام Aspose OCR. + +## المشكلات الشائعة وكيفية إصلاحها + +| العَرَض | السبب المحتمل | الحل | +|---------|--------------|-----| +| إرجاع سلسلة فارغة | لم يتم تمكين لغة أو تم إدخال رمز لغة خاطئ | أضف `OcrLanguage` المناسب (مثال: `ENG` للإنجليزية). | +| أحرف مشوشة | دقة الصورة منخفضة أو خلفية صاخبة | استخدم مصدرًا بدقة أعلى، أو عالج الصورة بفلتر شحذ. | +| `OutOfMemoryError` | تحميل صورة كبيرة بحجمها الكامل | قلل حجم الصورة قبل تمريرها إلى المحرك (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | مسار غير صحيح | تحقق من المسار المطلق أو النسبي؛ استخدم `Paths.get(...).toAbsolutePath()`. | + +> **تذكر:** OCR عملية احتمالية. حتى مع الإعدادات المثالية قد تحتاج إلى تصحيح بعض الأحرف يدويًا، خاصةً للخطوط المتصلة. + +## توسيع الدرس – الخطوات التالية + +- **المعالجة الدفعية:** تكرار عبر مجلد يحتوي على ملفات PNG، واستدعاء نفس المنطق لكل صورة. +- **إخراج PDF:** استخدم Aspose PDF لدمج النص المستخرج داخل PDF قابل للبحث. +- **اكتشاف اللغة:** استدعِ `ocrEngine.detectLanguage()` قبل تعيين لغة لتسمح للمحرك بالتخمين تلقائيًا. +- **التكامل السحابي:** إذا احتجت إلى التوسع، غلف الكود في نقطة نهاية REST ودع الخدمات المصغرة تستدعيه. + +كل هذه المواضيع تبني بشكل طبيعي على **دليل java ocr** الذي أنجزناه للتو، وتظهر مدى مرونة Aspose OCR API حقًا. + +## الخلاصة + +لقد استعرضنا دليلًا **java ocr** كاملًا يتيح لك **استخراج النص من الصورة**، **تحويل PNG إلى نص**، و**تحميل الصورة للـ OCR** بشكل صحيح باستخدام Aspose OCR. الخطوات بسيطة: أضف المكتبة، أنشئ محركًا، فعّل اللغة المناسبة، حمّل PNG، نفّذ `recognize()`، وتعامل مع الناتج. مع هذه الأساسيات يمكنك أتمتة إدخال البيانات، بناء أرشيفات قابلة للبحث، أو تشغيل أي تطبيق يحتاج نصًا قابلًا للقراءة آليًا من الصور. + +جرّبه مع صورك الخاصة—ربما لقطة شاشة لإيصال أو عقد ممسوح. عدّل إعدادات اللغة، جرب دقة مختلفة، وسترى بسرعة مدى مرونة الحل. إذا واجهت مشكلة، راجع جدول المشكلات أو راجع الوثائق الرسمية لـ Aspose؛ فهي شاملة ومحدثة باستمرار. + +برمجة سعيدة، ولتكن مشروعك القادم مليئًا بنص نظيف وقابل للبحث! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/arabic/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..d7cb1970a --- /dev/null +++ b/ocr/arabic/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,150 @@ +--- +category: general +date: 2026-02-19 +description: استخراج النص من الصورة باستخدام Java OCR. تعلم مثال Java OCR يقوم بتحميل + صورة للـ OCR ويستخرج النص من ملفات الفواتير في بضع خطوات فقط. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: ar +og_description: استخراج النص من الصورة باستخدام Java OCR. يوضح هذا الدليل كيفية تحميل + الصورة للتعرف الضوئي على الأحرف واستخراج النص من الفواتير باستخدام مثال بسيط لـ + Java OCR. +og_title: استخراج النص من صورة في جافا – مثال كامل على OCR +tags: +- OCR +- Java +- Aspose +- Image Processing +title: استخراج النص من الصورة في جافا – مثال كامل على التعرف الضوئي على الأحرف (OCR) +url: /ar/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +craft. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# استخراج النص من صورة في جافا – مثال كامل على OCR + +هل احتجت يومًا إلى **استخراج النص من صورة** لكن لم تكن متأكدًا أي مكتبة تختار؟ لست وحدك—العديد من المطورين يواجهون هذه المشكلة عند أتمتة معالجة الفواتير أو بناء أرشيفات قابلة للبحث. الخبر السار؟ ببضع أسطر من جافا يمكنك تحميل صورة للـ OCR، تعريف منطقة اهتمام، واستخراج النص الدقيق الذي تحتاجه. + +في هذا الدرس سنستعرض **مثال java ocr** يوضح بالضبط كيف **نحمّل صورة للـ OCR**، نحدد ROI، و**نستخرج النص من ملفات الفواتير** باستخدام Aspose.OCR. في النهاية ستحصل على برنامج قابل للتنفيذ يمكنك إدراجه في أي مشروع جافا. + +## ما ستتعلمه + +- كيفية إنشاء كائن `OcrEngine` ولماذا هو مهم. +- الطريقة الصحيحة **لتحميل صورة للـ OCR** باستخدام `ImageStream` من Aspose. +- ضبط **منطقة الاهتمام (ROI)** بحيث تعالج فقط الجزء من الصورة الذي يحتوي على مبلغ الفاتورة. +- استخراج النص المعترف به وطباعة النتيجة إلى وحدة التحكم. +- الأخطاء الشائعة (مثل إحداثيات المستطيل الخاطئة) والحلول السريعة. + +**المتطلبات المسبقة** + +- جافا 8 أو أحدث مثبتة. +- Maven أو Gradle لجلب مكتبة Aspose.OCR (`com.aspose:aspose-ocr`). +- صورة فاتورة نموذجية (`invoice.png`) موجودة في دليل معروف. + +هل لديك كل ذلك؟ رائع—لنبدأ. + +![استخراج النص من صورة باستخدام Java OCR](/images/extract-text-from-image-java.png "مثال استخراج النص من صورة") + +## استخراج النص من صورة – مثال Java OCR خطوة بخطوة + +فيما يلي الشيفرة الكاملة. يمكنك نسخها ولصقها في `RoiOcrExample.java` وتشغيلها مباشرة. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### لماذا كل خطوة مهمة + +1. **إنشاء محرك OCR** – بدون محرك لا يوجد سياق لمعالجة الصورة. الكائن يتيح لك أيضًا تعديل حزم اللغات لاحقًا إذا احتجت دعمًا متعدد اللغات. +2. **تحميل الصورة** – `ImageStream.fromFile` يخفف عنك التعامل مع تنسيقات الملفات، مما يضمن أن المحرك يقرأ البايتات بشكل صحيح. إذا تخطيت هذه الخطوة ستحصل على `NullPointerException`. +3. **تحديد ROI** – معالجة الصفحة بأكملها قد تكون مضيعة للموارد. بتضييق المستطيل إلى منطقة إجمالي الفاتورة، تسرّع التعرف وتقلل الضوضاء. +4. **استدعاء `recognize()`** – هنا يحدث السحر. الطريقة تنفّذ خوارزمية OCR على الـ ROI وتنتج كائن نتيجة. +5. **طباعة النتيجة** – في المشاريع الفعلية ربما تخزن النص في قاعدة بيانات، لكن `System.out.println` مثالي للعرض السريع. + +## تحميل صورة للـ OCR + +إذا كنت تتساءل ما إذا كان المسار يجب أن يكون مطلقًا أم نسبيًا، الجواب هو أن كلاهما يعمل—فقط تأكد أن عملية جافا يمكنها قراءة الملف. على نظام Windows، يجب هروب الشرطات العكسية (`C:\\images\\invoice.png`) أو يمكنك استخدام الشرطات المائلة (`C:/images/invoice.png`). + +**نصيحة محترف:** إذا كنت تعالج العديد من الفواتير داخل حلقة، أعد استخدام نفس كائن `OcrEngine`؛ فهو يخزن الموارد الداخلية ويحسّن الإنتاجية. + +## تعريف منطقة الاهتمام (ROI) + +اختيار المستطيل المناسب قد يتطلب بعض التجربة. طريقة مفيدة للحصول على الإحداثيات هي فتح الصورة في أي محرر رسومات (مثل GIMP أو Paint.NET) وتحريك المؤشر فوق المنطقة—ستظهر قيم X/Y في شريط الحالة. + +حالة خاصة: بعض الفواتير لها تخطيطات متغيرة. في هذه الحالة يمكنك إجراء مسح سريع مسبق على الصورة بأكملها، البحث عن كلمات مفتاحية مثل “Total:” باستخدام تعبير نمطي، ثم تعديل الـ ROI ديناميكيًا. + +## تنفيذ OCR والحصول على النص + +استدعاء `recognize()` متزامن—يتوقف الخيط حتى ينتهي المحرك. للدفعات الكبيرة قد ترغب في إنشاء مجموعة خيوط ومعالجة الصور بالتوازي. تذكر أن كل خيط يحتاج إلى كائن `OcrEngine` خاص به؛ فهي غير آمنة للاستخدام المتعدد الخيوط. + +## تشغيل البرنامج والتحقق من النتيجة + +قم بالترجمة والتنفيذ: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +يجب أن ترى شيئًا مشابهًا لـ: + +``` +ROI text: $1,254.00 +``` + +إذا ظهرت النتيجة مشوشة، تحقق مرة أخرى من إحداثيات الـ ROI وتأكد من جودة الصورة (300 dpi أو أكثر هو الأفضل). + +### الأخطاء الشائعة وكيفية إصلاحها + +| العَرَض | السبب المحتمل | الحل | +|---------|--------------|-----| +| سلسلة فارغة | ROI خارج حدود الصورة | تحقق من قيم المستطيل مقارنة بأبعاد الصورة | +| كلمات مكتوبة خطأ | دقة منخفضة | استخدم مصدر بدقة أعلى أو طبّق معالجة مسبقة للصورة (مثل التحويل إلى ثنائي) | +| `java.lang.NoClassDefFoundError` | عدم وجود ملف JAR الخاص بـ Aspose في مسار الفئة | أضف `aspose-ocr.jar` إلى `-cp` أو استخدم إدارة الاعتمادات عبر Maven/Gradle | + +## الخلاصة + +الآن تعرف كيف **استخراج النص من صورة** في جافا باستخدام **مثال java ocr** مختصر. بتحميل الصورة بشكل صحيح، تعريف ROI مركّز، واستدعاء `recognize()`، يمكنك بثقة **استخراج النص من ملفات الفواتير** وإرسال البيانات إلى الأنظمة اللاحقة. + +ما الخطوة التالية؟ جرّب تغيير الـ ROI لحقول مختلفة (التاريخ، اسم المورد)، جرب حزم اللغات للفواتير متعددة اللغات، أو دمج خطوة OCR في خدمة ميكروية مبنية على Spring Boot. النمط نفسه يعمل مع الإيصالات، جوازات السفر، أو أي مستند تحتاج فيه إلى استخراج نص دقيق. + +إذا كان لديك أسئلة حول توسيع هذا الحل أو التعامل مع المسحات الضوضائية، اترك تعليقًا أدناه—برمجة سعيدة! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/arabic/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..e45c7627f --- /dev/null +++ b/ocr/arabic/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-02-19 +description: استخراج النص من الصورة في جافا باستخدام Aspose OCR. تعلّم كيفية التعرف + على النص من ملفات PNG، تحويل الصورة إلى سلسلة، وقراءة النص من المسح الضوئي في بضع + خطوات فقط. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: ar +og_description: استخراج النص من الصورة بسرعة. يوضح هذا الدرس كيفية التعرف على النص + من ملفات PNG، وتحويل الصورة إلى سلسلة، وقراءة النص من المسح الضوئي باستخدام Aspose + OCR. +og_title: استخراج النص من الصورة باستخدام Aspose OCR – دليل جافا +tags: +- Java +- OCR +- Aspose +title: استخراج النص من الصورة باستخدام Aspose OCR – دليل سريع لجافا +url: /ar/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# استخراج النص من الصورة – دليل Java كامل + +هل احتجت يوماً إلى **استخراج النص من الصورة** لكن لم تعرف أي مكتبة تختار؟ ربما لديك إيصال ممسوح ضوئياً بصيغة PNG وتريد النص كسلسلة نصية عادية لمعالجة إضافية. في تجربتي، تجعل مكتبة Aspose OCR هذه المهمة سهلة جداً، خاصةً عندما تعمل مع Java. + +في هذا الدليل سنستعرض كل ما تحتاج معرفته: من إعداد تبعية Aspose OCR، تحميل ملف PNG، **التعرف على النص من png**، وحتى تحويل النتيجة إلى `String` جافا قابلة للاستخدام. في النهاية ستتمكن من **تحويل الصورة إلى سلسلة نصية**، وسترى أيضاً كيفية **قراءة النص من ملفات المسح** دون عناء. + +## ما ستتعلمه + +- كيفية إضافة Aspose OCR إلى مشروع Maven أو Gradle. +- الشيفرة الدقيقة المطلوبة **لاستخراج النص من الصورة** باستخدام استدعاء طريقة واحدة. +- لماذا تُعد فئة `ImageStream` الطريقة المفضلة لتغذية البيانات إلى المحرك. +- نصائح للتعامل مع المسحات الكبيرة، ملفات PDF متعددة الصفحات، والمشكلات الشائعة. + +لا تحتاج إلى خبرة سابقة في OCR، فقط فهم أساسي لـ Java وصورة PNG تريد معالجتها. + +## المتطلبات المسبقة + +| المتطلب | السبب | +|-------------|--------| +| Java 8 أو أحدث | Aspose OCR تستهدف Java 8+. | +| Maven أو Gradle (اختياري) | يبسط إدارة التبعيات. | +| صورة PNG (مثال: `quick.png`) | المصدر الذي سنجري عليه OCR. | +| اتصال بالإنترنت (في التشغيل الأول) | قد تقوم المكتبة بتحميل حزم اللغات تلقائياً. | + +إذا كان لديك بيئة تطوير Java مثل IntelliJ IDEA أو Eclipse، فأنت جاهز للبدء. + +--- + +## الخطوة 1: إعداد Aspose OCR في مشروعك + +### Maven + +أضف التبعية التالية إلى ملف `pom.xml` الخاص بك: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **نصيحة احترافية:** إذا كنت تستخدم بروكسي مؤسسي، تأكد من أن Maven/Gradle يستطيع الوصول إلى `repo.maven.apache.org`. وإلا سيفشل البناء قبل كتابة سطر واحد من الشيفرة. + +--- + +## الخطوة 2: تحميل صورة PNG + +فئة `ImageStream` تُجرد تفاصيل نظام الملفات وتعمل مع التدفقات، URLs، أو مصفوفات البايت. إليك كيفية تحميل PNG محلي: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **لماذا هذا مهم:** استخدام `ImageStream.fromFile` يضمن أن محرك OCR يتلقى الصورة بصيغة يفهمها بالكامل، مما يحسن دقة التعرف مقارنةً بتغذية مصفوفات البايت الخام. + +--- + +## الخطوة 3: التعرف على النص من PNG + +تقدم Aspose OCR طريقة ثابتة واحدة تقوم بالعمل الشاق: `OcrEngine.recognize`. تُعيد هذه الطريقة `String` جافا عادي، وهو بالضبط ما تحتاجه عندما تريد **تحويل الصورة إلى سلسلة نصية**. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### ماذا يحدث خلف الكواليس؟ + +1. **ما قبل المعالجة:** يقوم المحرك تلقائياً بإزالة الانحراف من الصورة وتطبيع التباين. +2. **اكتشاف اللغة:** إذا لم تحدد لغة، تحاول Aspose استنتاجها، وهو مفيد للمسحات السريعة. +3. **التعرف:** يعمل محرك OCR الأساسي على نموذج شبكة عصبية تم تدريبه على ملايين الأحرف. + +نظرًا لأن كل ذلك مُغلق في استدعاء واحد، لا تحتاج إلى تعديل إعدادات منخفضة المستوى إلا إذا كان لديك حالة استخدام متخصصة جداً. + +--- + +## الخطوة 4: عرض واستخدام السلسلة المستخرجة + +الآن بعد أن حصلت على النص، يمكنك طباعته، تخزينه في قاعدة بيانات، أو إرساله إلى API آخر. إليك أبسط طريقة—استخدام `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### النتيجة المتوقعة + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **ملاحظة:** النتيجة الدقيقة تعتمد على محتوى `quick.png`. إذا كانت الصورة تحتوي على ملاحظة مكتوبة يدوياً، قد ترى بعض الأخطاء في التعرف—لا شيء لا يمكن لمعالجة ما بعد التعرف أن تحله. + +--- + +## الخطوة 5: التعامل مع الحالات الشائعة + +### مسحات كبيرة أو ملفات PDF متعددة الصفحات + +إذا كنت بحاجة إلى **قراءة النص من ملفات المسح** التي تتجاوز حجم PNG العادي، فكر في: + +- تقسيم الصورة إلى قطع (`ImageStream.fromRegion`). +- استخدام `OcrEngine.recognizeMultiplePages` لملفات PDF. + +### لغات غير إنجليزية + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### نصائح الأداء + +- أعد استخدام نفس كائن `OcrEngine` لعدة صور لتجنب تكرار التهيئة. +- للمعالجة الدفعية، فعّل المعالجة المتعددة الخيوط لكن حدِّد عدد الخيوط بعدد نوى المعالج لتجنب استنزاف الذاكرة. + +--- + +## مثال عملي كامل + +فيما يلي الفئة Java الكاملة الجاهزة للتنفيذ. انسخها وألصقها في بيئتك، عدّل مسار الصورة، ثم اضغط **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +تشغيل هذا البرنامج يطبع نتيجة OCR إلى وحدة التحكم، وبالتالي **يحول الصورة إلى سلسلة نصية** في بضع أسطر من الشيفرة فقط. + +--- + +## الخلاصة + +أنت الآن تعرف كيف **استخراج النص من الصورة** في Java باستخدام Aspose OCR. العملية تتلخص في ثلاث خطوات بسيطة: تحميل PNG، استدعاء `OcrEngine.recognize`، واستخدام السلسلة الناتجة. سواء كنت تريد **التعرف على النص من png**، **تحويل الصورة إلى سلسلة نصية**، أو ببساطة **قراءة النص من ملفات المسح**، فإن هذا النهج يمنحك حلاً موثوقاً وجاهزاً للإنتاج. + +هل أنت مستعد للتحدي التالي؟ جرّب معالجة مجلد من الإيصالات الممسوحة في حلقة، احفظ كل نتيجة في CSV، أو جرب إعدادات لغة محددة لتحسين الدقة للغات غير الإنجليزية. السماء هي الحد، والشيفرة التي كتبتها الآن هي أساس قوي. + +برمجة سعيدة، ولا تتردد في طرح أي أسئلة في التعليقات—سأكون سعيداً بالمساعدة! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/arabic/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..6b4c3d75d --- /dev/null +++ b/ocr/arabic/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-02-19 +description: التعرف على النص من ملفات PNG في جافا باستخدام Aspose OCR – تعلم كيفية + استخراج النص من صورة جافا ومعالجة الصورة باستخدام OCR بكفاءة. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: ar +og_description: التعرف على النص من ملف PNG في جافا باستخدام Aspose OCR. يوضح هذا الدرس + كيفية استخراج النص من صورة جافا ومعالجة الصورة باستخدام OCR خطوة بخطوة. +og_title: التعرف على النص من PNG في جافا – دليل Aspose OCR الكامل +tags: +- OCR +- Java +- Image Processing +title: التعرف على النص من ملف PNG في جافا – دليل Aspose OCR +url: /ar/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# التعرف على النص من PNG في Java – دليل Aspose OCR الكامل + +هل احتجت يومًا إلى **recognize text from png** لكن لم تكن متأكدًا أي مكتبة تختار؟ لست وحدك—العديد من مطوري Java يواجهون هذه المشكلة عندما يتعاملون لأول مرة مع استخراج البيانات من الصور. الخبر السار هو أن Aspose OCR يجعل العملية بأكملها شبه بلا ألم، وفي هذا الدليل سترى بالضبط كيف **extract text from image java** المشاريع بينما **process image with OCR** بطريقة آمنة للخيوط. + +في الدقائق القليلة القادمة سننشئ برنامج Java صغير يقوم بتحميل ملف PNG، ويجري OCR على المعالج باستخدام ما يصل إلى ثمانية خيوط، ويطبع السلسلة المتعرف عليها إلى وحدة التحكم. لا خدمات خارجية، لا مفاتيح API سرية—فقط كود Java بسيط يمكنك نسخه ولصقه وتشغيله اليوم. + +## ما ستحتاجه + +- **Java 17** أو أحدث (الكود يُترجم مع الإصدارات السابقة، لكن 17 هو الخيار المثالي). +- **Aspose.OCR for Java** JAR (حمّله من موقع Aspose أو احصل عليه عبر Maven). +- صورة PNG تريد قراءتها—مثلاً `document-page1.png` مخزنة في مكان ما على القرص. +- بيئتك المفضلة IDE أو محرر نصوص بسيط وواجهة سطر الأوامر. + +هذا كل شيء. إذا كان لديك هذه المتطلبات، يمكننا الغوص مباشرةً في الحل. + +![Java code to recognize text from png using Aspose OCR](image-placeholder.png "مثال Java للتعرف على النص من png"){alt="كود Java للتعرف على النص من png باستخدام Aspose OCR"} + +## خطوة بخطوة: التعرف على النص من PNG + +فيما يلي نقسم التنفيذ إلى أجزاء واضحة وقابلة للإدارة. كل جزء هو عنوان H2، بحيث يمكنك القفز مباشرةً إلى الجزء الذي يهمك. + +### 1. إضافة Aspose OCR إلى مشروعك + +**لماذا؟** محرك OCR موجود داخل مكتبة Aspose؛ بدونها لن يعرف المترجم ما هو `OcrEngine`. + +إذا كنت تستخدم Maven، ضع هذا المقتطف في ملف `pom.xml` الخاص بك: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +لـ Gradle، يبدو كالتالي: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **نصيحة احترافية:** تحقق دائمًا من رقم الإصدار الأحدث؛ الإصدارات الجديدة غالبًا ما تجلب تحسينات في الأداء لمعالجة متعددة الخيوط. + +### 2. إنشاء وتكوين محرك OCR + +**لماذا؟** إنشاء كائن `OcrEngine` يمنحك كائنًا جاهزًا للاستخدام، وتعديل إعدادات الجهاز يتيح لك استغلال جميع نوى المعالج المتاحة. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +هنا نحدد صراحةً الجهاز إلى `CPU`. إذا انتقلت لاحقًا إلى بيئة مدعومة بـ GPU، ما عليك سوى تبديل قيمة الـ enum—دون الحاجة لتغييرات أخرى في الكود. + +### 3. تحميل صورة PNG + +**لماذا؟** يعمل OCR على تدفق صورة، وليس على مسار ملف مباشرة. تحويل الملف إلى `ImageStream` يعزل عن التنسيق الأساسي. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +استبدل `YOUR_DIRECTORY` بالمجلد الفعلي. إذا لم يُعثر على الملف، سيطرح المحرك استثناءً `IOException`، وسنلتقطه لاحقًا. + +### 4. تشغيل التعرف والتقاط النتيجة + +**لماذا؟** طريقة `recognize()` تقوم بالعمل الشاق—اكتشاف الأحرف، الأسطر، والتخطيط. الـ `OcrResult` المرتجع يحتوي على النص العادي. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +يمكنك أيضًا طلب نتيجة `Pdf` أو `Html`، لكن لغرض **extract text from image java** نلتزم بالنص العادي. + +### 5. إخراج النص وتنظيف الموارد + +**لماذا؟** `System.out.println` بسيط يكفي للعرض، لكن في تطبيق واقعي قد تكتب إلى ملف أو قاعدة بيانات. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +نظرًا لأن `OcrEngine` يطبق `AutoCloseable`، فمن العادة الجيدة تغليف كل شيء داخل كتلة try‑with‑resources. هذا يضمن تحرير الموارد الأصلية بسرعة. + +### 6. مثال كامل قابل للتنفيذ + +بجمع كل ذلك معًا، إليك البرنامج الكامل الذي يمكنك تجميعه وتشغيله: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**المخرجات المتوقعة** (بافتراض أن PNG يحتوي على “Hello World”): + +``` +=== OCR Result === +Hello World +``` + +إذا كانت الصورة أكثر تعقيدًا—عدة أسطر، جداول، أو ملاحظات مكتوبة يدويًا—ستعكس النتيجة بالضبط ما يكتشفه Aspose OCR، مع الحفاظ على فواصل الأسطر حيثما كان ذلك مناسبًا. + +## الأسئلة الشائعة والحالات الخاصة + +### ماذا لو كان PNG كبيرًا؟ + +الصور الكبيرة قد تستهلك الذاكرة. حل عملي هو **downscale** الصورة قبل تمريرها إلى المحرك: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +تقليل الحجم يقلل من حمل المعالج دون التضحية بدقة OCR لمعظم النصوص المطبوعة. + +### هل يمكن تشغيل OCR على PDF بدلاً من PNG؟ + +بالطبع. Aspose OCR يقبل أيضًا ملفات PDF عبر كائنات `PdfDocument`. نفس استدعاء `recognize()` يعمل، لذا يمكنك **process image with OCR** بغض النظر عن تنسيق المصدر. + +### كيف أحسن الدقة للغات غير اللاتينية؟ + +حدد اللغة قبل التعرف: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +تأتي Aspose مع عشرات حزم اللغات؛ اختر فقط الحزمة التي تتطابق مع محتوى صورتك. + +### هل عدد الخيوط دائمًا مفيد؟ + +المزيد من الخيوط يسرع المعالجة على المعالجات متعددة النوى، لكن بعد عدد النوى الفعلية ستلاحظ عائدًا متناقصًا. إذا لاحظت استهلاكًا أعلى للمعالج دون تحسين ملحوظ في السرعة، قلل العدد إلى `Runtime.getRuntime().availableProcessors()`. + +## الخلاصة: ما أنجزناه + +لقد قمنا للتو **recognize text from png** باستخدام برنامج Java مختصر، وعرضنا كيفية **extract text from image java** باستخدام Aspose OCR، وغطينا الخطوات الأساسية لـ **process image with OCR** بطريقة جاهزة للإنتاج. الكود مستقل، والتفسيرات تجيب على كل من “كيف” و “لماذا”، والنصائح تعالج المشكلات الشائعة التي قد تواجهها. + +## ما التالي؟ + +- **Batch processing:** تكرار عبر دليل يحتوي على PNGs وكتابة كل نتيجة إلى ملف `.txt`. +- **PDF generation:** تمرير مخرجات OCR إلى Aspose.PDF لإنشاء ملفات PDF قابلة للبحث. +- **Cloud scaling:** نشر نفس الكود إلى حاوية تُدار بواسطة Kubernetes والسماح لمجموعة الخيوط بالتكيف مع موارد الـ pod. + +لا تتردد في التجربة—بدل الصورة، عدل عدد الخيوط، أو غيّر اللغات. محرك 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/java/ocr-operations/_index.md b/ocr/arabic/java/ocr-operations/_index.md index 94d5eaffc..0a05c06bd 100644 --- a/ocr/arabic/java/ocr-operations/_index.md +++ b/ocr/arabic/java/ocr-operations/_index.md @@ -80,6 +80,9 @@ weight: 21 افتح إمكانات التعرف القوية على النص في Java مع Aspose.OCR. تعرف على النص في صور TIFF بسهولة. حمّل الآن لتجربة OCR سلسة. ### [التعرف على نص الصورة باستخدام Aspose OCR – دليل OCR كامل للـ Java](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) دليل شامل يشرح كيفية التعرف على النص في الصور باستخدام Aspose OCR مع Java خطوة بخطوة. +### [إنشاء PDF قابل للبحث من JPG – دليل Java لتحويل الصورة إلى PDF قابل للبحث](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +دليل خطوة بخطوة لإنشاء ملف PDF قابل للبحث من صورة JPG باستخدام Aspose.OCR للـ Java. +### [كيفية تصحيح الميل في الصورة — دليل معالجة ما قبل OCR خطوة بخطوة](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) ## الأسئلة المتكررة diff --git a/ocr/arabic/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/arabic/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..a32ed879b --- /dev/null +++ b/ocr/arabic/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,187 @@ +--- +category: general +date: 2026-02-19 +description: إنشاء ملف PDF قابل للبحث من صورة JPG باستخدام Aspose OCR في Java. تحويل + JPG إلى PDF والتعرف على النص من الصورة بسرعة. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: ar +og_description: إنشاء ملف PDF قابل للبحث من صورة JPG باستخدام Aspose OCR. تعلم كيفية + تحويل JPG إلى PDF والتعرف على النص من الصورة في Java. +og_title: إنشاء ملف PDF قابل للبحث من JPG – دليل Java OCR +tags: +- aspose-ocr +- java +- pdf +- ocr +title: إنشاء ملف PDF قابل للبحث من JPG – دليل جافا لتحويل الصورة إلى PDF قابل للبحث +url: /ar/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# إنشاء PDF قابل للبحث من JPG – دليل Java لتحويل الصورة إلى PDF قابل للبحث + +هل احتجت يوماً إلى **إنشاء PDF قابل للبحث** من صورة ممسوحة ضوئياً لكنك لم تكن متأكدًا من أين تبدأ؟ لست وحدك—العديد من المطورين يواجهون نفس المشكلة عندما يكون لديهم ملف JPG يحتاج إلى أن يكون قابلًا للبحث. الخبر السار هو أنه باستخدام Aspose OCR for Java يمكنك تحويل تلك الصورة إلى PDF قابل للبحث بالكامل ببضع أسطر من الشيفرة. + +في هذا الدرس سنستعرض العملية بالكامل: تحميل JPG، التعرف على النص، وحفظ النتيجة كملف PDF قابل للبحث. في النهاية ستعرف كيف **تحول jpg إلى pdf**، كيف **استخراج النص من jpg**، ولماذا يعتبر هذا النهج أكثر موثوقية غالبًا من محاولة OCR للـ PDF بعد إنشائه. + +## ما ستحتاجه + +قبل أن نبدأ، تأكد من وجود ما يلي على جهازك: + +* **Java Development Kit (JDK) 8 أو أحدث** – يستخدم الكود واجهات برمجة تطبيقات Java القياسية. +* مكتبة **Aspose OCR for Java** – يمكنك الحصول عليها من Maven Central أو تحميل ملف JAR من موقع Aspose. +* **ملف JPG تجريبي** يحتوي على نص قابل للقراءة (مثل فاتورة ممسوحة أو لقطة شاشة لوثيقة). + +لا توجد أطر عمل إضافية مطلوبة؛ المثال يعمل مع مشروع Java عادي. + +## الخطوة 1 – إعداد المشروع وإضافة Aspose OCR + +أولاً، أنشئ مشروع Maven جديد (أو مجرد مجلد يحتوي على ملف JAR في مسار الـ classpath). إذا كنت تستخدم Maven، أضف هذا الاعتماد إلى ملف `pom.xml` الخاص بك: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **نصيحة احترافية:** تحقق دائمًا من أحدث نسخة في مستودع Aspose Maven؛ الإصدارات الأحدث تتضمن تحسينات في الأداء وإصلاحات للأخطاء. + +بعد حل الاعتماد، أنت جاهز لكتابة كود Java الذي سي **ينشئ PDF قابل للبحث**. + +## الخطوة 2 – تحميل الصورة (image to searchable pdf) + +الخطوة الفعلية الأولى هي توجيه محرك OCR إلى صورة المصدر. هنا يبدأ التحويل من **image to searchable pdf** فعليًا. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **لماذا هذا مهم:** `setImage` يخبر Aspose أي صورة bitmap يجب تحليلها. إذا قدمت صورة منخفضة الدقة، سيتأثر جودة OCR، لذا تأكد من أن JPG بدقة لا تقل عن 300 dpi للحصول على أفضل النتائج. + +## الخطوة 3 – التعرف على النص من الصورة + +الآن بعد أن يعرف المحرك أي صورة سيعمل عليها، يمكننا أن نطلب منه **التعرف على النص من الصورة**. تقوم Aspose OCR بالمعالجة الثقيلة في الخلفية، بما في ذلك اكتشاف اللغة، تجزئة الأحرف، وتقييم الثقة. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +نداء `recognize()` يُعيد واجهة سلسة، مما يسمح بربط طريقة `save`. عند تحديد `OcrOutputFormat.SEARCHABLE_PDF`، تُدرج المكتبة طبقة نصية غير مرئية داخل الـ PDF مع الحفاظ على مظهر الصورة الأصلي. + +> **حالة خاصة:** إذا كان JPG يحتوي على عدة صفحات (مثل TIFF متعدد الصفحات محفوظ كملفات JPG منفصلة)، ستحتاج إلى حلقة تمر على كل ملف ودمج ملفات PDF الناتجة لاحقًا. يمكن إعادة استخدام نفس محرك OCR لكل تكرار. + +## الخطوة 4 – التحقق من النتيجة + +بعد إكمال عملية الحفظ، رسالة بسيطة في وحدة التحكم تُخبرك بأن كل شيء تم بنجاح. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +عند فتح `output-searchable.pdf` في عارض مثل Adobe Acrobat، يجب أن تكون قادرًا على تحديد النص المخفي، نسخه، أو إجراء بحث—تمامًا ما تتوقعه من **PDF قابل للبحث**. + +### النتيجة المتوقعة + +تشغيل البرنامج يطبع: + +``` +Searchable PDF created. +``` + +وسيظهر الـ PDF المُولد JPG الأصلي مع إمكانية تحديد النص. إذا فتحت “Properties → Description → PDF Producer” في الـ PDF، سترى شيئًا مثل `Aspose.OCR for Java`. + +## مثال كامل يعمل + +فيما يلي الملف المصدر الكامل وجاهز للتنفيذ. انسخه‑الصقه في بيئة التطوير المتكاملة (IDE)، عدل مسارات الملفات، ثم شغّله. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **ماذا لو فشل الـ OCR؟** +> * عادةً يحدث ذلك لأن الصورة مليئة بالضوضاء أو اللغة غير مدعومة مباشرة. يمكنك تحسين الدقة بمعالجة مسبقة للصورة (زيادة التباين، تصحيح الميل) أو بتحديد اللغة صراحةً باستخدام `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`. + +## أسئلة شائعة ومشكلات محتملة + +| السؤال | الإجابة | +|----------|--------| +| **هل يمكنني استخراج النص العادي بدلاً من PDF؟** | نعم. استخدم `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **ماذا لو احتجت لمعالجة PNG؟** | نفس الـ API يعمل؛ فقط غير امتداد الملف في `fromFile`. | +| **هل الـ PDF الناتج قابل للبحث فعلاً على جميع المشاهدين؟** | المشاهدات الحديثة (Adobe Reader, Foxit, Chrome) تحترم طبقة النص المخفي. الأدوات القديمة قد تتجاهلها. | +| **كيف يمكنني التحكم في حجم صفحة PDF؟** | Aspose OCR يستخدم أبعاد الصورة افتراضيًا. للحصول على حجم مخصص، أنشئ PDF يدويًا واطلق طبقة نص OCR فوقه—هذا سيناريو متقدم. | + +## نصائح الأداء + +* **المعالجة الدفعية:** أعد استخدام كائن `OcrEngine` واحد للعديد من الصور لتجنب تحميل المكتبة الأصلية المتكرر. +* **سلامة الخيوط:** المحرك **ليس** آمنًا للاستخدام المتعدد الخيوط؛ أنشئ نسخة لكل خيط إذا كنت تُنفّذ عمليات متوازية. +* **استهلاك الذاكرة:** الصور الكبيرة قد تستهلك الكثير من الذاكرة. إذا واجهت `OutOfMemoryError`، قلل أبعاد الصورة قبل تمريرها إلى المحرك. + +## الخطوات التالية + +الآن بعد أن عرفت كيف **تنشئ PDF قابل للبحث**، قد ترغب في استكشاف مهام ذات صلة: + +* **تحويل jpg إلى pdf** بدون OCR (استخدم مكتبة Aspose PDF لإنشاء PDF بصورة عادية). +* **استخراج النص من jpg** إلى ملف `.txt` للفهرسة. +* **دمج عدة PDFs قابلة للبحث** في مستند واحد باستخدام `PdfFileEditor` من Aspose PDF. + +كل هذه تبني على الأساس نفسه الذي أعددته للتو. + +--- + +### ملخص سريع + +* قمنا **بإنشاء PDF قابل للبحث** من JPG باستخدام Aspose OCR for Java. +* شمل العملية تحميل الصورة، التعرف على النص، وحفظه كـ PDF قابل للبحث. +* لديك الآن نمط قابل لإعادة الاستخدام لـ **image to searchable PDF**، **recognize text from image**، **extract text from jpg**، و **convert jpg to pdf**. + +جرّبه مع مستنداتك الخاصة، عدّل إعدادات اللغة إذا لزم الأمر، ودع OCR يتولى العمل الشاق. برمجة سعيدة! + +![إنشاء مثال PDF قابل للبحث](placeholder.png){alt="إنشاء مثال PDF قابل للبحث"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/arabic/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..b9e482cba --- /dev/null +++ b/ocr/arabic/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,189 @@ +--- +category: general +date: 2026-02-19 +description: تعلم كيفية تصحيح انحراف الصورة وإزالة الضوضاء من أجل OCR. يوضح هذا الدليل + كيفية التعرف على صورة النص، وتصحيح دوران الصورة، ومعالجة صورة OCR مسبقًا باستخدام + Aspose OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: ar +og_description: كيفية تصحيح انحراف الصورة وإزالة الضوضاء لتتمكن من التعرف على النص + في الصورة بسرعة. اتبع هذا الدليل لتصحيح دوران الصورة ومعالجة الصورة مسبقًا لتقنية + OCR باستخدام Aspose. +og_title: كيفية تصحيح إمالة الصورة – دليل شامل لمعالجة ما قبل التعرف الضوئي على الأحرف +tags: +- OCR +- Java +- Image Processing +title: كيفية تصحيح إمالة الصورة — دليل خطوة بخطوة لمعالجة ما قبل التعرف الضوئي على + الأحرف (OCR) +url: /ar/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +is. It appears bold. We'll keep the bold phrase unchanged. Similarly "recognize text image". Keep those. + +Proceed. + +Will translate accordingly. + +Let's craft Arabic text. + +Be careful with RTL: just Arabic text. + +Now bullet list. + +Ok. + +Now produce final. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية تصحيح ميلان الصورة — دورة شاملة لمعالجة ما قبل OCR + +هل تساءلت يوماً **how to deskew image** قبل تمرير الملفات إلى محرك OCR؟ ربما قمت بمسح مجموعة من الإيصالات، وتبدو الصفحات وكأنها مائلة قليلاً، أو أن المسح مليء بنقاط عشوائية. هذه مشكلة شائعة—الصور المائلة والضوضائية تجعل التعرف على النص يتعثر. + +الخبر السار؟ يمكنك تعديل (تصحيح دوران الصورة) وإزالة الضوضاء (how to remove noise) ببضع أسطر من Java باستخدام Aspose.OCR. في هذا الدليل سنستعرض التدفق الكامل: من تحميل صورة PNG ملوثة ومائلة، تطبيق تصحيح الميلان + إزالة الضوضاء بالمتوسط، وصولاً إلى **recognize text image** وطباعة النتيجة. في النهاية ستحصل على مقتطف يمكن إعادة استخدامه في أي مشروع Java. + +## ما ستحتاجه + +- **Java 17** أو أحدث (الكود يتوافق مع الإصدارات الأقدم، لكن 17 هو الأنسب). +- **Aspose.OCR for Java** – يمكنك الحصول على أحدث JAR من Maven Central (`com.aspose:aspose-ocr`). +- ملف صورة مائل ومشوَّش (مثال: `noisy-rotated.png`). +- بيئة تطوير متوسطة (IntelliJ، Eclipse، أو حتى VS Code). + +لا تحتاج إلى أدوات بناء معقدة؛ تشغيل بسيط بـ `javac` + `java` يكفي. + +--- + +## الخطوة 1 – إنشاء كائن محرك OCR + +أول ما تقوم به هو إنشاء `OcrEngine`. فكر فيه كالعقل الذي سيقرأ الأحرف لاحقاً. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **نصيحة احترافية:** احتفظ بالمحرك ككائن Singleton إذا كنت تعالج العديد من الصور؛ فهو يعيد استخدام الذاكرة الداخلية ويسرّع العملية. + +## الخطوة 2 – تفعيل تصحيح الميلان وإزالة الضوضاء بالمتوسط (How to Remove Noise) + +الآن نخبر المحرك بـ **correct image rotation** و **how to remove noise**. كلا الفلترين اختياريان، لكن معاً يحسّنان الدقة بشكل كبير. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +لماذا إزالة الضوضاء بالمتوسط؟ لأنها تحافظ على الحواف (الخطوط التي تحدد الأحرف) بينما تمسح البكسلات المنعزلة—بالضبط ما تحتاجه للحصول على OCR نظيف. + +## الخطوة 3 – تحميل الصورة التي تريد معالجتها + +هنا نوجه المحرك إلى الملف الذي يحتاج إلى تنظيف. `ImageStream.fromFile` يقرأ PNG إلى الذاكرة. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +إذا كانت صورتك موجودة على خادم بعيد، ما عليك سوى تمرير `InputStream` بدلاً من ذلك—Aspose يتعامل مع ذلك بسلاسة. + +## الخطوة 4 – تشغيل OCR والتقاط النص المُستخرج + +مع تفعيل المعالجة المسبقة، يقرأ المحرك الآن الصورة المصححة. استدعاء `recognize()` يُعيد كائن `RecognitionResult` يحتوي على السلسلة المستخرجة. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +سترى نصاً نظيفاً وقابلاً للقراءة في وحدة التحكم، حتى وإن كانت الصورة الأصلية مائلة ومشوشة. + +## الخطوة 5 – التحقق من النتيجة (ما المتوقع) + +عند نجاح العملية، ستظهر في وحدة التحكم نتيجة مشابهة لـ: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +إذا ظل الإخراج يحتوي على أحرف غير مفهومة، تحقق من التالي: + +- دقة الصورة (≥ 300 dpi هي المثالية). +- صحة مسار الملف. +- ما إذا كانت فلاتر إضافية (مثل `setContrastStretch`) قد تساعد. + +--- + +## اختياري: تأكيد بصري باستخدام صورة مثال + +في الأسفل معاينة صغيرة لإيصال مائل ومشوَّش. لاحظ الميل—الكود سيصححه لك. + +![مثال على تصحيح الميلان للصورة](deskew-demo.png "how to deskew image") + +*نص بديل: مثال على تصحيح الميلان للصورة – قبل وبعد المعالجة.* + +--- + +## الأسئلة المتكررة + +### هل يعمل هذا مع ملفات PDF أم فقط PNG/JPEG؟ +Aspose.OCR يمكنه قراءة ملفات PDF مباشرة؛ فقط استبدل `ImageStream.fromFile` بـ `ImageStream.fromPdf`. نفس خيارات المعالجة المسبقة تُطبق، لذا ستحصل على **how to deskew image** و **how to remove noise**. + +### ماذا لو أردت الحفاظ على الاتجاه الأصلي للصور لخطوات لاحقة؟ +يمكنك استنساخ الصورة قبل المعالجة: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### هل يمكنني تغيير زاوية تصحيح الميلان يدوياً؟ +نعم—`setDeskewAngle(double degrees)` يتيح لك تجاوز الخوارزمية التلقائية. مفيد عندما تفشل الكشف التلقائي عند دوران شديد. + +### كيف يختلف إزالة الضوضاء بالمتوسط عن تمويه Gaussian؟ +فلاتر المتوسط تستبدل كل بكسل بمتوسط جيرانه، مما يحافظ على الحواف. تمويه Gaussian يُنعم كل شيء، وقد يطمس خطوط الأحرف—لذا المتوسط هو الخيار الأكثر أماناً لـ OCR. + +--- + +## الخلاصة + +في هذا الدرس غطينا **how to deskew image**، وأظهرنا **how to remove noise**، وبيّنّا لك كيفية **recognize text image** باستخدام المعالجة المدمجة في Aspose OCR. عبر تفعيل `setDeskew(true)` و `setMedianDenoise(true)`، تقوم تلقائياً بـ **correct image rotation** وتنظيف البقع، محوّلاً مسحاً فوضوياً إلى نص نظيف. + +لا تتردد في التجربة: جرّب استراتيجيات إزالة ضوضاء مختلفة، عالج ملفات PDF، أو ربط عدة صور في حلقة. النمط نفسه—المحرك → المعالجة المسبقة → التعرف—ينطبق على أي سيناريو، مما يجعله أساساً متيناً لأي خط أنابيب OCR. + +**الخطوات التالية** التي قد تستكشفها: + +- **المعالجة الدفعية** – تكرار عبر مجلد من الصور وكتابة كل نتيجة إلى ملف `.txt`. +- **حزم اللغات** – تحميل قاموس لغة محددة لزيادة الدقة للنص غير الإنجليزي. +- **فلاتر متقدمة** – مثل `setContrastStretch` أو `setBinarization` للمسحات ذات التباين المنخفض. + +هل لديك أسئلة أخرى؟ اترك تعليقاً، ونتمنى لك برمجة سعيدة! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/_index.md b/ocr/chinese/java/advanced-ocr-techniques/_index.md index 39476d0c0..10a8bbe11 100644 --- a/ocr/chinese/java/advanced-ocr-techniques/_index.md +++ b/ocr/chinese/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,14 @@ Aspose.OCR for Java 是光学字符识别 (OCR) 方面的游戏规则改变者 使用 Aspose.OCR 为您的 Java 应用程序提供精确的文本识别能力。集成方便,精度高。 ### [在 Aspose.OCR 中指定允许的字符](./specify-allowed-characters/) 使用 Aspose.OCR for Java 无缝解锁图像中的文本提取。请遵循我们的分步指南以实现高效集成。 +### [在 Java 中为 OCR 启用 GPU – 完整指南](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +了解如何在 Java 中使用 Aspose.OCR 启用 GPU 加速,实现高效 OCR 处理的完整步骤指南。 +### [在 Java 中对图像进行 OCR – 手写笔记并进行拼写检查](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +使用 Aspose.OCR for Java 对手写笔记图像进行 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/chinese/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/chinese/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..29a39480f --- /dev/null +++ b/ocr/chinese/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-02-19 +description: 如何启用 GPU 进行快速 OCR 处理。学习加载高分辨率图像、识别文本图像并使用 Aspose OCR 提取文本。 +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: zh +og_description: 如何启用 GPU 进行快速 OCR 处理。本指南展示了如何加载高分辨率图像、识别文本图像以及使用 Aspose OCR 提取文本。 +og_title: 如何在 Java 中启用 GPU 进行 OCR – 完整指南 +tags: +- OCR +- Java +- GPU +- Aspose +title: 如何在 Java 中启用 GPU 进行 OCR – 完整指南 +url: /zh/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 Java 中为 OCR 启用 GPU – 完整指南 + +是否曾想过 **如何为 OCR 流程启用 GPU** 并将处理时间缩短数秒?你并不孤单。在许多图像密集型项目中,瓶颈往往是 CPU 受限的文本提取步骤,而切换到 GPU 则可能改变游戏规则。 + +在本教程中,我们将演示如何加载 **高分辨率图像**、配置 Aspose OCR 在 GPU 上运行,最后仅用几行 Java **识别文本图像** 并 **提取文本**。完成后,你将拥有一个可直接运行的程序,演示 **启用 GPU 处理** 的完整流程。 + +## 你需要准备的内容 + +- Java 17 或更高版本(代码使用模块系统,但在旧版 JDK 上只需稍作调整) +- Aspose OCR for Java 23.10(或最新版本)——可从 Aspose 官网获取 Maven 坐标 +- 已安装 CUDA 12+ 驱动的 NVIDIA GPU(否则库将无法启动) +- 一张你想读取文本的高分辨率示例图像(PNG 或 JPEG) + +就这些。无需外部服务、无需云积分,只要你的机器和合适的驱动栈即可。 + +![GPU OCR 工作流 – 如何启用 GPU 处理](gpu-ocr-workflow.png) + +*图片说明:展示在 Java 中如何为 OCR 处理启用 GPU 的示意图。* + +## 步骤实现 + +下面我们将解决方案拆分为若干逻辑块。每个章节包含简洁的代码片段、步骤重要性的解释,以及一些实用小贴士,帮助你后续更好地使用。 + +### 如何启用 GPU for OCR – 步骤 1:安装依赖并验证 CUDA + +在运行任何 Java 代码之前,必须能够发现本地 CUDA 运行时。Windows 上可以使用以下命令验证: + +```bat +nvcc --version +``` + +Linux 上: + +```bash +nvidia-smi +``` + +如果命令输出了驱动版本和 GPU 详细信息,说明已就绪。否则,请前往 NVIDIA 官网下载相应驱动,并安装 CUDA 工具包(确保版本匹配 Aspose OCR 的要求——当前为 12.x)。 + +**小贴士:** 保持 GPU 驱动为最新稳定版,避免使用 “latest‑beta” 版本;它们有时会导致 Aspose 原生库的二进制兼容性问题。 + +### 如何启用 GPU for OCR – 步骤 2:添加 Aspose OCR Maven 依赖 + +在 `pom.xml` 中加入以下内容。这将拉取核心 OCR 引擎以及 Windows、Linux、macOS 的原生 GPU 二进制文件。 + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +如果你使用 Gradle,等价写法为: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +刷新项目后,`OcrEngine`、`OcrDeviceType` 和 `ImageStream` 类即可使用。 + +### 如何启用 GPU for OCR – 步骤 3:创建 OCR 引擎并启用 GPU + +现在我们真正告诉 Aspose 在 GPU 上运行。`OcrEngine` 提供一个 `Device` 对象,可在此切换处理设备类型。 + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**为何重要:** 将 `OcrDeviceType.GPU` 设置为 GPU,会把底层推理引擎从仅 CPU 实现切换为 CUDA 加速实现。可选的 `setStreamCount` 调用允许你控制并行流数量;在大多数消费级显卡上,两个流是安全的默认值。 + +### 如何启用 GPU for OCR – 步骤 4:加载高分辨率图像 + +高分辨率源图像为 OCR 模型提供更多视觉细节,从而提升准确率,尤其是对小字体或复杂脚本。`ImageStream.fromFile` 辅助方法会将文件读取为引擎期望的格式。 + +如果需要 **从 URL 或内存字节数组加载高分辨率图像**,可以使用: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**边缘情况:** 某些 GPU 的最大纹理尺寸有限(常见为 16384 × 16384)。若图像超出此尺寸,请考虑下采样至仍保持可读性的大小(例如 3000 × 2000)。在加载前调用 `ocrEngine.setResizeFactor(0.5)`,OCR 引擎会自动进行缩放。 + +### 如何启用 GPU for OCR – 步骤 5:识别文本图像并提取文本 + +调用 `ocrEngine.recognize()` 会在 GPU 上触发神经网络推理。该方法返回 `OcrResult` 对象,`getText()` 可提取纯文本字符串。你还可以获取边界框、置信度分数或原始 JSON,以获取更丰富的数据。 + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**为何可能需要这样做:** `recognize text image` 步骤正是 GPU 发光发热的地方——在 CPU 上需要数秒的大图像,在 GPU 上只需几分之一秒即可完成。置信度分数可以帮助过滤低质量结果,这在后续 **如何提取文本** 用于下游分析时非常实用。 + +### 专业技巧与常见陷阱 + +| 情况 | 处理办法 | +|-----------|------------| +| **GPU 内存不足** 错误 | 将 `setStreamCount` 降至 1,或在送入引擎前下采样图像。 | +| **即使分辨率高仍出现未识别字符** | 确认语言模型 (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) 与文本语言匹配。 | +| **CUDA 版本不匹配** | 将 CUDA 工具包版本对齐至 Aspose OCR 捆绑的版本(查看发行说明)。 | +| **多 GPU 环境** | 使用 `ocrEngine.getDevice().setDeviceId(1)` 选择第二块 GPU(若第一块忙碌)。 | +| **在无头服务器上运行** | 无需额外步骤,GPU 驱动在没有显示器的情况下亦可工作。 | + +## 如何提取文本 – 验证输出 + +运行上述类后,你应看到类似如下的输出: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +如果输出乱码,请再次确认图像确实为高分辨率且 GPU 驱动已正确安装。你也可以开启详细日志: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +日志会显示本地 CUDA 核心是否成功加载。 + +## 后续步骤与相关主题 + +- **批量处理:** 将 `OcrEngine` 包装在循环中,逐个处理图像路径列表。记得复用同一引擎实例,以避免重复的 GPU 初始化开销。 +- **语言检测:** Aspose OCR 支持 30 多种语言。使用 `ocrEngine.setLanguage(OcrLanguage.FRENCH)` 切换。 +- **后处理:** 使用正则表达式清理提取的字符串,或将其送入下游 NLP 流程。 +- **替代设备:** 若没有 CUDA‑compatible GPU,可回退到 `OcrDeviceType.CPU`。代码保持不变,只需更改设备类型。 +- **性能基准:** 在 `recognize()` 前后使用 `System.nanoTime()` 计时,量化 **启用 GPU 处理** 带来的收益。 + +--- + +### 小结 + +我们已经完整演示了 **如何在 Java 中为 Aspose OCR 启用 GPU**,从安装正确的驱动到加载 **高分辨率图像**、**识别文本图像**,再到 **如何提取文本**。上面的完整可运行示例应能在任何现代 NVIDIA GPU 上即刻工作。 + +动手试一试,尝试不同的图像尺寸,观察 OCR 吞吐量的提升。如果遇到问题,回顾技巧章节或查阅 Aspose 的发行说明,获取最新的 **启用 GPU 处理** 建议。 + +祝编码愉快,愿你的 GPU 在处理文本时保持凉爽! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/chinese/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..a7f12ed83 --- /dev/null +++ b/ocr/chinese/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,251 @@ +--- +category: general +date: 2026-02-19 +description: 学习如何在 Java 中使用 Aspose OCR 对手写笔记图像进行 OCR。包括加载图像进行 OCR、读取手写笔记并转换手写图像文本。 +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: zh +og_description: 如何在 Java 中使用 Aspose 对手写笔记图像进行 OCR。一步一步的指南,加载图像进行 OCR,读取手写笔记并转换手写图像文本。 +og_title: 如何在 Java 中对图像进行 OCR – 手写笔记指南 +tags: +- Java +- OCR +- Aspose +- Handwriting +title: 如何在 Java 中进行图像 OCR – 手写笔记并进行拼写检查 +url: /zh/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +. + +Let's craft final output. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 Java 中进行图像 OCR – 手写笔记与拼写检查 + +有没有想过 **如何对图像进行 OCR**,比如包含你潦草的购物清单或会议纪要的图片?你并不是唯一有此困惑的人。在许多实际应用中,开发者需要读取手写笔记并将其转换为可搜索的文本——无需手动重新输入。 + +在本教程中,我们将完整演示一个可直接运行的示例,展示如何使用 Aspose OCR for Java **进行图像 OCR**、如何 **加载图像进行 OCR**,以及如何使用内置拼写校正 **读取手写笔记**。完成后,你将能够 **将手写图像文本转换** 为干净的字符串,以便存储、索引或显示。 + +## 你将学到 + +- 设置能够识别英文手写的 OCR 引擎的完整步骤。 +- 如何 **加载图像进行 OCR** 并将其传递给引擎。 +- 在处理凌乱的涂鸦时,启用拼写检查为何重要。 +- 处理常见边缘情况的方法,如低对比度图像或缺少语言包。 +- 一个完整的可运行代码示例,直接粘贴到 IDE 中即可看到结果。 + +> **先决条件**:已安装 Java 8+,具备 Maven 或 Gradle 进行依赖管理,并拥有 Aspose OCR for Java 许可证(免费试用版可用于学习)。不需要其他外部库。 + +--- + +## 第一步:设置项目并添加 Aspose OCR 依赖 + +首先,你的项目需要 Aspose OCR 库。如果使用 Maven,请在 `pom.xml` 中添加以下内容: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +或使用 Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **小技巧**:关注版本号;更新的版本会提升手写识别能力并增加语言支持。 + +依赖解析完成后,你就可以 **加载图像进行 OCR** 了。 + +## 第二步:创建 OCR 引擎实例 + +要 **如何对图像进行 OCR**,需要一个 `OcrEngine` 对象。该对象是整个过程的核心——它保存语言设置、拼写检查标志以及图像本身。 + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +为什么要先实例化引擎?因为 Aspose OCR 设计为可复用;你可以使用同一个实例处理多张图片,并在不同运行之间调整设置。 + +## 第三步:添加英文语言支持并启用拼写校正 + +手写笔记常常出现拼写错误、缺字或非标准缩写。启用拼写检查可以让引擎对输出进行清理。 + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **为何要启用拼写校正?** +> 如果不启用,原始 OCR 输出可能会出现 “t0d@y” 或 “c0ffee”。拼写检查会将这些怪异字符规范化,使最终文本在后续处理(如搜索索引)时更有价值。 + +## 第四步:加载手写图像 + +现在我们 **加载图像进行 OCR**。Aspose 提供了便捷的 `ImageStream.fromFile` 方法,支持常见光栅格式(PNG、JPEG、BMP)。 + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +如果你的图像位于资源文件夹中,或以字节数组形式(例如来自网页上传)获取,可以改用 `ImageStream.fromBytes`——只需将上面的代码行替换为: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## 第五步:执行 OCR 并获取校正后的文本 + +在引擎配置好并加载图像后,实际的 **如何对图像进行 OCR** 调用只需一行代码: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +`recognize()` 方法返回一个 `OcrResult` 对象,除了纯文本外,还包含置信度分数、边界框等信息。对大多数场景而言,直接使用 `getText()` 即可。 + +## 第六步:输出结果 + +最后,我们将清理后的字符串打印到控制台。在真实应用中,你可能会将其存入数据库、送入搜索引擎,或传递给语言模型。 + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### 预期输出 + +假设手写笔记内容为: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +你应该会看到类似如下的输出: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +即使原始涂鸦相当凌乱——比如 “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”——拼写检查也会将其整理成可读的句子。 + +--- + +## 加载图像进行 OCR – 提高准确性的技巧 + +1. **分辨率很重要** – 至少 300 dpi。分辨率过低会导致引擎漏掉细小笔画。 +2. **对比度是关键** – 若背景有颜色,先将图像转换为灰度。 +3. **裁剪到内容** – 去除不必要的边缘可以降低噪声并加快处理速度。 + +你可以使用 OpenCV 等库,或 Java 内置的 `BufferedImage` 在交给 Aspose 之前进行预处理。 + +## 读取手写笔记:处理边缘情况 + +- **低置信度词**:`ocrEngine.getResult().getWords()` 返回的列表中,每个词都有置信度值(0–100)。可以过滤掉低于阈值的词,并提示用户手动复核。 +- **多语言**:如果需要 **读取手写笔记** 同时支持英文和西班牙文,请在调用 `recognize()` 前添加两种语言。 +- **大文件**:对于多页 PDF 或 TIFF,可在循环中使用 `ocrEngine.setImage(pageStream)` 对每页进行迭代处理。 + +## 将手写图像文本转换为结构化数据 + +通常你不仅需要原始字符串,还可能想提取日期、金额或清单项。获得校正后的文本后,可使用正则表达式或 NLP 库(如 Stanford CoreNLP)进行解析: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +该代码片段展示了如何轻松地将 **将手写图像文本转换** 为可操作的数据。 + +## 常见陷阱及规避方法 + +| 症状 | 可能原因 | 解决方案 | +|------|----------|----------| +| 乱码输出,出现许多 `?` 字符 | 图像太暗或对比度低 | 提高亮度或使用直方图均衡化进行预处理 | +| 漏字 | 手写体过于连笔 | 启用 `ocrEngine.getSettings().setEnableCursive(true)`(如果支持) | +| 拼写检查器引入错误词 | 语言模型不匹配 | 通过 `ocrEngine.getSpellChecker().addUserWords(...)` 添加自定义词典 | +| 大图像导致内存溢出错误 | 图像大小 > 10 MB | 加载前先缩小尺寸,或分块处理 | + +## 完整可运行示例(复制粘贴即用) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **注意**:如果在 IDE 中运行代码,请确保 `YOUR_DIRECTORY` 文件夹已加入类路径,或使用绝对路径。 + +--- + +## 结论 + +我们已经从头到尾演示了 **如何在 Java 中进行图像 OCR**,包括 **加载图像进行 OCR**、**读取手写笔记**、启用拼写校正,以及最终 **将手写图像文本转换** 为干净的字符串。该方法简洁明了,却足以支撑生产级应用。 + +准备好迎接下一个挑战了吗?尝试处理多页 PDF、为行业专用术语添加自定义词典,或将 OCR 输出喂入机器学习模型进行情感分析。只要将 Aspose OCR 的高精度与 Java 的灵活性结合,想象空间无限。 + +对某些边缘情况有疑问,或想分享你在移动端的集成经验?欢迎在下方留言——祝编码愉快! + +--- + +![如何进行图像 OCR 示例](/images/ocr-handwritten-example.png "手写笔记的图像 OCR 示例") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/java/ocr-basics/_index.md b/ocr/chinese/java/ocr-basics/_index.md index 316febf1c..25fc3d35a 100644 --- a/ocr/chinese/java/ocr-basics/_index.md +++ b/ocr/chinese/java/ocr-basics/_index.md @@ -99,6 +99,11 @@ A: 超过 30 种语言,包括英语、西班牙语、中文、阿拉伯语等 使用 Aspose.OCR for Java 提升 OCR 准确率。一步步学习如何计算倾斜角度,轻松改进文档处理。 ### [Getting Rectangles with Text Areas in Aspose.OCR](./get-rectangles-with-text-areas/) 解锁 Aspose.OCR for Java 的强大功能。通过本分步指南学习如何无缝提取图像中的文本。立即下载,实现高效文本识别。 +### [在 Java 中从 PNG 识别文本 – Aspose OCR 教程](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +在 Java 中使用 Aspose OCR 从 PNG 图像提取文本的完整步骤指南。 +### [从图像提取文本 – 将 PNG 转换为文本(Java)](./extract-text-from-image-convert-png-to-text-in-java/) +### [在 Java 中从图像提取文本 – 完整 OCR 示例](./extract-text-from-image-in-java-complete-ocr-example/) +### [使用 Aspose OCR 提取图像文本 – Java 快速指南](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) --- @@ -111,4 +116,4 @@ A: 超过 30 种语言,包括英语、西班牙语、中文、阿拉伯语等 {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/chinese/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..6138373d6 --- /dev/null +++ b/ocr/chinese/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,211 @@ +--- +category: general +date: 2026-02-19 +description: 使用 Aspose OCR Java 从图像中提取文本——学习如何将 PNG 转换为文本,加载图像进行 OCR,并遵循 Java OCR + 教程。 +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: zh +og_description: 使用 Aspose OCR Java 从图像中提取文本。按照此分步 Java OCR 教程将 PNG 转换为文本并加载图像进行 OCR。 +og_title: 从图像提取文本 – Java OCR指南 +tags: +- OCR +- Java +- Aspose +- Image Processing +title: 从图像中提取文本——在 Java 中将 PNG 转换为文本 +url: /zh/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 从图像中提取文本 – Java OCR 教程 + +是否曾经需要 **extract text from image**,但不确定哪个库可以让你轻松实现,而不必费力?你并不是唯一的——开发者们经常问:“如何在 Java 中将 PNG 转换为文本?”好消息是,Aspose OCR 让整个过程轻而易举。在本指南中,我们将完整演示一个 **java ocr tutorial**,展示如何 **load image for OCR**,并最终得到干净、可搜索的文本。 + +我们将覆盖从设置引擎到处理多语言内容的所有步骤,结束时你将能够从任何尺寸、格式或语言的 **extract text from image** 文件中提取文本。无需外部服务,无需 API 密钥——只需一个 JAR 和几行代码。 + +## 您需要的条件 + +在开始之前,请确保您拥有: + +- 已安装 JDK 8 或更高版本(代码在 JDK 11+ 上也可运行)。 +- Maven 或 Gradle 用于获取 Aspose OCR 库,或者也可以手动从 Aspose 网站下载 JAR。 +- 一张包含可读文字的 PNG 图像(本例中使用 `khmer-sign.png`)。 +- 您熟悉的 IDE 或文本编辑器——IntelliJ IDEA、Eclipse、VS Code,任意一种均可。 + +就这些。没有重量级框架,没有云凭证。准备好了吗?让我们开始从图像文件中提取文本吧。 + +## 步骤 1:将 Aspose OCR 添加到项目中 + +首先——你需要在类路径上加入 OCR 引擎。如果使用 Maven,请在 `pom.xml` 中添加以下依赖: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +或者使用 Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +如果你更喜欢手动方式,可从 Aspose 下载页面获取 JAR 并放入项目的 `libs` 文件夹,然后将其加入构建路径。 + +> **Pro tip:** 始终选择最新的稳定版本;旧版本可能缺少语言包或 bug 修复。 + +## 步骤 2:创建 OCR 引擎实例 + +现在库已经可用,我们可以实例化一个 `OcrEngine`。可以把引擎想象成读取像素并将其转换为字符的大脑。 + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +为什么每次都要创建一个全新的引擎?引擎内部会持有缓冲区和语言数据;每次从干净状态开始可以保证结果确定,尤其是在后期切换语言时。 + +## 步骤 3:启用所需语言(可选但推荐) + +Aspose OCR 附带数十种语言包。如果你知道源图像的语言,显式启用它可以加快识别速度并提升准确率。示例中我们启用高棉语 (`khm`),你也可以改为 `ENG`(英语)、`CHN`(中文)等。 + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Why this matters:** 当你 **load image for OCR** 时,引擎只会搜索已启用的语言词典。保持所有语言都开启会降低速度并增加误报。 + +## 步骤 4:加载图像进行 OCR – 将 PNG 转换为文本 + +这里就是执行 **load image for OCR** 步骤的地方。Aspose 提供了便利的 `ImageStream.fromFile` 辅助方法,屏蔽了底层 I/O 细节。 + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +如果你的图像是其他格式(JPEG、BMP、TIFF),同样的方法也适用——Aspose 会自动检测格式。只需确保文件路径正确,否则会抛出 `FileNotFoundException`。 + +## 步骤 5:运行 OCR 过程并将 PNG 转换为文本 + +引擎准备好且图像已加载后,实际识别只需一次方法调用。返回的结果对象提供原始字符串以及置信度分数。 + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +就这样——你已经 **convert PNG to text**。返回的字符串可能包含换行和空白,完全按照引擎看到的方式。你可以使用 `trim()`、`replaceAll("\\s+", " ")` 或其他清理方式进行后处理。 + +## 步骤 6:输出结果(或存储) + +为了快速验证,可将结果打印到控制台。在真实应用中,你可能会将其写入文件、数据库,或传递给其他服务。 + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Expected output**(针对提供的高棉语标志)可能如下所示: + +``` +សួស្តី +Welcome +``` + +如果输出乱码,请再次确认在步骤 3 中启用了正确的语言,并确保图像足够清晰。提升图像分辨率(例如使用 300 dpi 扫描)通常能改善效果。 + +## 完整工作示例 + +将所有代码片段组合起来,下面是一个可直接复制粘贴到 `ExtractTextExample.java` 并运行的自包含程序: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +使用以下命令运行程序: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +或者,如果你使用 Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +运行后,你应该会在控制台看到提取的文本,证明你已经成功使用 Aspose OCR **extract text from image**。 + +## 常见问题及解决方案 + +| 症状 | 可能原因 | 解决办法 | +|------|----------|----------| +| 返回空字符串 | 未启用语言或语言代码错误 | 添加相应的 `OcrLanguage`(例如 `ENG` 表示英语)。 | +| 字符乱码 | 图像分辨率太低或背景噪声 | 使用更高分辨率的源图像,或使用锐化滤波器进行预处理。 | +| `OutOfMemoryError` | 加载了全尺寸的超大图像 | 在送入引擎前缩小图像(`ImageStream.fromFile(...).scale(0.5)`)。 | +| `FileNotFoundException` | 路径不正确 | 检查绝对或相对路径;使用 `Paths.get(...).toAbsolutePath()`。 | + +> **Remember:** OCR 是一种概率过程。即使设置完美,你仍可能需要手动纠正少量字符,尤其是手写或草体文字。 + +## 扩展教程 – 后续步骤 + +- **批量处理:**遍历 PNG 文件目录,对每个图像调用相同的逻辑。 +- **PDF 输出:**使用 Aspose PDF 将提取的文本嵌入可搜索的 PDF 中。 +- **语言检测:**在设置语言前调用 `ocrEngine.detectLanguage()`,让引擎自动判断。 +- **云集成:**如果需要扩展,可将代码封装为 REST 接口,让微服务调用。 + +所有这些主题都自然地建立在我们刚完成的 **java ocr tutorial** 基础上,展示了 Aspose OCR API 的多才多艺。 + +## 结论 + +我们已经完整演示了一个 **java ocr tutorial**,让你能够使用 Aspose OCR **extract text from image** 文件、**convert PNG to text**,并正确 **load image for OCR**。步骤非常直接:添加库、创建引擎、启用正确语言、加载 PNG、调用 `recognize()`,然后处理输出。基于此,你可以实现数据录入自动化、构建可搜索档案,或为任何需要从图片中获取机器可读文本的应用提供支持。 + +尝试使用你自己的图像吧——比如收据的截图或扫描的合同。调节语言设置,实验不同分辨率,你会快速体会到该方案的灵活性。如果遇到问题,回顾上表或查阅 Aspose 官方文档;文档完整且保持最新。 + +祝编码愉快,愿你的下一个项目充满干净、可搜索的文本! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/chinese/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..19270dfe5 --- /dev/null +++ b/ocr/chinese/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,145 @@ +--- +category: general +date: 2026-02-19 +description: 使用 Java OCR 从图像中提取文本。学习一个 Java OCR 示例,该示例加载图像进行 OCR,并在几个步骤内从发票文件中提取文本。 +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: zh +og_description: 使用 Java OCR 从图像中提取文本。本指南展示了如何加载图像进行 OCR,并通过一个简单的 Java OCR 示例从发票中提取文本。 +og_title: 使用 Java 从图像提取文本 – 完整 OCR 示例 +tags: +- OCR +- Java +- Aspose +- Image Processing +title: 在 Java 中从图像提取文本 – 完整 OCR 示例 +url: /zh/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 在 Java 中从图像提取文本 – 完整 OCR 示例 + +是否曾经需要**从图像中提取文本**但不确定该选哪种库?你并不孤单——许多开发者在自动化发票处理或构建可搜索档案时都会遇到这个难题。好消息是,只需几行 Java 代码,你就可以加载用于 OCR 的图像,定义感兴趣区域(ROI),并提取所需的精确文本。 + +在本教程中,我们将演示一个**java ocr example**,展示如何**load image for OCR**,设置 ROI,并使用 Aspose.OCR **extract text from invoice** 文件。完成后,你将拥有一个可直接放入任何 Java 项目的可运行程序。 + +## 你将学到 + +- 如何创建 `OcrEngine` 实例以及它为何重要。 +- 使用 Aspose 的 `ImageStream` 正确的**load image for OCR** 方法。 +- 设置**region of interest (ROI)**,只处理图像中包含发票金额的部分。 +- 提取识别的文本并将其打印到控制台。 +- 常见陷阱(例如,矩形坐标错误)以及快速解决方案。 + +**先决条件** + +- 已安装 Java 8 或更高版本。 +- 使用 Maven 或 Gradle 拉取 Aspose.OCR 库(`com.aspose:aspose-ocr`)。 +- 将示例发票图像(`invoice.png`)放置在已知目录中。 + +准备好了吗?太好了——让我们开始吧。 + +![使用 Java OCR 从图像提取文本](/images/extract-text-from-image-java.png "提取文本示例") + +## 从图像提取文本 – 步骤式 Java OCR 示例 + +下面是完整的源代码。请随意将其复制粘贴到 `RoiOcrExample.java` 中并直接运行。 + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### 为什么每一步都很重要 + +1. **Creating the OCR engine** – 没有引擎就没有图像处理的上下文。如果需要多语言支持,该对象还可以让你稍后调整语言包。 +2. **Loading the image** – `ImageStream.fromFile` 抽象化了文件格式,确保引擎正确读取字节。如果跳过此步骤,你会收到 `NullPointerException`。 +3. **Setting the ROI** – 处理整页可能会浪费资源。通过将矩形缩小到发票总额区域,你可以加快识别速度并减少噪声。 +4. **Calling `recognize()`** – 这就是魔法发生的地方。该方法在 ROI 上运行 OCR 算法并生成结果对象。 +5. **Printing the output** – 在实际项目中,你可能会将文本存入数据库,但 `System.out.println` 对于快速演示来说非常合适。 + +## 加载用于 OCR 的图像 + +如果你在想路径是需要绝对路径还是相对路径,答案是两者都可以——只要确保 Java 进程能够读取该文件即可。在 Windows 上,反斜杠必须转义(`C:\\images\\invoice.png`),或者也可以使用正斜杠(`C:/images/invoice.png`)。 + +**Pro tip:** 如果在循环中处理大量发票,请复用同一个 `OcrEngine` 实例;它会缓存内部资源并提升吞吐量。 + +## 定义感兴趣区域(ROI) + +选择合适的矩形可能需要反复尝试。一个方便的方法是使用任意图形编辑器(如 GIMP 或 Paint.NET)打开图像并将鼠标悬停在目标区域——你会在状态栏看到 X/Y 坐标值。 + +边缘情况:某些发票布局多变。在这种情况下,你可以先对整张图像进行快速预扫描,使用正则表达式定位诸如 “Total:” 的关键字,然后动态调整 ROI。 + +## 执行 OCR 并获取文本 + +`recognize()` 调用是同步的——你的线程会阻塞直至引擎完成。对于大批量处理,你可能想启动线程池并并行处理图像。只需记住每个线程都需要自己的 `OcrEngine` 实例;它们不是线程安全的。 + +## 运行并验证输出 + +编译并运行: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +你应该会看到类似如下的输出: + +``` +ROI text: $1,254.00 +``` + +如果输出乱码,请再次检查 ROI 坐标并确保图像质量足够高(300 dpi 或更高效果最佳)。 + +### 常见陷阱及解决方法 + +| 症状 | 可能原因 | 解决办法 | +|------|----------|----------| +| 空字符串 | ROI 超出图像边界 | 验证矩形值是否在图像尺寸范围内 | +| 单词拼写错误 | 分辨率低 | 使用更高分辨率的源图像或进行图像预处理(例如二值化) | +| `java.lang.NoClassDefFoundError` | 类路径缺少 Aspose JAR | 将 `aspose-ocr.jar` 添加到 `-cp`,或使用 Maven/Gradle 进行依赖管理 | + +## 结论 + +现在你已经了解如何在 Java 中使用简洁的 **java ocr example** **extract text from image**。通过正确加载图像、定义聚焦的 ROI 并调用 `recognize()`,你可以可靠地 **extract text from invoice** 文件,并将这些数据输送到下游系统。 + +接下来做什么?尝试将 ROI 替换为不同的字段(日期、供应商名称),尝试使用语言包处理多语言发票,或将 OCR 步骤集成到 Spring Boot 微服务中。同样的模式也适用于收据、护照或任何需要精确文本提取的文档。 + +如果你对该方案的扩展或处理噪声扫描有疑问,欢迎在下方留言——祝编码愉快! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/chinese/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..ce4e87812 --- /dev/null +++ b/ocr/chinese/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,230 @@ +--- +category: general +date: 2026-02-19 +description: 使用 Aspose OCR 在 Java 中从图像提取文本。了解如何识别 PNG 中的文字、将图像转换为字符串,以及仅需几步即可读取扫描文本。 +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: zh +og_description: 快速从图像中提取文本。本教程展示如何识别 PNG 中的文字,将图像转换为字符串,并使用 Aspose OCR 读取扫描文本。 +og_title: 使用 Aspose OCR 从图像提取文本 – Java 指南 +tags: +- Java +- OCR +- Aspose +title: 使用 Aspose OCR 从图像提取文本 – Java 快速指南 +url: /zh/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +translate? The rule: translate all text content naturally to Chinese, but keep technical terms in English. Title is "Extract Text from Image – Complete Java Tutorial". Should translate to Chinese: "从图像中提取文本 – 完整的 Java 教程". Keep dash? We'll translate. + +Proceed. + +Paragraphs. + +Will translate. + +Make sure to keep code block placeholders unchanged. + +Let's craft. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 从图像中提取文本 – 完整的 Java 教程 + +是否曾经需要**从图像中提取文本**却不确定该选哪个库?也许你手头有一张 PNG 格式的扫描收据,想把其中的文字转换为普通字符串以便后续处理。根据我的经验,Aspose OCR 库在 Java 环境下能够轻松完成这项工作。 + +在本指南中,我们将一步步讲解所有必备内容:从添加 Aspose OCR 依赖、加载 PNG 文件、**从 png 识别文本**,一直到将结果转换为可用的 Java `String`。阅读完毕后,你将能够**将图像转换为字符串**,并且还能轻松**从扫描文件中读取文本**,毫不费力。 + +## 你将学到 + +- 如何在 Maven 或 Gradle 项目中添加 Aspose OCR。 +- 使用单个方法调用**从图像中提取文本**的完整代码。 +- 为什么 `ImageStream` 类是向引擎提供数据的首选方式。 +- 处理大尺寸扫描件、多页 PDF 以及常见陷阱的技巧。 + +无需任何 OCR 先验经验,只要对 Java 有基本了解并拥有一张待处理的 PNG 即可。 + +## 前置条件 + +| Requirement | Reason | +|-------------|--------| +| Java 8 或更高版本 | Aspose OCR 目标是 Java 8+。 | +| Maven 或 Gradle(可选) | 简化依赖管理。 | +| 一张 PNG 图像(例如 `quick.png`) | 我们将对其执行 OCR。 | +| 首次运行时需要网络访问 | 库可能会自动下载语言包。 | + +如果你已经安装了 IntelliJ IDEA、Eclipse 等 Java IDE,直接开始即可。 + +--- + +## 第一步:在项目中设置 Aspose OCR + +### Maven + +在 `pom.xml` 中添加以下依赖: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **小贴士:** 若使用公司代理,请确保 Maven/Gradle 能访问 `repo.maven.apache.org`。否则构建将在写代码之前就失败。 + +--- + +## 第二步:加载 PNG 图像 + +`ImageStream` 类抽象了文件系统细节,支持流、URL 或字节数组。下面演示如何加载本地 PNG: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **为什么重要:** 使用 `ImageStream.fromFile` 能保证 OCR 引擎以它完全理解的格式接收图像,相比直接传入原始字节数组可提升识别准确率。 + +--- + +## 第三步:从 PNG 识别文本 + +Aspose OCR 提供了一个静态方法 `OcrEngine.recognize` 来完成核心工作:它返回一个普通的 Java `String`,这正是你在**将图像转换为字符串**时需要的结果。 + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### 底层发生了什么? + +1. **预处理:** 引擎会自动去除图像倾斜并归一化对比度。 +2. **语言检测:** 若未指定语言,Aspose 会尝试自行推断,适用于快速扫描。 +3. **识别:** 核心 OCR 引擎运行经过数百万字符训练的神经网络模型。 + +由于所有这些都封装在一次调用中,除非有非常特殊的需求,否则无需手动调低层设置。 + +--- + +## 第四步:显示并使用提取的字符串 + +得到文本后,你可以打印、存入数据库,或传递给其他 API。下面给出最简方式——直接 `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### 预期输出 + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **注意:** 具体输出取决于 `quick.png` 的内容。如果图像是手写笔记,可能会出现一些误识别——这时只需进行少量后处理即可。 + +--- + +## 第五步:处理常见边缘情况 + +### 大尺寸扫描或多页 PDF + +如果需要**从扫描文件中读取文本**且文件大于普通 PNG,可考虑: + +- 使用 `ImageStream.fromRegion` 将图像切分为多个块。 +- 对 PDF 输入使用 `OcrEngine.recognizeMultiplePages`。 + +### 非英文语言 + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### 性能技巧 + +- 对多张图像复用同一个 `OcrEngine` 实例,以避免重复初始化。 +- 批量处理时可开启多线程,但线程数应限制在 CPU 核心数以内,防止内存抖动。 + +--- + +## 完整可运行示例 + +下面是完整的、可直接运行的 Java 类。复制粘贴到 IDE 中,修改图像路径后点击 **Run**。 + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +运行该程序后,OCR 结果会打印到控制台,实现在几行代码内**将图像转换为字符串**。 + +--- + +## 结论 + +现在你已经掌握了在 Java 中使用 Aspose OCR **从图像中提取文本**的全部步骤。整个过程归结为三个简单步骤:加载 PNG、调用 `OcrEngine.recognize`,以及使用返回的字符串。无论是**从 png 识别文本**、**将图像转换为字符串**,还是**从扫描文件中读取文本**,此方法都能提供可靠、可投入生产的解决方案。 + +准备好迎接下一个挑战了吗?尝试遍历一个文件夹中的扫描收据,将每个结果写入 CSV,或尝试语言特定的设置以提升非英文文本的准确率。只要发挥想象,代码就是坚实的基石。 + +祝编码愉快,欢迎在评论区留下问题,我会乐于帮助! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/chinese/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..8c17ece78 --- /dev/null +++ b/ocr/chinese/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-02-19 +description: 在 Java 中使用 Aspose OCR 识别 PNG 文本——学习如何从图像中提取文本并高效地使用 OCR 处理图像。 +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: zh +og_description: 使用 Aspose OCR 在 Java 中识别 PNG 文本。本教程展示了如何在 Java 中从图像提取文本并一步步使用 OCR + 处理图像。 +og_title: 在 Java 中识别 PNG 文本 – 完整的 Aspose OCR 指南 +tags: +- OCR +- Java +- Image Processing +title: 在 Java 中识别 PNG 文本 – Aspose OCR 教程 +url: /zh/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +translate to "使用 Aspose OCR 识别 PNG 文本的 Java 代码". Use same for both. + +Now translate. + +Proceed. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 在 Java 中从 PNG 识别文本 – 完整 Aspose OCR 指南 + +是否曾经需要 **从 png 识别文本**,却不确定该选哪个库?你并不孤单——很多 Java 开发者在首次处理基于图像的数据提取时都会遇到这个难题。好消息是 Aspose OCR 让整个过程几乎毫不费力,在本指南中,你将看到如何在 **extract text from image java** 项目中 **process image with OCR**,并以线程安全的方式完成。 + +接下来几分钟,我们将启动一个小型 Java 程序,加载 PNG,使用最多八个线程在 CPU 上运行 OCR,并将识别出的字符串打印到控制台。无需外部服务、无需秘密 API 密钥——只需普通的 Java 代码,复制粘贴后即可立即运行。 + +## 你需要准备的东西 + +- **Java 17** 或更高版本(代码在更早的版本也能编译,但 17 是最佳选择)。 +- **Aspose.OCR for Java** JAR(从 Aspose 官网下载或通过 Maven 拉取)。 +- 一张你想读取的 PNG 图片,例如存放在磁盘上的 `document-page1.png`。 +- 你喜欢的 IDE,或一个简单的文本编辑器加终端。 + +就这些。如果你已经准备好,就可以直接进入解决方案。 + +![使用 Aspose OCR 识别 PNG 文本的 Java 代码](image-placeholder.png "recognize text from png Java example"){alt="使用 Aspose OCR 识别 PNG 文本的 Java 代码"} + +## 步骤详解:recognize text from png + +下面我们把实现拆分为清晰、易于管理的块。每个块都是一个 H2 标题,方便你直接跳转到感兴趣的部分。 + +### 1. 将 Aspose OCR 添加到项目中 + +**为什么?** OCR 引擎位于 Aspose 库内部;没有它,编译器根本不知道 `OcrEngine` 是什么。 + +如果你使用 Maven,请将以下代码片段放入 `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +对于 Gradle,则如下所示: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **小技巧:** 始终确认使用最新的版本号;新版本通常会带来多线程处理的性能改进。 + +### 2. 创建并配置 OCR 引擎 + +**为什么?** 实例化 `OcrEngine` 可以得到一个可直接使用的对象,调节设备设置则可以利用所有可用的 CPU 核心。 + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +这里我们显式将设备设置为 `CPU`。如果以后迁移到支持 GPU 的环境,只需更换枚举值——无需修改其他代码。 + +### 3. 加载 PNG 图像 + +**为什么?** OCR 处理的是图像流,而不是直接的文件路径。将文件转换为 `ImageStream` 可以抽象底层格式。 + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +将 `YOUR_DIRECTORY` 替换为实际的文件夹路径。如果文件未找到,引擎会抛出 `IOException`,我们稍后会捕获它。 + +### 4. 执行识别并获取结果 + +**为什么?** `recognize()` 方法负责繁重的工作——检测字符、行和布局。返回的 `OcrResult` 包含纯文本。 + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +你也可以请求 `Pdf` 或 `Html` 结果,但为了 **extract text from image java**,这里我们只使用纯文本。 + +### 5. 输出文本并清理资源 + +**为什么?** 演示阶段 `System.out.println` 已足够,但在实际项目中,你可能会将结果写入文件或数据库。 + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +由于 `OcrEngine` 实现了 `AutoCloseable`,将所有代码放在 try‑with‑resources 块中是个好习惯。这样可以及时释放本地资源。 + +### 6. 完整可运行示例 + +把所有代码组合在一起,下面就是可以直接编译运行的完整程序: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**预期输出**(假设 PNG 中的文字是 “Hello World”): + +``` +=== OCR Result === +Hello World +``` + +如果图像更复杂——多行、表格或手写笔记——输出将精确反映 Aspose OCR 检测到的内容,并在适当位置保留换行。 + +## 常见问题与边缘情况 + +### PNG 文件太大怎么办? + +大图会占用大量内存。一个实用的解决办法是 **下采样** 图像后再送入引擎: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +下采样可以降低 CPU 负载,而对大多数印刷文本的 OCR 准确度影响不大。 + +### 能否对 PDF 而不是 PNG 进行 OCR? + +完全可以。Aspose OCR 同样接受 `PdfDocument` 对象。相同的 `recognize()` 调用即可工作,因此你可以 **process image with OCR**,无论源文件是 PDF 还是 PNG。 + +### 如何提升非拉丁文字的识别准确率? + +在识别前设置语言: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose 附带数十种语言包,只需选择与你的图像内容相匹配的语言即可。 + +### 线程数总是越多越好么? + +更多线程在多核 CPU 上可以加速处理,但超过物理核心数后收益递减。如果你发现 CPU 使用率升高却没有相应的速度提升,请将线程数调回 `Runtime.getRuntime().availableProcessors()`。 + +## 小结:我们完成了什么 + +我们刚刚使用简洁的 Java 程序 **recognize text from png**,演示了如何使用 Aspose OCR **extract text from image java**,并以生产就绪的方式 **process image with OCR**。代码独立完整,解释同时回答了 “怎么做” 与 “为什么”,并提供了常见坑点的解决方案。 + +## 接下来可以做什么? + +- **批量处理:**遍历一个 PNG 目录,将每个结果写入对应的 `.txt` 文件。 +- **生成 PDF:**将 OCR 输出喂给 Aspose.PDF,生成可搜索的 PDF 文档。 +- **云端扩展:**将相同代码部署到 Kubernetes 管理的容器中,让线程池根据 Pod 资源自动适配。 + +尽情实验吧——更换图像、调节线程数或切换语言。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/java/ocr-operations/_index.md b/ocr/chinese/java/ocr-operations/_index.md index 9a42ca032..03fcce48b 100644 --- a/ocr/chinese/java/ocr-operations/_index.md +++ b/ocr/chinese/java/ocr-operations/_index.md @@ -80,6 +80,10 @@ weight: 21 利用 Aspose.OCR 在 Java 中实现强大的文本识别。轻松识别 TIFF 图像中的文本。立即下载,获得无缝的 OCR 体验。 ### [使用 Aspose OCR 识别图像文本 – 完整 Java OCR 教程](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) 完整的 Java 示例,演示如何使用 Aspose OCR 识别图像中的文本并导出结果。 +### [使用 Aspose OCR 将 JPG 创建为可搜索 PDF – Java 图像转可搜索 PDF 指南](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +演示如何使用 Aspose.OCR for Java 将 JPG 图像转换为可搜索的 PDF 文件,实现图像到 PDF 的 OCR 处理。 +### [如何校正倾斜图像 — 逐步 OCR 预处理指南](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +使用 Aspose.OCR for Java 进行图像去倾斜的完整步骤指南,提升 OCR 前处理效果。 ## 常见问题 diff --git a/ocr/chinese/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/chinese/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..6d3386cc9 --- /dev/null +++ b/ocr/chinese/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,185 @@ +--- +category: general +date: 2026-02-19 +description: 使用 Aspose OCR 在 Java 中将 JPG 图像创建为可搜索的 PDF。快速将 JPG 转换为 PDF 并识别图像中的文本。 +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: zh +og_description: 使用 Aspose OCR 将 JPG 图像创建为可搜索的 PDF。了解如何在 Java 中将 JPG 转换为 PDF 并识别图像中的文本。 +og_title: 将 JPG 转换为可搜索的 PDF – Java OCR 教程 +tags: +- aspose-ocr +- java +- pdf +- ocr +title: 从 JPG 创建可搜索 PDF – 将图像转换为可搜索 PDF 的 Java 指南 +url: /zh/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 从 JPG 创建可搜索 PDF – Java 图像转可搜索 PDF 指南 + +是否曾需要 **创建可搜索 PDF**,但不知从何入手?你并非唯一——许多开发者在面对需要可搜索的 JPG 时都会卡住。好消息是,使用 Aspose OCR for Java,你只需几行代码即可将图像转换为完整的可搜索 PDF。 + +在本教程中,我们将完整演示整个过程:加载 JPG、识别文本并将结果保存为可搜索 PDF。完成后,你将了解如何 **convert jpg to pdf**、如何 **extract text from jpg**,以及为何这种方法通常比在 PDF 创建后再进行 OCR 更可靠。 + +## 你需要准备的环境 + +在开始之前,请确保你的机器上具备以下条件: + +* **Java Development Kit (JDK) 8 或更高版本** – 代码使用标准 Java API。 +* **Aspose OCR for Java** 库 – 可从 Maven Central 获取,或从 Aspose 官网下载 JAR 包。 +* 一张 **包含可读文字的示例 JPG**(例如扫描的发票或文档截图)。 + +不需要额外的框架;示例可在普通的 Java 项目中运行。 + +## 第一步 – 创建项目并添加 Aspose OCR + +首先,新建一个 Maven 项目(或仅在类路径中放入 JAR 的文件夹)。如果使用 Maven,请在 `pom.xml` 中加入以下依赖: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **专业提示:** 请始终在 Aspose Maven 仓库中确认最新版本;新版本会包含性能改进和 bug 修复。 + +依赖解析完成后,即可编写用于 **create searchable PDF** 的 Java 代码。 + +## 第二步 – 加载图像(image to searchable pdf) + +真正的第一步是让 OCR 引擎指向源图像。这标志着 **image to searchable pdf** 转换的正式开始。 + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **为什么重要:** `setImage` 告诉 Aspose 要分析哪张位图。如果提供的图像分辨率过低,OCR 质量会受影响,请确保 JPG 至少为 300 dpi,以获得最佳效果。 + +## 第三步 – 从图像识别文字 + +现在引擎已经知道要处理哪张图像,我们可以让它 **recognize text from image**。Aspose OCR 在内部完成语言检测、字符分割和置信度评分等繁重工作。 + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +`recognize()` 调用返回流式接口,允许我们链式调用 `save` 方法。通过指定 `OcrOutputFormat.SEARCHABLE_PDF`,库会在 PDF 中嵌入不可见的文字层,同时保留原始图像外观。 + +> **边缘情况:** 如果你的 JPG 包含多页(例如将多页 TIFF 保存为多个 JPG),需要遍历每个文件并在后期合并生成的 PDF。相同的 OCR 引擎可以在每次迭代中复用。 + +## 第四步 – 验证结果 + +保存操作完成后,控制台会输出简短信息,表明一切顺利。 + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +在 Adobe Acrobat 等查看器中打开 `output-searchable.pdf`,你应该能够选中隐藏的文字、复制或搜索——这正是 **searchable PDF** 应有的表现。 + +### 预期输出 + +运行程序后会打印: + +``` +Searchable PDF created. +``` + +生成的 PDF 将显示原始 JPG,同时支持文字选择。如果打开 PDF 的 “Properties → Description → PDF Producer”,会看到类似 `Aspose.OCR for Java` 的信息。 + +## 完整可运行示例 + +下面是完整的、可直接运行的源码文件。复制粘贴到 IDE,修改文件路径后运行即可。 + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **如果 OCR 失败怎么办?** +> * 通常是因为图像噪声过大或语言未被默认支持。你可以通过预处理图像(提升对比度、去倾斜)或显式设置语言 `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);` 来提升准确率。 + +## 常见问题与注意事项 + +| Question | Answer | +|----------|--------| +| **Can I extract the plain text instead of a PDF?** | Yes. Use `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **What if I need to process a PNG?** | The same API works; just change the file extension in `fromFile`. | +| **Is the resulting PDF truly searchable on all viewers?** | Modern viewers (Adobe Reader, Foxit, Chrome) honor the hidden text layer. Older tools might ignore it. | +| **How do I control the PDF page size?** | Aspose OCR uses the image dimensions by default. For custom sizing, generate a PDF manually and overlay the OCR text layer—this is an advanced scenario. | + +## 性能优化建议 + +* **批量处理:** 对多张图像复用同一个 `OcrEngine` 实例,以避免重复加载本地库。 +* **线程安全:** 引擎 **不是** 线程安全的;如果并行处理,请为每个线程创建独立实例。 +* **内存使用:** 大图像会占用大量内存。如果出现 `OutOfMemoryError`,请在送入引擎前先缩小图像尺寸。 + +## 后续步骤 + +了解了如何 **create searchable PDF** 后,你可能想进一步探索以下任务: + +* **Convert jpg to pdf**(不进行 OCR),使用 Aspose PDF 库生成纯图像 PDF。 +* **Extract text from jpg** 并保存为 `.txt` 文件,以便建立索引。 +* 使用 Aspose PDF 的 `PdfFileEditor` 将多个可搜索 PDF 合并为单个文档。 + +所有这些都基于你刚刚搭建的基础。 + +--- + +### 快速回顾 + +* 我们 **created a searchable PDF** from a JPG using Aspose OCR for Java。 +* 过程包括加载图像、识别文字并保存为可搜索 PDF。 +* 现在你拥有了 **image to searchable PDF**、**recognize text from image**、**extract text from jpg** 和 **convert jpg to pdf** 的可复用模式。 + +尝试使用自己的文档运行一下,必要时调整语言设置,让 OCR 为你完成繁重的文字识别工作。祝编码愉快! + +![Create searchable PDF example](placeholder.png){alt="创建可搜索 PDF 示例"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/chinese/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..80171dec3 --- /dev/null +++ b/ocr/chinese/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,165 @@ +--- +category: general +date: 2026-02-19 +description: 学习如何对图像进行去倾斜和去噪,以便进行 OCR。本教程展示了如何识别文本图像、校正图像旋转,并使用 Aspose OCR 进行图像 OCR + 预处理。 +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: zh +og_description: 如何纠正图像倾斜并清除噪声,以便快速识别文本图像。请遵循本指南,使用 Aspose 校正图像旋转并进行 OCR 预处理。 +og_title: 如何去除图像倾斜 – 完整的 OCR 预处理教程 +tags: +- OCR +- Java +- Image Processing +title: 如何去除图像倾斜 — OCR 预处理逐步指南 +url: /zh/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何校正图像倾斜 — 完整 OCR 预处理教程 + +是否曾经想过在将 **how to deskew image** 文件提供给 OCR 引擎之前进行处理?也许你已经扫描了一批收据,页面看起来有点倾斜,或者扫描图像上布满了随机的点。这是一个常见的痛点——倾斜、噪声的图片会导致文本识别出错。 + +好消息是?你可以使用 Aspose.OCR 只用几行 Java 代码就能矫正(correct image rotation)并去噪(how to remove noise)。在本指南中,我们将完整演示整个流程:从加载噪声‑倾斜的 PNG,应用 deskew + median denoise,一直到 **recognize text image** 并打印结果。完成后,你将拥有一个可复用的代码片段,能够直接放入任何 Java 项目中。 + +## 你需要的环境 + +- **Java 17** 或更高(代码在旧版本也能编译,但 17 是最佳选择)。 +- **Aspose.OCR for Java** – 你可以从 Maven Central 获取最新的 JAR(`com.aspose:aspose-ocr`)。 +- 一张同时存在倾斜和噪声的图像文件(例如 `noisy-rotated.png`)。 +- 一个普通的 IDE(IntelliJ、Eclipse,甚至 VS Code)。 + +不需要任何花哨的构建工具;直接使用 `javac` + `java` 运行即可。 + +## 步骤 1 – 创建 OCR 引擎实例 + +首先,你需要实例化一个 `OcrEngine`。可以把它想象成稍后为你读取字符的大脑。 + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **技巧提示:** 如果要处理大量图像,请将引擎保持为单例;它会复用内部缓冲区,从而加快速度。 + +## 步骤 2 – 启用 Deskew 和 Median Denoise(How to Remove Noise) + +现在我们指示引擎进行 **correct image rotation** 和 **how to remove noise**。这两个过滤器都是可选的,但一起使用时能显著提升准确率。 + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +为什么使用 median denoise?它在去除孤立像素的同时保留边缘(定义字符的线条)——这正是干净 OCR 所需的。 + +## 步骤 3 – 加载要处理的图像 + +这里我们将引擎指向需要清理的文件。`ImageStream.fromFile` 会将 PNG 读取到内存中。 + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +如果图像位于远程服务器,只需传入 `InputStream` 即可——Aspose 能够优雅地处理。 + +## 步骤 4 – 运行 OCR 并捕获识别文本 + +启用预处理后,引擎会读取已校正的图像。`recognize()` 调用返回一个包含提取字符串的 `RecognitionResult`。 + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +即使原始图片倾斜且有颗粒感,你也应该在控制台看到干净、可读的文本。 + +## 步骤 5 – 验证结果(预期输出) + +当一切正常时,控制台会输出类似如下内容: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +如果输出仍然包含乱码,请检查: + +- 图像分辨率(≥ 300 dpi 为理想)。 +- 文件路径是否正确。 +- 是否需要额外的过滤器(例如 `setContrastStretch`)以获得更好效果。 + +## 可选:使用示例图像进行可视化确认 + +下面是一个倾斜且有噪声的收据的微型预览。请注意倾斜——我们的代码会为你矫正它。 + +![how to deskew image 示例](deskew-demo.png "how to deskew image 示例") + +*Alt 文本:how to deskew image – 前后处理对比。* + +## 常见问题 + +### 这适用于 PDF 还是仅限 PNG/JPEG? + +Aspose.OCR 可以直接读取 PDF;只需将 `ImageStream.fromFile` 替换为 `ImageStream.fromPdf`。相同的预处理标志仍然适用,因此你仍然可以获得 **how to deskew image** 和 **how to remove noise**。 + +### 如果需要保留原始方向以供后续步骤怎么办? + +你可以在预处理之前克隆图像: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### 我可以手动更改 deskew 角度吗? + +可以——`setDeskewAngle(double degrees)` 允许你覆盖自动检测算法。当自动检测在极端旋转时失败,这非常有用。 + +### median denoise 与 Gaussian blur 有何区别? + +Median 滤波器用相邻像素的中位数替换每个像素,从而保留边缘。Gaussian blur 会对所有内容进行平滑,可能导致字符笔画模糊——因此 median 对 OCR 更安全。 + +## 小结 + +在本教程中,我们介绍了 **how to deskew image** 文件,演示了 **how to remove noise**,并展示了如何使用 Aspose OCR 的内置预处理来 **recognize text image**。通过启用 `setDeskew(true)` 和 `setMedianDenoise(true)`,你可以自动 **correct image rotation** 并清除噪点,将混乱的扫描转化为干净的文本字符串。 + +欢迎随意实验:尝试不同的去噪策略、处理 PDF,或在循环中链式处理多张图像。相同的模式——engine → preprocess → recognize——适用于所有场景,为任何 OCR 流程提供坚实的基础。 + +**接下来** 你可以探索: + +- **批量处理** – 遍历文件夹中的图像并将每个结果写入 `.txt` 文件。 +- **语言包** – 加载特定语言的词典,以提升非英文文本的准确率。 +- **高级过滤器** – 如 `setContrastStretch` 或 `setBinarization`,用于低对比度扫描。 + +还有其他问题吗?留下评论吧,祝编码愉快! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/_index.md b/ocr/czech/java/advanced-ocr-techniques/_index.md index 3df19dc35..04dced78d 100644 --- a/ocr/czech/java/advanced-ocr-techniques/_index.md +++ b/ocr/czech/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,14 @@ Odemkněte sílu rozpoznávání textu s Aspose.OCR pro Java. Postupujte podle n Vylepšete své Java aplikace pomocí Aspose.OCR pro přesné rozpoznávání textu. Snadná integrace, vysoká přesnost. ### [Určení povolených znaků v Aspose.OCR](./specify-allowed-characters/) Odemkněte bez problémů extrakci textu z obrázků pomocí Aspose.OCR pro Java. Pro efektivní integraci postupujte podle našeho podrobného průvodce. +### [Jak povolit GPU pro OCR v Javě – Kompletní průvodce](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Naučte se, jak v Javě aktivovat GPU akceleraci pro OCR a dosáhnout vyšší rychlosti a přesnosti rozpoznávání textu. +### [Jak provést OCR obrázku v Javě – Ručně psané poznámky s kontrolou pravopisu](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Naučte se, jak v Javě provádět OCR ručně psaných poznámek a využít kontrolu pravopisu pro přesnější výstup. + {{< /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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/czech/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..802f174f6 --- /dev/null +++ b/ocr/czech/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-02-19 +description: Jak povolit GPU pro rychlé zpracování OCR. Naučte se načíst obrázek ve + vysokém rozlišení, rozpoznat textový obrázek a extrahovat text pomocí Aspose OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: cs +og_description: Jak povolit GPU pro rychlé zpracování OCR. Tento průvodce vám ukáže, + jak načíst obrázek ve vysokém rozlišení, rozpoznat text na obrázku a extrahovat + text pomocí Aspose OCR. +og_title: Jak povolit GPU pro OCR v Javě – Kompletní průvodce +tags: +- OCR +- Java +- GPU +- Aspose +title: Jak povolit GPU pro OCR v Javě – Kompletní průvodce +url: /cs/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +construct final answer.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak povolit GPU pro OCR v Javě – Kompletní průvodce + +Už jste se někdy zamýšleli **jak povolit GPU** pro váš OCR pipeline a ušetřit sekundy při zpracování? Nejste v tom sami. V mnoha projektech s velkým množstvím obrázků je úzkým místem krok extrakce textu závislý na CPU a přechod na GPU může být převratný. + +V tomto tutoriálu vás provedeme načtením **obrázku ve vysokém rozlišení**, konfigurací Aspose OCR pro běh na GPU a nakonec **rozpoznáním textového obrázku** a **extrakcí textu** pomocí několika řádků Javy. Na konci budete mít připravený program, který demonstruje **povolení zpracování na GPU** od začátku do konce. + +## Co budete potřebovat + +- Java 17 nebo novější (kód používá modulový systém, ale funguje i na starších JDK s drobnými úpravami) +- Aspose OCR for Java 23.10 (nebo nejnovější verze) – Maven koordináty můžete získat na stránkách Aspose +- NVIDIA GPU s nainstalovanými ovladači CUDA 12+ (knihovna se jinak odmítne spustit) +- Vzorek obrázku ve vysokém rozlišení (PNG nebo JPEG), ze kterého chcete číst text + +To je vše. Žádné externí služby, žádné cloudové kredity, jen váš počítač a správná sada ovladačů. + +![GPU OCR workflow – jak povolit zpracování pomocí GPU](gpu-ocr-workflow.png) + +*Popisek obrázku: diagram ilustrující, jak povolit GPU pro zpracování OCR v Javě.* + +## Implementace krok za krokem + +Níže rozdělíme řešení do logických částí. Každá sekce obsahuje stručný úryvek kódu, vysvětlení **proč** je krok důležitý, a několik praktických tipů, které oceníte později. + +### Jak povolit GPU pro OCR – Krok 1: Instalace závislostí a ověření CUDA + +Než se spustí jakýkoli Java kód, musí být nativní runtime CUDA dostupný. Ve Windows můžete ověřit pomocí: + +```bat +nvcc --version +``` + +Na Linuxu: + +```bash +nvidia-smi +``` + +Pokud příkaz vypíše verzi ovladače a podrobnosti o GPU, můžete pokračovat. V opačném případě navštivte web NVIDIA, stáhněte vhodný ovladač a nainstalujte toolkit CUDA (ujistěte se, že verze odpovídá požadavkům Aspose OCR – aktuálně 12.x). + +**Tip:** Udržujte ovladač GPU aktuální, ale vyhněte se „nejnovějším‑beta“ verzím; někdy narušují binární kompatibilitu s nativními knihovnami Aspose. + +### Jak povolit GPU pro OCR – Krok 2: Přidání Maven závislosti Aspose OCR + +Do svého `pom.xml` přidejte následující. Tím se stáhne jádro OCR enginu a nativní GPU binárky pro Windows, Linux i macOS. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Pokud používáte Gradle, ekvivalent je: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Po obnovení projektu budou k dispozici třídy `OcrEngine`, `OcrDeviceType` a `ImageStream`. + +### Jak povolit GPU pro OCR – Krok 3: Vytvoření OCR enginu a povolení GPU + +Nyní skutečně řekneme Aspose, aby běžel na GPU. `OcrEngine` poskytuje objekt `Device`, kde můžeme přepnout typ zařízení pro zpracování. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Proč je to důležité:** Nastavením `OcrDeviceType.GPU` se podkladový inference engine přepne z čistě CPU implementace na CUDA‑akcelerovanou. Volitelný `setStreamCount` vám umožní řídit paralelismus; dva streamy jsou bezpečná výchozí hodnota na většině spotřebitelských karet. + +### Jak povolit GPU pro OCR – Krok 4: Načtení obrázku ve vysokém rozlišení + +Zdroj ve vysokém rozlišení poskytuje OCR modelu více vizuálních detailů, což se promítá do vyšší přesnosti, zejména u malých fontů nebo složitých skriptů. Pomocník `ImageStream.fromFile` načte soubor do formátu, který engine očekává. + +Pokud potřebujete **načíst obrázek ve vysokém rozlišení** z URL nebo z paměťového pole bajtů, můžete použít: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Hraniční případ:** Některé GPU mají maximální velikost textury (často 16384 × 16384). Pokud váš obrázek tuto velikost překračuje, zvažte jeho zmenšení na rozměry, které stále zachovají čitelnost (např. 3000 × 2000). OCR engine automaticky přizpůsobí velikost, pokud před načtením zavoláte `ocrEngine.setResizeFactor(0.5)`. + +### Jak povolit GPU pro OCR – Krok 5: Rozpoznání textového obrázku a extrakce textu + +Volání `ocrEngine.recognize()` spustí inference neuronové sítě na GPU. Metoda vrací objekt `OcrResult`; `getText()` získá čistý řetězec. Můžete také získat ohraničující rámečky, skóre důvěry nebo surový JSON, pokud potřebujete podrobnější data. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Proč to může být užitečné:** Krok **rozpoznání textového obrázku** je místem, kde GPU opravdu zazáří – velké obrázky, které by na CPU trvaly sekundy, jsou zpracovány během zlomku té doby. Skóre důvěry vám umožní filtrovat výsledky nízké kvality, což je praktický trik, když později **extrahujete text** pro další analytiku. + +### Pro tipy a časté úskalí + +| Situace | Co dělat | +|-----------|------------| +| **Out‑of‑memory errors** na GPU | Snižte `setStreamCount` na 1 nebo před předáním enginu obrázek zmenšete. | +| **Neznámé znaky** i přes vysoké rozlišení | Ujistěte se, že jazykový model (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) odpovídá jazyku textu. | +| **Neshoda verzí CUDA** | Zarovnejte verzi toolkit CUDA s tou, která je součástí Aspose OCR (zkontrolujte poznámky k vydání). | +| **Více GPU** | Použijte `ocrEngine.getDevice().setDeviceId(1)` k výběru druhé GPU, pokud je první zaneprázdněná. | +| **Běh na headless serveru** | Žádné další kroky nejsou potřeba; GPU ovladač funguje i bez displeje. | + +## Jak extrahovat text – Ověření výstupu + +Když spustíte výše uvedenou třídu, měli byste vidět něco jako: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Pokud výstup vypadá poškozeně, zkontrolujte, zda je obrázek skutečně ve vysokém rozlišení a zda je GPU ovladač správně nainstalován. Můžete také povolit podrobný výpis logů: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +Logy ukáží, zda byly nativní CUDA kernely úspěšně načteny. + +## Další kroky a související témata + +- **Batch processing:** Zabalte `OcrEngine` do smyčky a předávejte seznam cest k obrázkům. Pamatujte na opětovné použití stejné instance enginu, abyste se vyhnuli opakovanému zatížení GPU při inicializaci. +- **Language detection:** Aspose OCR podporuje více než 30 jazyků. Přepněte pomocí `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Post‑processing:** Použijte regulární výrazy k vyčištění extrahovaného řetězce nebo jej předávejte do následného NLP pipeline. +- **Alternative devices:** Pokud nemáte GPU s podporou CUDA, můžete se vrátit k `OcrDeviceType.CPU`. Stejný kód funguje; stačí změnit typ zařízení. +- **Performance benchmarking:** Změřte časový rozdíl pomocí `System.nanoTime()` před a po `recognize()` a kvantifikujte zisk z **povolení zpracování na GPU**. + +--- + +### Závěr + +Probrali jsme **jak povolit GPU** pro Aspose OCR v Javě, od instalace správných ovladačů po načtení **obrázku ve vysokém rozlišení**, **rozpoznání textového obrázku** a nakonec **jak extrahovat text** z výsledku. Kompletní, spustitelný příklad výše by měl fungovat ihned na jakémkoli moderním NVIDIA GPU. + +Vyzkoušejte to, experimentujte s různými velikostmi obrázků a sledujte, jak se vaše OCR propustnost zvýší. Pokud narazíte na problémy, vraťte se k sekci tipů nebo si prostudujte poznámky k vydání Aspose pro nejnovější **doporučení k povolení zpracování na GPU**. + +Šťastné programování a ať vám GPU zůstane chladné, zatímco bude drtit text! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/czech/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..dd82b5d8a --- /dev/null +++ b/ocr/czech/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,251 @@ +--- +category: general +date: 2026-02-19 +description: Naučte se, jak provést OCR obrázku rukopisných poznámek v Javě pomocí + Aspose OCR. Zahrnuje načtení obrázku pro OCR, čtení rukopisných poznámek a převod + textu z rukopisného obrázku. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: cs +og_description: Jak provést OCR obrázku rukopisných poznámek v Javě pomocí Aspose. + Krok za krokem průvodce načtením obrázku pro OCR, čtením rukopisných poznámek a + převodem textu z rukopisného obrázku. +og_title: Jak provést OCR obrázku v Javě – Průvodce ručně psanými poznámkami +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Jak provést OCR obrázku v Javě – ručně psané poznámky s kontrolou pravopisu +url: /cs/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak provést OCR obrázku v Javě – Ručně psané poznámky s kontrolou pravopisu + +Už jste se někdy zamýšleli **jak provést OCR obrázku**, který obsahuje vaši rozcuchaný nákupní seznam nebo zápisky ze schůzky? Nejste v tom sami. V mnoha reálných aplikacích vývojáři potřebují číst ručně psané poznámky a převést je na prohledávatelný text – bez nutnosti ručního přepisování. + +V tomto tutoriálu vás provedeme kompletním, připraveným příkladem, který vám ukáže přesně **jak provést OCR obrázku** pomocí Aspose OCR pro Java, jak **načíst obrázek pro OCR** a jak **číst ručně psané poznámky** s vestavěnou kontrolou pravopisu. Na konci budete schopni **převést text z ručně psaného obrázku** na čistý řetězec, který můžete uložit, indexovat nebo zobrazit. + +## Co se naučíte + +- Přesné kroky k nastavení OCR enginu, který rozumí anglickému rukopisu. +- Jak **načíst obrázek pro OCR** z disku a předat jej enginu. +- Proč zapnutí kontrola pravopisu má význam při práci s nečistými poznámkami. +- Způsoby, jak řešit běžné okrajové případy, jako jsou obrázky s nízkým kontrastem nebo chybějící jazykové balíčky. +- Kompletní spustitelný ukázkový kód, který můžete vložit do svého IDE a okamžitě vidět výsledky. + +> **Prerequisites**: Java 8+ installed, Maven or Gradle for dependency management, and an Aspose OCR for Java license (the free trial works for learning). No other external libraries are required. + +--- + +## Krok 1: Nastavení projektu a přidání závislosti Aspose OCR + +First things first—your project needs the Aspose OCR library. If you’re using Maven, add this to your `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Or with Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Pro tip**: Sledujte číslo verze; novější vydání zlepšují rozpoznávání rukopisu a přidávají podporu jazyků. + +Once the dependency is resolved, you’re ready to **load image for OCR**. + +## Krok 2: Vytvoření instance OCR enginu + +To **how to OCR image** effectively, you need an `OcrEngine` object. This object is the heart of the process—it holds language settings, spell‑checking flags, and the image itself. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Why do we instantiate the engine first? Because Aspose OCR is designed to be reusable; you can process multiple images with the same instance, tweaking settings between runs if needed. + +## Krok 3: Přidání podpory anglického jazyka a zapnutí korekce pravopisu + +Handwritten notes are often riddled with misspellings, missing letters, or unconventional abbreviations. Enabling the spell checker gives the engine a chance to clean up the output. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **Why enable spell correction?** +> Without it, the raw OCR output might read “t0d@y” or “c0ffee”. The spell checker normalizes such quirks, making the final text far more useful for downstream processing like search indexing. + +## Krok 4: Načtení ručně psaného obrázku + +Now we **load image for OCR**. Aspose provides a convenient `ImageStream.fromFile` method that accepts any common raster format (PNG, JPEG, BMP). + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +If your image lives in a resource folder or you receive it as a byte array (e.g., from a web upload), you can use `ImageStream.fromBytes` instead—just replace the line above with: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Krok 5: Provedení OCR a získání opraveného textu + +With the engine configured and the image loaded, the actual **how to OCR image** call is a single line: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +The `recognize()` method returns an `OcrResult` object that contains not only the plain text but also confidence scores, bounding boxes, and more. For most use‑cases, the plain `getText()` is sufficient. + +## Krok 6: Výpis výsledku + +Finally, we print the cleaned‑up string to the console. In a real application you might store it in a database, feed it to a search engine, or pass it to a language model. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Expected Output + +Assuming the handwritten note says: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +You should see something like: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Even if the original scribble was messy—say “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”—the spell‑checker will usually straighten it out. + +--- + +## Načtení obrázku pro OCR – Tipy pro vyšší přesnost + +1. **Resolution matters** – Aim for at least 300 dpi. Lower resolutions cause the engine to miss tiny strokes. +2. **Contrast is king** – If the background is colored, convert the image to grayscale first. +3. **Crop to content** – Removing unnecessary margins reduces noise and speeds up processing. + +You can pre‑process images with libraries like OpenCV or even Java’s built‑in `BufferedImage` before handing them to Aspose. + +## Čtení ručně psaných poznámek: Řešení okrajových případů + +- **Low‑confidence words**: `ocrEngine.getResult().getWords()` returns a list where each word has a confidence value (0–100). You can filter out words below a threshold and prompt the user for manual review. +- **Multiple languages**: If you need to **read handwritten notes** in both English and Spanish, add both languages before calling `recognize()`. +- **Large files**: For multi‑page PDFs or TIFFs, iterate over each page with `ocrEngine.setImage(pageStream)` inside a loop. + +## Převod textu z ručně psaného obrázku na strukturovaná data + +Often you don’t just need a raw string; you might want to extract dates, amounts, or checklist items. After you have the corrected text, regular expressions or NLP libraries (like Stanford CoreNLP) can parse the content: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +This snippet shows how easy it is to go from **convert handwritten image text** to actionable data. + +## Časté úskalí a jak se jim vyhnout + +| Příznak | Předpokládaná příčina | Řešení | +|---------|-----------------------|--------| +| Zkreslený výstup, mnoho znaků `?` | Obrázek je příliš tmavý nebo má nízký kontrast | Zvyšte jas nebo předzpracujte pomocí ekvalizace histogramu | +| Chybějící slova | Příliš kurzívní rukopis | Povolte `ocrEngine.getSettings().setEnableCursive(true)` (pokud je podporováno) | +| Kontrola pravopisu zavádí špatná slova | Neshoda jazykového modelu | Přidejte vlastní slovník pomocí `ocrEngine.getSpellChecker().addUserWords(...)` | +| Chyba nedostatku paměti u velkých obrázků | Velikost obrázku > 10 MB | Zmenšete rozlišení před načtením, nebo zpracovávejte po částech | + +## Kompletní funkční příklad (připravený ke kopírování a vložení) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Poznámka**: Pokud spouštíte kód z IDE, ujistěte se, že složka `YOUR_DIRECTORY` je ve vaší classpath nebo použijte absolutní cestu. + +--- + +## Závěr + +Probrali jsme **jak provést OCR obrázku** v Javě od začátku do konce, ukázali vám, jak **načíst obrázek pro OCR**, **číst ručně psané poznámky**, zapnout kontrolu pravopisu a nakonec **převést text z ručně psaného obrázku** na čistý řetězec. Přístup je jednoduchý, ale dostatečně výkonný pro produkční aplikace. + +Jste připraveni na další výzvu? Vyzkoušejte experimentovat s více‑stránkovými PDF, přidejte vlastní slovníky pro oborové termíny nebo pošlete výstup OCR do modelu strojového učení pro analýzu sentimentu. Možnosti jsou neomezené, když spojíte přesnost Aspose OCR s flexibilitou Javy. + +Máte otázky ohledně konkrétního okrajového případu, nebo chcete sdílet, jak jste to integrovali do mobilní aplikace? Zanechte komentář níže – šťastné kódování! + +--- + +![příklad OCR obrázku](/images/ocr-handwritten-example.png "OCR obrázek ručně psaných poznámek") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/czech/java/ocr-basics/_index.md index 9cdb842f6..c5cd0e4b0 100644 --- a/ocr/czech/java/ocr-basics/_index.md +++ b/ocr/czech/java/ocr-basics/_index.md @@ -96,11 +96,15 @@ Pamatujte, že cesta zde nekončí — Aspose.OCR nabízí pokročilé funkce ja ## Tutoriály základů OCR ### [Jak nastavit licenci pro Aspose.OCR v Javě](./set-license/) -Odemkněte potenciál Aspose.OCR pro Java pomocí tohoto krok‑za‑krokem průvodce. Nastavte svou licenci bez námahy a zlepšete své OCR schopnosti. ### [Výpočet úhlu zkosení v Aspose.OCR pro Java](./calculate-skew-angle/) -Zvyšte přesnost OCR pomocí Aspose.OCR pro Java. Naučte se krok za krokem vypočítat úhly zkosení. Zlepšete zpracování dokumentů bez námahy. ### [Získávání obdélníků s oblastmi textu v Aspose.OCR](./get-rectangles-with-text-areas/) -Odemkněte sílu Aspose.OCR pro Java. Naučte se, jak bezproblémově extrahovat text z obrázků v tomto krok‑za‑krokem průvodci. Stáhněte si nyní pro efektivní rozpoznávání textu. +### [Rozpoznání textu z PNG v Javě – tutoriál Aspose OCR](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +### [Extrahovat text z obrázku – převést PNG na text v Javě](./extract-text-from-image-convert-png-to-text-in-java/) +Naučte se, jak pomocí Aspose.OCR převést PNG soubor na text v Javě. +### [Extrahovat text z obrázku v Javě – kompletní OCR příklad](./extract-text-from-image-in-java-complete-ocr-example/) +Kompletní ukázka, jak pomocí Aspose.OCR extrahovat text z obrázku v Javě. +### [Extrahovat text z obrázku pomocí Aspose OCR – rychlý průvodce pro Javu](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) +Rychlý návod, jak pomocí Aspose OCR v Javě extrahovat text z obrázku. --- @@ -113,4 +117,4 @@ Odemkněte sílu Aspose.OCR pro Java. Naučte se, jak bezproblémově extrahovat {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/czech/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..459dae971 --- /dev/null +++ b/ocr/czech/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,211 @@ +--- +category: general +date: 2026-02-19 +description: extrahujte text z obrázku pomocí Aspose OCR Java – naučte se převést + PNG na text, načíst obrázek pro OCR a sledovat Java OCR tutoriál. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: cs +og_description: extrahujte text z obrázku pomocí Aspose OCR Java. Postupujte podle + tohoto krok‑za‑krokem tutoriálu Java OCR, který převádí PNG na text a načítá obrázek + pro OCR. +og_title: extrahovat text z obrázku – Java OCR průvodce +tags: +- OCR +- Java +- Aspose +- Image Processing +title: extrahovat text z obrázku – převést PNG na text v Javě +url: /cs/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# extrahovat text z obrázku – Java OCR Tutorial + +Už jste někdy potřebovali **extrahovat text z obrázku**, ale nebyli jste si jisti, která knihovna to umožní bez zbytečných komplikací? Nejste v tom sami — vývojáři se neustále ptají: „Jak mohu v Javě převést PNG na text?“ Dobrou zprávou je, že Aspose OCR dělá celý proces jako procházku v parku. V tomto průvodci projdeme kompletní **java ocr tutorial**, ukážeme vám, jak **load image for OCR**, a získáme čistý, prohledávatelný text. + +Probereme vše od nastavení enginu až po zpracování vícejazyčného obsahu, takže na konci budete schopni **extrahovat text z obrázku** souborů jakékoli velikosti, formátu nebo jazyka. Žádné externí služby, žádné API klíče — jen jeden JAR a několik řádků kódu. + +## Co budete potřebovat + +- JDK 8 nebo novější nainstalované (kód funguje také na JDK 11+). +- Maven nebo Gradle pro stažení knihovny Aspose OCR, nebo můžete JAR stáhnout ručně z webu Aspose. +- PNG obrázek, který obsahuje čitelný text (pro náš příklad použijeme `khmer-sign.png`). +- IDE nebo textový editor, ve kterém se cítíte pohodlně — IntelliJ IDEA, Eclipse, VS Code, jakýkoli bude stačit. + +To je vše. Žádné těžké frameworky, žádné cloudové přihlašovací údaje. Připravení? Začněme extrahovat text z obrázkových souborů. + +## Krok 1: Přidejte Aspose OCR do svého projektu + +Nejprve potřebujete OCR engine ve své classpath. Pokud používáte Maven, přidejte tuto závislost do `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Nebo s Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Pokud dáváte přednost ručnímu způsobu, stáhněte JAR ze stránky ke stažení Aspose a vložte jej do složky `libs` vašeho projektu, poté jej přidejte do build path. + +> **Tip:** Vždy vybírejte nejnovější stabilní verzi; starší vydání mohou postrádat jazykové balíčky nebo opravy chyb. + +## Krok 2: Vytvořte instanci OCR Engine + +Nyní, když je knihovna k dispozici, můžeme vytvořit `OcrEngine`. Představte si engine jako mozek, který bude číst pixely a převádět je na znaky. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Proč vytváříme pokaždé nový engine? Engine obsahuje interní buffery a jazyková data; čistý start zaručuje deterministické výsledky, zejména když později měníte jazyky. + +## Krok 3: Povolit požadovaný jazyk (volitelné, ale doporučené) + +Aspose OCR přichází s desítkami jazykových balíčků. Pokud znáte jazyk svého zdrojového obrázku, povolte jej explicitně; to urychlí rozpoznávání a zlepší přesnost. V našem příkladu povolíme Khmer (`khm`), ale můžete jej nahradit `ENG` pro angličtinu, `CHN` pro čínštinu atd. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Proč je to důležité:** Když **load image for OCR**, engine bude prohledávat jen povolené jazykové slovníky. Pokud jsou zapnuty všechny jazyky, může to zpomalit proces a zvýšit počet falešných pozitiv. + +## Krok 4: Načíst obrázek pro OCR — převod PNG na text + +Zde nastává krok **load image for OCR**. Aspose poskytuje pohodlný pomocník `ImageStream.fromFile`, který abstrahuje nízkoúrovňové I/O. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +Pokud je váš obrázek v jiném formátu (JPEG, BMP, TIFF), stejná metoda funguje — Aspose automaticky detekuje formát. Jen se ujistěte, že cesta k souboru je správná; jinak narazíte na `FileNotFoundException`. + +## Krok 5: Spustit OCR proces a převést PNG na text + +S připraveným enginem a načteným obrázkem je samotné rozpoznání jedním voláním metody. Objekt výsledku vám poskytne surový řetězec i skóre důvěry. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +A to je vše — právě jste **convert PNG to text**. Vrácený řetězec může obsahovat zalomení řádků a mezery přesně tak, jak je engine viděl. Můžete jej následně zpracovat pomocí `trim()`, `replaceAll("\\s+", " ")` nebo jakékoliv jiné úpravy, kterou potřebujete. + +## Krok 6: Výstup výsledku (nebo jeho uložení) + +Pro rychlou kontrolu vytiskněte výsledek do konzole. Ve skutečné aplikaci byste jej pravděpodobně zapsali do souboru, databáze nebo předali jiné službě. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Očekávaný výstup** (pro poskytnutý Khmer znak) může vypadat takto: + +``` +សួស្តី +Welcome +``` + +Pokud je výstup poškozený, dvakrát zkontrolujte, že jste v Kroku 3 povolili správný jazyk a že obrázek není příliš rozmazaný. Zvýšení rozlišení obrázku (např. skenování s 300 dpi) často pomůže. + +## Kompletní funkční příklad + +Spojením všech částí dohromady, zde je samostatný program, který můžete zkopírovat a vložit do `ExtractTextExample.java` a spustit: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Spusťte program pomocí: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +nebo, pokud používáte Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +Měli byste vidět extrahovaný text vytištěný v konzoli, což potvrzuje, že jste úspěšně **extract text from image** pomocí Aspose OCR. + +## Časté problémy a jak je opravit + +| Příznak | Pravděpodobná příčina | Řešení | +|---------|-----------------------|--------| +| Vrácený prázdný řetězec | Žádný jazyk povolen nebo špatný kód jazyka | Přidejte příslušný `OcrLanguage` (např. `ENG` pro angličtinu). | +| Poškozené znaky | Rozlišení obrázku příliš nízké nebo šumivé pozadí | Použijte zdroj s vyšším rozlišením nebo předzpracujte pomocí filtru ostření. | +| `OutOfMemoryError` | Velmi velký obrázek načtený v plné velikosti | Zmenšete obrázek před předáním enginu (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Nesprávná cesta | Ověřte absolutní nebo relativní cestu; použijte `Paths.get(...).toAbsolutePath()`. | + +> **Pamatujte:** OCR je pravděpodobnostní proces. I při dokonalých nastaveních může být potřeba ručně opravit několik znaků, zejména u kurzívních skriptů. + +## Rozšíření tutoriálu — další kroky + +- **Dávkové zpracování:** Procházet adresář PNG souborů a volat stejnou logiku pro každý obrázek. +- **PDF výstup:** Použít Aspose PDF k vložení extrahovaného textu zpět do prohledávatelného PDF. +- **Detekce jazyka:** Zavolejte `ocrEngine.detectLanguage()` před nastavením jazyka, aby engine odhadl automaticky. +- **Integrace do cloudu:** Pokud potřebujete škálovat, zabalte kód do REST endpointu a nechte mikro‑služby jej volat. + +Všechny tyto témata přirozeně navazují na **java ocr tutorial**, který jsme právě dokončili, a ukazují, jak všestranné je Aspose OCR API. + +## Závěr + +Prošli jsme kompletním **java ocr tutorial**, který vám umožní **extrahovat text z obrázku** souborů, **convert PNG to text**, a správně **load image for OCR** pomocí Aspose OCR. Kroky jsou jednoduché: přidat knihovnu, vytvořit engine, povolit správný jazyk, načíst PNG, spustit `recognize()` a zpracovat výstup. S tímto základem můžete automatizovat zadávání dat, vytvářet prohledávatelné archivy nebo napájet jakoukoli aplikaci, která potřebuje strojově čitelný text z obrázků. + +Vyzkoušejte to s vlastními obrázky — třeba snímkem obrazovky účtenky nebo naskenovanou smlouvou. Vyladěte nastavení jazyků, experimentujte s rozlišením a rychle uvidíte, jak flexibilní řešení je. Pokud narazíte na potíže, podívejte se znovu na tabulku problémů nebo zkontrolujte oficiální dokumentaci Aspose; je podrobná a aktuální. + +Šťastné programování a ať je váš další projekt plný čistého, prohledávatelného textu! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/czech/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..98949855d --- /dev/null +++ b/ocr/czech/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,149 @@ +--- +category: general +date: 2026-02-19 +description: Extrahujte text z obrázku pomocí Java OCR. Naučte se příklad Java OCR, + který načte obrázek pro OCR a extrahuje text z fakturačních souborů během několika + kroků. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: cs +og_description: Extrahujte text z obrázku pomocí Java OCR. Tento průvodce ukazuje, + jak načíst obrázek pro OCR a získat text z faktur pomocí jednoduchého příkladu Java + OCR. +og_title: Extrahovat text z obrázku v Javě – kompletní příklad OCR +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Extrahovat text z obrázku v Javě – Kompletní příklad OCR +url: /cs/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrahovat text z obrázku v Javě – kompletní OCR příklad + +Už jste někdy potřebovali **extrahovat text z obrázku**, ale nebyli jste si jisti, kterou knihovnu zvolit? Nejste v tom sami — mnoho vývojářů narazí na tuto překážku při automatizaci zpracování faktur nebo tvorbě prohledávatelných archivů. Dobrá zpráva? Několika řádky Javy můžete načíst obrázek pro OCR, definovat oblast zájmu a získat přesně ten text, který potřebujete. + +V tomto tutoriálu projdeme **java ocr example**, který přesně ukazuje, jak **load image for OCR**, nastavit ROI a **extract text from invoice** soubory pomocí Aspose.OCR. Na konci budete mít spustitelný program, který můžete vložit do libovolného Java projektu. + +## Co se naučíte + +- Jak vytvořit instanci `OcrEngine` a proč je důležitá. +- Správný způsob **load image for OCR** pomocí Aspose `ImageStream`. +- Nastavení **region of interest (ROI)**, aby se zpracovávala pouze část obrázku obsahující částku faktury. +- Extrahování rozpoznaného textu a jeho výpis do konzole. +- Běžné úskalí (např. špatné souřadnice obdélníku) a rychlé opravy. + +**Požadavky** + +- Java 8 nebo novější nainstalována. +- Maven nebo Gradle pro stažení knihovny Aspose.OCR (`com.aspose:aspose-ocr`). +- Ukázkový obrázek faktury (`invoice.png`) umístěný v známém adresáři. + +Máte vše připravené? Skvělé — ponořme se do toho. + +![Extract text from image using Java OCR](/images/extract-text-from-image-java.png "extract text from image example") + +## Extrahovat text z obrázku – krok za krokem Java OCR příklad + +Níže je celý zdrojový kód. Klidně jej zkopírujte a vložte do `RoiOcrExample.java` a spusťte přímo. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Proč je každý krok důležitý + +1. **Creating the OCR engine** – bez enginu neexistuje kontext pro zpracování obrázku. Objekt vám také umožní později doladit jazykové balíčky, pokud potřebujete podporu více jazyků. +2. **Loading the image** – `ImageStream.fromFile` abstrahuje formát souboru a zajišťuje, že engine správně načte bajty. Pokud to vynecháte, dostanete `NullPointerException`. +3. **Setting the ROI** – zpracování celé stránky může být neefektivní. Zúžením obdélníku na oblast celkové částky faktury urychlíte rozpoznávání a snížíte šum. +4. **Calling `recognize()`** – zde se děje magie. Metoda spustí OCR algoritmus nad ROI a vytvoří objekt výsledku. +5. **Printing the output** – ve skutečných projektech byste pravděpodobně text uložili do databáze, ale `System.out.println` je ideální pro rychlou ukázku. + +## Načíst obrázek pro OCR + +Pokud se ptáte, zda cesta musí být absolutní nebo relativní, odpověď je, že obojí funguje — jen se ujistěte, že Java proces může soubor přečíst. Ve Windows je třeba zpětná lomítka escapovat (`C:\\images\\invoice.png`) nebo můžete použít lomítka (`C:/images/invoice.png`). + +**Tip:** Pokud zpracováváte mnoho faktur ve smyčce, znovu použijte stejnou instanci `OcrEngine`; ukládá interní zdroje do cache a zvyšuje propustnost. + +## Definovat oblast zájmu (ROI) + +Výběr správného obdélníku může být trochu pokus‑a‑omyl. Praktický způsob, jak najít souřadnice, je otevřít obrázek v libovolném grafickém editoru (např. GIMP nebo Paint.NET) a najíždět myší na oblast — v stavovém řádku uvidíte hodnoty X/Y. + +Edge case: některé faktury mají proměnlivé rozvržení. V takovém případě můžete provést rychlý předběžný sken celého obrázku, najít klíčová slova jako „Total:“ pomocí regexu a poté dynamicky upravit ROI. + +## Proveďte OCR a získejte text + +Volání `recognize()` je synchronní — váš vlákno blokuje, dokud engine nedokončí. Pro velké dávky můžete spustit thread pool a zpracovávat obrázky paralelně. Jen si pamatujte, že každé vlákno potřebuje vlastní instanci `OcrEngine`; nejsou thread‑safe. + +## Spusťte a ověřte výstup + +Kompilujte a spusťte: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +Měli byste vidět něco jako: + +``` +ROI text: $1,254.00 +``` + +Pokud výstup vypadá poškozeně, zkontrolujte souřadnice ROI a ujistěte se, že kvalita obrázku je vysoká (300 dpi nebo více funguje nejlépe). + +### Běžné úskalí a jak je opravit + +| Příznak | Pravděpodobná příčina | Oprava | +|---------|-----------------------|--------| +| Prázdný řetězec | ROI mimo hranice obrázku | Ověřte hodnoty obdélníku vůči rozměrům obrázku | +| Chybně rozpoznaná slova | Nízké rozlišení | Použijte zdroj s vyšším rozlišením nebo aplikujte předzpracování obrázku (např. binarizaci) | +| `java.lang.NoClassDefFoundError` | Chybějící Aspose JAR v classpath | Přidejte `aspose-ocr.jar` do `-cp` nebo použijte správu závislostí Maven/Gradle | + +## Závěr + +Nyní víte, jak **extract text from image** v Javě pomocí stručného **java ocr example**. Správným načtením obrázku, definováním zaměřené ROI a voláním `recognize()` můžete spolehlivě **extract text from invoice** soubory a předat tato data do následných systémů. + +Co dál? Zkuste vyměnit ROI za různé pole (datum, jméno dodavatele), experimentujte s jazykovými balíčky pro vícejazyčné faktury nebo integrujte OCR krok do microservisu Spring Boot. Stejný vzor funguje pro účtenky, pasy nebo jakýkoli dokument, kde potřebujete přesné extrahování textu. + +Máte-li otázky ohledně škálování tohoto řešení nebo zpracování špatných skenů, zanechte komentář níže — šť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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/czech/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..bc25593ca --- /dev/null +++ b/ocr/czech/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-02-19 +description: Extrahujte text z obrázku v Javě pomocí Aspose OCR. Naučte se, jak rozpoznat + text z PNG, převést obrázek na řetězec a přečíst text ze skenu během několika kroků. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: cs +og_description: Rychle extrahujte text z obrázku. Tento tutoriál ukazuje, jak rozpoznat + text z PNG, převést obrázek na řetězec a číst text ze skenu pomocí Aspose OCR. +og_title: Extrahování textu z obrázku pomocí Aspose OCR – Java průvodce +tags: +- Java +- OCR +- Aspose +title: Extrahování textu z obrázku pomocí Aspose OCR – Rychlý průvodce pro Javu +url: /cs/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrahovat text z obrázku – kompletní Java tutoriál + +Už jste někdy potřebovali **extrahovat text z obrázku**, ale nebyli jste si jisti, kterou knihovnu zvolit? Možná máte naskenovanou účtenku ve formátu PNG a chcete text jako prostý řetězec pro další zpracování. Podle mé zkušenosti je knihovna Aspose OCR tím pravým řešením, zejména když pracujete s Javou. + +V tomto průvodci projdeme vše, co potřebujete vědět: od nastavení závislosti Aspose OCR, načtení PNG souboru, **recognize text from png**, až po převod výsledku na použitelný Java `String`. Na konci budete schopni **convert image to string** a také uvidíte, jak **read text from scan** soubory bez potíží. + +## Co se naučíte + +- Jak přidat Aspose OCR do Maven nebo Gradle projektu. +- Přesný kód potřebný k **extract text from image** pomocí jediného volání metody. +- Proč je třída `ImageStream` preferovaným způsobem, jak předávat data do enginu. +- Tipy pro práci s velkými skeny, více‑stránkovými PDF a běžnými úskalími. + +Předchozí zkušenost s OCR není vyžadována, stačí základní znalost Javy a PNG, který chcete zpracovat. + +## Požadavky + +| Požadavek | Důvod | +|-------------|--------| +| Java 8 nebo novější | Aspose OCR cílí na Java 8+. | +| Maven nebo Gradle (volitelné) | Zjednodušuje správu závislostí. | +| PNG obrázek (např. `quick.png`) | Zdroj, na kterém spustíme OCR. | +| Přístup k internetu (první spuštění) | Knihovna může automaticky stáhnout jazykové balíčky. | + +Pokud již máte Java IDE jako IntelliJ IDEA nebo Eclipse, můžete začít. + +--- + +## Krok 1: Nastavte Aspose OCR ve svém projektu + +### Maven + +Přidejte následující závislost do svého `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro tip:** Pokud používáte firemní proxy, ujistěte se, že Maven/Gradle může dosáhnout na `repo.maven.apache.org`. Jinak se sestavení nezdaří ještě před tím, než napíšete jediný řádek kódu. + +--- + +## Krok 2: Načtěte PNG obrázek + +Třída `ImageStream` abstrahuje podrobnosti souborového systému a pracuje se streamy, URL nebo polemi bajtů. Zde je, jak načíst lokální PNG: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Proč je to důležité:** Použití `ImageStream.fromFile` zaručuje, že OCR engine obdrží obrázek ve formátu, který plně rozumí, což zlepšuje přesnost rozpoznání oproti předávání surových bytových polí. + +--- + +## Krok 3: Rozpoznat text z PNG + +Aspose OCR poskytuje jedinou statickou metodu, která odlehčuje práci: `OcrEngine.recognize`. Vrací prostý Java `String`, což je přesně to, co potřebujete, když chcete **convert image to string**. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### Co se děje pod kapotou? + +1. **Pre‑processing:** Engine automaticky odstraňuje zkosení obrázku a normalizuje kontrast. +2. **Language Detection:** Pokud neurčíte jazyk, Aspose se ho pokusí odhadnout, což je užitečné pro rychlé skeny. +3. **Recognition:** Hlavní OCR engine spouští model neuronové sítě trénovaný na milionech znaků. + +Protože je vše zapouzdřeno v jednom volání, nemusíte se zabývat nízkoúrovňovými nastaveními, pokud nemáte velmi specifický případ použití. + +--- + +## Krok 4: Zobrazte a použijte extrahovaný řetězec + +Now that you have the text, you can print it, store it in a database, or feed it to another API. Here’s the simplest way—just `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Očekávaný výstup + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Poznámka:** Přesný výstup závisí na obsahu `quick.png`. Pokud obrázek obsahuje ručně psanou poznámku, můžete vidět některé chyby v rozpoznání – nic, co by se nedalo opravit drobným post‑processingem. + +--- + +## Krok 5: Řešení běžných okrajových případů + +### Velké skeny nebo více‑stránkové PDF + +Pokud potřebujete **read text from scan** soubory, které jsou větší než typický PNG, zvažte: + +- Rozdělení obrázku na dlaždice (`ImageStream.fromRegion`). +- Použití `OcrEngine.recognizeMultiplePages` pro PDF vstupy. + +### Non‑English Languages + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Tipy pro výkon + +- Znovu použijte stejnou instanci `OcrEngine` pro více obrázků, abyste se vyhnuli opakované inicializaci. +- Pro dávkové zpracování povolte vícevláknové zpracování, ale omezte počet vláken na počet jader CPU, aby nedošlo k přetížení paměti. + +--- + +## Kompletní funkční příklad + +Níže je kompletní, připravená ke spuštění Java třída. Zkopírujte ji do svého IDE, upravte cestu k obrázku a stiskněte **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +Spuštěním tohoto programu se výsledek OCR vypíše do konzole, efektivně **convert image to string** během několika řádků kódu. + +--- + +## Závěr + +Nyní víte, jak **extract text from image** soubory v Javě pomocí Aspose OCR. Proces se zredukuje na tři jednoduché kroky: načíst PNG, zavolat `OcrEngine.recognize` a použít vzniklý řetězec. Ať už se snažíte **recognize text from png**, **convert image to string**, nebo jen **read text from scan** dokumenty, tento přístup vám poskytuje spolehlivé, připravené pro produkci řešení. + +Jste připraveni na další výzvu? Zkuste načíst složku naskenovaných účtenek do smyčky, uložit každý výsledek do CSV, nebo experimentovat s nastavením specifickým pro jazyk, abyste zlepšili přesnost u neanglických textů. Možnosti jsou neomezené a kód, který jste právě napsali, je solidním základem. + +Šťastné kódování a neváhejte položit jakékoli otázky v komentářích – rád pomohu! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/czech/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..3d9848103 --- /dev/null +++ b/ocr/czech/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-02-19 +description: Rozpoznávejte text z PNG v Javě pomocí Aspose OCR – naučte se, jak extrahovat + text z obrázku v Javě a efektivně zpracovávat obrázek pomocí OCR. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: cs +og_description: Rozpoznat text z PNG v Javě pomocí Aspose OCR. Tento tutoriál ukazuje, + jak extrahovat text z obrázku v Javě a zpracovat obrázek pomocí OCR krok za krokem. +og_title: Rozpoznat text z PNG v Javě – Kompletní průvodce Aspose OCR +tags: +- OCR +- Java +- Image Processing +title: Rozpoznat text z PNG v Javě – tutoriál Aspose OCR +url: /cs/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# rozpoznání textu z PNG v Javě – kompletní průvodce Aspose OCR + +Už jste někdy potřebovali **recognize text from png**, ale nebyli jste si jisti, kterou knihovnu zvolit? Nejste sami – mnoho vývojářů Java narazí na tento problém, když poprvé řeší extrakci dat z obrázků. Dobrou zprávou je, že Aspose OCR dělá celý proces téměř bezbolestný, a v tomto průvodci uvidíte přesně, jak **extract text from image java** projekty, zatímco **process image with OCR** provádíte způsobem bezpečným pro vlákna. + +V následujících několika minutách spustíme malý Java program, který načte PNG, spustí OCR na CPU s až osmi vlákny a vytiskne rozpoznaný řetězec do konzole. Žádné externí služby, žádné tajné API klíče – jen čistý Java kód, který můžete dnes zkopírovat a spustit. + +## Co budete potřebovat + +- **Java 17** nebo novější (kód se kompiluje i s dřívějšími verzemi, ale 17 je optimální). +- **Aspose.OCR for Java** JAR (stáhněte z webu Aspose nebo získáte přes Maven). +- PNG obrázek, který chcete přečíst – například `document-page1.png` uložený někde na disku. +- Váš oblíbený IDE nebo jednoduchý textový editor a terminál. + +To je vše. Pokud to máte, můžeme se rovnou pustit do řešení. + +![Java kód pro rozpoznání textu z png pomocí Aspose OCR](image-placeholder.png "příklad rozpoznání textu z png v Javě"){alt="Java kód pro rozpoznání textu z png pomocí Aspose OCR"} + +## Krok za krokem: rozpoznání textu z png + +Níže rozdělíme implementaci na přehledné, zvládnutelné části. Každá část je nadpis H2, takže můžete přejít přímo na část, která vás zajímá. + +### 1. Přidejte Aspose OCR do svého projektu + +**Proč?** OCR engine je součástí knihovny Aspose; bez ní kompilátor nebude vědět, co je `OcrEngine`. + +Pokud používáte Maven, vložte tento úryvek do svého `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Pro Gradle to vypadá takto: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Tip:** Vždy ověřte nejnovější číslo verze; novější vydání často přinášejí vylepšení výkonu pro vícevláknové zpracování. + +### 2. Vytvořte a nakonfigurujte OCR Engine + +**Proč?** Vytvořením instance `OcrEngine` získáte připravený objekt a úpravou nastavení zařízení můžete využít všechny dostupné jádra CPU. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Zde explicitně nastavujeme zařízení na `CPU`. Pokud později přejdete do prostředí s podporou GPU, stačí vyměnit hodnotu enumu – žádné další změny kódu nejsou potřeba. + +### 3. Načtěte PNG obrázek + +**Proč?** OCR pracuje s obrazovým proudem, ne přímo s cestou k souboru. Převod souboru na `ImageStream` abstrahuje podkladový formát. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Nahraďte `YOUR_DIRECTORY` skutečnou složkou. Pokud soubor není nalezen, engine vyhodí `IOException`, kterou zachytíme později. + +### 4. Spusťte rozpoznání a zachyťte výsledek + +**Proč?** Metoda `recognize()` vykonává těžkou práci – detekuje znaky, řádky a rozložení. Vrácený `OcrResult` obsahuje čistý text. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Můžete také požádat o výsledek ve formátu `Pdf` nebo `Html`, ale pro účely **extract text from image java** zůstáváme u prostého textu. + +### 5. Výstup textu a úklid + +**Proč?** Jednoduché `System.out.println` stačí pro demonstraci, ale ve skutečné aplikaci byste pravděpodobně zapisovali do souboru nebo databáze. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +Protože `OcrEngine` implementuje `AutoCloseable`, je dobrým zvykem vše zabalit do bloku try‑with‑resources. To zajistí včasové uvolnění nativních zdrojů. + +### 6. Kompletní, spustitelný příklad + +Spojením všech částí získáte kompletní program, který můžete zkompilovat a spustit: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Očekávaný výstup** (předpokládáme, že PNG obsahuje „Hello World“): + +``` +=== OCR Result === +Hello World +``` + +Pokud je obrázek složitější – více řádků, tabulky nebo ručně psané poznámky – výstup bude přesně odrážet to, co Aspose OCR detekuje, a zachová zalomení řádků tam, kde je to vhodné. + +## Časté otázky a okrajové případy + +### Co když je PNG obrovské? + +Velké obrázky mohou spotřebovat hodně paměti. Praktickým řešením je **downscale** obrázek před tím, než jej předáte engine: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +Zmenšení obrazu snižuje zatížení CPU, aniž by snižovalo přesnost OCR pro většinu tištěného textu. + +### Můžu spustit OCR na PDF místo PNG? + +Rozhodně. Aspose OCR také přijímá PDF pomocí objektů `PdfDocument`. Stejný volání `recognize()` funguje, takže můžete **process image with OCR** bez ohledu na formát zdroje. + +### Jak zlepšit přesnost pro ne‑latinské skripty? + +Nastavte jazyk před rozpoznáním: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose dodává desítky jazykových balíčků; stačí vybrat ten, který odpovídá obsahu vašeho obrázku. + +### Je počet vláken vždy výhodný? + +Více vláken zrychluje zpracování na vícejádrových CPU, ale nad počet fyzických jader se výnosy snižují. Pokud zaznamenáte vyšší využití CPU bez odpovídajícího zrychlení, snižte počet zpět na `Runtime.getRuntime().availableProcessors()`. + +## Shrnutí: Co jsme dosáhli + +Právě jsme **recognize text from png** pomocí stručného Java programu, ukázali, jak **extract text from image java** s Aspose OCR, a pokryli nezbytné kroky k **process image with OCR** v produkčně připraveném režimu. Kód je samostatný, vysvětlení odpovídají jak na „jak“, tak na „proč“ a tipy řeší typické úskalí, na která můžete narazit. + +## Co dál? + +- **Dávkové zpracování:** Procházet adresář PNG souborů a zapisovat každý výsledek do souboru `.txt`. +- **Generování PDF:** Přenést výstup OCR do Aspose.PDF a vytvořit prohledávatelné PDF. +- **Škálování v cloudu:** Nasadit stejný kód do kontejneru orchestrovaného Kubernetes a nechat pool vláken přizpůsobit se zdrojům podu. + +Neváhejte experimentovat – vyměňte obrázek, upravte počet vláken nebo změňte jazyk. OCR engine je dostatečně flexibilní pro většinu scénářů a s touto základnou je jeho rozšíření hračkou. + +Máte otázky nebo jste objevili chytrou optimalizaci? Zanechte komentář níže a šťastné programování! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/java/ocr-operations/_index.md b/ocr/czech/java/ocr-operations/_index.md index c499c38bd..d8a7920fa 100644 --- a/ocr/czech/java/ocr-operations/_index.md +++ b/ocr/czech/java/ocr-operations/_index.md @@ -75,11 +75,14 @@ Uvolněte přesné extrahování textu z obrázků s Aspose.OCR pro Java. Postup Uvolněte sílu OCR v Javě s Aspose.OCR. Bez námahy rozpoznávejte text v PDF dokumentech. Posilte své aplikace přesností a rychlostí. ### [OCR rozpoznávání TIFF obrázků v Aspose.OCR pro Java](./recognize-tiff/) Uvolněte výkonné rozpoznávání textu v Javě s Aspose.OCR. Bez námahy rozpoznávejte text v TIFF obrázcích. Stáhněte si nyní pro plynulý OCR zážitek. +### [Vytvoření prohledávatného PDF z JPG – Průvodce Java pro převod obrázku na prohledávatelné PDF](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Naučte se převést JPG obrázek na prohledávatelné PDF pomocí Aspose.OCR v Javě a zlepšit přístupnost dokumentů. ### [Rozpoznání textu z obrázku pomocí Aspose OCR – Kompletní Java OCR tutoriál](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +### [Jak narovnat obrázek — krok‑za‑krokem průvodce předzpracováním OCR](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) ## Často kladené otázky -**Q: Jak mohu převést naskenovaný PDF do prohledávatelného PDF?** +**Q: Jak mohu převést naskenovaný PDF do prohledávatného PDF?** A: Použijte tutoriál `recognize-pdf` k aplikaci OCR, poté uložte dokument s prohledávatelnou textovou vrstvou. **Q: Mohu z konkrétní jazyk?** diff --git a/ocr/czech/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/czech/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..a810a7ec0 --- /dev/null +++ b/ocr/czech/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,186 @@ +--- +category: general +date: 2026-02-19 +description: Vytvořte prohledávatelný PDF ze souboru JPG pomocí Aspose OCR v Javě. + Převést JPG na PDF a rychle rozpoznat text z obrázku. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: cs +og_description: Vytvořte prohledávatelný PDF ze souboru JPG pomocí Aspose OCR. Naučte + se, jak převést JPG na PDF a rozpoznat text z obrázku v Javě. +og_title: Vytvořte prohledávatelný PDF z JPG – Java OCR tutoriál +tags: +- aspose-ocr +- java +- pdf +- ocr +title: Vytvořte prohledávatelný PDF ze souboru JPG – Obrázek na prohledávatelný PDF + – Java průvodce +url: /cs/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Vytvoření prohledávatelného PDF z JPG – Obrázek na prohledávatelné PDF Java průvodce + +Už jste někdy potřebovali **vytvořit prohledávatelné PDF** ze skenovaného obrázku, ale nevedeli jste, kde začít? Nejste v tom sami – mnoho vývojářů narazí na stejný problém, když mají JPG, který má být prohledávatelný. Dobrou zprávou je, že s Aspose OCR for Java můžete převést tento obrázek na plně prohledávatelné PDF během několika řádků kódu. + +V tomto tutoriálu projdeme celý proces: načtení JPG, rozpoznání textu a uložení výsledku jako prohledávatelné PDF. Na konci budete vědět, jak **convert jpg to pdf**, jak **extract text from jpg**, a proč je tento přístup často spolehlivější než pokus o OCR PDF po jeho vytvoření. + +## Co budete potřebovat + +* **Java Development Kit (JDK) 8 nebo novější** – kód používá standardní Java API. +* **Aspose OCR for Java** knihovna – můžete ji získat z Maven Central nebo stáhnout JAR ze stránky Aspose. +* **sample JPG**, který obsahuje čitelný text (např. naskenovaná faktura nebo snímek obrazovky dokumentu). + +Žádné další frameworky nejsou vyžadovány; příklad funguje s čistým Java projektem. + +## Krok 1 – Nastavení projektu a přidání Aspose OCR + +Nejprve vytvořte nový Maven projekt (nebo jen složku s JAR na classpath). Pokud používáte Maven, přidejte tuto závislost do svého `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Tip:** Vždy ověřte nejnovější verzi v Aspose Maven repozitáři; novější vydání obsahují vylepšení výkonu a opravy chyb. + +Jakmile je závislost vyřešena, můžete psát Java kód, který **vytvoří prohledávatelné PDF**. + +## Krok 2 – Načtení obrázku (image to searchable pdf) + +Prvním skutečným krokem je nasměrovat OCR engine na zdrojový obrázek. Zde skutečně začíná transformace **image to searchable pdf**. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Proč je to důležité:** `setImage` říká Aspose, který bitmap má analyzovat. Pokud poskytnete obrázek s nízkým rozlišením, kvalita OCR utrpí, takže se ujistěte, že JPG má alespoň 300 dpi pro nejlepší výsledek. + +## Krok 3 – Rozpoznání textu z obrázku + +Nyní, když engine ví, s jakým obrázkem pracovat, můžeme ho požádat o **recognize text from image**. Aspose OCR provádí těžkou práci pod kapotou, zajišťuje detekci jazyka, segmentaci znaků a hodnocení důvěry. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +Volání `recognize()` vrací fluent interface, což nám umožňuje řetězit metodu `save`. Pokud specifikujete `OcrOutputFormat.SEARCHABLE_PDF`, knihovna vloží neviditelnou textovou vrstvu do PDF a zachová původní vzhled obrázku. + +> **Okrajový případ:** Pokud váš JPG obsahuje více stránek (např. multi‑page TIFF uložený jako samostatné JPG), budete muset projít každý soubor a později sloučit vzniklé PDF. Stejný OCR engine lze znovu použít pro každou iteraci. + +## Krok 4 – Ověření výsledku + +Po dokončení operace uložení vám jednoduchá zpráva v konzoli oznámí, že vše proběhlo hladce. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +Když otevřete `output-searchable.pdf` v prohlížeči jako Adobe Acrobat, měli byste být schopni vybrat skrytý text, zkopírovat jej nebo provést hledání – přesně to, co očekáváte od **searchable PDF**. + +### Očekávaný výstup + +Spuštěním programu se vypíše: + +``` +Searchable PDF created. +``` + +A vygenerované PDF zobrazí původní JPG a zároveň umožní výběr textu. Pokud otevřete PDF „Properties → Description → PDF Producer“, uvidíte něco jako `Aspose.OCR for Java`. + +## Kompletní funkční příklad + +Níže je kompletní, připravený ke spuštění zdrojový soubor. Zkopírujte jej do svého IDE, upravte cesty k souborům a spusťte. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **Co když OCR selže?** +> * Obvykle se to stane, protože je obrázek příliš šumivý nebo jazyk není podporován přímo. Přesnost můžete zlepšit předzpracováním obrázku (zvýšení kontrastu, vyrovnání) nebo explicitním nastavením jazyka pomocí `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`. + +## Časté otázky a úskalí + +| Question | Answer | +|----------|--------| +| **Mohu extrahovat čistý text místo PDF?** | Yes. Use `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **Co když potřebuji zpracovat PNG?** | The same API works; just change the file extension in `fromFile`. | +| **Je výsledné PDF skutečně prohledávatelné ve všech prohlížečích?** | Modern viewers (Adobe Reader, Foxit, Chrome) honor the hidden text layer. Older tools might ignore it. | +| **Jak mohu ovládat velikost stránky PDF?** | Aspose OCR uses the image dimensions by default. For custom sizing, generate a PDF manually and overlay the OCR text layer—this is an advanced scenario. | + +## Tipy pro výkon + +* **Dávkové zpracování:** Znovu použijte jedinou instanci `OcrEngine` pro mnoho obrázků, abyste se vyhnuli opakovanému načítání nativní knihovny. +* **Bezpečnost vláken:** Engine **není** thread‑safe; vytvořte jednu instanci na vlákno, pokud paralelizujete. +* **Spotřeba paměti:** Velké obrázky mohou spotřebovat hodně RAM. Pokud narazíte na `OutOfMemoryError`, zmenšete rozlišení obrázku před jeho předáním engine. + +## Další kroky + +Nyní, když víte, jak **create searchable PDF**, můžete chtít prozkoumat související úkoly: + +* **Convert jpg to pdf** bez OCR (použijte knihovnu Aspose PDF pro čistý PDF s obrázkem). +* **Extract text from jpg** do souboru `.txt` pro indexování. +* **Combine multiple searchable PDFs** do jednoho dokumentu pomocí `PdfFileEditor` z Aspose PDF. + +Všechny tyto úkoly staví na stejné základně, kterou jste právě vytvořili. + +--- + +### Rychlé shrnutí + +* Vytvořili jsme **searchable PDF** z JPG pomocí Aspose OCR for Java. +* Proces zahrnoval načtení obrázku, rozpoznání textu a uložení jako prohledávatelné PDF. +* Nyní máte znovupoužitelný vzor pro **image to searchable PDF**, **recognize text from image**, **extract text from jpg**, a **convert jpg to pdf**. + +Vyzkoušejte to s vlastními dokumenty, upravte nastavení jazyka podle potřeby a nechte OCR udělat těžkou práci za vás. Šťastné kódování! + +![Příklad vytvoření prohledávatelného PDF](placeholder.png){alt="Příklad vytvoření prohledávatelného PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/czech/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..38d57e16b --- /dev/null +++ b/ocr/czech/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,171 @@ +--- +category: general +date: 2026-02-19 +description: Naučte se, jak vyrovnat obrázek a odstranit šum pro OCR. Tento tutoriál + ukazuje, jak rozpoznat textový obrázek, opravit rotaci obrázku a předzpracovat obrázek + pro OCR pomocí Aspose OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: cs +og_description: Jak vyrovnat sklon obrazu a odstranit šum, aby bylo možné rychle rozpoznat + text na obrázku. Postupujte podle tohoto návodu k opravě rotace obrazu a předzpracování + OCR obrazu pomocí Aspose. +og_title: Jak narovnat obrázek – Kompletní návod na předzpracování OCR +tags: +- OCR +- Java +- Image Processing +title: Jak vyrovnat obrázek — krok za krokem průvodce předzpracováním OCR +url: /cs/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +ykové balíčky** – načíst konkrétní jazykový slovník pro zvýšení přesnosti u textu mimo angličtinu." +- "**Advanced filters** – like `setContrastStretch` or `setBinarization` for low‑contrast scans." translate "- **Pokročilé filtry** – jako `setContrastStretch` nebo `setBinarization` pro skeny s nízkým kontrastem." + +"Got more questions? Drop a comment, and happy coding!" translate "Máte další otázky? Zanechte komentář a šťastné kódování!" + +Then closing shortcodes. + +Make sure to keep all shortcodes exactly. + +Now produce final content.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak opravit zkosení obrázku — Kompletní tutoriál předzpracování OCR + +Už jste se někdy zamysleli nad tím, **jak opravit zkosení obrázku** před tím, než jej předáte OCR enginu? Možná jste naskenovali hromadu účtenek a stránky vypadají, jako by se mírně nakláněly, nebo je sken posetý náhodnými tečkami. To je běžný problém – nakloněné, šumivé obrázky ztěžují rozpoznávání textu. + +Dobrá zpráva? Můžete narovnat (opravit rotaci obrázku) a odstranit šum (jak odstranit šum) pomocí několika řádků Javy s Aspose.OCR. V tomto průvodci projdeme celý proces: od načtení šumově‑nakloněného PNG, aplikace deskew + median denoise, až po **rozpoznání textu na obrázku** a vytištění výsledku. Na konci budete mít znovupoužitelný úryvek, který můžete vložit do libovolného Java projektu. + +## Co budete potřebovat + +- **Java 17** nebo novější (kód se kompiluje i se staršími verzemi, ale 17 je ideální). +- **Aspose.OCR for Java** – můžete získat nejnovější JAR z Maven Central (`com.aspose:aspose-ocr`). +- Obrázkový soubor, který je zároveň nakloněný a šumivý (např. `noisy-rotated.png`). +- Jednoduché IDE (IntelliJ, Eclipse nebo i VS Code). + +Není potřeba žádné složité nástroje pro sestavení; jednoduché spuštění `javac` + `java` funguje bez problémů. + +## Krok 1 – Vytvoření instance OCR enginu + +První věc, kterou uděláte, je vytvořit `OcrEngine`. Považujte jej za mozek, který pro vás později přečte znaky. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Tip:** Uchovávejte engine jako singleton, pokud zpracováváte mnoho obrázků; znovu používá interní buffery a zrychluje to. + +## Krok 2 – Povolení Deskew a Median Denoise (Jak odstranit šum) + +Nyní říkáme engine, aby **opravil rotaci obrázku** a **odstranil šum**. Oba filtry jsou volitelné, ale společně výrazně zlepšují přesnost. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Proč median denoise? Zachovává hrany (čáry definující znaky) a zároveň odstraňuje izolované pixely – přesně to, co potřebujete pro čistý OCR. + +## Krok 3 – Načtení obrázku, který chcete zpracovat + +Zde nasměrujeme engine na soubor, který je potřeba vyčistit. `ImageStream.fromFile` načte PNG do paměti. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Pokud je váš obrázek na vzdáleném serveru, stačí místo toho předat `InputStream` – Aspose to zvládne elegantně. + +## Krok 4 – Spuštění OCR a zachycení rozpoznaného textu + +S povoleným předzpracováním engine nyní čte opravený obrázek. Volání `recognize()` vrací `RecognitionResult`, který obsahuje extrahovaný řetězec. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +V konzoli byste měli vidět čistý, čitelný text, i když původní obrázek byl nakloněný a zrnitý. + +## Krok 5 – Ověření výsledku (Co očekávat) + +Když vše funguje, konzole vypíše něco jako: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Pokud výstup stále obsahuje poškozené znaky, zkontrolujte: +- Rozlišení obrázku (≥ 300 dpi je ideální). +- Že cesta k souboru je správná. +- Zda by mohly pomoci další filtry (např. `setContrastStretch`). + +## Volitelné: Vizuální potvrzení pomocí ukázkového obrázku + +Níže je malý náhled nakloněné, šumivé účtenky. Všimněte si naklonění – náš kód jej pro vás narovná. + +![příklad jak opravit zkosení obrázku](deskew-demo.png "jak opravit zkosení obrázku") + +*Alt text: jak opravit zkosení obrázku – před a po zpracování.* + +## Často kladené otázky + +### Funguje to s PDF nebo jen s PNG/JPEG? +Aspose.OCR umí číst PDF přímo; stačí nahradit `ImageStream.fromFile` za `ImageStream.fromPdf`. Stejné příznaky předzpracování se použijí, takže stále získáte **jak opravit zkosení obrázku** a **jak odstranit šum**. + +### Co když potřebuji zachovat původní orientaci pro pozdější kroky? +Můžete klonovat obrázek před předzpracováním: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Můžu změnit úhel deskew ručně? +Ano – `setDeskewAngle(double degrees)` vám umožní přepsat algoritmus automatického detekování. Užitečné, když automatické detekování selže při extrémních rotacích. + +### Jak se liší median denoise od Gaussian blur? +Median filtry nahradí každý pixel mediánem jeho sousedů, což zachovává hrany. Gaussian blur vše vyhladí, což může rozmazat tahy znaků – proto je median bezpečnější volbou pro OCR. + +## Závěr + +V tomto tutoriálu jsme pokryli **jak opravit zkosení obrázku** soubory, ukázali **jak odstranit šum** a ukázali vám, jak **rozpoznat text na obrázku** pomocí vestavěného předzpracování Aspose OCR. Povolením `setDeskew(true)` a `setMedianDenoise(true)` automaticky **opravenete rotaci obrázku** a odstraníte šmouhy, čímž proměníte nečistý sken na čistý textový řetězec. + +Neváhejte experimentovat: vyzkoušejte různé strategie denoise, načtěte PDF nebo řetězte více obrázků ve smyčce. Stejný vzor – engine → preprocess → recognize – platí pro každý scénář, což z něj dělá pevný základ pro jakýkoli OCR pipeline. + +**Další kroky**, které můžete prozkoumat: +- **Dávkové zpracování** – iterovat přes složku obrázků a zapsat každý výsledek do souboru `.txt`. +- **Jazykové balíčky** – načíst konkrétní jazykový slovník pro zvýšení přesnosti u textu mimo angličtinu. +- **Pokročilé filtry** – jako `setContrastStretch` nebo `setBinarization` pro skeny s nízkým kontrastem. + +Máte další otázky? Zanechte komentář a šť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/dutch/java/advanced-ocr-techniques/_index.md b/ocr/dutch/java/advanced-ocr-techniques/_index.md index ab7226b11..4a23a8334 100644 --- a/ocr/dutch/java/advanced-ocr-techniques/_index.md +++ b/ocr/dutch/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,14 @@ Ontgrendel de kracht van tekstherkenning met Aspose.OCR voor Java. Volg onze sta Versterk uw Java-applicaties met Aspose.OCR voor nauwkeurige tekstherkenning. Eenvoudige integratie, hoge nauwkeurigheid. ### [Toegestane tekens opgeven in Aspose.OCR](./specify-allowed-characters/) Ontgrendel tekstextractie uit afbeeldingen naadloos met Aspose.OCR voor Java. Volg onze stapsgewijze handleiding voor een efficiënte integratie. +### [GPU inschakelen voor OCR in Java – Complete gids](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Leer hoe u GPU-ondersteuning inschakelt voor Aspose.OCR in Java voor snellere en nauwkeurigere tekstherkenning. +### [Hoe OCR-afbeelding in Java – Handgeschreven notities met spellingscontrole](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Leer hoe u handgeschreven notities in Java OCR't met spellingscontrole voor nauwkeurige tekstextractie. + {{< /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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/dutch/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..368619aa8 --- /dev/null +++ b/ocr/dutch/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,209 @@ +--- +category: general +date: 2026-02-19 +description: Hoe GPU in te schakelen voor snelle OCR-verwerking. Leer hoe je een afbeelding + met hoge resolutie laadt, tekst in een afbeelding herkent en tekst extraheert met + Aspose OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: nl +og_description: Hoe GPU in te schakelen voor snelle OCR-verwerking. Deze gids laat + zien hoe je een afbeelding met hoge resolutie laadt, tekst in de afbeelding herkent + en tekst extraheert met Aspose OCR. +og_title: Hoe GPU voor OCR in Java in te schakelen – Complete gids +tags: +- OCR +- Java +- GPU +- Aspose +title: Hoe GPU voor OCR in Java in te schakelen – Complete gids +url: /nl/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe GPU in te schakelen voor OCR in Java – Complete gids + +Heb je je ooit afgevraagd **hoe je GPU** kunt inschakelen voor je OCR‑pipeline en seconden kunt besparen op de verwerkingstijd? Je bent niet de enige. In veel beeldintensieve projecten is de knelpunt de CPU‑gebonden teksterkenningsstap, en overschakelen naar GPU kan een echte game‑changer zijn. + +In deze tutorial lopen we door het laden van een **high‑resolution afbeelding**, het configureren van Aspose OCR om op de GPU te draaien, en uiteindelijk **tekstafbeelding herkennen** en **tekst extraheren** met slechts een paar regels Java. Aan het einde heb je een kant‑klaar programma dat **GPU‑verwerking inschakelen** end‑to‑end demonstreert. + +## Wat je nodig hebt + +- Java 17 of nieuwer (de code maakt gebruik van het modulesysteem maar werkt op oudere JDK’s met kleine aanpassingen) +- Aspose OCR for Java 23.10 (of de nieuwste versie) – je kunt de Maven‑coördinaten van de Aspose‑site halen +- Een NVIDIA‑GPU met CUDA 12+ drivers geïnstalleerd (de bibliotheek weigert anders te starten) +- Een high‑resolution voorbeeldafbeelding (PNG of JPEG) waaruit je tekst wilt lezen + +Dat is alles. Geen externe services, geen cloud‑credits, alleen je eigen machine en de juiste driver‑stack. + +![GPU OCR workflow – how to enable GPU processing](gpu-ocr-workflow.png) + +*Afbeeldings‑alt‑tekst: diagram dat illustreert hoe GPU voor OCR‑verwerking in Java in te schakelen.* + +## Stapsgewijze implementatie + +Hieronder splitsen we de oplossing op in logische delen. Elke sectie bevat een beknopt code‑fragment, een uitleg **waarom** de stap belangrijk is, en een paar praktische tips die je later waarschijnlijk zult waarderen. + +### Hoe GPU voor OCR in te schakelen – Stap 1: Afhankelijkheden installeren & CUDA verifiëren + +Voordat er Java‑code wordt uitgevoerd, moet de native CUDA‑runtime vindbaar zijn. Op Windows kun je verifiëren met: + +```bat +nvcc --version +``` + +Op Linux: + +```bash +nvidia-smi +``` + +Als het commando de driver‑versie en GPU‑details weergeeft, ben je klaar om door te gaan. Zo niet, ga dan naar de website van NVIDIA, download de juiste driver en installeer de CUDA‑toolkit (zorg dat de versie overeenkomt met de vereisten van Aspose OCR – momenteel 12.x). + +**Tip:** Houd je GPU‑driver up‑to‑date, maar vermijd de “latest‑beta” releases; die breken soms de binaire compatibiliteit met de Aspose‑native libraries. + +### Hoe GPU voor OCR in te schakelen – Stap 2: Aspose OCR Maven‑dependency toevoegen + +Voeg het volgende toe aan je `pom.xml`. Dit haalt de core OCR‑engine en de native GPU‑binaries voor Windows, Linux en macOS op. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Als je Gradle verkiest, is het equivalent: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Na het vernieuwen van je project zijn de klassen `OcrEngine`, `OcrDeviceType` en `ImageStream` beschikbaar. + +### Hoe GPU voor OCR in te schakelen – Stap 3: De OCR‑engine maken en GPU inschakelen + +Nu vertellen we Aspose daadwerkelijk om op de GPU te draaien. Het `OcrEngine`‑object exposeert een `Device`‑object waar we het verwerkingsapparaattype kunnen wijzigen. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Waarom dit belangrijk is:** Het instellen van `OcrDeviceType.GPU` vervangt de onderliggende inferentie‑engine van een CPU‑only implementatie naar een CUDA‑versneld alternatief. De optionele `setStreamCount`‑aanroep laat je parallelisme regelen; twee streams zijn een veilig standaardgetal op de meeste consumenten‑GPU’s. + +### Hoe GPU voor OCR in te schakelen – Stap 4: Een high‑resolution afbeelding laden + +High‑resolution bronnen geven het OCR‑model meer visueel detail, wat zich vertaalt naar hogere nauwkeurigheid, vooral bij kleine lettertypen of ingewikkelde scripts. De helper `ImageStream.fromFile` leest het bestand in een formaat dat de engine verwacht. + +Als je een **high resolution image** wilt **laden** vanaf een URL of een in‑memory byte‑array, kun je gebruiken: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Randgeval:** Sommige GPU’s hebben een maximale textuur‑grootte (vaak 16384 × 16384). Als je afbeelding die limiet overschrijdt, overweeg dan te down‑scalen naar een grootte die nog leesbaar blijft (bijv. 3000 × 2000). De OCR‑engine schaalt automatisch als je `ocrEngine.setResizeFactor(0.5)` aanroept vóór het laden. + +### Hoe GPU voor OCR in te schakelen – Stap 5: Tekstafbeelding herkennen en tekst extraheren + +Het aanroepen van `ocrEngine.recognize()` start de neurale netwerk‑inference op de GPU. De methode retourneert een `OcrResult`‑object; `getText()` haalt de platte string op. Je kunt ook bounding boxes, confidence scores of de ruwe JSON ophalen als je rijkere data nodig hebt. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Waarom je dit wilt:** De stap **recognize text image** is waar de GPU schittert—grote afbeeldingen die seconden op de CPU kosten, worden in een fractie van die tijd verwerkt. De confidence scores laten je lage‑kwaliteit resultaten filteren, een handige truc wanneer je later **how to extract text** gebruikt voor downstream‑analytics. + +### Pro‑tips & Veelvoorkomende valkuilen + +| Situatie | Wat te doen | +|-----------|------------| +| **Out‑of‑memory fouten** op GPU | Verlaag `setStreamCount` naar 1, of down‑scale de afbeelding voordat je deze aan de engine geeft. | +| **Onherkende tekens** ondanks hoge resolutie | Zorg dat het taalmodel (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) overeenkomt met de teksttaal. | +| **CUDA‑versie mismatch** | Stem de CUDA‑toolkit versie af op die welke in Aspose OCR is gebundeld (check de release notes). | +| **Meerdere GPU’s** | Gebruik `ocrEngine.getDevice().setDeviceId(1)` om de tweede GPU te kiezen als de eerste bezet is. | +| **Uitvoeren op een headless server** | Geen extra stappen nodig; de GPU‑driver werkt zonder display. | + +## Hoe tekst extraheren – Output verifiëren + +Wanneer je de bovenstaande klasse uitvoert, zie je iets als: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Als de output er rommelig uitziet, controleer dan of de afbeelding echt high‑resolution is en of de GPU‑driver correct geïnstalleerd is. Je kunt ook verbose logging inschakelen: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +De logs laten zien of de native CUDA‑kernels succesvol geladen zijn. + +## Volgende stappen & Gerelateerde onderwerpen + +- **Batchverwerking:** Plaats de `OcrEngine` in een lus en voer een lijst met afbeeldingspaden in. Hergebruik dezelfde engine‑instantie om herhaalde GPU‑initialisatie‑overhead te vermijden. +- **Taaldetectie:** Aspose OCR ondersteunt meer dan 30 talen. Wissel over met `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Post‑processing:** Gebruik reguliere expressies om de geëxtraheerde string op te schonen, of voer deze in een downstream NLP‑pipeline. +- **Alternatieve apparaten:** Als je geen CUDA‑capabele GPU hebt, kun je terugvallen op `OcrDeviceType.CPU`. Dezelfde code werkt; wijzig alleen het device‑type. +- **Performance benchmarking:** Meet het tijdsverschil met `System.nanoTime()` vóór en na `recognize()` om de winst van **enable GPU processing** te kwantificeren. + +--- + +### Samenvatting + +We hebben behandeld **hoe je GPU** voor Aspose OCR in Java inschakelt, van het installeren van de juiste drivers tot het laden van een **high resolution image**, **recognize text image**, en uiteindelijk **how to extract text** uit het resultaat. Het complete, uitvoerbare voorbeeld hierboven zou out‑of‑the‑box moeten werken op elke moderne NVIDIA‑GPU. + +Probeer het, experimenteer met verschillende afbeeldingsgroottes, en zie hoe je OCR‑doorvoer omhoog schiet. Als je ergens tegenaan loopt, raadpleeg dan de tips‑sectie of de release notes van Aspose voor de nieuwste **enable GPU processing** aanbevelingen. + +Happy coding, en moge je GPU koel blijven terwijl hij tekst verwerkt! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/dutch/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..5fe7f389a --- /dev/null +++ b/ocr/dutch/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,249 @@ +--- +category: general +date: 2026-02-19 +description: Leer hoe je een afbeelding van handgeschreven notities OCR't in Java + met Aspose OCR. Inclusief het laden van de afbeelding voor OCR, het lezen van handgeschreven + notities en het converteren van de tekst van de handgeschreven afbeelding. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: nl +og_description: Hoe een afbeelding met handgeschreven notities OCR’en in Java met + Aspose. Stapsgewijze handleiding om een afbeelding te laden voor OCR, handgeschreven + notities te lezen en de tekst van de handgeschreven afbeelding te converteren. +og_title: Hoe een afbeelding OCR'en in Java – Gids voor handgeschreven notities +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Hoe een afbeelding OCR'en in Java – Handgeschreven notities met spellingscontrole +url: /nl/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +translate any code block placeholders. + +Make sure to keep markdown formatting. + +Let's assemble.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe een afbeelding OCR'en in Java – Handgeschreven notities met spellingscontrole + +Heb je je ooit afgevraagd **how to OCR image** die je gekrabbelde boodschappenlijst of vergadernotulen bevat? Je bent niet de enige. In veel real‑world apps moeten ontwikkelaars handgeschreven notities lezen en omzetten naar doorzoekbare tekst—zonder handmatig opnieuw te hoeven typen. + +In deze tutorial lopen we een compleet, kant‑klaar voorbeeld door dat je precies laat zien **how to OCR image** met Aspose OCR voor Java, hoe je **load image for OCR** en hoe je **read handwritten notes** met ingebouwde spellingscorrectie. Aan het einde kun je **convert handwritten image text** omzetten naar een schone string die je kunt opslaan, indexeren of weergeven. + +## Wat je zult leren + +- De exacte stappen om een OCR‑engine in te stellen die Engelse handschrift begrijpt. +- Hoe je **load image for OCR** van schijf laadt en aan de engine doorgeeft. +- Waarom het inschakelen van de spell‑checker belangrijk is bij rommelige krabbels. +- Manieren om veelvoorkomende randgevallen af te handelen, zoals beelden met weinig contrast of ontbrekende taalpakketten. +- Een volledige, uitvoerbare code‑voorbeeld die je in je IDE kunt plakken en direct resultaten ziet. + +> **Prerequisites**: Java 8+ geïnstalleerd, Maven of Gradle voor afhankelijkheidsbeheer, en een Aspose OCR voor Java‑licentie (de gratis proefversie werkt voor leren). Er zijn geen andere externe bibliotheken vereist. + +## Stap 1: Het project opzetten en Aspose OCR‑dependency toevoegen + +Allereerst—je project heeft de Aspose OCR‑bibliotheek nodig. Als je Maven gebruikt, voeg dit toe aan je `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Of met Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Pro tip**: Houd de versienummer in de gaten; nieuwere releases verbeteren handschriftherkenning en voegen taalondersteuning toe. + +Zodra de dependency is opgelost, ben je klaar om **load image for OCR**. + +## Stap 2: Een OCR‑engine‑instantie maken + +Om **how to OCR image** effectief uit te voeren, heb je een `OcrEngine`‑object nodig. Dit object is het hart van het proces—het bevat taalinstellingen, spell‑checking‑vlaggen en de afbeelding zelf. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Waarom maken we de engine eerst aan? Omdat Aspose OCR is ontworpen om herbruikbaar te zijn; je kunt meerdere afbeeldingen verwerken met dezelfde instantie, waarbij je instellingen tussen runs aanpast indien nodig. + +## Stap 3: Engelse taalondersteuning toevoegen en spell‑correctie inschakelen + +Handgeschreven notities bevatten vaak spelfouten, ontbrekende letters of onconventionele afkortingen. Het inschakelen van de spell‑checker geeft de engine de kans om de output op te schonen. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **Why enable spell correction?** +> Zonder dit kan de ruwe OCR‑output eruitzien als “t0d@y” of “c0ffee”. De spell‑checker normaliseert dergelijke eigenaardigheden, waardoor de uiteindelijke tekst veel bruikbaarder is voor downstream verwerking zoals zoekindexering. + +## Stap 4: De handgeschreven afbeelding laden + +Nu **load image for OCR**. Aspose biedt een handige `ImageStream.fromFile`‑methode die elk gangbaar rasterformaat accepteert (PNG, JPEG, BMP). + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Als je afbeelding zich in een resource‑map bevindt of je ontvangt deze als een byte‑array (bijv. van een web‑upload), kun je in plaats daarvan `ImageStream.fromBytes` gebruiken—vervang gewoon de bovenstaande regel door: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Stap 5: OCR uitvoeren en de gecorrigeerde tekst ophalen + +Met de engine geconfigureerd en de afbeelding geladen, is de daadwerkelijke **how to OCR image**‑aanroep één enkele regel: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +De `recognize()`‑methode retourneert een `OcrResult`‑object dat niet alleen de platte tekst bevat, maar ook confidence‑scores, begrenzings‑boxen en meer. Voor de meeste use‑cases is de platte `getText()` voldoende. + +## Stap 6: Het resultaat weergeven + +Tot slot printen we de opgeschoonde string naar de console. In een echte applicatie kun je deze opslaan in een database, doorgeven aan een zoekmachine, of aan een taalmodel. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Verwachte output + +Stel dat de handgeschreven notitie zegt: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +Je zou iets moeten zien als: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Zelfs als de oorspronkelijke krabbel rommelig was—bijvoorbeeld “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”—zal de spell‑checker het meestal rechtzetten. + +## Afbeelding laden voor OCR – Tips voor betere nauwkeurigheid + +1. **Resolution matters** – Streef naar minstens 300 dpi. Lagere resoluties zorgen ervoor dat de engine kleine streken mist. +2. **Contrast is king** – Als de achtergrond gekleurd is, converteer de afbeelding eerst naar grijstinten. +3. **Crop to content** – Het verwijderen van onnodige marges vermindert ruis en versnelt de verwerking. + +Je kunt afbeeldingen vooraf verwerken met bibliotheken zoals OpenCV of zelfs Java’s ingebouwde `BufferedImage` voordat je ze aan Aspose doorgeeft. + +## Handgeschreven notities lezen: randgevallen afhandelen + +- **Low‑confidence words**: `ocrEngine.getResult().getWords()` retourneert een lijst waarbij elk woord een confidence‑waarde (0–100) heeft. Je kunt woorden onder een drempel filteren en de gebruiker vragen om handmatige controle. +- **Multiple languages**: Als je **read handwritten notes** in zowel Engels als Spaans moet lezen, voeg dan beide talen toe vóór het aanroepen van `recognize()`. +- **Large files**: Voor multi‑page PDF’s of TIFF’s, iterate over elke pagina met `ocrEngine.setImage(pageStream)` binnen een lus. + +## Handgeschreven afbeeldings‑tekst omzetten naar gestructureerde data + +Vaak heb je niet alleen een ruwe string nodig; je wilt misschien data, bedragen of checklist‑items extraheren. Nadat je de gecorrigeerde tekst hebt, kunnen reguliere expressies of NLP‑bibliotheken (zoals Stanford CoreNLP) de inhoud parseren: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +Deze snippet laat zien hoe eenvoudig het is om van **convert handwritten image text** naar bruikbare data te gaan. + +## Veelvoorkomende valkuilen en hoe ze te vermijden + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Vervormde output, veel `?`‑tekens | Afbeelding te donker of laag contrast | Verhoog de helderheid of pre‑process met histogram‑equalisatie | +| Gemiste woorden | Handschrift te cursief | Schakel `ocrEngine.getSettings().setEnableCursive(true)` in (indien ondersteund) | +| Spell‑checker introduceert verkeerde woorden | Taalmodel mismatch | Voeg een aangepast woordenboek toe via `ocrEngine.getSpellChecker().addUserWords(...)` | +| Out‑of‑memory‑fout bij grote afbeeldingen | Afbeeldingsgrootte > 10 MB | Verklein de afbeelding vóór het laden, of verwerk in tegels | + +## Volledig werkend voorbeeld (Klaar om te kopiëren‑plakken) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Note**: Als je de code vanuit een IDE uitvoert, zorg er dan voor dat de `YOUR_DIRECTORY`‑map op je classpath staat of gebruik een absoluut pad. + +## Conclusie + +We hebben **how to OCR image** in Java van begin tot eind behandeld, waarbij we je laten zien hoe je **load image for OCR**, **read handwritten notes**, spell‑correctie inschakelt en uiteindelijk **convert handwritten image text** omzet naar een schone string. De aanpak is eenvoudig, maar toch krachtig genoeg voor productie‑klare apps. + +Klaar voor de volgende uitdaging? Probeer te experimenteren met multi‑page PDF’s, voeg aangepaste woordenboeken toe voor branchespecifieke termen, of voer de OCR‑output in een machine‑learning‑model voor sentimentanalyse. De mogelijkheden zijn eindeloos wanneer je de nauwkeurigheid van Aspose OCR combineert met de flexibiliteit van Java. + +Heb je vragen over een specifiek randgeval, of wil je delen hoe je dit in een mobiele app hebt geïntegreerd? Laat een reactie achter—veel plezier met coderen! + +--- + +![voorbeeld van hoe een afbeelding OCR'en](/images/ocr-handwritten-example.png "hoe een afbeelding OCR'en van handgeschreven notities") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/dutch/java/ocr-basics/_index.md index badb16142..869ea2899 100644 --- a/ocr/dutch/java/ocr-basics/_index.md +++ b/ocr/dutch/java/ocr-basics/_index.md @@ -102,6 +102,14 @@ Ontgrendel het potentieel van Aspose.OCR voor Java met deze stap‑voor‑stap g Verbeter OCR‑nauwkeurigheid met Aspose.OCR voor Java. Leer stap voor stap scheefhoeken berekenen. Verbeter documentverwerking moeiteloos. ### [Getting Rectangles with Text Areas in Aspose.OCR](./get-rectangles-with-text-areas/) Ontgrendel de kracht van Aspose.OCR voor Java. Leer hoe je tekst uit afbeeldingen naadloos kunt extraheren in deze stap‑voor‑stap gids. Download nu voor efficiënte tekstherkenning. +### [Tekst herkennen uit PNG in Java – Aspose OCR‑tutorial](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Leer hoe je met Aspose.OCR in Java tekst uit PNG‑bestanden kunt extraheren met eenvoudige stappen en optimale nauwkeurigheid. +### [Tekst extraheren uit afbeelding – PNG omzetten naar tekst in Java](./extract-text-from-image-convert-png-to-text-in-java/) +Leer hoe je met Aspose.OCR PNG‑afbeeldingen omzet naar platte tekst in Java met eenvoudige stappen en hoge nauwkeurigheid. +### [Tekst extraheren uit afbeelding in Java – Volledig OCR‑voorbeeld](./extract-text-from-image-in-java-complete-ocr-example/) +Leer hoe je met Aspose.OCR in Java volledige OCR‑workflow toepast om tekst uit afbeeldingen te extraheren, van invoer tot resultaat. +### [Tekst extraheren uit afbeelding met Aspose OCR – Java Snelle gids](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) +Leer in een paar stappen hoe je met Aspose OCR in Java tekst uit afbeeldingen haalt voor snelle en nauwkeurige resultaten. --- @@ -114,4 +122,4 @@ Ontgrendel de kracht van Aspose.OCR voor Java. Leer hoe je tekst uit afbeeldinge {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/dutch/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..55cf2e373 --- /dev/null +++ b/ocr/dutch/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-02-19 +description: tekst uit afbeelding extraheren met Aspose OCR Java – leer hoe je PNG + naar tekst converteert, afbeelding laadt voor OCR, en volg een Java OCR‑tutorial. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: nl +og_description: tekst extraheren uit afbeelding met Aspose OCR Java. Volg deze stapsgewijze + Java OCR‑tutorial om PNG naar tekst te converteren en afbeelding te laden voor OCR. +og_title: tekst uit afbeelding extraheren – Java OCR‑gids +tags: +- OCR +- Java +- Aspose +- Image Processing +title: tekst uit afbeelding extraheren – PNG naar tekst converteren in Java +url: /nl/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +." + +Paragraph: "Happy coding, and may your next project be full of clean, searchable text!" Translate: "Veel plezier met coderen, en moge je volgende project vol staan met schone, doorzoekbare tekst!" + +Then closing shortcodes as original. + +Make sure to keep placeholders {{CODE_BLOCK_X}} unchanged. + +Also keep block shortcodes at start and end. + +Now produce final content.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tekst extraheren uit afbeelding – Java OCR Tutorial + +Heb je ooit **tekst uit afbeelding extraheren** moeten doen, maar wist je niet welke bibliotheek dat zonder gedoe mogelijk maakt? Je bent niet de enige—ontwikkelaars vragen voortdurend: “Hoe kan ik een PNG naar tekst converteren in Java?” Het goede nieuws is dat Aspose OCR het hele proces aanvoelt als een wandeling in het park. In deze gids lopen we een volledige **java ocr tutorial** door, laten we zien hoe je **load image for OCR** doet, en eindigen met schone, doorzoekbare tekst. + +We behandelen alles, van het instellen van de engine tot het verwerken van meertalige inhoud, zodat je aan het einde **tekst uit afbeelding extraheren** kunt uit bestanden van elke grootte, formaat of taal. Geen externe services, geen API‑sleutels—slechts één JAR en een paar regels code. + +## Wat je nodig hebt + +- JDK 8 of nieuwer geïnstalleerd (de code werkt ook op JDK 11+). +- Maven of Gradle om de Aspose OCR‑bibliotheek te downloaden, of je kunt de JAR handmatig van de Aspose‑website downloaden. +- Een PNG‑afbeelding die leesbare tekst bevat (voor ons voorbeeld gebruiken we `khmer-sign.png`). +- Een IDE of teksteditor waar je je prettig bij voelt—IntelliJ IDEA, Eclipse, VS Code, alles is geschikt. + +Dat is alles. Geen zware frameworks, geen cloud‑referenties. Klaar? Laten we beginnen met **tekst uit afbeelding extraheren** uit afbeeldingsbestanden. + +## Stap 1: Voeg Aspose OCR toe aan je project + +Allereerst—je hebt de OCR‑engine op je classpath nodig. Als je Maven gebruikt, voeg dan deze afhankelijkheid toe aan `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Of met Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Als je de handmatige route verkiest, download dan de JAR van de Aspose‑downloadpagina en plaats deze in de `libs`‑map van je project, en voeg hem vervolgens toe aan het build‑pad. + +> **Pro tip:** Kies altijd de nieuwste stabiele versie; oudere releases kunnen taalpakketten of bug‑fixes missen. + +## Stap 2: Maak een OCR‑engine‑instance + +Nu de bibliotheek beschikbaar is, kunnen we een `OcrEngine` opzetten. Beschouw de engine als het brein dat de pixels leest en ze omzet in tekens. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Waarom maken we elke keer een nieuwe engine? De engine bevat interne buffers en taaldatasets; een schone start garandeert deterministische resultaten, vooral wanneer je later van taal wisselt. + +## Stap 3: Schakel de gewenste taal in (optioneel maar aanbevolen) + +Aspose OCR wordt geleverd met tientallen taalpakketten. Als je de taal van je bronafbeelding kent, schakel deze dan expliciet in; dit versnelt de herkenning en verbetert de nauwkeurigheid. In ons voorbeeld schakelen we Khmer (`khm`) in, maar je kunt dit vervangen door `ENG` voor Engels, `CHN` voor Chinees, enz. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Waarom dit belangrijk is:** Wanneer je **load image for OCR** uitvoert, zal de engine alleen zoeken in de ingeschakelde taaldictionaries. Als alle talen ingeschakeld blijven, kan dit vertragen en valse positieven veroorzaken. + +## Stap 4: Laad afbeelding voor OCR – PNG naar tekst converteren + +Hier gebeurt de **load image for OCR** stap. Aspose biedt een handige `ImageStream.fromFile` helper die de low‑level I/O abstraheert. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +Als je afbeelding in een ander formaat is (JPEG, BMP, TIFF), werkt dezelfde methode—Aspose detecteert het formaat automatisch. Zorg er alleen voor dat het bestandspad correct is; anders krijg je een `FileNotFoundException`. + +## Stap 5: Voer het OCR‑proces uit en converteer PNG naar tekst + +Met de engine klaar en de afbeelding geladen, is de daadwerkelijke herkenning één enkele methode‑aanroep. Het resultaatobject geeft je de ruwe string en de confidence‑scores. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Dat is alles—je hebt zojuist **convert PNG to text** uitgevoerd. De geretourneerde string kan regelbreuken en witruimte bevatten precies zoals de engine ze zag. Je kunt het nabewerken met `trim()`, `replaceAll("\\s+", " ")`, of elke andere opruiming die je nodig hebt. + +## Stap 6: Output het resultaat (of sla het op) + +Voor een snelle sanity‑check, print het resultaat naar de console. In een echte applicatie zou je het waarschijnlijk naar een bestand, een database, of een andere service sturen. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Verwacht resultaat** (voor het meegeleverde Khmer‑teken) kan er als volgt uitzien: + +``` +សួស្តី +Welcome +``` + +Als de output onduidelijk is, controleer dan of je de juiste taal hebt ingeschakeld in Stap 3 en of de afbeelding niet te wazig is. Het verhogen van de beeldresolutie (bijv. een scan van 300 dpi) helpt vaak. + +## Volledig werkend voorbeeld + +Door alle onderdelen samen te voegen, hier is een zelfstandige programma dat je kunt kopiëren‑plakken in `ExtractTextExample.java` en uitvoeren: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Voer het programma uit met: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +of, als je Gradle gebruikt: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +Je zou de geëxtraheerde tekst in de console moeten zien, wat bevestigt dat je succesvol **tekst uit afbeelding hebt geëxtraheerd** met Aspose OCR. + +## Veelvoorkomende valkuilen & hoe ze op te lossen + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Lege string geretourneerd | Geen taal ingeschakeld of verkeerde taalcode | Voeg de juiste `OcrLanguage` toe (bijv. `ENG` voor Engels). | +| Vervormde tekens | Beeldresolutie te laag of ruisachtige achtergrond | Gebruik een bron met hogere resolutie, of pre‑process met een verscherpingsfilter. | +| `OutOfMemoryError` | Zeer grote afbeelding volledig geladen | Schalen de afbeelding naar beneden voordat je deze aan de engine geeft (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Onjuist pad | Controleer het absolute of relatieve pad; gebruik `Paths.get(...).toAbsolutePath()`. | + +> **Onthoud:** OCR is een probabilistisch proces. Zelfs met perfecte instellingen moet je mogelijk handmatig enkele tekens corrigeren, vooral bij cursieve scripts. + +## Uitbreiding van de tutorial – Volgende stappen + +- **Batchverwerking:** Loop over een map met PNG‑bestanden en roep dezelfde logica voor elke afbeelding aan. +- **PDF‑output:** Gebruik Aspose PDF om de geëxtraheerde tekst terug te embedden in een doorzoekbare PDF. +- **Taaldetectie:** Roep `ocrEngine.detectLanguage()` aan voordat je een taal instelt, zodat de engine automatisch kan raden. +- **Cloud‑integratie:** Als je moet schalen, verpak de code in een REST‑endpoint en laat micro‑services deze aanroepen. + +Al deze onderwerpen bouwen natuurlijk voort op de **java ocr tutorial** die we zojuist hebben afgerond, en laten zien hoe veelzijdig de Aspose OCR‑API werkelijk is. + +## Conclusie + +We hebben een volledige **java ocr tutorial** doorlopen die je in staat stelt **tekst uit afbeelding** te **extraheren**, **PNG naar tekst te converteren**, en correct **load image for OCR** te gebruiken met Aspose OCR. De stappen zijn eenvoudig: voeg de bibliotheek toe, maak een engine, schakel de juiste taal in, laad de PNG, voer `recognize()` uit, en verwerk de output. Met deze basis kun je gegevensinvoer automatiseren, doorzoekbare archieven bouwen, of elke applicatie aandrijven die machinaal leesbare tekst uit afbeeldingen nodig heeft. + +Probeer het met je eigen afbeeldingen—misschien een screenshot van een bon of een gescand contract. Pas de taalinstellingen aan, experimenteer met resolutie, en je zult snel zien hoe flexibel de oplossing is. Als je problemen ondervindt, raadpleeg dan opnieuw de tabel met valkuilen of bekijk de officiële documentatie van Aspose; deze is grondig en up‑to‑date. + +Veel plezier met coderen, en moge je volgende project vol staan met schone, doorzoekbare tekst! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/dutch/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..0f19879ef --- /dev/null +++ b/ocr/dutch/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,149 @@ +--- +category: general +date: 2026-02-19 +description: Tekst extraheren uit een afbeelding met Java OCR. Leer een Java OCR‑voorbeeld + dat een afbeelding laadt voor OCR en tekst uit factuurbestanden haalt in slechts + een paar stappen. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: nl +og_description: Tekst extraheren uit afbeelding met Java OCR. Deze gids laat zien + hoe je een afbeelding laadt voor OCR en tekst uit facturen haalt met een eenvoudig + Java OCR‑voorbeeld. +og_title: Tekst uit afbeelding extraheren in Java – Volledig OCR‑voorbeeld +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Tekst uit afbeelding extraheren in Java – Volledig OCR‑voorbeeld +url: /nl/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tekst uit afbeelding extraheren in Java – Volledig OCR‑voorbeeld + +Heb je ooit **tekst uit een afbeelding** moeten halen, maar wist je niet welke bibliotheek je moest kiezen? Je bent niet de enige—veel ontwikkelaars lopen tegen dit obstakel aan bij het automatiseren van factuurverwerking of het bouwen van doorzoekbare archieven. Het goede nieuws? Met een paar regels Java kun je een afbeelding laden voor OCR, een interessegebied definiëren en de exacte tekst ophalen die je nodig hebt. + +In deze tutorial lopen we een **java ocr example** door die precies laat zien hoe je **image for OCR** laadt, een ROI instelt en **text from invoice** bestanden extraheert met Aspose.OCR. Aan het einde heb je een uitvoerbaar programma dat je in elk Java‑project kunt plaatsen. + +## Wat je gaat leren + +- Hoe je een `OcrEngine`‑instantie maakt en waarom dat belangrijk is. +- De juiste manier om **image for OCR** te **loaden** met Aspose’s `ImageStream`. +- Het instellen van een **region of interest (ROI)** zodat je alleen het deel van de afbeelding verwerkt dat het factuurtotaal bevat. +- Het extraheren van de herkende tekst en deze naar de console printen. +- Veelvoorkomende valkuilen (bijv. verkeerde rechthoek‑coördinaten) en snelle oplossingen. + +**Prerequisites** + +- Java 8 of nieuwer geïnstalleerd. +- Maven of Gradle om de Aspose.OCR‑bibliotheek (`com.aspose:aspose-ocr`) te downloaden. +- Een voorbeeld‑factuurafbeelding (`invoice.png`) geplaatst in een bekende map. + +Alles klaar? Geweldig—laten we beginnen. + +![Extract text from image using Java OCR](/images/extract-text-from-image-java.png "extract text from image example") + +## Tekst uit afbeelding extraheren – Stap‑voor‑stap Java OCR‑voorbeeld + +Hieronder staat de volledige broncode. Voel je vrij om deze te copy‑pasten in `RoiOcrExample.java` en direct uit te voeren. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Waarom elke stap belangrijk is + +1. **Creating the OCR engine** – zonder een engine is er geen context voor beeldverwerking. Het object stelt je later ook in staat om taalpakketten aan te passen als je multi‑language support nodig hebt. +2. **Loading the image** – `ImageStream.fromFile` abstraheert het bestandsformaat, zodat de engine de bytes correct kan lezen. Als je dit overslaat, krijg je een `NullPointerException`. +3. **Setting the ROI** – het verwerken van de hele pagina kan onnodig veel tijd kosten. Door de rechthoek te beperken tot het gebied van het factuurtotaal, versnel je de herkenning en verminder je ruis. +4. **Calling `recognize()`** – hier gebeurt de magie. De methode voert het OCR‑algoritme uit over de ROI en levert een result‑object op. +5. **Printing the output** – in echte projecten sla je de tekst waarschijnlijk op in een database, maar `System.out.println` is perfect voor een snelle demo. + +## Load Image for OCR + +Vraag je je af of het pad absoluut of relatief moet zijn? Beide werken—zorg er alleen voor dat het Java‑proces het bestand kan lezen. Op Windows moeten backslashes worden geescaped (`C:\\images\\invoice.png`) of je kunt forward slashes gebruiken (`C:/images/invoice.png`). + +**Pro tip:** Als je veel facturen in een lus verwerkt, hergebruik dan dezelfde `OcrEngine`‑instantie; deze cachet interne resources en verbetert de doorvoersnelheid. + +## Define Region of Interest (ROI) + +Het juiste rechthoek kiezen is vaak een kwestie van trial‑and‑error. Een handige manier om de coördinaten te vinden is de afbeelding te openen in een grafische editor (zoals GIMP of Paint.NET) en met de muis over het gebied te bewegen—de X/Y‑waarden verschijnen in de statusbalk. + +Edge case: sommige facturen hebben variabele lay‑outs. In dat scenario kun je eerst een snelle pre‑scan over de hele afbeelding uitvoeren, sleutelwoorden zoals “Total:” zoeken met een regex, en vervolgens de ROI dynamisch aanpassen. + +## Perform OCR and Get Text + +De `recognize()`‑aanroep is synchroon—je thread blokkeert tot de engine klaar is. Voor grote batches kun je een thread‑pool gebruiken en afbeeldingen parallel verwerken. Vergeet niet dat elke thread zijn eigen `OcrEngine`‑instantie nodig heeft; ze zijn niet thread‑safe. + +## Run and Verify Output + +Compileer en voer uit: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +Je zou iets moeten zien als: + +``` +ROI text: $1,254.00 +``` + +Als de output er onleesbaar uitziet, controleer dan de ROI‑coördinaten en zorg dat de afbeelding van hoge kwaliteit is (300 dpi of hoger werkt het beste). + +### Common Pitfalls & How to Fix Them + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Empty string | ROI outside image bounds | Verify rectangle values against image dimensions | +| Misspelled words | Low resolution | Use a higher‑resolution source or apply image preprocessing (e.g., binarization) | +| `java.lang.NoClassDefFoundError` | Missing Aspose JAR on classpath | Add `aspose-ocr.jar` to `-cp` or use Maven/Gradle dependency management | + +## Conclusion + +Je weet nu hoe je **text from image** kunt **extract** in Java met een beknopt **java ocr example**. Door de afbeelding correct te laden, een gerichte ROI te definiëren en `recognize()` aan te roepen, kun je betrouwbaar **text from invoice** bestanden extraheren en die data doorsturen naar downstream‑systemen. + +Wat nu? Probeer de ROI te vervangen door andere velden (datum, leveranciersnaam), experimenteer met taalpakketten voor meertalige facturen, of integreer de OCR‑stap in een Spring Boot‑microservice. Hetzelfde patroon werkt voor kassabonnen, paspoorten of elk document waarbij je precieze tekstextractie nodig hebt. + +Heb je vragen over het schalen van deze oplossing of over het omgaan met ruisvolle scans? Laat dan een reactie achter—happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/dutch/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..bf2d42ee8 --- /dev/null +++ b/ocr/dutch/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-02-19 +description: Tekst extraheren uit een afbeelding in Java met Aspose OCR. Leer hoe + je tekst uit een PNG herkent, een afbeelding naar een string converteert en tekst + van een scan leest in slechts een paar stappen. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: nl +og_description: Haal snel tekst uit een afbeelding. Deze tutorial laat zien hoe je + tekst uit een PNG herkent, een afbeelding naar een string converteert en tekst van + een scan leest met Aspose OCR. +og_title: Tekst extraheren uit afbeelding met Aspose OCR – Java-gids +tags: +- Java +- OCR +- Aspose +title: Tekst extraheren uit afbeelding met Aspose OCR – Java Snelgids +url: /nl/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +produce final output.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tekst uit afbeelding extraheren – Complete Java Tutorial + +Heb je ooit **extract text from image** moeten extraheren maar wist je niet welke bibliotheek je moest kiezen? Misschien heb je een gescande bon in PNG-formaat en wil je de tekst als een gewone string voor verdere verwerking. Naar mijn ervaring maakt de Aspose OCR‑bibliotheek dat werk een eitje, vooral wanneer je met Java werkt. + +In deze gids lopen we alles door wat je moet weten: van het instellen van de Aspose OCR‑dependency, het laden van een PNG‑bestand, **recognize text from png**, tot het omzetten van het resultaat naar een bruikbare Java `String`. Aan het einde kun je **convert image to string** en zie je ook hoe je **read text from scan**‑bestanden kunt lezen zonder moeite. + +## Wat je zult leren + +- Hoe je Aspose OCR toevoegt aan een Maven‑ of Gradle‑project. +- De exacte code die nodig is om **extract text from image** te gebruiken met één methode‑aanroep. +- Waarom de `ImageStream`‑klasse de voorkeursmethode is om gegevens aan de engine te leveren. +- Tips voor het omgaan met grote scans, multi‑page PDF’s en veelvoorkomende valkuilen. + +Ervaring met OCR is niet vereist, alleen een basisbegrip van Java en een PNG die je wilt verwerken. + +## Vereisten + +| Vereiste | Reden | +|-------------|--------| +| Java 8 of nieuwer | Aspose OCR richt zich op Java 8+. | +| Maven of Gradle (optioneel) | Vereenvoudigt dependency‑beheer. | +| Een PNG‑afbeelding (bijv. `quick.png`) | De bron waarop we OCR uitvoeren. | +| Internettoegang (bij eerste uitvoering) | De bibliotheek kan automatisch taalpakketten downloaden. | + +Als je al een Java‑IDE hebt, zoals IntelliJ IDEA of Eclipse, ben je klaar om te beginnen. + +--- + +## Stap 1: Installeer Aspose OCR in je project + +### Maven + +Add the following dependency to your `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro tip:** Als je een corporate proxy gebruikt, zorg er dan voor dat Maven/Gradle `repo.maven.apache.org` kan bereiken. Anders zal de build falen voordat je zelfs maar één regel code hebt geschreven. + +--- + +## Stap 2: Laad de PNG‑afbeelding + +De `ImageStream`‑klasse abstraheert de details van het bestandssysteem en werkt met streams, URL’s of byte‑arrays. Zo laad je een lokale PNG: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Waarom dit belangrijk is:** Het gebruik van `ImageStream.fromFile` garandeert dat de OCR‑engine de afbeelding ontvangt in een formaat dat hij volledig begrijpt, wat de herkenningsnauwkeurigheid verbetert ten opzichte van het rechtstreeks voeden van ruwe byte‑arrays. + +--- + +## Stap 3: Herken tekst uit PNG + +Aspose OCR biedt één statische methode die het zware werk doet: `OcrEngine.recognize`. Deze retourneert een gewone Java `String`, precies wat je nodig hebt wanneer je **convert image to string** wilt. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### Wat gebeurt er onder de motorkap? + +1. **Pre‑processing:** De engine corrigeert automatisch de scheefstand van de afbeelding en normaliseert het contrast. +2. **Language Detection:** Als je geen taal opgeeft, probeert Aspose deze te achterhalen, wat handig is voor snelle scans. +3. **Recognition:** De kern‑OCR‑engine draait een neuraal netwerkmodel dat getraind is op miljoenen tekens. + +Omdat dit allemaal is ingekapseld in één aanroep, hoef je niet te rommelen met low‑level instellingen, tenzij je een zeer gespecialiseerd geval hebt. + +--- + +## Stap 4: Toon en gebruik de geëxtraheerde string + +Nu je de tekst hebt, kun je deze afdrukken, opslaan in een database, of doorgeven aan een andere API. De eenvoudigste manier is — gewoon `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Verwachte output + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Opmerking:** De exacte output hangt af van de inhoud van `quick.png`. Als de afbeelding een handgeschreven notitie bevat, kun je enkele mis‑herkenningen zien — niets wat een beetje post‑processing niet kan oplossen. + +--- + +## Stap 5: Omgaan met veelvoorkomende randgevallen + +### Grote scans of multi‑page PDF’s + +Als je **read text from scan**‑bestanden moet verwerken die groter zijn dan een typische PNG, overweeg dan: + +- Het splitsen van de afbeelding in tegels (`ImageStream.fromRegion`). +- Gebruik van `OcrEngine.recognizeMultiplePages` voor PDF‑invoer. + +### Niet‑Engelse talen + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Prestatie‑tips + +- Herbruik dezelfde `OcrEngine`‑instantie voor meerdere afbeeldingen om herhaalde initialisatie te vermijden. +- Voor batchverwerking, schakel multithreading in maar beperk het aantal threads tot het aantal CPU‑kernen om geheugen‑thrashing te voorkomen. + +--- + +## Volledig werkend voorbeeld + +Hieronder staat de volledige, kant‑klaar Java‑klasse. Kopieer‑en‑plak deze in je IDE, pas het afbeeldingspad aan, en klik op **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +Het uitvoeren van dit programma drukt het OCR‑resultaat af naar de console, waardoor je effectief **convert image to string** in slechts een paar regels code. + +--- + +## Conclusie + +Je weet nu hoe je **extract text from image**‑bestanden in Java kunt gebruiken met Aspose OCR. Het proces bestaat uit drie eenvoudige stappen: laad de PNG, roep `OcrEngine.recognize` aan, en gebruik de resulterende string. Of je nu probeert **recognize text from png**, **convert image to string**, of simpelweg **read text from scan**‑documenten te lezen, deze aanpak biedt een betrouwbare, productie‑klare oplossing. + +Klaar voor de volgende uitdaging? Probeer een map met gescande bonnen in een lus te verwerken, sla elk resultaat op in een CSV, of experimenteer met taalspecifieke instellingen om de nauwkeurigheid voor niet‑Engelse teksten te verbeteren. De mogelijkheden zijn eindeloos, en de code die je net schreef vormt een stevige basis. + +Veel plezier met coderen, en voel je vrij om vragen in de reacties te plaatsen — ik help je graag! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/dutch/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..19453c1da --- /dev/null +++ b/ocr/dutch/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-02-19 +description: herken tekst van png in Java met Aspose OCR – leer hoe je tekst uit een + afbeelding in Java kunt extraheren en afbeelding efficiënt met OCR kunt verwerken. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: nl +og_description: herken tekst van png in Java met Aspose OCR. Deze tutorial laat zien + hoe je tekst uit een afbeelding in Java kunt extraheren en de afbeelding stap‑voor‑stap + met OCR kunt verwerken. +og_title: tekst herkennen uit PNG in Java – Complete Aspose OCR-gids +tags: +- OCR +- Java +- Image Processing +title: tekst herkennen uit PNG in Java – Aspose OCR‑tutorial +url: /nl/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tekst herkennen uit png in Java – Complete Aspose OCR-gids + +Heb je ooit **tekst uit png moeten herkennen** maar wist je niet welke bibliotheek je moest kiezen? Je bent niet de enige—veel Java‑ontwikkelaars lopen tegen die muur aan wanneer ze voor het eerst data‑extractie uit afbeeldingen aanpakken. Het goede nieuws is dat Aspose OCR het hele proces bijna pijnloos maakt, en in deze gids zie je precies hoe je **tekst uit afbeelding java** kunt **extraheren** in projecten terwijl je **afbeelding verwerkt met OCR** op een thread‑veilige manier. + +In de komende paar minuten maken we een klein Java‑programma dat een PNG laadt, OCR op de CPU uitvoert met tot acht threads, en de herkende string naar de console print. Geen externe services, geen geheime API‑sleutels—gewoon ouderwetse Java‑code die je vandaag nog kunt kopiëren, plakken en uitvoeren. + +## Wat je nodig hebt + +- **Java 17** of hoger (de code compileert ook met eerdere versies, maar 17 is de ideale keuze). +- **Aspose.OCR for Java** JAR (download van de Aspose‑website of via Maven). +- Een PNG‑afbeelding die je wilt lezen—bijvoorbeeld `document-page1.png` ergens op schijf opgeslagen. +- Je favoriete IDE of een eenvoudige teksteditor en een terminal. + +Dat is alles. Als je die zaken hebt, kunnen we meteen in de oplossing duiken. + +![Java-code om tekst uit png te herkennen met Aspose OCR](image-placeholder.png "voorbeeld Java-tekstherkenning uit png"){alt="Java-code om tekst uit png te herkennen met Aspose OCR"} + +## Stap‑voor‑stap: tekst herkennen uit png + +Hieronder splitsen we de implementatie op in duidelijke, hanteerbare stukken. Elk stuk heeft een H2‑kop, zodat je direct naar het deel kunt springen dat je interesseert. + +### 1. Voeg Aspose OCR toe aan je project + +**Waarom?** De OCR‑engine zit in de Aspose‑bibliotheek; zonder deze heeft de compiler geen idee wat `OcrEngine` is. + +Als je Maven gebruikt, plak dan dit fragment in je `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Voor Gradle ziet het er zo uit: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Pro tip:** Controleer altijd het nieuwste versienummer; nieuwere releases bevatten vaak prestatie‑verbeteringen voor multi‑threaded verwerking. + +### 2. Maak en configureer de OCR‑engine + +**Waarom?** Het instantieren van `OcrEngine` levert een kant‑klaar object op, en het afstellen van de apparaatinstellingen laat je alle CPU‑kernen benutten die je hebt. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Hier stellen we expliciet het apparaat in op `CPU`. Als je later naar een GPU‑enabled omgeving verhuist, vervang je alleen de enum‑waarde—geen andere code‑aanpassingen nodig. + +### 3. Laad de PNG‑afbeelding + +**Waarom?** OCR werkt op een afbeelding‑stroom, niet direct op een bestands‑pad. Het omzetten van het bestand naar een `ImageStream` abstraheert het onderliggende formaat. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Vervang `YOUR_DIRECTORY` door de daadwerkelijke map. Als het bestand niet wordt gevonden, gooit de engine een `IOException`, die we later opvangen. + +### 4. Voer herkenning uit en vang het resultaat op + +**Waarom?** De `recognize()`‑methode doet het zware werk—karakters, regels en lay‑out detecteren. Het geretourneerde `OcrResult` bevat de platte tekst. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Je kunt ook vragen om een `Pdf`‑ of `Html`‑resultaat, maar voor het doel **tekst uit afbeelding java** te **extraheren** blijven we bij platte tekst. + +### 5. Output de tekst en maak opruimen + +**Waarom?** Een eenvoudige `System.out.println` volstaat voor demonstratie, maar in een productie‑applicatie schrijf je waarschijnlijk naar een bestand of database. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +Omdat `OcrEngine` `AutoCloseable` implementeert, is het een goede gewoonte om alles in een try‑with‑resources‑blok te wikkelen. Zo worden native resources direct vrijgegeven. + +### 6. Volledig, uitvoerbaar voorbeeld + +Alles samengevoegd, hier is het complete programma dat je kunt compileren en uitvoeren: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Verwachte output** (ervan uitgaande dat de PNG “Hello World” bevat): + +``` +=== OCR Result === +Hello World +``` + +Als de afbeelding complexer is—meerdere regels, tabellen of handgeschreven notities—zal de output precies weergeven wat Aspose OCR detecteert, met behoud van regeleinden waar van toepassing. + +## Veelgestelde vragen & randgevallen + +### Wat als de PNG enorm groot is? + +Grote afbeeldingen kunnen veel geheugen verbruiken. Een praktische oplossing is om de afbeelding **te verkleinen** voordat je deze aan de engine doorgeeft: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +Verkleinen vermindert de CPU‑belasting zonder de OCR‑nauwkeurigheid voor de meeste gedrukte tekst te schaden. + +### Kan ik OCR uitvoeren op een PDF in plaats van een PNG? + +Zeker. Aspose OCR accepteert ook PDF’s via `PdfDocument`‑objecten. Dezelfde `recognize()`‑aanroep werkt, zodat je **afbeelding verwerkt met OCR** ongeacht het bronformaat. + +### Hoe verbeter ik de nauwkeurigheid voor niet‑Latijnse scripts? + +Stel de taal in vóór herkenning: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose levert tientallen taalpakketten; kies er gewoon de juiste die bij je afbeelding past. + +### Is het aantal threads altijd voordelig? + +Meer threads versnellen de verwerking op multi‑core CPU’s, maar boven het aantal fysieke kernen zie je afnemende meeropbrengsten. Als je een hogere CPU‑belasting merkt zonder evenredige snelheidswinst, verlaag dan het aantal threads naar `Runtime.getRuntime().availableProcessors()`. + +## Samenvatting: wat we hebben bereikt + +We hebben zojuist **tekst uit png herkend** met een beknopt Java‑programma, laten zien hoe je **tekst uit afbeelding java** kunt **extraheren** met Aspose OCR, en de essentiële stappen behandeld om **afbeelding te verwerken met OCR** op een productie‑klare manier. De code is zelfstandig, de uitleg beantwoordt zowel het “hoe” als het “waarom”, en de tips behandelen de typische valkuilen die je kunt tegenkomen. + +## Wat is het vervolg? + +- **Batchverwerking:** Loop door een map met PNG’s en schrijf elk resultaat naar een `.txt`‑bestand. +- **PDF‑generatie:** Gebruik de OCR‑output als invoer voor Aspose.PDF om doorzoekbare PDF’s te maken. +- **Cloud‑schaling:** Deploy dezelfde code naar een container georkestreerd door Kubernetes en laat de thread‑pool zich aanpassen aan de pod‑resources. + +Voel je vrij om te experimenteren—verwissel de afbeelding, pas het aantal threads aan, of wissel van taal. De OCR‑engine is flexibel genoeg voor de meeste scenario’s, en met de basis die je nu hebt, is uitbreiden een fluitje van een cent. + +Heb je vragen, of heb je een slimme optimalisatie ontdekt? Laat een reactie achter hieronder, en happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/java/ocr-operations/_index.md b/ocr/dutch/java/ocr-operations/_index.md index f1467769f..d8f3d7589 100644 --- a/ocr/dutch/java/ocr-operations/_index.md +++ b/ocr/dutch/java/ocr-operations/_index.md @@ -80,6 +80,10 @@ Ontgrendel de kracht van OCR in Java met Aspose.OCR. Herken moeiteloos tekst in Ontgrendel krachtige tekst‑herkenning in Java met Aspose.OCR. Herken moeiteloos tekst in TIFF‑afbeeldingen. Download nu voor een naadloze OCR‑ervaring. ### [Tekstafbeelding herkennen met Aspose OCR – volledige Java OCR-tutorial](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Leer hoe u tekst uit afbeeldingen kunt herkennen met Aspose OCR in een volledige Java‑OCR‑tutorial. +### [Maak doorzoekbare PDF van JPG – Afbeelding naar doorzoekbare PDF Java-gids](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Leer hoe u een JPG-afbeelding omzet naar een doorzoekbare PDF met Aspose.OCR voor Java. +### [Hoe een afbeelding rechtzetten — Stapsgewijze OCR-preprocessinggids](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +Ontgrendel de kracht van beeldcorrectie met een stapsgewijze gids voor het rechtzetten van afbeeldingen vóór OCR. ## Veelgestelde vragen diff --git a/ocr/dutch/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/dutch/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..d8e71c405 --- /dev/null +++ b/ocr/dutch/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,197 @@ +--- +category: general +date: 2026-02-19 +description: Maak een doorzoekbare PDF van een JPG-afbeelding met Aspose OCR in Java. + Converteer jpg naar pdf en herken snel tekst uit de afbeelding. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: nl +og_description: Maak een doorzoekbare PDF van een JPG-afbeelding met Aspose OCR. Leer + hoe je een JPG naar PDF converteert en tekst uit een afbeelding herkent in Java. +og_title: Maak doorzoekbare PDF van JPG – Java OCR-tutorial +tags: +- aspose-ocr +- java +- pdf +- ocr +title: Maak doorzoekbare PDF van JPG – Afbeelding naar doorzoekbare PDF Java-gids +url: /nl/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +. Probably okay. + +Also need to translate table content. + +Let's produce translation. + +We must keep code block placeholders unchanged. + +Proceed. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Zoekbare PDF maken van JPG – Image to Searchable PDF Java‑gids + +Heb je ooit een **zoekbare PDF** moeten **maken** van een gescande afbeelding, maar wist je niet waar je moest beginnen? Je bent niet de enige—veel ontwikkelaars lopen tegen hetzelfde probleem aan wanneer ze een JPG hebben die doorzoekbaar moet worden. Het goede nieuws is dat je met Aspose OCR for Java die afbeelding in slechts een paar regels code kunt omzetten naar een volledig doorzoekbare PDF. + +In deze tutorial lopen we het volledige proces door: een JPG laden, de tekst herkennen en het resultaat opslaan als een doorzoekbare PDF. Aan het einde weet je hoe je **jpg naar pdf kunt converteren**, hoe je **tekst uit jpg kunt extraheren**, en waarom deze aanpak vaak betrouwbaarder is dan proberen de PDF na het aanmaken te OCR‑en. + +## Wat je nodig hebt + +Voordat we beginnen, zorg dat je het volgende op je machine hebt staan: + +* **Java Development Kit (JDK) 8 of nieuwer** – de code maakt gebruik van standaard Java‑API’s. +* **Aspose OCR for Java**‑bibliotheek – haal deze op via Maven Central of download de JAR van de Aspose‑website. +* Een **voorbeeld‑JPG** met leesbare tekst (bijv. een gescande factuur of een screenshot van een document). + +Er zijn geen extra frameworks nodig; het voorbeeld werkt met een gewoon Java‑project. + +## Stap 1 – Het project opzetten en Aspose OCR toevoegen + +Maak eerst een nieuw Maven‑project (of gewoon een map met de JAR op de classpath). Als je Maven gebruikt, voeg dan deze afhankelijkheid toe aan je `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** Controleer altijd de nieuwste versie in de Aspose Maven‑repository; nieuwere releases bevatten prestatie‑verbeteringen en bug‑fixes. + +Zodra de afhankelijkheid is opgehaald, kun je de Java‑code schrijven die **zoekbare PDF maakt**. + +## Stap 2 – De afbeelding laden (image to searchable pdf) + +De eerste echte stap is het aanwijzen van de OCR‑engine naar de bronafbeelding. Hier begint de **image to searchable pdf**‑transformatie echt. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Waarom dit belangrijk is:** `setImage` vertelt Aspose welke bitmap moet worden geanalyseerd. Als je een afbeelding met lage resolutie levert, zal de OCR‑kwaliteit lijden, dus zorg dat de JPG minimaal 300 dpi heeft voor het beste resultaat. + +## Stap 3 – Tekst herkennen uit de afbeelding + +Nu de engine weet met welke afbeelding hij moet werken, kunnen we hem vragen **tekst uit afbeelding te herkennen**. Aspose OCR doet het zware werk achter de schermen, inclusief taaldetectie, teken‑segmentatie en confidence‑scoring. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +De `recognize()`‑aanroep retourneert een fluent interface, waardoor we de `save`‑methode kunnen chainen. Door `OcrOutputFormat.SEARCHABLE_PDF` op te geven, voegt de bibliotheek een onzichtbare tekstlaag toe aan de PDF terwijl het oorspronkelijke beeld behouden blijft. + +> **Edge case:** Als je JPG meerdere pagina’s bevat (bijv. een multi‑page TIFF die is opgeslagen als losse JPG‑s), moet je over elk bestand itereren en de resulterende PDF‑s later samenvoegen. Dezelfde OCR‑engine kan voor elke iteratie opnieuw worden gebruikt. + +## Stap 4 – Het resultaat verifiëren + +Na de opslaan‑operatie verschijnt er een eenvoudige console‑melding die aangeeft dat alles soepel is verlopen. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +Wanneer je `output-searchable.pdf` opent in een viewer zoals Adobe Acrobat, zou je de verborgen tekst moeten kunnen selecteren, kopiëren of zoeken—precies wat je verwacht van een **zoekbare PDF**. + +### Verwachte output + +Het uitvoeren van het programma geeft: + +``` +Searchable PDF created. +``` + +En de gegenereerde PDF toont de originele JPG terwijl tekstselectie mogelijk is. Als je de PDF‑eigenschappen bekijkt onder “Properties → Description → PDF Producer”, zie je iets als `Aspose.OCR for Java`. + +## Volledig werkend voorbeeld + +Hieronder vind je het complete, kant‑klaar bronbestand. Kopieer‑plak het in je IDE, pas de bestands‑paden aan en start het. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **Wat als de OCR faalt?** +> * Meestal gebeurt dit omdat de afbeelding te veel ruis bevat of de taal niet out‑of‑the‑box wordt ondersteund. Je kunt de nauwkeurigheid verbeteren door de afbeelding voor te bewerken (contrast verhogen, rechtzetten) of door expliciet de taal in te stellen met `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`. + +## Veelgestelde vragen & valkuilen + +| Vraag | Antwoord | +|----------|--------| +| **Kan ik de platte tekst extraheren in plaats van een PDF?** | Ja. Gebruik `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **Wat als ik een PNG moet verwerken?** | Dezelfde API werkt; wijzig gewoon de bestandsextensie in `fromFile`. | +| **Is de resulterende PDF echt doorzoekbaar in alle viewers?** | Moderne viewers (Adobe Reader, Foxit, Chrome) respecteren de verborgen tekstlaag. Oudere tools negeren deze mogelijk. | +| **Hoe kan ik de paginagrootte van de PDF regelen?** | Aspose OCR gebruikt standaard de afbeeldingsafmetingen. Voor aangepaste afmetingen kun je handmatig een PDF genereren en de OCR‑tekstlaag eroverheen leggen—dit is een geavanceerd scenario. | + +## Prestatie‑tips + +* **Batchverwerking:** Hergebruik één `OcrEngine`‑instantie voor veel afbeeldingen om herhaald laden van de native bibliotheek te vermijden. +* **Thread‑veiligheid:** De engine is **niet** thread‑safe; maak er één per thread aan als je paralleliseert. +* **Geheugengebruik:** Grote afbeeldingen kunnen veel RAM verbruiken. Als je een `OutOfMemoryError` krijgt, verklein de afbeelding voordat je deze aan de engine doorgeeft. + +## Volgende stappen + +Nu je weet hoe je **zoekbare PDF maakt**, kun je gerelateerde taken verkennen: + +* **Convert jpg to pdf** zonder OCR (gebruik de Aspose PDF‑bibliotheek voor een eenvoudige afbeelding‑PDF). +* **Extract text from jpg** naar een `.txt`‑bestand voor indexering. +* **Combine multiple searchable PDFs** tot één document met Aspose PDF’s `PdfFileEditor`. + +Al deze taken bouwen voort op de basis die je zojuist hebt opgezet. + +--- + +### Korte samenvatting + +* We **hebben een doorzoekbare PDF** gemaakt van een JPG met Aspose OCR for Java. +* Het proces omvatte het laden van de afbeelding, het herkennen van tekst en het opslaan als een doorzoekbare PDF. +* Je beschikt nu over een herbruikbaar patroon voor **image to searchable PDF**, **recognize text from image**, **extract text from jpg**, en **convert jpg to pdf**. + +Probeer het met je eigen documenten, pas de taalinstellingen aan indien nodig, en laat de OCR het zware werk doen. Veel programmeerplezier! + +![Create searchable PDF example](placeholder.png){alt="Voorbeeld van doorzoekbare PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/dutch/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..2b9324d35 --- /dev/null +++ b/ocr/dutch/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,179 @@ +--- +category: general +date: 2026-02-19 +description: Leer hoe je een afbeelding kunt rechtzetten en ruis kunt verwijderen + voor OCR. Deze tutorial laat zien hoe je tekstafbeeldingen kunt herkennen, de rotatie + van de afbeelding kunt corrigeren en OCR-beeldvoorverwerking kunt uitvoeren met + Aspose OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: nl +og_description: Hoe je een afbeelding kunt rechtzetten en ruis kunt verwijderen zodat + je snel tekst in de afbeelding kunt herkennen. Volg deze gids om de rotatie van + de afbeelding te corrigeren en de OCR van de afbeelding voor te verwerken met Aspose. +og_title: Hoe een afbeelding rechtzetten – Complete OCR‑voorverwerkingstutorial +tags: +- OCR +- Java +- Image Processing +title: Hoe een afbeelding rechtzetten — Stapsgewijze OCR‑voorverwerkingsgids +url: /nl/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +text:" to "Alt‑tekst:". Keep the phrase "how to deskew image". So: "*Alt‑tekst: how to deskew image – before and after processing.*" + +Similarly headings etc. + +Now produce final content. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe een afbeelding rechtzetten — Complete OCR‑pre‑processing‑tutorial + +Heb je je ooit afgevraagd **hoe je een afbeelding moet rechtzetten** voordat je deze aan een OCR‑engine geeft? Misschien heb je een stapel bonnetjes gescand en lijken de pagina’s een beetje te leunen, of is de scan bezaaid met willekeurige stippen. Dat is een veelvoorkomend probleem—hellende, ruisende afbeeldingen laten teksterkenning haperen. + +Het goede nieuws? Je kunt de rotatie corrigeren (image rotation) en ruis verwijderen (how to remove noise) in slechts een paar regels Java met Aspose.OCR. In deze gids lopen we de volledige workflow door: van het laden van een ruis‑en‑geroteerde PNG, het toepassen van deskew + median denoise, tot **recognize text image** en het afdrukken van het resultaat. Aan het einde heb je een herbruikbare snippet die je in elk Java‑project kunt gebruiken. + +## Wat je nodig hebt + +- **Java 17** of nieuwer (de code compileert ook met oudere versies, maar 17 is de ideale keuze). +- **Aspose.OCR for Java** – haal de nieuwste JAR op via Maven Central (`com.aspose:aspose-ocr`). +- Een afbeeldingsbestand dat zowel geroteerd als ruisig is (bijv. `noisy-rotated.png`). +- Een eenvoudige IDE (IntelliJ, Eclipse, of zelfs VS Code). + +Er zijn geen ingewikkelde build‑tools nodig; een simpele `javac` + `java`‑run werkt prima. + +--- + +## Stap 1 – Maak een OCR‑engine‑instance + +Het eerste wat je doet, is een `OcrEngine` opstarten. Beschouw het als het brein dat later de tekens voor je zal lezen. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Pro tip:** Houd de engine als singleton als je veel afbeeldingen verwerkt; hij hergebruikt interne buffers en versnelt het proces. + +## Stap 2 – Schakel Deskew en Median Denoise in (How to Remove Noise) + +Nu vertellen we de engine om **image rotation** te corrigeren en **how to remove noise** toe te passen. Beide filters zijn optioneel, maar samen verbeteren ze de nauwkeurigheid drastisch. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Waarom median denoise? Het behoudt randen (de lijnen die tekens definiëren) terwijl geïsoleerde pixels worden weggehaald—precies wat je nodig hebt voor schone OCR. + +## Stap 3 – Laad de afbeelding die je wilt verwerken + +Hier wijzen we de engine op het bestand dat opgeschoond moet worden. `ImageStream.fromFile` leest de PNG in het geheugen. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Als je afbeelding zich op een externe server bevindt, geef dan een `InputStream` door—Aspose handelt dat moeiteloos af. + +## Stap 4 – Voer OCR uit en vang de herkende tekst op + +Met preprocessing ingeschakeld leest de engine nu de gecorrigeerde afbeelding. De `recognize()`‑aanroep retourneert een `RecognitionResult` die de geëxtraheerde string bevat. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +Je zou schone, leesbare tekst in de console moeten zien, zelfs als de oorspronkelijke foto scheef en korrelig was. + +## Stap 5 – Controleer het resultaat (What to Expect) + +Als alles werkt, print de console iets als: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Als de output nog steeds onleesbare tekens bevat, controleer dan: + +- De beeldresolutie (≥ 300 dpi is ideaal). +- Of het bestandspad correct is. +- Of extra filters (bijv. `setContrastStretch`) kunnen helpen. + +--- + +## Optioneel: Visuele bevestiging met een voorbeeldafbeelding + +Hieronder zie je een klein voorbeeld van een geroteerde, ruisige bon. Merk de kanteling op—onze code zal deze voor je rechtzetten. + +![how to deskew image example](deskew-demo.png "how to deskew image") + +*Alt‑tekst: how to deskew image – before and after processing.* + +--- + +## Veelgestelde vragen + +### Werkt dit met PDF’s of alleen PNG/JPEG? +Aspose.OCR kan PDF’s direct lezen; vervang gewoon `ImageStream.fromFile` door `ImageStream.fromPdf`. Dezelfde preprocessing‑vlaggen gelden, dus je krijgt nog steeds **how to deskew image** en **how to remove noise**. + +### Wat als ik de oorspronkelijke oriëntatie later nog nodig heb? +Je kunt de afbeelding clonen vóór preprocessing: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Kan ik de deskew‑hoek handmatig instellen? +Ja—`setDeskewAngle(double degrees)` laat je het auto‑detectie‑algoritme overschrijven. Handig wanneer auto‑detectie faalt bij extreme rotaties. + +### Hoe verschilt median denoise van Gaussian blur? +Median‑filters vervangen elke pixel door de mediaan van zijn buren, waardoor randen behouden blijven. Gaussian blur maakt alles glad, waardoor mogelijk karakterstreken vervagen—median is dus veiliger voor OCR. + +--- + +## Afronding + +In deze tutorial hebben we **how to deskew image** behandeld, **how to remove noise** gedemonstreerd, en laten zien hoe je **recognize text image** gebruikt met de ingebouwde preprocessing van Aspose OCR. Door `setDeskew(true)` en `setMedianDenoise(true)` in te schakelen, corrigeer je automatisch **image rotation** en verwijder je stippen, waardoor een rommelige scan verandert in een schone tekststring. + +Voel je vrij om te experimenteren: probeer verschillende denoise‑strategieën, verwerk PDF’s, of koppel meerdere afbeeldingen in een lus. Hetzelfde patroon—engine → preprocess → recognize—geldt voor elk scenario, waardoor dit een solide basis vormt voor elke OCR‑pipeline. + +**Volgende stappen** die je kunt verkennen: + +- **Batchverwerking** – itereren over een map met afbeeldingen en elk resultaat naar een `.txt`‑bestand schrijven. +- **Taalpakketten** – laad een specifiek taalwoordenboek om de nauwkeurigheid voor niet‑Engelse tekst te verhogen. +- **Geavanceerde filters** – zoals `setContrastStretch` of `setBinarization` voor scans met weinig contrast. + +Heb je meer vragen? Laat een reactie achter, en happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/java/advanced-ocr-techniques/_index.md b/ocr/english/java/advanced-ocr-techniques/_index.md index 7e8e722f2..8fcff9205 100644 --- a/ocr/english/java/advanced-ocr-techniques/_index.md +++ b/ocr/english/java/advanced-ocr-techniques/_index.md @@ -65,6 +65,12 @@ Empower your Java applications with Aspose.OCR for precise text recognition. Thi Effortlessly extract text from images by specifying allowed characters with Aspose.OCR for Java. Follow our step‑by‑step guide for efficient integration, ensuring a seamless text recognition experience. Enhance your Java applications with Aspose.OCR capabilities. +## [How to Enable GPU for OCR in Java – Complete Guide](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Learn how to accelerate Aspose.OCR in Java using GPU support for faster, high‑accuracy text extraction. + +### [How to OCR Image in Java – Handwritten Notes with Spell Check](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Extract handwritten notes in Java with OCR and built‑in spell check for accurate text conversion. + ## Conclusion With Aspose.OCR for Java, mastering advanced OCR techniques has never been easier. Dive into these tutorials, and unlock the full potential of text recognition in your Java projects. Elevate your applications with seamless integration, high accuracy, and versatile text extraction capabilities. Download now and take the first step towards OCR excellence with Aspose.OCR for Java! @@ -82,6 +88,8 @@ Unlock the power of text recognition with Aspose.OCR for Java. Follow our step Empower your Java applications with Aspose.OCR for precise text recognition. Easy integration, high accuracy. ### [Specifying Allowed Characters in Aspose.OCR](./specify-allowed-characters/) Unlock text extraction from images seamlessly with Aspose.OCR for Java. Follow our step‑by‑step guide for efficient integration. +### [How to Enable GPU for OCR in Java – Complete Guide](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Learn how to accelerate Aspose.OCR in Java using GPU support for faster, high‑accuracy text extraction. ## Frequently Asked Questions @@ -111,4 +119,4 @@ A: Yes, each `OcrEngine` instance is thread‑safe, allowing parallel processing {{< /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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/english/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..67ee42c25 --- /dev/null +++ b/ocr/english/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-02-19 +description: How to enable GPU for fast OCR processing. Learn to load high resolution + image, recognize text image, and extract text using Aspose OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: en +og_description: How to enable GPU for fast OCR processing. This guide shows you how + to load high resolution image, recognize text image, and extract text with Aspose + OCR. +og_title: How to Enable GPU for OCR in Java – Complete Guide +tags: +- OCR +- Java +- GPU +- Aspose +title: How to Enable GPU for OCR in Java – Complete Guide +url: /java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to Enable GPU for OCR in Java – Complete Guide + +Ever wondered **how to enable GPU** for your OCR pipeline and shave seconds off processing time? You're not alone. In many image‑heavy projects, the bottleneck is the CPU‑bound text extraction step, and switching to GPU can be a game‑changer. + +In this tutorial we’ll walk through loading a **high resolution image**, configuring Aspose OCR to run on the GPU, and finally **recognize text image** and **extract text** with just a few lines of Java. By the end you’ll have a ready‑to‑run program that demonstrates **enable GPU processing** end‑to‑end. + +## What You’ll Need + +- Java 17 or newer (the code uses the module system but works on older JDKs with minor tweaks) +- Aspose OCR for Java 23.10 (or the latest version) – you can grab the Maven coordinates from the Aspose site +- An NVIDIA GPU with CUDA 12+ drivers installed (the library will refuse to start otherwise) +- A high‑resolution sample image (PNG or JPEG) you want to read text from + +That’s it. No external services, no cloud credits, just your machine and the right driver stack. + +![GPU OCR workflow – how to enable GPU processing](gpu-ocr-workflow.png) + +*Image alt text: diagram illustrating how to enable GPU for OCR processing in Java.* + +## Step‑by‑Step Implementation + +Below we break the solution into logical chunks. Each section contains a concise code snippet, an explanation of **why** the step matters, and a few practical tips you’ll probably appreciate later. + +### How to Enable GPU for OCR – Step 1: Install Dependencies & Verify CUDA + +Before any Java code runs, the native CUDA runtime must be discoverable. On Windows you can verify with: + +```bat +nvcc --version +``` + +On Linux: + +```bash +nvidia-smi +``` + +If the command prints driver version and GPU details, you’re good to go. Otherwise, head to NVIDIA’s website, download the appropriate driver, and install the CUDA toolkit (make sure the version matches Aspose OCR’s requirements – currently 12.x). + +**Tip:** Keep your GPU driver up‑to‑date but avoid the “latest‑beta” releases; they sometimes break binary compatibility with the Aspose native libraries. + +### How to Enable GPU for OCR – Step 2: Add Aspose OCR Maven Dependency + +Add the following to your `pom.xml`. This pulls in the core OCR engine and the native GPU binaries for Windows, Linux, and macOS. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +If you prefer Gradle, the equivalent is: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +After refreshing your project, the classes `OcrEngine`, `OcrDeviceType`, and `ImageStream` become available. + +### How to Enable GPU for OCR – Step 3: Create the OCR Engine and Enable GPU + +Now we actually tell Aspose to run on the GPU. The `OcrEngine` exposes a `Device` object where we can switch the processing device type. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Why this matters:** Setting `OcrDeviceType.GPU` swaps the underlying inference engine from a CPU‑only implementation to a CUDA‑accelerated one. The optional `setStreamCount` call lets you control parallelism; two streams are a safe default on most consumer cards. + +### How to Enable GPU for OCR – Step 4: Load a High‑Resolution Image + +High‑resolution sources give the OCR model more visual detail, which translates into higher accuracy, especially for small fonts or intricate scripts. The `ImageStream.fromFile` helper reads the file into a format the engine expects. + +If you need to **load high resolution image** from a URL or an in‑memory byte array, you can use: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Edge case:** Some GPUs have a maximum texture size (often 16384 × 16384). If your image exceeds that, consider down‑scaling to a size that still preserves readability (e.g., 3000 × 2000). The OCR engine will automatically resize if you call `ocrEngine.setResizeFactor(0.5)` before loading. + +### How to Enable GPU for OCR – Step 5: Recognize Text Image and Extract Text + +Calling `ocrEngine.recognize()` triggers the neural network inference on the GPU. The method returns an `OcrResult` object; `getText()` extracts the plain string. You can also retrieve bounding boxes, confidence scores, or the raw JSON if you need richer data. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Why you might want this:** The `recognize text image` step is where the GPU shines—large images that would take seconds on the CPU are processed in a fraction of that time. The confidence scores let you filter low‑quality results, a handy trick when you later **how to extract text** for downstream analytics. + +### Pro Tips & Common Pitfalls + +| Situation | What to Do | +|-----------|------------| +| **Out‑of‑memory errors** on GPU | Reduce `setStreamCount` to 1, or down‑scale the image before feeding it to the engine. | +| **Unrecognized characters** despite high resolution | Ensure the language model (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) matches the text language. | +| **CUDA version mismatch** | Align the CUDA toolkit version with the one bundled in Aspose OCR (check the release notes). | +| **Multiple GPUs** | Use `ocrEngine.getDevice().setDeviceId(1)` to pick the second GPU if the first is busy. | +| **Running on a headless server** | No extra steps needed; the GPU driver works without a display. | + +## How to Extract Text – Verifying the Output + +When you run the class above, you should see something like: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +If the output looks garbled, double‑check that the image is truly high‑resolution and that the GPU driver is correctly installed. You can also enable verbose logging: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +The logs will show whether the native CUDA kernels were loaded successfully. + +## Next Steps & Related Topics + +- **Batch processing:** Wrap the `OcrEngine` in a loop and feed a list of image paths. Remember to reuse the same engine instance to avoid repeated GPU initialization overhead. +- **Language detection:** Aspose OCR supports over 30 languages. Switch with `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Post‑processing:** Use regular expressions to clean up the extracted string, or feed it into a downstream NLP pipeline. +- **Alternative devices:** If you don’t have a CUDA‑capable GPU, you can fall back to `OcrDeviceType.CPU`. The same code works; just change the device type. +- **Performance benchmarking:** Measure the time difference with `System.nanoTime()` before and after `recognize()` to quantify the gain from **enable GPU processing**. + +--- + +### Wrap‑Up + +We’ve covered **how to enable GPU** for Aspose OCR in Java, from installing the right drivers to loading a **high resolution image**, **recognize text image**, and finally **how to extract text** from the result. The complete, runnable example above should work out of the box on any modern NVIDIA GPU. + +Give it a spin, experiment with different image sizes, and watch your OCR throughput soar. If you hit any snags, revisit the tips section or check Aspose’s release notes for the latest **enable GPU processing** recommendations. + +Happy coding, and may your GPU stay cool while it crunches text! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/english/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..b7bdb8f33 --- /dev/null +++ b/ocr/english/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,251 @@ +--- +category: general +date: 2026-02-19 +description: Learn how to OCR image of handwritten notes in Java using Aspose OCR. + Includes loading image for OCR, read handwritten notes and convert handwritten image + text. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: en +og_description: How to OCR image of handwritten notes in Java with Aspose. Step-by-step + guide to load image for OCR, read handwritten notes and convert handwritten image + text. +og_title: How to OCR Image in Java – Handwritten Notes Guide +tags: +- Java +- OCR +- Aspose +- Handwriting +title: How to OCR Image in Java – Handwritten Notes with Spell Check +url: /java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to OCR Image in Java – Handwritten Notes with Spell Check + +Ever wondered **how to OCR image** that contains your scribbled grocery list or meeting minutes? You’re not the only one. In many real‑world apps, developers need to read handwritten notes and turn them into searchable text—no manual re‑typing required. + +In this tutorial we’ll walk through a complete, ready‑to‑run example that shows you exactly **how to OCR image** using Aspose OCR for Java, how to **load image for OCR**, and how to **read handwritten notes** with built‑in spell correction. By the end, you’ll be able to **convert handwritten image text** into a clean string you can store, index, or display. + +## What You’ll Learn + +- The exact steps to set up an OCR engine that understands English handwriting. +- How to **load image for OCR** from disk and feed it to the engine. +- Why enabling the spell‑checker matters when dealing with messy scribbles. +- Ways to handle common edge cases, like low‑contrast images or missing language packs. +- A full, runnable code sample that you can paste into your IDE and see results instantly. + +> **Prerequisites**: Java 8+ installed, Maven or Gradle for dependency management, and an Aspose OCR for Java license (the free trial works for learning). No other external libraries are required. + +--- + +## Step 1: Set Up the Project and Add Aspose OCR Dependency + +First things first—your project needs the Aspose OCR library. If you’re using Maven, add this to your `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Or with Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Pro tip**: Keep an eye on the version number; newer releases improve handwriting recognition and add language support. + +Once the dependency is resolved, you’re ready to **load image for OCR**. + +## Step 2: Create the OCR Engine Instance + +To **how to OCR image** effectively, you need an `OcrEngine` object. This object is the heart of the process—it holds language settings, spell‑checking flags, and the image itself. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Why do we instantiate the engine first? Because Aspose OCR is designed to be reusable; you can process multiple images with the same instance, tweaking settings between runs if needed. + +## Step 3: Add English Language Support and Enable Spell Correction + +Handwritten notes are often riddled with misspellings, missing letters, or unconventional abbreviations. Enabling the spell checker gives the engine a chance to clean up the output. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **Why enable spell correction?** +> Without it, the raw OCR output might read “t0d@y” or “c0ffee”. The spell checker normalizes such quirks, making the final text far more useful for downstream processing like search indexing. + +## Step 4: Load the Handwritten Image + +Now we **load image for OCR**. Aspose provides a convenient `ImageStream.fromFile` method that accepts any common raster format (PNG, JPEG, BMP). + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +If your image lives in a resource folder or you receive it as a byte array (e.g., from a web upload), you can use `ImageStream.fromBytes` instead—just replace the line above with: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Step 5: Perform OCR and Retrieve the Corrected Text + +With the engine configured and the image loaded, the actual **how to OCR image** call is a single line: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +The `recognize()` method returns an `OcrResult` object that contains not only the plain text but also confidence scores, bounding boxes, and more. For most use‑cases, the plain `getText()` is sufficient. + +## Step 6: Output the Result + +Finally, we print the cleaned‑up string to the console. In a real application you might store it in a database, feed it to a search engine, or pass it to a language model. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Expected Output + +Assuming the handwritten note says: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +You should see something like: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Even if the original scribble was messy—say “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”—the spell‑checker will usually straighten it out. + +--- + +## Load Image for OCR – Tips for Better Accuracy + +1. **Resolution matters** – Aim for at least 300 dpi. Lower resolutions cause the engine to miss tiny strokes. +2. **Contrast is king** – If the background is colored, convert the image to grayscale first. +3. **Crop to content** – Removing unnecessary margins reduces noise and speeds up processing. + +You can pre‑process images with libraries like OpenCV or even Java’s built‑in `BufferedImage` before handing them to Aspose. + +## Read Handwritten Notes: Handling Edge Cases + +- **Low‑confidence words**: `ocrEngine.getResult().getWords()` returns a list where each word has a confidence value (0–100). You can filter out words below a threshold and prompt the user for manual review. +- **Multiple languages**: If you need to **read handwritten notes** in both English and Spanish, add both languages before calling `recognize()`. +- **Large files**: For multi‑page PDFs or TIFFs, iterate over each page with `ocrEngine.setImage(pageStream)` inside a loop. + +## Convert Handwritten Image Text to Structured Data + +Often you don’t just need a raw string; you might want to extract dates, amounts, or checklist items. After you have the corrected text, regular expressions or NLP libraries (like Stanford CoreNLP) can parse the content: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +This snippet shows how easy it is to go from **convert handwritten image text** to actionable data. + +## Common Pitfalls and How to Avoid Them + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Garbled output, many `?` characters | Image too dark or low‑contrast | Increase brightness or preprocess with histogram equalization | +| Missed words | Handwriting too cursive | Enable `ocrEngine.getSettings().setEnableCursive(true)` (if supported) | +| Spell checker introduces wrong words | Language model mismatch | Add a custom dictionary via `ocrEngine.getSpellChecker().addUserWords(...)` | +| Out‑of‑memory error on large images | Image size > 10 MB | Downscale before loading, or process in tiles | + +## Full Working Example (Copy‑Paste Ready) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Note**: If you’re running the code from an IDE, make sure the `YOUR_DIRECTORY` folder is on your classpath or use an absolute path. + +--- + +## Conclusion + +We’ve covered **how to OCR image** in Java from start to finish, showing you how to **load image for OCR**, **read handwritten notes**, enable spell correction, and finally **convert handwritten image text** into a clean string. The approach is straightforward, yet powerful enough for production‑grade apps. + +Ready for the next challenge? Try experimenting with multi‑page PDFs, add custom dictionaries for industry‑specific terms, or feed the OCR output into a machine‑learning model for sentiment analysis. The sky’s the limit when you combine Aspose OCR’s accuracy with Java’s flexibility. + +Got questions about a particular edge case, or want to share how you integrated this into a mobile app? Drop a comment below—happy coding! + +--- + +![how to OCR image example](/images/ocr-handwritten-example.png "how to OCR image of handwritten notes") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/english/java/ocr-basics/_index.md index 77c9e71f9..7f6be0af8 100644 --- a/ocr/english/java/ocr-basics/_index.md +++ b/ocr/english/java/ocr-basics/_index.md @@ -99,6 +99,14 @@ Unlock the potential of Aspose.OCR for Java with this step-by-step guide. Set up Enhance OCR accuracy with Aspose.OCR for Java. Learn to calculate skew angles step-by-step. Improve document processing effortlessly. ### [Getting Rectangles with Text Areas in Aspose.OCR](./get-rectangles-with-text-areas/) Unlock the power of Aspose.OCR for Java. Learn how to extract text from images seamlessly in this step-by-step guide. Download now for efficient text recognition. +### [recognize text from png in Java – Aspose OCR tutorial](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Learn how to recognize text from PNG images using Aspose OCR for Java in a simple step-by-step guide. +### [extract text from image – convert PNG to text in Java](./extract-text-from-image-convert-png-to-text-in-java/) +Convert PNG images to searchable text in Java using Aspose.OCR with a simple step-by-step guide. +### [Extract Text from Image in Java – Complete OCR Example](./extract-text-from-image-in-java-complete-ocr-example/) +Complete end‑to‑end OCR example in Java using Aspose.OCR, covering license setup, image preprocessing, and text extraction. +### [Extract Text from Image with Aspose OCR – Java Quick Guide](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) +Quickly learn how to extract text from images using Aspose OCR in Java with this concise step‑by‑step guide. --- @@ -111,4 +119,4 @@ Unlock the power of Aspose.OCR for Java. Learn how to extract text from images s {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/english/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..49daefcf7 --- /dev/null +++ b/ocr/english/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,212 @@ +--- +category: general +date: 2026-02-19 +description: extract text from image using Aspose OCR Java – learn how to convert + PNG to text, load image for OCR, and follow a java ocr tutorial. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: en +og_description: extract text from image with Aspose OCR Java. Follow this step‑by‑step + java ocr tutorial to convert PNG to text and load image for OCR. +og_title: extract text from image – Java OCR guide +tags: +- OCR +- Java +- Aspose +- Image Processing +title: extract text from image – convert PNG to text in Java +url: /java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# extract text from image – Java OCR Tutorial + +Ever needed to **extract text from image** but weren't sure which library would let you do it without jumping through hoops? You're not the only one—developers constantly ask, “How can I convert a PNG to text in Java?” The good news is that Aspose OCR makes the whole process feel like a walk in the park. In this guide we'll walk through a complete **java ocr tutorial**, show you how to **load image for OCR**, and end up with clean, searchable text. + +We'll cover everything from setting up the engine to handling multilingual content, so by the end you’ll be able to **extract text from image** files of any size, format, or language. No external services, no API keys—just a single JAR and a few lines of code. + +## What You’ll Need + +Before we dive, make sure you have: + +- JDK 8 or newer installed (the code works on JDK 11+ as well). +- Maven or Gradle to pull the Aspose OCR library, or you can download the JAR manually from the Aspose website. +- A PNG image that contains some readable text (for our example we’ll use `khmer-sign.png`). +- An IDE or text editor you’re comfortable with—IntelliJ IDEA, Eclipse, VS Code, any will do. + +That’s it. No heavyweight frameworks, no cloud credentials. Ready? Let’s start extracting text from image files. + +## Step 1: Add Aspose OCR to Your Project + +First things first—you need the OCR engine on your classpath. If you use Maven, add this dependency to `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Or with Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +If you prefer the manual route, download the JAR from the Aspose download page and drop it into your project's `libs` folder, then add it to the build path. + +> **Pro tip:** Always pick the newest stable version; older releases may miss language packs or bug‑fixes. + +## Step 2: Create the OCR Engine Instance + +Now that the library is available, we can spin up an `OcrEngine`. Think of the engine as the brain that will read the pixels and turn them into characters. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Why do we create a fresh engine every time? The engine holds internal buffers and language data; starting clean guarantees deterministic results, especially when you switch languages later on. + +## Step 3: Enable the Desired Language (Optional but Recommended) + +Aspose OCR ships with dozens of language packs. If you know the language of your source image, enable it explicitly; this speeds up recognition and improves accuracy. In our sample we’ll enable Khmer (`khm`), but you can replace it with `ENG` for English, `CHN` for Chinese, etc. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Why this matters:** When you **load image for OCR**, the engine will only search the enabled language dictionaries. Leaving all languages on can slow things down and increase false positives. + +## Step 4: Load Image for OCR – Converting PNG to Text + +Here’s where the **load image for OCR** step happens. Aspose provides a convenient `ImageStream.fromFile` helper that abstracts away the low‑level I/O. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +If your image is in another format (JPEG, BMP, TIFF), the same method works—Aspose automatically detects the format. Just make sure the file path is correct; otherwise you’ll hit a `FileNotFoundException`. + +## Step 5: Run the OCR Process and Convert PNG to Text + +With the engine ready and the image loaded, the actual recognition is a single method call. The result object gives you the raw string as well as confidence scores. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +That’s it—you’ve just **convert PNG to text**. The returned string may contain line breaks and whitespace exactly as the engine saw them. You can post‑process it with `trim()`, `replaceAll("\\s+", " ")`, or any other cleanup you need. + +## Step 6: Output the Result (or Store It) + +For a quick sanity check, print the result to the console. In a real application you’d probably write it to a file, a database, or pass it to another service. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Expected output** (for the provided Khmer sign) might look like: + +``` +សួស្តី +Welcome +``` + +If the output is garbled, double‑check that you enabled the correct language in Step 3 and that the image isn’t too blurry. Increasing the image resolution (e.g., using a 300 dpi scan) often helps. + +## Full Working Example + +Putting all the pieces together, here’s a self‑contained program you can copy‑paste into `ExtractTextExample.java` and run: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Run the program with: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +or, if you’re using Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +You should see the extracted text printed to the console, confirming that you’ve successfully **extract text from image** using Aspose OCR. + +## Common Pitfalls & How to Fix Them + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Empty string returned | No language enabled or wrong language code | Add the appropriate `OcrLanguage` (e.g., `ENG` for English). | +| Garbled characters | Image resolution too low or noisy background | Use a higher‑resolution source, or pre‑process with a sharpening filter. | +| `OutOfMemoryError` | Very large image loaded whole‑size | Downscale the image before feeding it to the engine (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Incorrect path | Verify the absolute or relative path; use `Paths.get(...).toAbsolutePath()`. | + +> **Remember:** OCR is a probabilistic process. Even with perfect settings you might need to manually correct a few characters, especially for cursive scripts. + +## Extending the Tutorial – Next Steps + +- **Batch processing:** Loop over a directory of PNG files, calling the same logic for each image. +- **PDF output:** Use Aspose PDF to embed the extracted text back into a searchable PDF. +- **Language detection:** Call `ocrEngine.detectLanguage()` before setting a language to let the engine guess automatically. +- **Cloud integration:** If you need to scale, wrap the code in a REST endpoint and let micro‑services call it. + +All of these topics naturally build on the **java ocr tutorial** we just completed, and they showcase how versatile the Aspose OCR API really is. + +## Conclusion + +We’ve walked through a complete **java ocr tutorial** that lets you **extract text from image** files, **convert PNG to text**, and correctly **load image for OCR** using Aspose OCR. The steps are straightforward: add the library, create an engine, enable the right language, load the PNG, run `recognize()`, and handle the output. With this foundation you can automate data entry, build searchable archives, or power any application that needs machine‑readable text from pictures. + +Give it a try with your own images—maybe a screenshot of a receipt or a scanned contract. Tweak the language settings, experiment with resolution, and you’ll quickly see how flexible the solution is. If you run into trouble, revisit the pitfalls table or check Aspose’s official documentation; it’s thorough and kept up‑to‑date. + +Happy coding, and may your next project be full of clean, searchable text! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/english/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..1b8d04176 --- /dev/null +++ b/ocr/english/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,147 @@ +--- +category: general +date: 2026-02-19 +description: Extract text from image using Java OCR. Learn a java ocr example that + loads an image for OCR and extracts text from invoice files in just a few steps. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: en +og_description: Extract text from image using Java OCR. This guide shows how to load + image for OCR and pull text from invoices with a simple java ocr example. +og_title: Extract Text from Image in Java – Complete OCR Example +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Extract Text from Image in Java – Complete OCR Example +url: /java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extract Text from Image in Java – Complete OCR Example + +Ever needed to **extract text from image** but weren’t sure which library to pick? You’re not alone—many developers hit this wall when automating invoice processing or building searchable archives. The good news? With a few lines of Java you can load an image for OCR, define a region of interest, and pull the exact text you need. + +In this tutorial we’ll walk through a **java ocr example** that shows exactly how to **load image for OCR**, set a ROI, and **extract text from invoice** files using Aspose.OCR. By the end you’ll have a runnable program you can drop into any Java project. + +## What You’ll Learn + +- How to create an `OcrEngine` instance and why it matters. +- The correct way to **load image for OCR** with Aspose’s `ImageStream`. +- Setting a **region of interest (ROI)** so you only process the part of the image that contains the invoice amount. +- Extracting the recognized text and printing it to the console. +- Common pitfalls (e.g., wrong rectangle coordinates) and quick fixes. + +**Prerequisites** + +- Java 8 or newer installed. +- Maven or Gradle to pull the Aspose.OCR library (`com.aspose:aspose-ocr`). +- A sample invoice image (`invoice.png`) placed in a known directory. + +Got all that? Great—let’s dive in. + +![Extract text from image using Java OCR](/images/extract-text-from-image-java.png "extract text from image example") + +## Extract Text from Image – Step‑by‑Step Java OCR Example + +Below is the full source code. Feel free to copy‑paste it into `RoiOcrExample.java` and run it directly. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Why Each Step Is Important + +1. **Creating the OCR engine** – without an engine there’s no context for image processing. The object also lets you tweak language packs later if you need multi‑language support. +2. **Loading the image** – `ImageStream.fromFile` abstracts away the file format, ensuring the engine reads the bytes correctly. If you skip this, you’ll get a `NullPointerException`. +3. **Setting the ROI** – processing the whole page can be wasteful. By narrowing the rectangle to the invoice total area, you speed up recognition and reduce noise. +4. **Calling `recognize()`** – this is where the magic happens. The method runs the OCR algorithm over the ROI and produces a result object. +5. **Printing the output** – in real projects you’d probably store the text in a database, but `System.out.println` is perfect for a quick demo. + +## Load Image for OCR + +If you’re wondering whether the path needs to be absolute or relative, the answer is both work—just make sure the Java process can read the file. On Windows, backslashes must be escaped (`C:\\images\\invoice.png`) or you can use forward slashes (`C:/images/invoice.png`). + +**Pro tip:** If you’re processing many invoices in a loop, reuse the same `OcrEngine` instance; it caches internal resources and improves throughput. + +## Define Region of Interest (ROI) + +Choosing the right rectangle can be a bit of trial and error. A handy way to find coordinates is to open the image in any graphics editor (like GIMP or Paint.NET) and hover over the area—you’ll see the X/Y values in the status bar. + +Edge case: some invoices have variable layouts. In that scenario you could run a quick pre‑scan on the whole image, locate keywords like “Total:” with a regex, then adjust the ROI dynamically. + +## Perform OCR and Get Text + +The `recognize()` call is synchronous—your thread blocks until the engine finishes. For large batches you might want to spin up a thread pool and process images in parallel. Just remember that each thread needs its own `OcrEngine` instance; they’re not thread‑safe. + +## Run and Verify Output + +Compile and run: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +You should see something like: + +``` +ROI text: $1,254.00 +``` + +If the output looks garbled, double‑check the ROI coordinates and ensure the image quality is high (300 dpi or more works best). + +### Common Pitfalls & How to Fix Them + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Empty string | ROI outside image bounds | Verify rectangle values against image dimensions | +| Misspelled words | Low resolution | Use a higher‑resolution source or apply image preprocessing (e.g., binarization) | +| `java.lang.NoClassDefFoundError` | Missing Aspose JAR on classpath | Add `aspose-ocr.jar` to `-cp` or use Maven/Gradle dependency management | + +## Conclusion + +You now know how to **extract text from image** in Java using a concise **java ocr example**. By loading the image correctly, defining a focused ROI, and calling `recognize()`, you can reliably **extract text from invoice** files and feed that data into downstream systems. + +What’s next? Try swapping the ROI for different fields (date, vendor name), experiment with language packs for multilingual invoices, or integrate the OCR step into a Spring Boot microservice. The same pattern works for receipts, passports, or any document where you need precise text extraction. + +If you’ve got questions about scaling this solution or handling noisy scans, drop a comment below—happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/english/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..98d93b153 --- /dev/null +++ b/ocr/english/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-02-19 +description: Extract text from image in Java using Aspose OCR. Learn how to recognize + text from png, convert image to string, and read text from scan in just a few steps. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: en +og_description: Extract text from image quickly. This tutorial shows how to recognize + text from png, convert image to string, and read text from scan using Aspose OCR. +og_title: Extract Text from Image with Aspose OCR – Java Guide +tags: +- Java +- OCR +- Aspose +title: Extract Text from Image with Aspose OCR – Java Quick Guide +url: /java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extract Text from Image – Complete Java Tutorial + +Ever needed to **extract text from image** but weren’t sure which library to pick? Maybe you have a scanned receipt in PNG format and you want the text as a plain string for further processing. In my experience, the Aspose OCR library makes that job a piece of cake, especially when you’re working with Java. + +In this guide we’ll walk through everything you need to know: from setting up the Aspose OCR dependency, loading a PNG file, **recognize text from png**, all the way to turning the result into a usable Java `String`. By the end you’ll be able to **convert image to string**, and you’ll also see how to **read text from scan** files without breaking a sweat. + +## What You’ll Learn + +- How to add Aspose OCR to a Maven or Gradle project. +- The exact code required to **extract text from image** using a single method call. +- Why the `ImageStream` class is the preferred way to feed data into the engine. +- Tips for handling large scans, multi‑page PDFs, and common pitfalls. + +No prior OCR experience is required, just a basic understanding of Java and a PNG you want to process. + +## Prerequisites + +| Requirement | Reason | +|-------------|--------| +| Java 8 or newer | Aspose OCR targets Java 8+. | +| Maven or Gradle (optional) | Simplifies dependency management. | +| A PNG image (e.g., `quick.png`) | The source we’ll run OCR on. | +| Internet access (first run) | The library may download language packs automatically. | + +If you already have a Java IDE like IntelliJ IDEA or Eclipse, you’re good to go. + +--- + +## Step 1: Set Up Aspose OCR in Your Project + +### Maven + +Add the following dependency to your `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro tip:** If you’re using a corporate proxy, make sure Maven/Gradle can reach `repo.maven.apache.org`. Otherwise the build will fail before you even write a line of code. + +--- + +## Step 2: Load the PNG Image + +The `ImageStream` class abstracts away file‑system details and works with streams, URLs, or byte arrays. Here’s how to load a local PNG: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Why this matters:** Using `ImageStream.fromFile` guarantees that the OCR engine receives the image in a format it fully understands, which improves recognition accuracy compared to feeding raw byte arrays. + +--- + +## Step 3: Recognize Text from PNG + +Aspose OCR exposes a single static method that does the heavy lifting: `OcrEngine.recognize`. It returns a plain Java `String`, which is exactly what you need when you want to **convert image to string**. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### What Happens Under the Hood? + +1. **Pre‑processing:** The engine automatically deskews the image and normalizes contrast. +2. **Language Detection:** If you don’t specify a language, Aspose tries to infer it, which is handy for quick scans. +3. **Recognition:** The core OCR engine runs a neural network model trained on millions of characters. + +Because all of this is encapsulated in one call, you don’t have to fiddle with low‑level settings unless you have a very specialized use case. + +--- + +## Step 4: Display and Use the Extracted String + +Now that you have the text, you can print it, store it in a database, or feed it to another API. Here’s the simplest way—just `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Expected Output + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Note:** The exact output depends on the content of `quick.png`. If the image contains a handwritten note, you might see some mis‑recognitions—nothing a little post‑processing can’t fix. + +--- + +## Step 5: Handling Common Edge Cases + +### Large Scans or Multi‑Page PDFs + +If you need to **read text from scan** files that are larger than a typical PNG, consider: + +- Splitting the image into tiles (`ImageStream.fromRegion`). +- Using `OcrEngine.recognizeMultiplePages` for PDF inputs. + +### Non‑English Languages + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Performance Tips + +- Re‑use the same `OcrEngine` instance for multiple images to avoid repeated initialization. +- For batch processing, enable multi‑threading but limit threads to the number of CPU cores to prevent memory thrashing. + +--- + +## Complete Working Example + +Below is the full, ready‑to‑run Java class. Copy‑paste it into your IDE, adjust the image path, and hit **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +Running this program prints the OCR result to the console, effectively **converting image to string** in just a few lines of code. + +--- + +## Conclusion + +You now know how to **extract text from image** files in Java using Aspose OCR. The process boils down to three simple steps: load the PNG, call `OcrEngine.recognize`, and use the resulting string. Whether you’re trying to **recognize text from png**, **convert image to string**, or simply **read text from scan** documents, this approach gives you a reliable, production‑ready solution. + +Ready for the next challenge? Try feeding a folder of scanned receipts into a loop, store each result in a CSV, or experiment with language‑specific settings to improve accuracy on non‑English texts. The sky’s the limit, and the code you just wrote is a solid foundation. + +Happy coding, and feel free to drop any questions in the comments—I'll be glad to help! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/english/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..1092fa5e9 --- /dev/null +++ b/ocr/english/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-02-19 +description: recognize text from png in Java using Aspose OCR – learn how to extract + text from image java and process image with OCR efficiently. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: en +og_description: recognize text from png in Java with Aspose OCR. This tutorial shows + how to extract text from image java and process image with OCR step‑by‑step. +og_title: recognize text from png in Java – Complete Aspose OCR Guide +tags: +- OCR +- Java +- Image Processing +title: recognize text from png in Java – Aspose OCR tutorial +url: /java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# recognize text from png in Java – Complete Aspose OCR Guide + +Ever needed to **recognize text from png** but weren’t sure which library to pick? You’re not alone—many Java developers hit that wall when they first tackle image‑based data extraction. The good news is that Aspose OCR makes the whole process almost painless, and in this guide you’ll see exactly how to **extract text from image java** projects while you **process image with OCR** in a thread‑safe way. + +In the next few minutes we’ll spin up a tiny Java program that loads a PNG, runs OCR on the CPU using up to eight threads, and prints the recognized string to the console. No external services, no secret API keys—just plain‑old Java code you can copy‑paste and run today. + +## What You’ll Need + +- **Java 17** or later (the code compiles with earlier versions, but 17 is the sweet spot). +- **Aspose.OCR for Java** JAR (download from the Aspose website or pull via Maven). +- A PNG image you want to read—say `document-page1.png` stored somewhere on disk. +- Your favorite IDE or a simple text editor and a terminal. + +That’s it. If you’ve got those, we can dive straight into the solution. + +![Java code to recognize text from png using Aspose OCR](image-placeholder.png "recognize text from png Java example"){alt="Java code to recognize text from png using Aspose OCR"} + +## Step‑by‑Step: recognize text from png + +Below we break the implementation into clear, manageable chunks. Each chunk is an H2 heading, so you can jump directly to the part you care about. + +### 1. Add Aspose OCR to Your Project + +**Why?** The OCR engine lives inside the Aspose library; without it the compiler will have no clue what `OcrEngine` is. + +If you use Maven, drop this snippet into your `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +For Gradle, it looks like: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Pro tip:** Always verify the latest version number; newer releases often bring performance tweaks for multi‑threaded processing. + +### 2. Create and Configure the OCR Engine + +**Why?** Instantiating `OcrEngine` gives you a ready‑to‑use object, and tweaking the device settings lets you harness all CPU cores you have. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Here we explicitly set the device to `CPU`. If you later move to a GPU‑enabled environment, just swap the enum value—no other code changes needed. + +### 3. Load the PNG Image + +**Why?** OCR works on an image stream, not on a file path directly. Converting the file to an `ImageStream` abstracts away the underlying format. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Replace `YOUR_DIRECTORY` with the actual folder. If the file isn’t found, the engine throws an `IOException`, which we’ll catch later. + +### 4. Run Recognition and Capture the Result + +**Why?** The `recognize()` method does the heavy lifting—detecting characters, lines, and layout. The returned `OcrResult` holds the plain text. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +You can also ask for a `Pdf` or `Html` result, but for the purpose of **extract text from image java** we stick to plain text. + +### 5. Output the Text and Clean Up + +**Why?** A simple `System.out.println` is enough for demonstration, but in a real‑world app you’d probably write to a file or a database. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +Because `OcrEngine` implements `AutoCloseable`, it’s a good habit to wrap everything in a try‑with‑resources block. That ensures native resources are released promptly. + +### 6. Full, Runnable Example + +Putting it all together, here’s the complete program you can compile and run: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Expected output** (assuming the PNG contains “Hello World”): + +``` +=== OCR Result === +Hello World +``` + +If the image is more complex—multiple lines, tables, or handwritten notes—the output will reflect exactly what Aspose OCR detects, preserving line breaks where appropriate. + +## Common Questions & Edge Cases + +### What if the PNG is huge? + +Large images can chew up memory. A practical workaround is to **downscale** the image before feeding it to the engine: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +Downscaling reduces CPU load without sacrificing OCR accuracy for most printed text. + +### Can I run OCR on a PDF instead of a PNG? + +Absolutely. Aspose OCR also accepts PDFs via `PdfDocument` objects. The same `recognize()` call works, so you can **process image with OCR** regardless of the source format. + +### How do I improve accuracy for non‑Latin scripts? + +Set the language before recognition: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose ships with dozens of language packs; just pick the one that matches your image content. + +### Is the thread count always beneficial? + +More threads speed up processing on multi‑core CPUs, but beyond the number of physical cores you’ll see diminishing returns. If you notice higher CPU usage without a proportional speed gain, dial the count back to `Runtime.getRuntime().availableProcessors()`. + +## Wrap‑Up: What We Achieved + +We just **recognize text from png** using a concise Java program, demonstrated how to **extract text from image java** with Aspose OCR, and covered the essential steps to **process image with OCR** in a production‑ready manner. The code is self‑contained, the explanations answer both the “how” and the “why,” and the tips address the typical pitfalls you might run into. + +## What’s Next? + +- **Batch processing:** Loop over a directory of PNGs and write each result to a `.txt` file. +- **PDF generation:** Feed the OCR output into Aspose.PDF to create searchable PDFs. +- **Cloud scaling:** Deploy the same code to a container orchestrated by Kubernetes and let the thread pool adapt to pod resources. + +Feel free to experiment—swap the image, tweak the thread count, or switch languages. The OCR engine is flexible enough to handle most scenarios, and with the foundation you now have, extending it is a piece of cake. + +Got questions, or discovered a clever optimization? Drop a comment below, and happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/java/ocr-operations/_index.md b/ocr/english/java/ocr-operations/_index.md index 905b3e79a..27d897497 100644 --- a/ocr/english/java/ocr-operations/_index.md +++ b/ocr/english/java/ocr-operations/_index.md @@ -79,6 +79,10 @@ Unlock the power of OCR in Java with Aspose.OCR. Recognize text in PDF documents Unlock powerful text recognition in Java with Aspose.OCR. Effortlessly recognize text in TIFF images. Download now for a seamless OCR experience. ### [recognize text image with Aspose OCR – Full Java OCR Tutorial](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Full Java OCR tutorial for recognizing text in images using Aspose OCR, covering setup, processing, and optimization. +### [Create Searchable PDF from JPG – Image to Searchable PDF Java Guide](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Learn how to convert JPG images into searchable PDFs using Aspose.OCR for Java. Step‑by‑step guide for image‑to‑PDF OCR. +### [How to Deskew Image — Step‑by‑Step OCR Pre‑Processing Guide](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +Learn how to deskew images before OCR to improve accuracy with a step‑by‑step guide using Aspose.OCR for Java. ## Frequently Asked Questions diff --git a/ocr/english/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/english/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..8a1a87c3f --- /dev/null +++ b/ocr/english/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,187 @@ +--- +category: general +date: 2026-02-19 +description: Create searchable PDF from a JPG image with Aspose OCR in Java. Convert + jpg to pdf and recognize text from image fast. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: en +og_description: Create searchable PDF from a JPG image with Aspose OCR. Learn how + to convert jpg to pdf and recognize text from image in Java. +og_title: Create Searchable PDF from JPG – Java OCR Tutorial +tags: +- aspose-ocr +- java +- pdf +- ocr +title: Create Searchable PDF from JPG – Image to Searchable PDF Java Guide +url: /java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Create Searchable PDF from JPG – Image to Searchable PDF Java Guide + +Ever needed to **create searchable PDF** from a scanned picture but weren’t sure where to start? You’re not the only one—lots of developers hit the same wall when they have a JPG that needs to be searchable. The good news is that with Aspose OCR for Java you can turn that image into a fully searchable PDF in just a few lines of code. + +In this tutorial we’ll walk through the entire process: loading a JPG, recognizing the text, and saving the result as a searchable PDF. By the end you’ll know how to **convert jpg to pdf**, how to **extract text from jpg**, and why this approach is often more reliable than trying to OCR the PDF after it’s been created. + +## What You’ll Need + +Before we jump in, make sure you have the following on your machine: + +* **Java Development Kit (JDK) 8 or newer** – the code uses standard Java APIs. +* **Aspose OCR for Java** library – you can grab it from Maven Central or download the JAR from Aspose’s site. +* A **sample JPG** that contains readable text (e.g., a scanned invoice or a screenshot of a document). + +No additional frameworks are required; the example works with a plain Java project. + +## Step 1 – Set Up the Project and Add Aspose OCR + +First, create a new Maven project (or just a folder with the JAR on the classpath). If you’re using Maven, add this dependency to your `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** Always verify the latest version on the Aspose Maven repository; newer releases include performance tweaks and bug fixes. + +Once the dependency is resolved, you’re ready to write the Java code that will **create searchable PDF**. + +## Step 2 – Load the Image (image to searchable pdf) + +The first real step is to point the OCR engine at the source image. This is where the **image to searchable pdf** transformation really begins. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Why this matters:** `setImage` tells Aspose which bitmap to analyze. If you supply a low‑resolution image, the OCR quality will suffer, so make sure the JPG is at least 300 dpi for best results. + +## Step 3 – Recognize Text from Image + +Now that the engine knows which image to work with, we can ask it to **recognize text from image**. Aspose OCR does the heavy lifting under the hood, handling language detection, character segmentation, and confidence scoring. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +The `recognize()` call returns a fluent interface, letting us chain the `save` method. By specifying `OcrOutputFormat.SEARCHABLE_PDF`, the library embeds an invisible text layer inside the PDF while preserving the original image appearance. + +> **Edge case:** If your JPG contains multiple pages (e.g., a multi‑page TIFF saved as separate JPGs), you’ll need to loop over each file and merge the resulting PDFs later. The same OCR engine can be reused for each iteration. + +## Step 4 – Verify the Result + +After the save operation completes, a simple console message lets you know everything went smoothly. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +When you open `output-searchable.pdf` in a viewer like Adobe Acrobat, you should be able to select the hidden text, copy it, or run a search—exactly what you expect from a **searchable PDF**. + +### Expected Output + +Running the program prints: + +``` +Searchable PDF created. +``` + +And the generated PDF will display the original JPG while allowing text selection. If you open the PDF’s “Properties → Description → PDF Producer”, you’ll see something like `Aspose.OCR for Java`. + +## Full Working Example + +Below is the complete, ready‑to‑run source file. Copy‑paste it into your IDE, adjust the file paths, and hit run. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **What if the OCR fails?** +> * Usually this happens because the image is too noisy or the language isn’t supported out‑of‑the‑box. You can improve accuracy by pre‑processing the image (increase contrast, deskew) or by explicitly setting the language with `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`. + +## Common Questions & Gotchas + +| Question | Answer | +|----------|--------| +| **Can I extract the plain text instead of a PDF?** | Yes. Use `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **What if I need to process a PNG?** | The same API works; just change the file extension in `fromFile`. | +| **Is the resulting PDF truly searchable on all viewers?** | Modern viewers (Adobe Reader, Foxit, Chrome) honor the hidden text layer. Older tools might ignore it. | +| **How do I control the PDF page size?** | Aspose OCR uses the image dimensions by default. For custom sizing, generate a PDF manually and overlay the OCR text layer—this is an advanced scenario. | + +## Performance Tips + +* **Batch processing:** Reuse a single `OcrEngine` instance for many images to avoid repeated native library loading. +* **Thread safety:** The engine is **not** thread‑safe; create one per thread if you parallelize. +* **Memory usage:** Large images can consume a lot of RAM. If you hit `OutOfMemoryError`, downscale the image before feeding it to the engine. + +## Next Steps + +Now that you know how to **create searchable PDF**, you might want to explore related tasks: + +* **Convert jpg to pdf** without OCR (use Aspose PDF library for a plain image PDF). +* **Extract text from jpg** into a `.txt` file for indexing. +* **Combine multiple searchable PDFs** into a single document using Aspose PDF’s `PdfFileEditor`. + +All of these build on the same foundation you just set up. + +--- + +### Quick Recap + +* We **created a searchable PDF** from a JPG using Aspose OCR for Java. +* The process covered loading the image, recognizing text, and saving as a searchable PDF. +* You now have a reusable pattern for **image to searchable PDF**, **recognize text from image**, **extract text from jpg**, and **convert jpg to pdf**. + +Give it a spin with your own documents, tweak the language settings if needed, and let the OCR do the heavy lifting for you. Happy coding! + +![Create searchable PDF example](placeholder.png){alt="Create searchable PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/english/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..100cb949d --- /dev/null +++ b/ocr/english/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,172 @@ +--- +category: general +date: 2026-02-19 +description: Learn how to deskew image and remove noise for OCR. This tutorial shows + how to recognize text image, correct image rotation, and preprocess image OCR with + Aspose OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: en +og_description: How to deskew image and clean up noise so you can recognize text image + fast. Follow this guide to correct image rotation and preprocess image OCR with + Aspose. +og_title: How to Deskew Image – Complete OCR Pre‑Processing Tutorial +tags: +- OCR +- Java +- Image Processing +title: How to Deskew Image — Step‑by‑Step OCR Pre‑Processing Guide +url: /java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to Deskew Image — Complete OCR Pre‑Processing Tutorial + +Ever wondered **how to deskew image** files before feeding them to an OCR engine? Maybe you’ve scanned a batch of receipts, and the pages look like they’re leaning a bit, or the scan is speckled with random dots. That’s a common pain point—tilted, noisy pictures make text recognition stumble. + +The good news? You can straighten (correct image rotation) and denoise (how to remove noise) in just a few lines of Java using Aspose.OCR. In this guide we’ll walk through the entire flow: from loading a noisy‑rotated PNG, applying deskew + median denoise, all the way to **recognize text image** and print the result. By the end you’ll have a reusable snippet that you can drop into any Java project. + +## What You’ll Need + +- **Java 17** or newer (the code compiles with older versions, but 17 is the sweet spot). +- **Aspose.OCR for Java** – you can grab the latest JAR from Maven Central (`com.aspose:aspose-ocr`). +- An image file that’s both rotated and noisy (e.g., `noisy-rotated.png`). +- A modest IDE (IntelliJ, Eclipse, or even VS Code). + +No fancy build tools are required; a simple `javac` + `java` run works fine. + +--- + +## Step 1 – Create the OCR Engine Instance + +The first thing you do is spin up an `OcrEngine`. Think of it as the brain that will later read the characters for you. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Pro tip:** Keep the engine as a singleton if you’re processing many images; it reuses internal buffers and speeds things up. + +## Step 2 – Enable Deskew and Median Denoise (How to Remove Noise) + +Now we tell the engine to **correct image rotation** and to **how to remove noise**. Both filters are optional, but together they dramatically improve accuracy. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Why median denoise? It preserves edges (the lines that define characters) while wiping out isolated pixels—exactly what you need for clean OCR. + +## Step 3 – Load the Image You Want to Process + +Here we point the engine at the file that needs cleaning. `ImageStream.fromFile` reads the PNG into memory. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +If your image lives on a remote server, just feed an `InputStream` instead—Aspose handles it gracefully. + +## Step 4 – Run OCR and Capture the Recognized Text + +With preprocessing enabled, the engine now reads the corrected image. The `recognize()` call returns a `RecognitionResult` that contains the extracted string. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +You should see clean, readable text in the console, even if the original picture was askew and grainy. + +## Step 5 – Verify the Result (What to Expect) + +When everything works, the console prints something like: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +If the output still contains garbled characters, double‑check: + +- The image resolution (≥ 300 dpi is ideal). +- That the file path is correct. +- Whether additional filters (e.g., `setContrastStretch`) might help. + +--- + +## Optional: Visual Confirmation with an Example Image + +Below is a tiny preview of a rotated, noisy receipt. Notice the tilt—our code will straighten it for you. + +![how to deskew image example](deskew-demo.png "how to deskew image") + +*Alt text: how to deskew image – before and after processing.* + +--- + +## Frequently Asked Questions + +### Does this work with PDFs or only PNG/JPEG? +Aspose.OCR can read PDFs directly; just replace `ImageStream.fromFile` with `ImageStream.fromPdf`. The same preprocessing flags apply, so you still get **how to deskew image** and **how to remove noise**. + +### What if I need to keep the original orientation for later steps? +You can clone the image before preprocessing: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Can I change the deskew angle manually? +Yes—`setDeskewAngle(double degrees)` lets you override the auto‑detect algorithm. Useful when the auto‑detect fails on extreme rotations. + +### How does median denoise differ from Gaussian blur? +Median filters replace each pixel with the median of its neighbors, which preserves edges. Gaussian blur smooths everything, potentially blurring character strokes—so median is the safer bet for OCR. + +--- + +## Wrapping Up + +In this tutorial we covered **how to deskew image** files, demonstrated **how to remove noise**, and showed you how to **recognize text image** using Aspose OCR’s built‑in preprocessing. By enabling `setDeskew(true)` and `setMedianDenoise(true)`, you automatically **correct image rotation** and clean up speckles, turning a messy scan into a clean text string. + +Feel free to experiment: try different denoise strategies, feed PDFs, or chain multiple images in a loop. The same pattern—engine → preprocess → recognize—holds for every scenario, making this a solid foundation for any OCR pipeline. + +**Next steps** you might explore: + +- **Batch processing** – iterate over a folder of images and write each result to a `.txt` file. +- **Language packs** – load a specific language dictionary to boost accuracy for non‑English text. +- **Advanced filters** – like `setContrastStretch` or `setBinarization` for low‑contrast scans. + +Got more questions? Drop a comment, and happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/java/advanced-ocr-techniques/_index.md b/ocr/french/java/advanced-ocr-techniques/_index.md index bec0c3b98..0e5a1890d 100644 --- a/ocr/french/java/advanced-ocr-techniques/_index.md +++ b/ocr/french/java/advanced-ocr-techniques/_index.md @@ -60,10 +60,15 @@ Libérez la puissance de la reconnaissance de texte avec Aspose.OCR pour Java. S ### [Reconnaître les lignes dans Aspose.OCR pour Java](./recognize-lines/) Renforcez vos applications Java avec Aspose.OCR pour une reconnaissance de texte précise. Intégration facile, haute précision. ### [Spécification des caractères autorisés dans Aspose.OCR](./specify-allowed-characters/) -Débloquez l'extraction de texte à partir d'images de manière transparente avec Aspose.OCR pour Java. Suivez notre guide étape par étape pour une intégration efficace. +Débloquez l'extraction de texte à partir d'images de manière transparente avec Aspose.OCR pour Java. Suivez notre guide à l'étape à étape pour une intégration efficace. +### [Comment activer le GPU pour l'OCR en Java – Guide complet](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Apprenez à activer l'accélération GPU pour l'OCR avec Aspose.OCR en Java, améliorant la vitesse et la précision de la reconnaissance de texte. +### [Comment faire de l'OCR d'image en Java – Notes manuscrites avec correction orthographique](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Apprenez à extraire du texte de notes manuscrites en Java avec Aspose.OCR, incluant la vérification orthographique pour une précision optimale. + {{< /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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/french/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..928968d79 --- /dev/null +++ b/ocr/french/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,207 @@ +--- +category: general +date: 2026-02-19 +description: Comment activer le GPU pour un traitement OCR rapide. Apprenez à charger + une image haute résolution, à reconnaître le texte d’une image et à extraire le + texte à l’aide d’Aspose OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: fr +og_description: Comment activer le GPU pour un traitement OCR rapide. Ce guide vous + montre comment charger une image haute résolution, reconnaître le texte d’une image + et extraire le texte avec Aspose OCR. +og_title: Comment activer le GPU pour l'OCR en Java – Guide complet +tags: +- OCR +- Java +- GPU +- Aspose +title: Comment activer le GPU pour l’OCR en Java – Guide complet +url: /fr/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment activer le GPU pour l'OCR en Java – Guide complet + +Vous vous êtes déjà demandé **comment activer le GPU** pour votre pipeline OCR et gagner quelques secondes de temps de traitement ? Vous n'êtes pas seul. Dans de nombreux projets lourds en images, le goulot d'étranglement est l'étape d'extraction de texte dépendante du CPU, et passer au GPU peut changer la donne. + +Dans ce tutoriel, nous allons parcourir le chargement d'une **image haute résolution**, la configuration d'Aspose OCR pour s'exécuter sur le GPU, et enfin **reconnaître l'image texte** et **extraire le texte** avec seulement quelques lignes de Java. À la fin, vous disposerez d'un programme prêt à l'emploi qui démontre **l'activation du traitement GPU** de bout en bout. + +## Ce dont vous avez besoin + +- Java 17 ou plus récent (le code utilise le système de modules mais fonctionne avec d'anciennes JDK avec de petites modifications) +- Aspose OCR for Java 23.10 (ou la dernière version) – vous pouvez récupérer les coordonnées Maven depuis le site Aspose +- Un GPU NVIDIA avec les pilotes CUDA 12+ installés (la bibliothèque refusera de démarrer autrement) +- Une image d'exemple haute résolution (PNG ou JPEG) dont vous souhaitez lire le texte + +C'est tout. Aucun service externe, aucun crédit cloud, juste votre machine et la bonne pile de pilotes. + +![Flux de travail OCR GPU – comment activer le traitement GPU](gpu-ocr-workflow.png) + +*Texte alternatif de l'image : diagramme illustrant comment activer le GPU pour le traitement OCR en Java.* + +## Implémentation étape par étape + +Ci-dessous, nous décomposons la solution en parties logiques. Chaque section contient un extrait de code concis, une explication du **pourquoi** de l'étape, et quelques astuces pratiques que vous apprécierez probablement plus tard. + +### Comment activer le GPU pour l'OCR – Étape 1 : Installer les dépendances et vérifier CUDA + +Avant que tout code Java ne s'exécute, le runtime natif CUDA doit être détectable. Sous Windows, vous pouvez vérifier avec : + +```bat +nvcc --version +``` + +Sous Linux : + +```bash +nvidia-smi +``` + +Si la commande affiche la version du pilote et les détails du GPU, vous êtes prêt. Sinon, rendez‑vous sur le site de NVIDIA, téléchargez le pilote approprié et installez le toolkit CUDA (assurez‑vous que la version correspond aux exigences d'Aspose OCR – actuellement 12.x). + +**Astuce :** Gardez votre pilote GPU à jour mais évitez les versions « latest‑beta » ; elles peuvent parfois casser la compatibilité binaire avec les bibliothèques natives d'Aspose. + +### Comment activer le GPU pour l'OCR – Étape 2 : Ajouter la dépendance Maven Aspose OCR + +Ajoutez ce qui suit à votre `pom.xml`. Cela récupère le moteur OCR core et les binaires GPU natifs pour Windows, Linux et macOS. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Si vous préférez Gradle, l'équivalent est : + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Après avoir rafraîchi votre projet, les classes `OcrEngine`, `OcrDeviceType` et `ImageStream` deviennent disponibles. + +### Comment activer le GPU pour l'OCR – Étape 3 : Créer le moteur OCR et activer le GPU + +Nous indiquons maintenant réellement à Aspose de s'exécuter sur le GPU. Le `OcrEngine` expose un objet `Device` où nous pouvons changer le type de dispositif de traitement. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Pourquoi c'est important :** Définir `OcrDeviceType.GPU` remplace le moteur d'inférence sous‑jacent d'une implémentation CPU‑only par une version accélérée par CUDA. L'appel optionnel `setStreamCount` vous permet de contrôler le parallélisme ; deux flux sont une valeur sûre par défaut sur la plupart des cartes grand public. + +### Comment activer le GPU pour l'OCR – Étape 4 : Charger une image haute résolution + +Les sources haute résolution offrent au modèle OCR plus de détails visuels, ce qui se traduit par une meilleure précision, surtout pour les petites polices ou les scripts complexes. L'utilitaire `ImageStream.fromFile` lit le fichier dans un format attendu par le moteur. + +Si vous devez **charger une image haute résolution** depuis une URL ou un tableau d'octets en mémoire, vous pouvez utiliser : + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Cas limite :** Certains GPU ont une taille maximale de texture (souvent 16384 × 16384). Si votre image dépasse cela, envisagez de la réduire à une taille qui conserve la lisibilité (par ex., 3000 × 2000). Le moteur OCR redimensionnera automatiquement si vous appelez `ocrEngine.setResizeFactor(0.5)` avant le chargement. + +### Comment activer le GPU pour l'OCR – Étape 5 : Reconnaître l'image texte et extraire le texte + +Appeler `ocrEngine.recognize()` déclenche l'inférence du réseau neuronal sur le GPU. La méthode renvoie un objet `OcrResult` ; `getText()` extrait la chaîne brute. Vous pouvez également récupérer les boîtes englobantes, les scores de confiance, ou le JSON brut si vous avez besoin de données plus riches. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Pourquoi cela peut être utile :** L'étape `recognize text image` est celle où le GPU brille — les grandes images qui prendraient des secondes sur le CPU sont traitées en une fraction de ce temps. Les scores de confiance vous permettent de filtrer les résultats de faible qualité, une astuce pratique lorsque vous devez plus tard **extraire le texte** pour des analyses en aval. + +### Astuces pro & pièges courants + +| Situation | Action à prendre | +|-----------|-------------------| +| **Erreurs de mémoire insuffisante** sur le GPU | Réduisez `setStreamCount` à 1, ou réduisez la taille de l'image avant de la transmettre au moteur. | +| **Caractères non reconnus** malgré une haute résolution | Assurez‑vous que le modèle de langue (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) correspond à la langue du texte. | +| **Incompatibilité de version CUDA** | Alignez la version du toolkit CUDA avec celle fournie dans Aspose OCR (vérifiez les notes de version). | +| **Plusieurs GPU** | Utilisez `ocrEngine.getDevice().setDeviceId(1)` pour choisir le deuxième GPU si le premier est occupé. | +| **Exécution sur un serveur sans affichage** | Aucune étape supplémentaire requise ; le pilote GPU fonctionne sans affichage. | + +## Comment extraire le texte – Vérifier la sortie + +Lorsque vous exécutez la classe ci‑dessus, vous devriez voir quelque chose comme : + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Si la sortie semble illisible, revérifiez que l'image est réellement haute résolution et que le pilote GPU est correctement installé. Vous pouvez également activer la journalisation détaillée : + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +## Prochaines étapes & sujets associés + +- **Traitement par lots :** Enveloppez le `OcrEngine` dans une boucle et fournissez une liste de chemins d'images. N'oubliez pas de réutiliser la même instance du moteur pour éviter le surcoût d'initialisation GPU répétée. +- **Détection de langue :** Aspose OCR prend en charge plus de 30 langues. Changez avec `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Post‑traitement :** Utilisez des expressions régulières pour nettoyer la chaîne extraite, ou alimentez‑la dans une chaîne de traitement NLP en aval. +- **Dispositifs alternatifs :** Si vous n'avez pas de GPU compatible CUDA, vous pouvez revenir à `OcrDeviceType.CPU`. Le même code fonctionne ; il suffit de changer le type de dispositif. +- **Évaluation des performances :** Mesurez la différence de temps avec `System.nanoTime()` avant et après `recognize()` pour quantifier le gain grâce à **l'activation du traitement GPU**. + +--- + +### Conclusion + +Nous avons couvert **comment activer le GPU** pour Aspose OCR en Java, depuis l'installation des bons pilotes jusqu'au chargement d'une **image haute résolution**, **reconnaître l'image texte**, et enfin **comment extraire le texte** du résultat. L'exemple complet et exécutable ci‑dessus devrait fonctionner immédiatement sur tout GPU NVIDIA moderne. + +Essayez-le, expérimentez avec différentes tailles d'images, et voyez votre débit OCR s'envoler. Si vous rencontrez des problèmes, revenez à la section des astuces ou consultez les notes de version d'Aspose pour les dernières recommandations concernant **l'activation du traitement GPU**. + +Bon codage, et que votre GPU reste frais pendant qu'il traite le texte ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/french/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..16dbcfb01 --- /dev/null +++ b/ocr/french/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,253 @@ +--- +category: general +date: 2026-02-19 +description: Apprenez à effectuer la reconnaissance optique de caractères (OCR) d’images + de notes manuscrites en Java avec Aspose OCR. Comprend le chargement de l’image + pour l’OCR, la lecture des notes manuscrites et la conversion du texte de l’image + manuscrite. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: fr +og_description: Comment effectuer la reconnaissance OCR d’une image de notes manuscrites + en Java avec Aspose. Guide étape par étape pour charger l’image pour l’OCR, lire + les notes manuscrites et convertir le texte de l’image manuscrite. +og_title: Comment faire de l'OCR d'image en Java – Guide des notes manuscrites +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Comment faire de l'OCR d'une image en Java – Notes manuscrites avec vérification + orthographique +url: /fr/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +{{< 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 Java – Notes manuscrites avec correction orthographique + +Vous vous êtes déjà demandé **comment faire de l'OCR d'image** contenant votre liste de courses griffonnée ou vos comptes‑rendus de réunion ? Vous n'êtes pas le seul. Dans de nombreuses applications réelles, les développeurs doivent lire des notes manuscrites et les transformer en texte indexable — sans saisie manuelle requise. + +Dans ce tutoriel, nous parcourrons un exemple complet, prêt à l'emploi, qui vous montre exactement **comment faire de l'OCR d'image** avec Aspose OCR for Java, comment **charger une image pour l'OCR**, et comment **lire des notes manuscrites** avec correction orthographique intégrée. À la fin, vous pourrez **convertir le texte d'une image manuscrite** en une chaîne propre que vous pourrez stocker, indexer ou afficher. + +## Ce que vous apprendrez + +- Les étapes exactes pour configurer un moteur OCR qui comprend l'écriture manuscrite en anglais. +- Comment **charger une image pour l'OCR** depuis le disque et la transmettre au moteur. +- Pourquoi activer le correcteur orthographique est important lorsqu'on traite des griffonnages désordonnés. +- Des méthodes pour gérer les cas limites courants, comme les images à faible contraste ou les packs de langues manquants. +- Un exemple de code complet, exécutable, que vous pouvez coller dans votre IDE et voir les résultats immédiatement. + +> **Prérequis** : Java 8+ installé, Maven ou Gradle pour la gestion des dépendances, et une licence Aspose OCR for Java (l'essai gratuit suffit pour l'apprentissage). Aucune autre bibliothèque externe n'est requise. + +--- + +## Étape 1 : Configurer le projet et ajouter la dépendance Aspose OCR + +Tout d'abord, votre projet a besoin de la bibliothèque Aspose OCR. Si vous utilisez Maven, ajoutez ceci à votre `pom.xml` : + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Ou avec Gradle : + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Astuce** : Surveillez le numéro de version ; les versions plus récentes améliorent la reconnaissance de l'écriture manuscrite et ajoutent le support de langues. + +Une fois la dépendance résolue, vous êtes prêt à **charger une image pour l'OCR**. + +## Étape 2 : Créer l'instance du moteur OCR + +Pour **comment faire de l'OCR d'image** efficacement, vous avez besoin d'un objet `OcrEngine`. Cet objet est le cœur du processus — il contient les paramètres de langue, les drapeaux de correction orthographique et l'image elle‑même. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Pourquoi instancier le moteur en premier ? Parce qu'Aspose OCR est conçu pour être réutilisable ; vous pouvez traiter plusieurs images avec la même instance, en ajustant les paramètres entre les exécutions si nécessaire. + +## Étape 3 : Ajouter le support de la langue anglaise et activer la correction orthographique + +Les notes manuscrites sont souvent truffées de fautes, de lettres manquantes ou d'abréviations non conventionnelles. Activer le correcteur orthographique donne au moteur la possibilité de nettoyer la sortie. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **Pourquoi activer la correction orthographique ?** +> Sans elle, la sortie brute de l'OCR pourrait afficher « t0d@y » ou « c0ffee ». Le correcteur orthographique normalise ces bizarreries, rendant le texte final beaucoup plus utile pour les traitements en aval comme l'indexation de recherche. + +## Étape 4 : Charger l'image manuscrite + +Maintenant nous **chargeons une image pour l'OCR**. Aspose fournit une méthode pratique `ImageStream.fromFile` qui accepte tout format raster courant (PNG, JPEG, BMP). + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Si votre image se trouve dans un dossier de ressources ou si vous la recevez sous forme de tableau d'octets (par ex., depuis un téléchargement web), vous pouvez utiliser `ImageStream.fromBytes` à la place — remplacez simplement la ligne ci‑dessus par : + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Étape 5 : Effectuer l'OCR et récupérer le texte corrigé + +Avec le moteur configuré et l'image chargée, l'appel réel **comment faire de l'OCR d'image** se résume à une seule ligne : + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +La méthode `recognize()` renvoie un objet `OcrResult` qui contient non seulement le texte brut mais aussi les scores de confiance, les boîtes englobantes, etc. Pour la plupart des cas d'utilisation, le simple `getText()` suffit. + +## Étape 6 : Afficher le résultat + +Enfin, nous imprimons la chaîne nettoyée dans la console. Dans une vraie application, vous pourriez la stocker dans une base de données, la transmettre à un moteur de recherche ou la passer à un modèle de langage. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Résultat attendu + +En supposant que la note manuscrite indique : + +``` +Buy milk, eggs, and bread tomorrow. +``` + +Vous devriez voir quelque chose comme : + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Même si le griffonnage original était désordonné — par exemple « B u y m i l k , e g g s , a n d B r e a d t o m o r r o w » — le correcteur orthographique le remettra généralement en ordre. + +--- + +## Charger une image pour l'OCR – Conseils pour une meilleure précision + +1. **La résolution compte** – Visez au moins 300 dpi. Des résolutions plus faibles font manquer les traits fins au moteur. +2. **Le contraste est roi** – Si l'arrière‑plan est coloré, convertissez d'abord l'image en niveaux de gris. +3. **Recadrez au contenu** – Supprimer les marges inutiles réduit le bruit et accélère le traitement. + +Vous pouvez pré‑traiter les images avec des bibliothèques comme OpenCV ou même le `BufferedImage` natif de Java avant de les transmettre à Aspose. + +## Lire des notes manuscrites : gestion des cas limites + +- **Mots à faible confiance** : `ocrEngine.getResult().getWords()` renvoie une liste où chaque mot possède une valeur de confiance (0–100). Vous pouvez filtrer les mots en dessous d'un seuil et demander à l'utilisateur une révision manuelle. +- **Multilingue** : Si vous devez **lire des notes manuscrites** en anglais et en espagnol, ajoutez les deux langues avant d'appeler `recognize()`. +- **Fichiers volumineux** : Pour les PDF ou TIFF multi‑pages, itérez sur chaque page avec `ocrEngine.setImage(pageStream)` dans une boucle. + +## Convertir le texte d'une image manuscrite en données structurées + +Souvent, vous ne voulez pas seulement une chaîne brute ; vous souhaitez extraire des dates, des montants ou des éléments de liste. Après avoir obtenu le texte corrigé, des expressions régulières ou des bibliothèques NLP (comme Stanford CoreNLP) peuvent analyser le contenu : + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +Cet extrait montre à quel point il est simple de passer de **convertir le texte d'une image manuscrite** à des données exploitables. + +## Pièges courants et comment les éviter + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Sortie brouillée, nombreux caractères `?` | Image trop sombre ou à faible contraste | Augmenter la luminosité ou pré‑traiter avec l'égalisation d'histogramme | +| Mots manquants | Écriture trop cursive | Activer `ocrEngine.getSettings().setEnableCursive(true)` (si supporté) | +| Le correcteur orthographique introduit de mauvais mots | Inadéquation du modèle linguistique | Ajouter un dictionnaire personnalisé via `ocrEngine.getSpellChecker().addUserWords(...)` | +| Erreur de mémoire insuffisante sur de grandes images | Taille d'image > 10 MB | Réduire l'échelle avant le chargement, ou traiter en tuiles | + +## Exemple complet fonctionnel (prêt à copier‑coller) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Note** : Si vous exécutez le code depuis un IDE, assurez‑vous que le dossier `YOUR_DIRECTORY` se trouve sur votre classpath ou utilisez un chemin absolu. + +--- + +## Conclusion + +Nous avons couvert **comment faire de l'OCR d'image** en Java de bout en bout, en vous montrant comment **charger une image pour l'OCR**, **lire des notes manuscrites**, activer la correction orthographique, et enfin **convertir le texte d'une image manuscrite** en une chaîne propre. L'approche est simple, tout en étant suffisamment puissante pour des applications de niveau production. + +Prêt pour le prochain défi ? Essayez d'expérimenter avec des PDF multi‑pages, ajoutez des dictionnaires personnalisés pour des termes spécifiques à votre secteur, ou alimentez la sortie OCR dans un modèle d'apprentissage automatique pour l'analyse de sentiment. Le ciel est la limite lorsque vous combinez la précision d'Aspose OCR avec la flexibilité de Java. + +Des questions sur un cas particulier, ou envie de partager comment vous avez intégré cela dans une application mobile ? Laissez un commentaire ci‑dessous—bon codage ! + +--- + +![how to OCR image example](/images/ocr-handwritten-example.png "how to OCR image of handwritten notes") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/french/java/ocr-basics/_index.md index d50480d69..bf3e573c3 100644 --- a/ocr/french/java/ocr-basics/_index.md +++ b/ocr/french/java/ocr-basics/_index.md @@ -88,7 +88,7 @@ R : Pré‑traitez l’image (binarisation, suppression du bruit) et exécutez R : Convertissez d’abord les pages PDF en images (à l’aide d’Aspose.PDF ou de tout outil de conversion PDF‑vers‑image), puis exécutez Aspose.OCR sur les images obtenues. **Q : Quelles langues sont prises en charge dès l’installation ?** -R : Plus de 30 langues, dont l’anglais, l’espagnol, le chinois, l’arabe, etc. Changez de langue via `ocrEngine.setLanguage(Language.English)`. +R : Plus de 30 langues, dont l’anglais, l'espagnol, le chinois, l'arabe, etc. Changez de langue via `ocrEngine.setLanguage(Language.English)`. ## Conclusion @@ -106,6 +106,18 @@ Améliorez la précision de l’OCR avec Aspose.OCR pour Java. Apprenez à calcu ### [Obtention de rectangles avec des zones de texte dans Aspose.OCR](./get-rectangles-with-text-areas/) Débloquez la puissance d’Aspose.OCR pour Java. Apprenez à extraire du texte à partir d’images de manière fluide dans ce guide pas à pas. Téléchargez maintenant pour une reconnaissance de texte efficace. +### [Reconnaître du texte à partir d'un PNG en Java – Tutoriel Aspose OCR](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Apprenez à extraire du texte d’un fichier PNG en Java avec Aspose OCR grâce à ce guide détaillé. + +### [extraire du texte d'une image – convertir PNG en texte en Java](./extract-text-from-image-convert-png-to-text-in-java/) +Apprenez à convertir une image PNG en texte brut avec Aspose.OCR pour Java grâce à ce guide pas à pas. + +### [Extraire du texte d'une image en Java – Exemple complet d'OCR](./extract-text-from-image-in-java-complete-ocr-example/) +Apprenez à extraire du texte d’une image en Java grâce à un exemple complet d’OCR. + +### [Extraire du texte d’une image avec Aspose OCR – Guide rapide Java](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) +Apprenez à extraire rapidement du texte d’une image en Java avec Aspose OCR grâce à ce guide concis. + --- **Dernière mise à jour :** 2025-12-08 @@ -117,4 +129,4 @@ Débloquez la puissance d’Aspose.OCR pour Java. Apprenez à extraire du texte {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/french/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..37ea7132f --- /dev/null +++ b/ocr/french/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-02-19 +description: extraire du texte d’une image avec Aspose OCR Java – apprenez comment + convertir un PNG en texte, charger une image pour l’OCR et suivre un tutoriel OCR + Java. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: fr +og_description: extraire du texte d’une image avec Aspose OCR Java. Suivez ce tutoriel + OCR Java étape par étape pour convertir un PNG en texte et charger l’image pour + l’OCR. +og_title: extraire du texte d’une image – guide OCR Java +tags: +- OCR +- Java +- Aspose +- Image Processing +title: extraire du texte d'une image – convertir PNG en texte en Java +url: /fr/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +are none except maybe in code but placeholders. + +Also need to preserve markdown formatting. + +Let's produce final content. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# extraire du texte d'une image – Tutoriel Java OCR + +Vous avez déjà eu besoin d'**extraire du texte d'une image** sans savoir quelle bibliothèque choisir pour éviter les complications ? Vous n'êtes pas seul — les développeurs demandent constamment : « Comment convertir un PNG en texte en Java ? » La bonne nouvelle, c’est qu’Aspose OCR rend tout le processus aussi simple qu’une promenade. Dans ce guide, nous parcourrons un **tutoriel java ocr** complet, vous montrerons comment **charger une image pour l'OCR**, et finirons avec du texte propre et interrogeable. + +Nous couvrirons tout, de la configuration du moteur à la gestion du contenu multilingue, afin qu’à la fin vous puissiez **extraire du texte d'une image** quel que soit la taille, le format ou la langue. Aucun service externe, aucune clé API — juste un JAR unique et quelques lignes de code. + +## Ce dont vous aurez besoin + +Avant de commencer, assurez‑vous d'avoir : + +- JDK 8 ou supérieur installé (le code fonctionne également avec JDK 11+). +- Maven ou Gradle pour récupérer la bibliothèque Aspose OCR, ou vous pouvez télécharger le JAR manuellement depuis le site d’Aspose. +- Une image PNG contenant du texte lisible (pour notre exemple, nous utiliserons `khmer-sign.png`). +- Un IDE ou éditeur de texte avec lequel vous êtes à l’aise — IntelliJ IDEA, Eclipse, VS Code, peu importe. + +C’est tout. Aucun framework lourd, aucune crédential cloud. Prêt ? Commençons à extraire du texte d'images. + +## Étape 1 : Ajouter Aspose OCR à votre projet + +Première chose à faire — ajoutez le moteur OCR à votre classpath. Si vous utilisez Maven, ajoutez cette dépendance dans `pom.xml` : + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Ou avec Gradle : + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Si vous préférez la méthode manuelle, téléchargez le JAR depuis la page de téléchargement d’Aspose et placez‑le dans le dossier `libs` de votre projet, puis ajoutez‑le au chemin de construction. + +> **Astuce pro** : choisissez toujours la version stable la plus récente ; les versions plus anciennes peuvent manquer de packs linguistiques ou de correctifs. + +## Étape 2 : Créer l'instance du moteur OCR + +Maintenant que la bibliothèque est disponible, nous pouvons créer un `OcrEngine`. Pensez au moteur comme le cerveau qui lira les pixels et les transformera en caractères. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Pourquoi créer un nouveau moteur à chaque fois ? Le moteur conserve des tampons internes et des données linguistiques ; repartir à zéro garantit des résultats déterministes, surtout lorsque vous changez de langue plus tard. + +## Étape 3 : Activer la langue souhaitée (Optionnel mais recommandé) + +Aspose OCR est fourni avec des dizaines de packs de langues. Si vous connaissez la langue de votre image source, activez‑la explicitement ; cela accélère la reconnaissance et améliore la précision. Dans notre exemple, nous activerons le khmer (`khm`), mais vous pouvez le remplacer par `ENG` pour l'anglais, `CHN` pour le chinois, etc. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Pourquoi c’est important** : lorsque vous **chargez une image pour l'OCR**, le moteur ne recherchera que dans les dictionnaires de langues activés. Laisser toutes les langues activées peut ralentir le processus et augmenter les faux positifs. + +## Étape 4 : Charger l'image pour l'OCR – Convertir PNG en texte + +C’est ici que l’étape **charger une image pour l'OCR** se produit. Aspose fournit un utilitaire pratique `ImageStream.fromFile` qui masque les détails d’E/S bas‑niveau. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +Si votre image est dans un autre format (JPEG, BMP, TIFF), la même méthode fonctionne — Aspose détecte automatiquement le format. Assurez‑vous simplement que le chemin du fichier est correct ; sinon vous obtiendrez une `FileNotFoundException`. + +## Étape 5 : Exécuter le processus OCR et convertir PNG en texte + +Avec le moteur prêt et l’image chargée, la reconnaissance proprement dite se résume à un appel de méthode. L’objet résultat vous fournit la chaîne brute ainsi que les scores de confiance. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Voilà — vous avez simplement **converti PNG en texte**. La chaîne retournée peut contenir des sauts de ligne et des espaces exactement comme le moteur les a vus. Vous pouvez la post‑traiter avec `trim()`, `replaceAll("\\s+", " ")`, ou tout autre nettoyage nécessaire. + +## Étape 6 : Afficher le résultat (ou le stocker) + +Pour une vérification rapide, imprimez le résultat dans la console. Dans une vraie application, vous écrirez probablement le texte dans un fichier, une base de données, ou le transmettrez à un autre service. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Sortie attendue** (pour le signe khmer fourni) pourrait ressembler à : + +``` +សួស្តី +Welcome +``` + +Si la sortie est illisible, revérifiez que vous avez activé la bonne langue à l’étape 3 et que l’image n’est pas trop floue. Augmenter la résolution de l’image (par ex., un scan à 300 dpi) aide souvent. + +## Exemple complet fonctionnel + +En rassemblant tous les morceaux, voici un programme autonome que vous pouvez copier‑coller dans `ExtractTextExample.java` et exécuter : + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Exécutez le programme avec : + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +ou, si vous utilisez Gradle : + +```bash +./gradlew run --args='ExtractTextExample' +``` + +Vous devriez voir le texte extrait affiché dans la console, confirmant que vous avez bien **extrait du texte d'une image** avec Aspose OCR. + +## Problèmes courants & solutions + +| Symptôme | Cause probable | Solution | +|----------|----------------|----------| +| Chaîne vide retournée | Aucune langue activée ou code de langue incorrect | Ajoutez le `OcrLanguage` approprié (par ex., `ENG` pour l'anglais). | +| Caractères brouillés | Résolution de l’image trop basse ou arrière‑plan bruité | Utilisez une source à plus haute résolution, ou pré‑traitez avec un filtre de netteté. | +| `OutOfMemoryError` | Image très grande chargée en taille réelle | Redimensionnez l’image avant de la passer au moteur (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Chemin incorrect | Vérifiez le chemin absolu ou relatif ; utilisez `Paths.get(...).toAbsolutePath()`. | + +> **Rappel** : l’OCR est un processus probabiliste. Même avec des réglages parfaits, il peut être nécessaire de corriger manuellement quelques caractères, surtout pour les scripts cursifs. + +## Extensions du tutoriel – Prochaines étapes + +- **Traitement par lots** : parcourez un répertoire de fichiers PNG, en appelant la même logique pour chaque image. +- **Export PDF** : utilisez Aspose PDF pour intégrer le texte extrait dans un PDF interrogeable. +- **Détection de langue** : appelez `ocrEngine.detectLanguage()` avant de définir une langue pour laisser le moteur deviner automatiquement. +- **Intégration cloud** : si vous devez mettre à l’échelle, encapsulez le code dans un endpoint REST et laissez les micro‑services l’appeler. + +Tous ces sujets s’appuient naturellement sur le **java ocr tutorial** que nous venons de terminer, et montrent à quel point l’API Aspose OCR est polyvalente. + +## Conclusion + +Nous avons parcouru un **tutoriel java ocr** complet qui vous permet d’**extraire du texte d’une image**, de **convertir PNG en texte**, et de **charger une image pour l'OCR** avec Aspose OCR. Les étapes sont simples : ajouter la bibliothèque, créer un moteur, activer la bonne langue, charger le PNG, appeler `recognize()`, puis gérer la sortie. Avec cette base, vous pouvez automatiser la saisie de données, créer des archives interrogeables, ou alimenter toute application nécessitant du texte lisible à partir d’images. + +Essayez avec vos propres images — peut‑être une capture d’écran d’un reçu ou un contrat numérisé. Ajustez les paramètres de langue, expérimentez avec la résolution, et vous verrez rapidement la flexibilité de la solution. En cas de problème, consultez le tableau des pièges ou la documentation officielle d’Aspose ; elle est complète et régulièrement mise à jour. + +Bon codage, et que votre prochain projet regorge de texte propre et interrogeable ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/french/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..9983ea14a --- /dev/null +++ b/ocr/french/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,149 @@ +--- +category: general +date: 2026-02-19 +description: Extraire du texte d’une image avec Java OCR. Découvrez un exemple Java + OCR qui charge une image pour l’OCR et extrait le texte des factures en quelques + étapes seulement. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: fr +og_description: Extraire du texte d’une image avec Java OCR. Ce guide montre comment + charger une image pour l’OCR et extraire le texte des factures avec un exemple simple + d’OCR Java. +og_title: Extraire du texte d'une image en Java – Exemple complet d'OCR +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Extraire du texte d’une image en Java – Exemple complet d’OCR +url: /fr/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extraire du texte d’une image en Java – Exemple complet d’OCR + +Vous avez déjà eu besoin **d’extraire du texte d’une image** sans savoir quelle bibliothèque choisir ? Vous n’êtes pas seul — de nombreux développeurs rencontrent ce problème lorsqu’ils automatisent le traitement de factures ou créent des archives consultables. Bonne nouvelle ? En quelques lignes de Java, vous pouvez charger une image pour l’OCR, définir une région d’intérêt et récupérer le texte exact dont vous avez besoin. + +Dans ce tutoriel, nous allons parcourir un **exemple java ocr** qui montre exactement comment **charger une image pour l’OCR**, définir une ROI, et **extraire du texte d’une facture** à l’aide d’Aspose.OCR. À la fin, vous disposerez d’un programme exécutable que vous pourrez intégrer à n’importe quel projet Java. + +## Ce que vous allez apprendre + +- Comment créer une instance `OcrEngine` et pourquoi c’est important. +- La bonne façon de **charger une image pour l’OCR** avec `ImageStream` d’Aspose. +- Définir une **région d’intérêt (ROI)** afin de ne traiter que la partie de l’image contenant le montant de la facture. +- Extraire le texte reconnu et l’afficher dans la console. +- Les pièges courants (par ex. coordonnées de rectangle incorrectes) et leurs solutions rapides. + +**Prérequis** + +- Java 8 ou version supérieure installé. +- Maven ou Gradle pour récupérer la bibliothèque Aspose.OCR (`com.aspose:aspose-ocr`). +- Une image de facture d’exemple (`invoice.png`) placée dans un répertoire connu. + +Tout est‑t‑il prêt ? Parfait—plongeons‑y. + +![Extraire du texte d’une image avec Java OCR](/images/extract-text-from-image-java.png "exemple d’extraction de texte d’image") + +## Extraire du texte d’une image – Exemple d’OCR Java étape par étape + +Voici le code complet. N’hésitez pas à le copier‑coller dans `RoiOcrExample.java` et à l’exécuter directement. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Pourquoi chaque étape est importante + +1. **Création du moteur OCR** – sans moteur il n’y a aucun contexte pour le traitement d’image. L’objet vous permet également d’ajuster les packs de langues plus tard si vous avez besoin d’un support multilingue. +2. **Chargement de l’image** – `ImageStream.fromFile` masque le format du fichier, garantissant que le moteur lit correctement les octets. Si vous omettez cette étape, vous obtiendrez un `NullPointerException`. +3. **Définition de la ROI** – traiter la page entière peut être gaspilleur. En restreignant le rectangle à la zone du total de la facture, vous accélérez la reconnaissance et réduisez le bruit. +4. **Appel de `recognize()`** – c’est ici que la magie opère. La méthode exécute l’algorithme OCR sur la ROI et produit un objet résultat. +5. **Affichage du résultat** – dans les projets réels vous stockerez probablement le texte dans une base de données, mais `System.out.println` est parfait pour une démonstration rapide. + +## Charger une image pour l’OCR + +Si vous vous demandez si le chemin doit être absolu ou relatif, la réponse est que les deux fonctionnent—assurez‑vous simplement que le processus Java peut lire le fichier. Sous Windows, les antislashs doivent être échappés (`C:\\images\\invoice.png`) ou vous pouvez utiliser des barres obliques (`C:/images/invoice.png`). + +**Astuce :** si vous traitez de nombreuses factures dans une boucle, réutilisez la même instance `OcrEngine` ; elle met en cache les ressources internes et améliore le débit. + +## Définir la région d’intérêt (ROI) + +Choisir le bon rectangle peut demander quelques essais. Un moyen pratique de trouver les coordonnées est d’ouvrir l’image dans n’importe quel éditeur graphique (comme GIMP ou Paint.NET) et de survoler la zone — vous verrez les valeurs X/Y dans la barre d’état. + +Cas particulier : certaines factures ont des mises en page variables. Dans ce scénario, vous pouvez d’abord faire un pré‑scan rapide de l’image entière, localiser des mots‑clés comme « Total : » avec une expression régulière, puis ajuster la ROI dynamiquement. + +## Effectuer l’OCR et obtenir le texte + +L’appel `recognize()` est synchrone—votre thread se bloque jusqu’à ce que le moteur termine. Pour de gros lots, vous pouvez créer un pool de threads et traiter les images en parallèle. N’oubliez pas que chaque thread a besoin de sa propre instance `OcrEngine` ; elles ne sont pas thread‑safe. + +## Exécuter et vérifier la sortie + +Compilez et lancez : + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +Vous devriez voir quelque chose comme : + +``` +ROI text: $1,254.00 +``` + +Si la sortie apparaît brouillée, revérifiez les coordonnées de la ROI et assurez‑vous que la qualité de l’image est élevée (300 dpi ou plus donne les meilleurs résultats). + +### Pièges courants & solutions + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Chaîne vide | ROI en dehors des limites de l’image | Vérifier les valeurs du rectangle par rapport aux dimensions de l’image | +| Mots mal orthographiés | Résolution faible | Utiliser une source à plus haute résolution ou appliquer un pré‑traitement d’image (ex. binarisation) | +| `java.lang.NoClassDefFoundError` | JAR Aspose manquant sur le classpath | Ajouter `aspose-ocr.jar` à `-cp` ou utiliser la gestion de dépendances Maven/Gradle | + +## Conclusion + +Vous savez maintenant comment **extraire du texte d’une image** en Java grâce à un **exemple java ocr** concis. En chargeant correctement l’image, en définissant une ROI ciblée et en appelant `recognize()`, vous pouvez extraire de façon fiable le **texte d’une facture** et alimenter ces données dans des systèmes en aval. + +Et après ? Essayez de remplacer la ROI pour d’autres champs (date, nom du fournisseur), expérimentez les packs de langues pour des factures multilingues, ou intégrez l’étape OCR dans un micro‑service Spring Boot. Le même schéma fonctionne pour les reçus, les passeports ou tout document nécessitant une extraction précise du texte. + +Si vous avez des questions sur la mise à l’échelle de cette solution ou la gestion de scans bruyants, laissez un commentaire ci‑dessous—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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/french/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..1abdca7f6 --- /dev/null +++ b/ocr/french/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,228 @@ +--- +category: general +date: 2026-02-19 +description: Extraire du texte d’une image en Java avec Aspose OCR. Apprenez à reconnaître + le texte d’un PNG, à convertir l’image en chaîne et à lire le texte d’un scan en + quelques étapes seulement. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: fr +og_description: Extrayez rapidement du texte à partir d’une image. Ce tutoriel montre + comment reconnaître le texte d’un PNG, convertir l’image en chaîne et lire le texte + d’un scan à l’aide d’Aspose OCR. +og_title: Extraire du texte d’une image avec Aspose OCR – Guide Java +tags: +- Java +- OCR +- Aspose +title: Extraire du texte d’une image avec Aspose OCR – Guide rapide Java +url: /fr/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +précision sur les textes non anglais. Le ciel est la limite, et le code que vous venez d'écrire est une base solide." + +"Happy coding, and feel free to drop any questions in the comments—I'll be glad to help!" => "Bon codage, et n'hésitez pas à poser vos questions dans les commentaires—je serai ravi d'aider !" + +Now ensure we keep shortcodes at bottom. + +Let's produce final content.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extraire du texte à partir d'une image – Tutoriel Java complet + +Vous avez déjà eu besoin d'**extraire du texte à partir d'une image** sans savoir quelle bibliothèque choisir ? Peut‑être avez‑vous un reçu scanné au format PNG et vous voulez le texte sous forme de chaîne brute pour un traitement ultérieur. D'après mon expérience, la bibliothèque Aspose OCR rend cette tâche très simple, surtout lorsque vous travaillez avec Java. + +Dans ce guide, nous passerons en revue tout ce que vous devez savoir : de la configuration de la dépendance Aspose OCR, au chargement d'un fichier PNG, **reconnaître le texte à partir d'un png**, jusqu'à la conversion du résultat en une `String` Java utilisable. À la fin, vous pourrez **convertir une image en chaîne**, et vous verrez aussi comment **lire du texte à partir de scans** sans effort. + +## Ce que vous allez apprendre + +- Comment ajouter Aspose OCR à un projet Maven ou Gradle. +- Le code exact nécessaire pour **extraire du texte à partir d'une image** en un seul appel de méthode. +- Pourquoi la classe `ImageStream` est la méthode privilégiée pour fournir les données au moteur. +- Astuces pour gérer les gros scans, les PDF multi‑pages et les pièges courants. + +Aucune expérience préalable en OCR n'est requise, juste une compréhension de base de Java et un PNG que vous souhaitez traiter. + +## Prérequis + +| Exigence | Raison | +|----------|--------| +| Java 8 ou plus récent | Aspose OCR cible Java 8+. | +| Maven ou Gradle (optionnel) | Simplifie la gestion des dépendances. | +| Une image PNG (par ex., `quick.png`) | La source sur laquelle nous exécuterons l'OCR. | +| Accès Internet (première exécution) | La bibliothèque peut télécharger automatiquement les packs de langues. | + +Si vous avez déjà un IDE Java comme IntelliJ IDEA ou Eclipse, vous êtes prêt. + +--- + +## Étape 1 : Configurer Aspose OCR dans votre projet + +### Maven + +Ajoutez la dépendance suivante à votre `pom.xml` : + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Astuce :** Si vous utilisez un proxy d'entreprise, assurez‑vous que Maven/Gradle puisse atteindre `repo.maven.apache.org`. Sinon la construction échouera avant même que vous n'écriviez une ligne de code. + +--- + +## Étape 2 : Charger l'image PNG + +La classe `ImageStream` masque les détails du système de fichiers et fonctionne avec des flux, des URL ou des tableaux d'octets. Voici comment charger un PNG local : + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Pourquoi c’est important :** Utiliser `ImageStream.fromFile` garantit que le moteur OCR reçoit l'image dans un format qu'il comprend pleinement, ce qui améliore la précision de la reconnaissance par rapport à l'alimentation de tableaux d'octets bruts. + +--- + +## Étape 3 : Reconnaître le texte à partir du PNG + +Aspose OCR expose une seule méthode statique qui fait le gros du travail : `OcrEngine.recognize`. Elle renvoie une simple `String` Java, ce qui est exactement ce dont vous avez besoin lorsque vous voulez **convertir une image en chaîne**. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### Que se passe-t-il en coulisses ? + +1. **Pré‑traitement :** Le moteur redresse automatiquement l'image et normalise le contraste. +2. **Détection de la langue :** Si vous ne spécifiez pas de langue, Aspose essaie de l'inférer, ce qui est pratique pour les scans rapides. +3. **Reconnaissance :** Le moteur OCR principal exécute un modèle de réseau neuronal entraîné sur des millions de caractères. + +Comme tout cela est encapsulé en un seul appel, vous n'avez pas besoin de bidouiller les paramètres bas‑niveau sauf si vous avez un cas d'utilisation très spécialisé. + +--- + +## Étape 4 : Afficher et utiliser la chaîne extraite + +Maintenant que vous avez le texte, vous pouvez l'imprimer, le stocker dans une base de données ou le transmettre à une autre API. Voici la façon la plus simple — simplement `System.out.println` : + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Sortie attendue + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Remarque :** La sortie exacte dépend du contenu de `quick.png`. Si l'image contient une note manuscrite, vous pourriez voir quelques erreurs de reconnaissance—rien qu'un peu de post‑traitement ne puisse corriger. + +--- + +## Étape 5 : Gestion des cas limites courants + +### Scans volumineux ou PDF multi‑pages + +Si vous devez **lire du texte à partir de scans** de fichiers plus grands qu'un PNG typique, envisagez : + +- Diviser l'image en tuiles (`ImageStream.fromRegion`). +- Utiliser `OcrEngine.recognizeMultiplePages` pour les entrées PDF. + +### Langues non‑anglais + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Conseils de performance + +- Réutilisez la même instance `OcrEngine` pour plusieurs images afin d'éviter une initialisation répétée. +- Pour le traitement par lots, activez le multithreading mais limitez le nombre de threads au nombre de cœurs CPU pour éviter la surcharge mémoire. + +--- + +## Exemple complet fonctionnel + +Voici la classe Java complète, prête à être exécutée. Copiez‑collez‑la dans votre IDE, ajustez le chemin de l'image, et cliquez sur **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +L'exécution de ce programme imprime le résultat OCR dans la console, convertissant effectivement **une image en chaîne** en quelques lignes de code. + +--- + +## Conclusion + +Vous savez maintenant comment **extraire du texte à partir d'une image** en Java avec Aspose OCR. Le processus se résume à trois étapes simples : charger le PNG, appeler `OcrEngine.recognize`, et utiliser la chaîne résultante. Que vous essayiez de **reconnaître du texte à partir d'un png**, **convertir une image en chaîne**, ou simplement **lire du texte à partir de scans** de documents, cette approche vous fournit une solution fiable et prête pour la production. + +Prêt pour le prochain défi ? Essayez de parcourir un dossier de reçus numérisés dans une boucle, stockez chaque résultat dans un CSV, ou expérimentez les paramètres spécifiques aux langues pour améliorer la précision sur les textes non anglais. Le ciel est la limite, et le code que vous venez d'écrire est une base solide. + +Bon codage, et n'hésitez pas à poser vos questions dans les commentaires—je serai ravi d'aider ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/french/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..9bab514f4 --- /dev/null +++ b/ocr/french/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,238 @@ +--- +category: general +date: 2026-02-19 +description: reconnaître du texte à partir d'un PNG en Java avec Aspose OCR – apprenez + comment extraire du texte d'une image en Java et traiter l'image avec OCR efficacement. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: fr +og_description: Reconnaître le texte à partir d’un PNG en Java avec Aspose OCR. Ce + tutoriel montre comment extraire le texte d’une image en Java et traiter l’image + avec l’OCR étape par étape. +og_title: reconnaître du texte à partir d'un PNG en Java – Guide complet Aspose OCR +tags: +- OCR +- Java +- Image Processing +title: reconnaître du texte à partir d'un PNG en Java – tutoriel Aspose OCR +url: /fr/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +is inside {alt="..."}; we should translate the string inside quotes. Also the title attribute "recognize text from png Java example" should be translated. + +Also the shortcodes at top and bottom must be preserved. + +We must not translate URLs, file paths like `document-page1.png`, `YOUR_DIRECTORY`, etc. + +We must keep code blocks placeholders unchanged. + +We must translate "Expected output" etc. + +Let's produce the French version. + +Be careful with markdown links: none except maybe none. There's no markdown link besides shortcodes. + +Let's translate. + +Start with the same shortcodes. + +Proceed. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# reconnaître du texte à partir d'un png – Guide complet Aspose OCR + +Vous avez déjà eu besoin de **reconnaître du texte à partir d'un png** sans savoir quelle bibliothèque choisir ? Vous n'êtes pas seul — de nombreux développeurs Java rencontrent ce problème lorsqu'ils abordent pour la première fois l'extraction de données à partir d'images. La bonne nouvelle, c'est qu'Aspose OCR rend le processus presque indolore, et dans ce guide vous verrez exactement comment **extraire du texte d'une image java** tout en **traitant l'image avec OCR** de manière thread‑safe. + +Dans les quelques minutes qui suivent, nous créerons un petit programme Java qui charge un PNG, exécute l'OCR sur le CPU en utilisant jusqu'à huit threads, et affiche la chaîne reconnue dans la console. Aucun service externe, aucune clé API secrète — juste du pur code Java que vous pouvez copier‑coller et exécuter dès aujourd'hui. + +## Ce dont vous aurez besoin + +- **Java 17** ou version ultérieure (le code compile avec des versions antérieures, mais 17 est le meilleur compromis). +- **Aspose.OCR for Java** JAR (téléchargez-le depuis le site Aspose ou récupérez‑le via Maven). +- Une image PNG que vous souhaitez lire — par exemple `document-page1.png` stockée quelque part sur le disque. +- Votre IDE préféré ou un simple éditeur de texte et un terminal. + +C’est tout. Si vous avez ces éléments, nous pouvons plonger directement dans la solution. + +![Java code to recognize text from png using Aspose OCR](image-placeholder.png "exemple de reconnaissance de texte à partir d'un png en Java"){alt="Code Java pour reconnaître du texte à partir d'un png avec Aspose OCR"} + +## Étape par étape : reconnaître du texte à partir d'un png + +Ci‑dessous, nous découpons l'implémentation en parties claires et gérables. Chaque partie est un titre H2, afin que vous puissiez aller directement à la section qui vous intéresse. + +### 1. Ajouter Aspose OCR à votre projet + +**Pourquoi ?** Le moteur OCR réside dans la bibliothèque Aspose ; sans elle, le compilateur ne saura pas ce qu’est `OcrEngine`. + +Si vous utilisez Maven, insérez ce fragment dans votre `pom.xml` : + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Pour Gradle, cela ressemble à : + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Astuce :** Vérifiez toujours le numéro de version le plus récent ; les nouvelles versions apportent souvent des améliorations de performances pour le traitement multithread. + +### 2. Créer et configurer le moteur OCR + +**Pourquoi ?** Instancier `OcrEngine` vous fournit un objet prêt à l’emploi, et ajuster les paramètres du dispositif vous permet d’exploiter tous les cœurs CPU disponibles. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Ici nous définissons explicitement le dispositif sur `CPU`. Si vous migrez plus tard vers un environnement avec GPU, il suffit de remplacer la valeur de l’énumération — aucun autre changement de code n’est nécessaire. + +### 3. Charger l'image PNG + +**Pourquoi ?** L'OCR travaille sur un flux d'image, pas directement sur un chemin de fichier. Convertir le fichier en `ImageStream` abstrait le format sous‑jacent. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Remplacez `YOUR_DIRECTORY` par le dossier réel. Si le fichier n’est pas trouvé, le moteur lève une `IOException`, que nous attraperons plus tard. + +### 4. Exécuter la reconnaissance et récupérer le résultat + +**Pourquoi ?** La méthode `recognize()` effectue le travail lourd — détection des caractères, des lignes et de la mise en page. Le `OcrResult` retourné contient le texte brut. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Vous pouvez également demander un résultat `Pdf` ou `Html`, mais pour le but **d'extraire du texte d'une image java** nous nous en tenons au texte simple. + +### 5. Afficher le texte et nettoyer + +**Pourquoi ?** Un simple `System.out.println` suffit pour la démonstration, mais dans une application réelle vous écririez probablement dans un fichier ou une base de données. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +Comme `OcrEngine` implémente `AutoCloseable`, il est judicieux d’envelopper tout le code dans un bloc try‑with‑resources. Cela garantit que les ressources natives sont libérées rapidement. + +### 6. Exemple complet, exécutable + +En assemblant le tout, voici le programme complet que vous pouvez compiler et exécuter : + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Sortie attendue** (en supposant que le PNG contienne « Hello World ») : + +``` +=== OCR Result === +Hello World +``` + +Si l’image est plus complexe — plusieurs lignes, tableaux ou notes manuscrites — la sortie reflétera exactement ce qu’Aspose OCR détecte, en conservant les sauts de ligne le cas échéant. + +## Questions fréquentes & cas particuliers + +### Et si le PNG est très volumineux ? + +Les grandes images peuvent consommer beaucoup de mémoire. Une solution pratique consiste à **réduire** l’image avant de la transmettre au moteur : + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +La réduction diminue la charge CPU sans sacrifier la précision de l’OCR pour la plupart des textes imprimés. + +### Puis‑je exécuter l'OCR sur un PDF au lieu d'un PNG ? + +Absolument. Aspose OCR accepte également les PDF via des objets `PdfDocument`. Le même appel `recognize()` fonctionne, vous pouvez donc **traiter l'image avec OCR** quel que soit le format source. + +### Comment améliorer la précision pour les scripts non latins ? + +Définissez la langue avant la reconnaissance : + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose fournit des dizaines de packs de langues ; choisissez simplement celui qui correspond au contenu de votre image. + +### Le nombre de threads est‑il toujours bénéfique ? + +Plus de threads accélèrent le traitement sur les CPU multi‑cœurs, mais au‑delà du nombre de cœurs physiques les gains diminuent. Si vous remarquez une utilisation CPU élevée sans amélioration proportionnelle de la vitesse, réduisez le nombre à `Runtime.getRuntime().availableProcessors()`. + +## Conclusion : ce que nous avons accompli + +Nous venons de **reconnaître du texte à partir d'un png** avec un programme Java concis, démontré comment **extraire du texte d'une image java** grâce à Aspose OCR, et couvert les étapes essentielles pour **traiter l'image avec OCR** de façon prête pour la production. Le code est autonome, les explications répondent à la fois au « comment » et au « pourquoi », et les astuces abordent les pièges courants que vous pourriez rencontrer. + +## Et après ? + +- **Traitement par lots :** Parcourez un répertoire de PNG et écrivez chaque résultat dans un fichier `.txt`. +- **Génération de PDF :** Alimentez la sortie OCR dans Aspose.PDF pour créer des PDF recherchables. +- **Mise à l’échelle dans le cloud :** Déployez le même code dans un conteneur orchestré par Kubernetes et laissez le pool de threads s’adapter aux ressources du pod. + +N’hésitez pas à expérimenter — changez l’image, ajustez le nombre de threads, ou changez de langue. Le moteur OCR est suffisamment flexible pour gérer la plupart des scénarios, et avec les bases que vous avez maintenant, l’étendre devient un jeu d’enfant. + +Des questions, ou une optimisation astucieuse à partager ? Laissez un commentaire ci‑dessous, et bon codage ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/java/ocr-operations/_index.md b/ocr/french/java/ocr-operations/_index.md index 779631174..59e0ec0f4 100644 --- a/ocr/french/java/ocr-operations/_index.md +++ b/ocr/french/java/ocr-operations/_index.md @@ -81,6 +81,10 @@ Débloquez la puissance de l’OCR en Java avec Aspose.OCR. Reconnaissez le text Débloquez une puissante reconnaissance de texte en Java avec Aspose.OCR. Reconnaissez le texte dans les images TIFF sans effort. Téléchargez dès maintenant pour une expérience OCR fluide. ### [Reconnaître le texte d'image avec Aspose OCR – Tutoriel complet Java OCR](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Apprenez à extraire du texte d'images en Java avec Aspose OCR grâce à ce guide complet étape par étape. +### [Créer un PDF consultable à partir de JPG – Guide Java Image vers PDF consultable](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Apprenez à transformer des images JPG en PDF recherchables avec Aspose.OCR pour Java, étape par étape. +### [Comment redresser une image — Guide de pré‑traitement OCR étape par étape](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +Apprenez à corriger l’inclinaison des images avant l’OCR avec un guide complet étape par étape. ## Foire aux questions diff --git a/ocr/french/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/french/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..8ed6cef4c --- /dev/null +++ b/ocr/french/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,189 @@ +--- +category: general +date: 2026-02-19 +description: Créer un PDF consultable à partir d'une image JPG avec Aspose OCR en + Java. Convertir le JPG en PDF et reconnaître rapidement le texte de l'image. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: fr +og_description: Créez un PDF consultable à partir d’une image JPG avec Aspose OCR. + Apprenez comment convertir un JPG en PDF et reconnaître le texte d’une image en + Java. +og_title: Créer un PDF consultable à partir de JPG – Tutoriel OCR Java +tags: +- aspose-ocr +- java +- pdf +- ocr +title: 'Créer un PDF interrogeable à partir de JPG – Guide Java : de l''image au PDF + interrogeable' +url: /fr/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Créer un PDF consultable à partir d'un JPG – Guide Java Image vers PDF consultable + +Vous avez déjà eu besoin de **créer un PDF consultable** à partir d’une image numérisée sans savoir par où commencer ? Vous n'êtes pas seul — de nombreux développeurs rencontrent le même obstacle lorsqu’ils disposent d’un JPG qui doit être consultable. La bonne nouvelle, c’est qu’avec Aspose OCR for Java, vous pouvez transformer cette image en un PDF entièrement consultable en quelques lignes de code seulement. + +Dans ce tutoriel, nous parcourrons l’ensemble du processus : charger un JPG, reconnaître le texte et enregistrer le résultat sous forme de PDF consultable. À la fin, vous saurez comment **convertir jpg en pdf**, comment **extraire du texte d’un jpg**, et pourquoi cette approche est souvent plus fiable que d’essayer d’appliquer l’OCR au PDF après sa création. + +## Ce dont vous avez besoin + +Avant de commencer, assurez‑vous d’avoir les éléments suivants sur votre machine : + +* **Java Development Kit (JDK) 8 ou version supérieure** – le code utilise les API Java standard. +* Bibliothèque **Aspose OCR for Java** – vous pouvez la récupérer depuis Maven Central ou télécharger le JAR depuis le site d’Aspose. +* Un **exemple de JPG** contenant du texte lisible (par ex. une facture numérisée ou une capture d’écran d’un document). + +Aucun framework supplémentaire n’est requis ; l’exemple fonctionne avec un projet Java simple. + +## Étape 1 – Configurer le projet et ajouter Aspose OCR + +Tout d’abord, créez un nouveau projet Maven (ou simplement un dossier avec le JAR dans le classpath). Si vous utilisez Maven, ajoutez cette dépendance à votre `pom.xml` : + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Astuce :** Vérifiez toujours la dernière version dans le dépôt Maven d’Aspose ; les versions plus récentes incluent des améliorations de performances et des corrections de bugs. + +Une fois la dépendance résolue, vous êtes prêt à écrire le code Java qui **créera un PDF consultable**. + +## Étape 2 – Charger l’image (image vers PDF consultable) + +La première vraie étape consiste à indiquer au moteur OCR l’image source. C’est ici que la transformation **image vers PDF consultable** commence réellement. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Pourquoi c’est important :** `setImage` indique à Aspose quelle bitmap analyser. Si vous fournissez une image à basse résolution, la qualité de l’OCR en pâtira, alors assurez‑vous que le JPG soit d’au moins 300 dpi pour de meilleurs résultats. + +## Étape 3 – Reconnaître le texte à partir de l’image + +Maintenant que le moteur sait quelle image traiter, nous pouvons lui demander de **reconnaître le texte à partir de l’image**. Aspose OCR effectue le travail lourd en arrière‑plan, gérant la détection de la langue, la segmentation des caractères et le calcul de la confiance. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +L’appel `recognize()` renvoie une interface fluide, nous permettant de chaîner la méthode `save`. En spécifiant `OcrOutputFormat.SEARCHABLE_PDF`, la bibliothèque intègre une couche de texte invisible dans le PDF tout en conservant l’apparence originale de l’image. + +> **Cas particulier :** Si votre JPG contient plusieurs pages (par ex. un TIFF multipage enregistré sous forme de JPG séparés), vous devrez itérer sur chaque fichier et fusionner les PDF générés ultérieurement. Le même moteur OCR peut être réutilisé pour chaque itération. + +## Étape 4 – Vérifier le résultat + +Après la fin de l’opération d’enregistrement, un simple message console indique que tout s’est déroulé correctement. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +Lorsque vous ouvrez `output-searchable.pdf` dans un lecteur comme Adobe Acrobat, vous devez pouvoir sélectionner le texte caché, le copier ou lancer une recherche — exactement ce que vous attendez d’un **PDF consultable**. + +### Résultat attendu + +L’exécution du programme affiche : + +``` +Searchable PDF created. +``` + +Et le PDF généré affichera le JPG original tout en permettant la sélection du texte. Si vous ouvrez les « Propriétés → Description → PDF Producer » du PDF, vous verrez quelque chose comme `Aspose.OCR for Java`. + +## Exemple complet fonctionnel + +Voici le fichier source complet, prêt à être exécuté. Copiez‑collez‑le dans votre IDE, ajustez les chemins de fichiers, puis lancez‑le. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **Et si l’OCR échoue ?** +> * Cela se produit généralement parce que l’image est trop bruitée ou que la langue n’est pas prise en charge par défaut. Vous pouvez améliorer la précision en pré‑traitant l’image (augmenter le contraste, redresser) ou en définissant explicitement la langue avec `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`. + +## Questions fréquentes et pièges courants + +| Question | Réponse | +|----------|---------| +| **Puis‑je extraire le texte brut au lieu d’un PDF ?** | Oui. Utilisez `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **Et si je dois traiter un PNG ?** | La même API fonctionne ; il suffit de changer l’extension du fichier dans `fromFile`. | +| **Le PDF résultant est‑il réellement consultable sur tous les lecteurs ?** | Les lecteurs modernes (Adobe Reader, Foxit, Chrome) respectent la couche de texte invisible. Les outils plus anciens pourraient l’ignorer. | +| **Comment contrôler la taille de page du PDF ?** | Aspose OCR utilise par défaut les dimensions de l’image. Pour un format personnalisé, générez le PDF manuellement et superposez la couche de texte OCR — scénario avancé. | + +## Conseils de performance + +* **Traitement par lots :** Réutilisez une seule instance de `OcrEngine` pour de nombreuses images afin d’éviter le rechargement répété de la bibliothèque native. +* **Sécurité des threads :** Le moteur **n’est pas** thread‑safe ; créez‑en une par thread si vous parallélisez. +* **Utilisation de la mémoire :** Les grandes images peuvent consommer beaucoup de RAM. En cas de `OutOfMemoryError`, réduisez la résolution de l’image avant de la transmettre au moteur. + +## Prochaines étapes + +Maintenant que vous savez comment **créer un PDF consultable**, vous pouvez explorer des tâches connexes : + +* **Convertir jpg en pdf** sans OCR (utilisez la bibliothèque Aspose PDF pour un PDF image simple). +* **Extraire du texte d’un jpg** dans un fichier `.txt` pour l’indexation. +* **Combiner plusieurs PDF consultables** en un seul document avec `PdfFileEditor` d’Aspose PDF. + +Toutes ces actions s’appuient sur la même base que vous venez de mettre en place. + +--- + +### Récapitulatif rapide + +* Nous avons **créé un PDF consultable** à partir d’un JPG avec Aspose OCR for Java. +* Le processus a couvert le chargement de l’image, la reconnaissance du texte et l’enregistrement en PDF consultable. +* Vous disposez désormais d’un modèle réutilisable pour **image vers PDF consultable**, **reconnaître le texte à partir d’une image**, **extraire du texte d’un jpg**, et **convertir jpg en pdf**. + +Testez-le avec vos propres documents, ajustez les paramètres de langue si nécessaire, et laissez l’OCR faire le gros du travail. Bon codage ! + +![Create searchable PDF example](placeholder.png){alt="Créer un PDF consultable"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/french/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..5e0098bbd --- /dev/null +++ b/ocr/french/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,178 @@ +--- +category: general +date: 2026-02-19 +description: Apprenez à redresser les images et à éliminer le bruit pour l’OCR. Ce + tutoriel montre comment reconnaître le texte d’une image, corriger la rotation de + l’image et prétraiter l’image pour l’OCR avec Aspose OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: fr +og_description: Comment redresser une image et éliminer le bruit afin de reconnaître + rapidement le texte d’une image. Suivez ce guide pour corriger la rotation de l’image + et prétraiter l’OCR d’image avec Aspose. +og_title: Comment redresser une image – Tutoriel complet de prétraitement OCR +tags: +- OCR +- Java +- Image Processing +title: Comment redresser une image — Guide de prétraitement OCR étape par étape +url: /fr/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +translate to French: "comment redresser l'image". But need to keep the same formatting. So alt text: "exemple de redressement d'image". Title: "comment redresser l'image". But ensure not to translate file path. + +Also translate list items, headings, etc. + +Let's produce final content. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment redresser une image — Tutoriel complet de pré‑traitement OCR + +Vous êtes-vous déjà demandé **comment redresser une image** avant de la soumettre à un moteur OCR ? Peut‑être avez‑vous scanné un lot de reçus, et les pages semblent légèrement inclinées, ou le scan est parsemé de points aléatoires. C’est un problème fréquent — des images penchées et bruyantes font échouer la reconnaissance de texte. + +Bonne nouvelle ? Vous pouvez redresser (corriger la rotation de l’image) et débruiter (comment enlever le bruit) en quelques lignes de Java avec Aspose.OCR. Dans ce guide, nous parcourrons l’ensemble du flux : du chargement d’un PNG bruyant et tourné, à l’application du redressement + débruitage médian, jusqu’à **reconnaître le texte d’une image** et afficher le résultat. À la fin, vous disposerez d’un extrait réutilisable que vous pourrez intégrer à n’importe quel projet Java. + +## Ce dont vous avez besoin + +- **Java 17** ou supérieur (le code compile avec des versions antérieures, mais 17 est le meilleur compromis). +- **Aspose.OCR for Java** – récupérez le JAR le plus récent depuis Maven Central (`com.aspose:aspose-ocr`). +- Un fichier image à la fois tourné et bruyant (par ex. `noisy-rotated.png`). +- Un IDE modeste (IntelliJ, Eclipse, ou même VS Code). + +Aucun outil de construction sophistiqué n’est requis ; un simple `javac` + `java` suffit. + +--- + +## Étape 1 – Créer l’instance du moteur OCR + +La première chose à faire est d’instancier un `OcrEngine`. Considérez‑le comme le cerveau qui lira les caractères pour vous. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Astuce :** Conservez le moteur en singleton si vous traitez de nombreuses images ; il réutilise les tampons internes et accélère le traitement. + +## Étape 2 – Activer le redressement et le débruitage médian (Comment enlever le bruit) + +Nous indiquons maintenant au moteur de **corriger la rotation de l’image** et de **comment enlever le bruit**. Les deux filtres sont optionnels, mais combinés ils améliorent considérablement la précision. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Pourquoi le débruitage médian ? Il préserve les contours (les lignes qui définissent les caractères) tout en éliminant les pixels isolés — exactement ce qu’il faut pour un OCR propre. + +## Étape 3 – Charger l’image à traiter + +Ici, nous pointons le moteur vers le fichier qui doit être nettoyé. `ImageStream.fromFile` lit le PNG en mémoire. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Si votre image se trouve sur un serveur distant, fournissez simplement un `InputStream` à la place — Aspose le gère sans problème. + +## Étape 4 – Exécuter l’OCR et récupérer le texte reconnu + +Avec le pré‑traitement activé, le moteur lit maintenant l’image corrigée. L’appel `recognize()` renvoie un `RecognitionResult` contenant la chaîne extraite. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +Vous devriez voir du texte propre et lisible dans la console, même si l’image d’origine était inclinée et granuleuse. + +## Étape 5 – Vérifier le résultat (À quoi s’attendre) + +Lorsque tout fonctionne, la console affiche quelque chose comme : + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Si la sortie contient encore des caractères illisibles, revérifiez : + +- La résolution de l’image (≥ 300 dpi est idéal). +- Que le chemin du fichier est correct. +- Si des filtres supplémentaires (par ex. `setContrastStretch`) pourraient aider. + +--- + +## Optionnel : Confirmation visuelle avec une image d’exemple + +Voici un petit aperçu d’un reçu tourné et bruyant. Remarquez l’inclinaison — notre code le redressera pour vous. + +![exemple de redressement d'image](deskew-demo.png "comment redresser l'image") + +*Texte alternatif : comment redresser l'image – avant et après le traitement.* + +--- + +## Questions fréquentes + +### Cela fonctionne‑t‑il avec les PDF ou uniquement PNG/JPEG ? +Aspose.OCR peut lire les PDF directement ; il suffit de remplacer `ImageStream.fromFile` par `ImageStream.fromPdf`. Les mêmes drapeaux de pré‑traitement s’appliquent, vous obtenez donc toujours **comment redresser une image** et **comment enlever le bruit**. + +### Et si je dois conserver l’orientation originale pour des étapes ultérieures ? +Vous pouvez cloner l’image avant le pré‑traitement : + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Puis‑je modifier manuellement l’angle de redressement ? +Oui—`setDeskewAngle(double degrees)` vous permet de remplacer l’algorithme de détection automatique. Utile lorsque la détection automatique échoue sur des rotations extrêmes. + +### En quoi le débruitage médian diffère‑t‑il du flou gaussien ? +Les filtres médians remplacent chaque pixel par la médiane de ses voisins, ce qui préserve les bords. Le flou gaussien lisse tout, pouvant estomper les traits des caractères—le médian est donc plus sûr pour l’OCR. + +--- + +## Conclusion + +Dans ce tutoriel, nous avons vu **comment redresser une image**, démontré **comment enlever le bruit**, et montré comment **reconnaître le texte d’une image** en utilisant le pré‑traitement intégré d’Aspose OCR. En activant `setDeskew(true)` et `setMedianDenoise(true)`, vous **corrigez automatiquement la rotation de l’image** et éliminez les taches, transformant un scan désordonné en une chaîne de texte propre. + +N’hésitez pas à expérimenter : essayez différentes stratégies de débruitage, traitez des PDF, ou enchaînez plusieurs images dans une boucle. Le même schéma—moteur → pré‑traitement → reconnaissance—s’applique à chaque scénario, constituant une base solide pour tout pipeline OCR. + +**Prochaines étapes** à explorer : + +- **Traitement par lots** – itérer sur un dossier d’images et écrire chaque résultat dans un fichier `.txt`. +- **Packs de langues** – charger un dictionnaire de langue spécifique pour améliorer la précision sur du texte non anglais. +- **Filtres avancés** – comme `setContrastStretch` ou `setBinarization` pour les scans à faible contraste. + +Des questions supplémentaires ? Laissez un commentaire, et bon codage ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/java/advanced-ocr-techniques/_index.md b/ocr/german/java/advanced-ocr-techniques/_index.md index b9bdc98dd..3b5620641 100644 --- a/ocr/german/java/advanced-ocr-techniques/_index.md +++ b/ocr/german/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,14 @@ Nutzen Sie die Leistungsfähigkeit der Texterkennung mit Aspose.OCR für Java. B Stärken Sie Ihre Java-Anwendungen mit Aspose.OCR für eine präzise Texterkennung. Einfache Integration, hohe Genauigkeit. ### [Angeben zulässiger Zeichen in Aspose.OCR](./specify-allowed-characters/) Nutzen Sie die nahtlose Textextraktion aus Bildern mit Aspose.OCR für Java. Befolgen Sie unsere Schritt-für-Schritt-Anleitung für eine effiziente Integration. +### [Wie man ein Bild in Java OCR‑t – handschriftliche Notizen mit Rechtschreibprüfung](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Erfahren Sie, wie Sie mit Aspose.OCR für Java handschriftliche Notizen aus Bildern extrahieren und dabei eine Rechtschreibprüfung integrieren. +### [GPU für OCR in Java aktivieren – Komplettanleitung](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Erfahren Sie, wie Sie GPU-Beschleunigung für Aspose.OCR in Java aktivieren und die Texterkennungsgeschwindigkeit 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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/german/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..367dd57d1 --- /dev/null +++ b/ocr/german/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,213 @@ +--- +category: general +date: 2026-02-19 +description: Wie man die GPU für schnelle OCR‑Verarbeitung aktiviert. Lernen Sie, + hochauflösende Bilder zu laden, Textbilder zu erkennen und Text mit Aspose OCR zu + extrahieren. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: de +og_description: Wie man die GPU für schnelle OCR-Verarbeitung aktiviert. Dieser Leitfaden + zeigt, wie man hochauflösende Bilder lädt, Textbilder erkennt und Text mit Aspose + OCR extrahiert. +og_title: Wie man die GPU für OCR in Java aktiviert – Vollständige Anleitung +tags: +- OCR +- Java +- GPU +- Aspose +title: Wie man GPU für OCR in Java aktiviert – Vollständige Anleitung +url: /de/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +. + +Let's write. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man GPU für OCR in Java aktiviert – Vollständige Anleitung + +Haben Sie sich jemals gefragt, **wie man GPU** für Ihre OCR‑Pipeline aktiviert und Sekunden an Verarbeitungszeit spart? Sie sind nicht allein. In vielen bildintensiven Projekten ist der Engpass der CPU‑gebundene Textextraktionsschritt, und der Umstieg auf GPU kann ein echter Wendepunkt sein. + +In diesem Tutorial führen wir Sie durch das Laden eines **hochauflösenden Bildes**, das Konfigurieren von Aspose OCR für die Ausführung auf der GPU und schließlich das **Erkennen von Textbildern** sowie das **Extrahieren von Text** mit nur wenigen Zeilen Java. Am Ende haben Sie ein einsatzbereites Programm, das **GPU‑Verarbeitung aktivieren** von Anfang bis Ende demonstriert. + +## Was Sie benötigen + +- Java 17 oder neuer (der Code nutzt das Modulsystem, funktioniert aber mit kleineren Anpassungen auch auf älteren JDKs) +- Aspose OCR für Java 23.10 (oder die neueste Version) – die Maven‑Koordinaten finden Sie auf der Aspose‑Website +- Eine NVIDIA‑GPU mit installierten CUDA 12+‑Treibern (die Bibliothek startet sonst nicht) +- Ein hochauflösendes Beispielbild (PNG oder JPEG), aus dem Sie Text auslesen möchten + +Das ist alles. Keine externen Dienste, keine Cloud‑Credits, nur Ihr Rechner und der passende Treiber‑Stack. + +![GPU OCR workflow – how to enable GPU processing](gpu-ocr-workflow.png) + +*Bildbeschreibung: Diagramm, das zeigt, wie man GPU‑Verarbeitung für OCR in Java aktiviert.* + +## Schritt‑für‑Schritt‑Implementierung + +Im Folgenden zerlegen wir die Lösung in logische Abschnitte. Jeder Abschnitt enthält ein prägnantes Code‑Snippet, eine Erklärung **warum** der Schritt wichtig ist und ein paar praktische Tipps, die Sie später zu schätzen wissen werden. + +### Wie man GPU für OCR aktiviert – Schritt 1: Abhängigkeiten installieren & CUDA prüfen + +Bevor irgendein Java‑Code läuft, muss die native CUDA‑Runtime auffindbar sein. Unter Windows können Sie das mit folgendem Befehl prüfen: + +```bat +nvcc --version +``` + +Unter Linux: + +```bash +nvidia-smi +``` + +Wenn der Befehl die Treiberversion und GPU‑Details ausgibt, sind Sie startklar. Andernfalls besuchen Sie die NVIDIA‑Website, laden den passenden Treiber herunter und installieren das CUDA‑Toolkit (achten Sie darauf, dass die Version den Anforderungen von Aspose OCR entspricht – derzeit 12.x). + +**Tipp:** Halten Sie Ihren GPU‑Treiber aktuell, vermeiden Sie jedoch „latest‑beta“-Versionen; diese können die Binärkompatibilität mit den nativen Aspose‑Bibliotheken brechen. + +### Wie man GPU für OCR aktiviert – Schritt 2: Aspose OCR Maven‑Abhängigkeit hinzufügen + +Fügen Sie Folgendes zu Ihrer `pom.xml` hinzu. Damit werden die Kern‑OCR‑Engine und die nativen GPU‑Binärdateien für Windows, Linux und macOS eingebunden. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Falls Sie Gradle bevorzugen, lautet das Äquivalent: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Nach dem Aktualisieren Ihres Projekts stehen die Klassen `OcrEngine`, `OcrDeviceType` und `ImageStream` zur Verfügung. + +### Wie man GPU für OCR aktiviert – Schritt 3: OCR‑Engine erstellen und GPU aktivieren + +Jetzt sagen wir Aspose tatsächlich, dass es die GPU nutzen soll. Das `OcrEngine`‑Objekt stellt ein `Device`‑Objekt bereit, über das wir den Verarbeitungstyp umschalten können. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Warum das wichtig ist:** Durch das Setzen von `OcrDeviceType.GPU` wird die zugrunde liegende Inferenz‑Engine von einer rein CPU‑Implementierung auf eine CUDA‑beschleunigte Version umgestellt. Der optionale Aufruf `setStreamCount` ermöglicht die Steuerung des Parallelismus; zwei Streams sind für die meisten Consumer‑Karten ein sicherer Standard. + +### Wie man GPU für OCR aktiviert – Schritt 4: Hochauflösendes Bild laden + +Hochauflösende Quellen liefern dem OCR‑Modell mehr visuelle Details, was sich in höherer Genauigkeit niederschlägt – besonders bei kleinen Schriften oder komplexen Skripten. Der Helfer `ImageStream.fromFile` liest die Datei in ein Format ein, das die Engine erwartet. + +Wenn Sie ein **hochauflösendes Bild** von einer URL oder einem In‑Memory‑Byte‑Array laden müssen, können Sie Folgendes verwenden: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Randfall:** Einige GPUs haben eine maximale Texturgröße (oft 16384 × 16384). Überschreitet Ihr Bild diese, sollten Sie es auf eine Größe herunter­skalieren, die noch lesbar bleibt (z. B. 3000 × 2000). Die OCR‑Engine wird das Bild automatisch verkleinern, wenn Sie vor dem Laden `ocrEngine.setResizeFactor(0.5)` aufrufen. + +### Wie man GPU für OCR aktiviert – Schritt 5: Textbild erkennen und Text extrahieren + +Der Aufruf `ocrEngine.recognize()` startet die neuronale Netzwerk‑Inference auf der GPU. Die Methode liefert ein `OcrResult`‑Objekt; `getText()` extrahiert den reinen String. Sie können außerdem Begrenzungsrahmen, Konfidenzwerte oder das rohe JSON abrufen, falls Sie detailliertere Daten benötigen. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Warum Sie das wollen:** Der Schritt **recognize text image** ist dort, wo die GPU glänzt – große Bilder, die auf der CPU Sekunden benötigen, werden in einem Bruchteil dieser Zeit verarbeitet. Die Konfidenzwerte erlauben Ihnen, Ergebnisse niedriger Qualität zu filtern, ein nützlicher Trick, wenn Sie später **how to extract text** für nachgelagerte Analysen benötigen. + +### Pro‑Tipps & häufige Stolperfallen + +| Situation | Was zu tun ist | +|-----------|----------------| +| **Out‑of‑memory‑Fehler** auf der GPU | `setStreamCount` auf 1 reduzieren oder das Bild vor dem Einspeisen in die Engine verkleinern. | +| **Unerkannte Zeichen** trotz hoher Auflösung | Sicherstellen, dass das Sprachmodell (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) zur Textsprache passt. | +| **CUDA‑Versionskonflikt** | Die CUDA‑Toolkit‑Version mit der in Aspose OCR gebündelten Version angleichen (Release‑Notes prüfen). | +| **Mehrere GPUs** | `ocrEngine.getDevice().setDeviceId(1)` verwenden, um die zweite GPU zu wählen, falls die erste beschäftigt ist. | +| **Ausführung auf einem Headless‑Server** | Keine zusätzlichen Schritte nötig; der GPU‑Treiber funktioniert ohne Anzeige. | + +## Wie man Text extrahiert – Ausgabe verifizieren + +Wenn Sie die obige Klasse ausführen, sollten Sie etwa Folgendes sehen: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Sie die Ausgabe unleserlich erscheint, prüfen Sie, ob das Bild wirklich hochauflösend ist und der GPU‑Treiber korrekt installiert wurde. Sie können außerdem ausführliches Logging aktivieren: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +Die Protokolle zeigen, ob die nativen CUDA‑Kernels erfolgreich geladen wurden. + +## Nächste Schritte & verwandte Themen + +- **Batch‑Verarbeitung:** Wickeln Sie das `OcrEngine` in eine Schleife und übergeben Sie eine Liste von Bildpfaden. Denken Sie daran, dieselbe Engine‑Instanz wiederzuverwenden, um wiederholten GPU‑Initialisierungs‑Overhead zu vermeiden. +- **Spracherkennung:** Aspose OCR unterstützt über 30 Sprachen. Wechseln Sie mit `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Nachbearbeitung:** Verwenden Sie reguläre Ausdrücke, um den extrahierten String zu bereinigen, oder leiten Sie ihn in eine nachgelagerte NLP‑Pipeline weiter. +- **Alternative Geräte:** Wenn Sie keine CUDA‑fähige GPU besitzen, können Sie zu `OcrDeviceType.CPU` zurückwechseln. Der gleiche Code funktioniert; ändern Sie lediglich den Gerätetyp. +- **Performance‑Benchmarking:** Messen Sie den Zeitunterschied mit `System.nanoTime()` vor und nach `recognize()`, um den Gewinn durch **enable GPU processing** zu quantifizieren. + +--- + +### Fazit + +Wir haben behandelt, **wie man GPU** für Aspose OCR in Java aktiviert – von der Installation der richtigen Treiber über das Laden eines **hochauflösenden Bildes**, das **Erkennen von Textbildern** bis hin zum **Extrahieren von Text** aus dem Ergebnis. Das vollständige, ausführbare Beispiel oben sollte auf jeder modernen NVIDIA‑GPU sofort funktionieren. + +Probieren Sie es aus, experimentieren Sie mit verschiedenen Bildgrößen und beobachten Sie, wie Ihr OCR‑Durchsatz in die Höhe schießt. Bei Problemen schauen Sie noch einmal in den Tipps‑Abschnitt oder prüfen Sie die Release‑Notes von Aspose für die neuesten **enable GPU processing**‑Empfehlungen. + +Viel Spaß beim Coden und möge Ihre GPU kühl bleiben, während sie Text verarbeitet! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/german/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..36d11d101 --- /dev/null +++ b/ocr/german/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,252 @@ +--- +category: general +date: 2026-02-19 +description: Erfahren Sie, wie Sie handschriftliche Notizen in Java mit Aspose OCR + per OCR verarbeiten. Enthält das Laden des Bildes für OCR, das Lesen handschriftlicher + Notizen und die Umwandlung des handschriftlichen Bildtextes. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: de +og_description: Wie man ein Bild handschriftlicher Notizen in Java mit Aspose OCR + verarbeitet. Schritt‑für‑Schritt‑Anleitung zum Laden des Bildes für OCR, zum Lesen + handschriftlicher Notizen und zum Konvertieren des Textes aus dem handschriftlichen + Bild. +og_title: Wie man ein Bild in Java OCRt – Leitfaden für handschriftliche Notizen +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Wie man ein Bild in Java OCRt – handschriftliche Notizen mit Rechtschreibprüfung +url: /de/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man ein Bild in Java OCR‑t – Handschriftliche Notizen mit Rechtschreibprüfung + +Haben Sie sich jemals gefragt, **wie man ein Bild OCR‑t**, das Ihre gekritzelte Einkaufsliste oder Sitzungsnotizen enthält? Sie sind nicht allein. In vielen real‑world‑Anwendungen müssen Entwickler handschriftliche Notizen lesen und in durchsuchbaren Text umwandeln – ohne manuelles Nachtippen. + +In diesem Tutorial gehen wir Schritt für Schritt durch ein komplettes, sofort ausführbares Beispiel, das Ihnen genau zeigt, **wie man ein Bild OCR‑t** mit Aspose OCR für Java, wie man **Bild für OCR laden** und **handgeschriebene Notizen lesen** mit integrierter Rechtschreibkorrektur. Am Ende können Sie **handgeschriebenen Bildtext konvertieren** in einen sauberen String, den Sie speichern, indexieren oder anzeigen können. + +## Was Sie lernen werden + +- Die genauen Schritte, um eine OCR‑Engine einzurichten, die englische Handschrift versteht. +- Wie man **Bild für OCR laden** von der Festplatte und an die Engine übergibt. +- Warum das Aktivieren der Rechtschreibprüfung wichtig ist, wenn man mit unordentlichen Kritzeleien arbeitet. +- Möglichkeiten, gängige Randfälle zu behandeln, wie Bilder mit geringem Kontrast oder fehlende Sprachpakete. +- Ein vollständiges, ausführbares Code‑Beispiel, das Sie in Ihre IDE einfügen und sofort Ergebnisse sehen können. + +> **Voraussetzungen**: Java 8+ installiert, Maven oder Gradle für das Abhängigkeitsmanagement und eine Aspose OCR für Java Lizenz (die kostenlose Testversion reicht für Lernzwecke). Weitere externe Bibliotheken sind nicht nötig. + +--- + +## Schritt 1: Projekt einrichten und Aspose OCR‑Abhängigkeit hinzufügen + +Zuerst einmal – Ihr Projekt benötigt die Aspose OCR‑Bibliothek. Wenn Sie Maven verwenden, fügen Sie dies zu Ihrer `pom.xml` hinzu: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Oder mit Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Pro‑Tipp**: Achten Sie auf die Versionsnummer; neuere Releases verbessern die Handschriftenerkennung und fügen Sprachunterstützung hinzu. + +Sobald die Abhängigkeit aufgelöst ist, können Sie **Bild für OCR laden**. + +## Schritt 2: OCR‑Engine‑Instanz erstellen + +Um **wie man ein Bild OCR‑t** effektiv zu erledigen, benötigen Sie ein `OcrEngine`‑Objekt. Dieses Objekt ist das Herz des Prozesses – es enthält Spracheinstellungen, Rechtschreibprüfungs‑Flags und das Bild selbst. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Warum instanziieren wir die Engine zuerst? Weil Aspose OCR so konzipiert ist, dass sie wiederverwendbar ist; Sie können mehrere Bilder mit derselben Instanz verarbeiten und bei Bedarf die Einstellungen zwischen den Durchläufen anpassen. + +## Schritt 3: Englisch‑Sprachunterstützung hinzufügen und Rechtschreibkorrektur aktivieren + +Handschriftliche Notizen sind oft voller Rechtschreibfehler, fehlender Buchstaben oder unkonventioneller Abkürzungen. Das Aktivieren der Rechtschreibprüfung gibt der Engine die Möglichkeit, die Ausgabe zu bereinigen. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **Warum Rechtschreibkorrektur aktivieren?** +> Ohne sie könnte die rohe OCR‑Ausgabe „t0d@y“ oder „c0ffee“ lauten. Die Rechtschreibprüfung normalisiert solche Eigenheiten und macht den endgültigen Text viel nützlicher für nachgelagerte Prozesse wie die Suchindexierung. + +## Schritt 4: Handschriftliches Bild laden + +Jetzt **laden wir Bild für OCR**. Aspose bietet die praktische Methode `ImageStream.fromFile`, die jedes gängige Rasterformat (PNG, JPEG, BMP) akzeptiert. + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Falls Ihr Bild in einem Ressourcenordner liegt oder Sie es als Byte‑Array erhalten (z. B. von einem Web‑Upload), können Sie stattdessen `ImageStream.fromBytes` verwenden – ersetzen Sie einfach die obige Zeile durch: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Schritt 5: OCR ausführen und korrigierten Text abrufen + +Mit der konfigurierten Engine und dem geladenen Bild ist der eigentliche **wie man ein Bild OCR‑t** Aufruf eine einzelne Zeile: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +Die Methode `recognize()` gibt ein `OcrResult`‑Objekt zurück, das nicht nur den reinen Text, sondern auch Konfidenzwerte, Begrenzungsrahmen und mehr enthält. Für die meisten Anwendungsfälle reicht das einfache `getText()` aus. + +## Schritt 6: Ergebnis ausgeben + +Abschließend geben wir die bereinigte Zeichenkette in der Konsole aus. In einer realen Anwendung könnten Sie sie in einer Datenbank speichern, an eine Suchmaschine weitergeben oder an ein Sprachmodell übergeben. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Erwartete Ausgabe + +Angenommen, die handschriftliche Notiz lautet: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +Sie sollten etwa Folgendes sehen: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Selbst wenn die ursprüngliche Kritzelei unordentlich war – zum Beispiel „B u y m i l k , e g g s , a n d B r e a d t o m o r r o w“ – wird die Rechtschreibprüfung sie in der Regel bereinigen. + +--- + +## Bild für OCR laden – Tipps für bessere Genauigkeit + +1. **Auflösung ist wichtig** – Zielwert mindestens 300 dpi. Niedrigere Auflösungen führen dazu, dass die Engine feine Striche verpasst. +2. **Kontrast ist König** – Wenn der Hintergrund farbig ist, konvertieren Sie das Bild zuerst in Graustufen. +3. **Auf Inhalt zuschneiden** – Das Entfernen unnötiger Ränder reduziert Rauschen und beschleunigt die Verarbeitung. + +Sie können Bilder mit Bibliotheken wie OpenCV oder sogar Java's eingebautem `BufferedImage` vorverarbeiten, bevor Sie sie an Aspose übergeben. + +## Handschriftliche Notizen lesen: Umgang mit Randfällen + +- **Wörter mit niedriger Konfidenz**: `ocrEngine.getResult().getWords()` gibt eine Liste zurück, bei der jedes Wort einen Konfidenzwert (0–100) hat. Sie können Wörter unter einem Schwellenwert herausfiltern und den Benutzer zur manuellen Überprüfung auffordern. +- **Mehrere Sprachen**: Wenn Sie **handgeschriebene Notizen lesen** in Englisch und Spanisch benötigen, fügen Sie beide Sprachen vor dem Aufruf von `recognize()` hinzu. +- **Große Dateien**: Für mehrseitige PDFs oder TIFFs iterieren Sie über jede Seite mit `ocrEngine.setImage(pageStream)` innerhalb einer Schleife. + +## Handgeschriebenen Bildtext in strukturierte Daten konvertieren + +Oft benötigen Sie nicht nur einen Rohstring; Sie möchten vielleicht Daten, Beträge oder Checklisten‑Einträge extrahieren. Nachdem Sie den korrigierten Text haben, können reguläre Ausdrücke oder NLP‑Bibliotheken (wie Stanford CoreNLP) den Inhalt parsen: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +Dieses Snippet zeigt, wie einfach es ist, von **handgeschriebenen Bildtext konvertieren** zu handlungsfähigen Daten zu gelangen. + +## Häufige Fallstricke und wie man sie vermeidet + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Verzerrte Ausgabe, viele `?`‑Zeichen | Bild zu dunkel oder geringer Kontrast | Helligkeit erhöhen oder mit Histogramm‑Equalisierung vorverarbeiten | +| Verpasste Wörter | Handschrift zu kursiv | Aktivieren Sie `ocrEngine.getSettings().setEnableCursive(true)` (falls unterstützt) | +| Rechtschreibprüfung führt falsche Wörter ein | Sprachmodell stimmt nicht überein | Fügen Sie ein benutzerdefiniertes Wörterbuch hinzu via `ocrEngine.getSpellChecker().addUserWords(...)` | +| Out‑of‑memory‑Fehler bei großen Bildern | Bildgröße > 10 MB | Vor dem Laden verkleinern oder in Kacheln verarbeiten | + +## Vollständiges funktionierendes Beispiel (Copy‑Paste‑bereit) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Hinweis**: Wenn Sie den Code aus einer IDE ausführen, stellen Sie sicher, dass der Ordner `YOUR_DIRECTORY` in Ihrem Klassenpfad liegt oder verwenden Sie einen absoluten Pfad. + +--- + +## Fazit + +Wir haben **wie man ein Bild OCR‑t** in Java von Anfang bis Ende behandelt, Ihnen gezeigt, wie man **Bild für OCR laden**, **handgeschriebene Notizen lesen**, die Rechtschreibkorrektur aktivieren und schließlich **handgeschriebenen Bildtext konvertieren** in einen sauberen String. Der Ansatz ist unkompliziert, aber dennoch leistungsfähig genug für produktionsreife Anwendungen. + +Bereit für die nächste Herausforderung? Experimentieren Sie mit mehrseitigen PDFs, fügen Sie benutzerdefinierte Wörterbücher für branchenspezifische Begriffe hinzu oder leiten Sie die OCR‑Ausgabe an ein Machine‑Learning‑Modell für Sentiment‑Analyse weiter. Der Himmel ist die Grenze, wenn Sie die Genauigkeit von Aspose OCR mit der Flexibilität von Java kombinieren. + +Haben Sie Fragen zu einem bestimmten Randfall oder möchten Sie teilen, wie Sie dies in eine mobile App integriert haben? Hinterlassen Sie unten einen Kommentar – happy coding! + +--- + +![Beispiel für OCR eines handschriftlichen Bildes](/images/ocr-handwritten-example.png "OCR eines handschriftlichen Bildes") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/german/java/ocr-basics/_index.md index 89faa0243..7df90dcf8 100644 --- a/ocr/german/java/ocr-basics/_index.md +++ b/ocr/german/java/ocr-basics/_index.md @@ -104,6 +104,18 @@ Steigern Sie die OCR‑Genauigkeit mit Aspose.OCR für Java. Lernen Sie, Schräg ### [Rechtecke mit Textbereichen in Aspose.OCR erhalten](./get-rectangles-with-text-areas/) Entfesseln Sie die Leistungsfähigkeit von Aspose.OCR für Java. Lernen Sie, Text aus Bildern nahtlos zu extrahieren in diesem Schritt‑für‑Schritt‑Leitfaden. Jetzt herunterladen für effiziente Texterkennung. +### [Text aus PNG in Java erkennen – Aspose OCR‑Tutorial](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Erfahren Sie, wie Sie mit Aspose.OCR in Java Text aus PNG‑Dateien extrahieren. Schritt‑für‑Schritt‑Anleitung für schnelle Texterkennung. + +### [Text aus Bild extrahieren – PNG in Text konvertieren in Java](./extract-text-from-image-convert-png-to-text-in-java/) +Erfahren Sie, wie Sie mit Aspose.OCR PNG‑Bilder in Java in Klartext umwandeln – Schritt‑für‑Schritt‑Anleitung. + +### [Text aus Bild in Java extrahieren – Komplettes OCR‑Beispiel](./extract-text-from-image-in-java-complete-ocr-example/) +Erfahren Sie, wie Sie mit Aspose.OCR in Java ein vollständiges OCR‑Beispiel implementieren und Text aus Bildern extrahieren. + +### [Text aus Bild extrahieren – Java‑Schnellleitfaden mit Aspose OCR](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) +Erfahren Sie, wie Sie mit Aspose OCR in Java Text aus Bildern schnell extrahieren – kompakte Schritt‑für‑Schritt‑Anleitung. + --- **Last Updated:** 2025-12-08 @@ -115,4 +127,4 @@ Entfesseln Sie die Leistungsfähigkeit von Aspose.OCR für Java. Lernen Sie, Tex {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/german/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..f41e9f47d --- /dev/null +++ b/ocr/german/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,211 @@ +--- +category: general +date: 2026-02-19 +description: Text aus Bild mit Aspose OCR Java extrahieren – lernen Sie, wie man PNG + in Text umwandelt, ein Bild für OCR lädt und einem Java-OCR‑Tutorial folgt. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: de +og_description: Extrahieren Sie Text aus einem Bild mit Aspose OCR Java. Folgen Sie + diesem Schritt‑für‑Schritt‑Java‑OCR‑Tutorial, um PNG in Text zu konvertieren und + das Bild für OCR zu laden. +og_title: Text aus Bild extrahieren – Java OCR‑Leitfaden +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Text aus Bild extrahieren – PNG in Text umwandeln in Java +url: /de/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Text aus Bild extrahieren – Java OCR Tutorial + +Haben Sie jemals **Text aus Bild** extrahieren müssen, waren sich aber nicht sicher, welche Bibliothek das ohne großen Aufwand ermöglicht? Sie sind nicht allein – Entwickler fragen ständig: „Wie kann ich ein PNG in Text in Java konvertieren?“ Die gute Nachricht ist, dass Aspose OCR den gesamten Prozess wie einen Spaziergang im Park erscheinen lässt. In diesem Leitfaden gehen wir Schritt für Schritt durch ein vollständiges **java ocr tutorial**, zeigen Ihnen, wie Sie **load image for OCR** ausführen, und erhalten sauberen, durchsuchbaren Text. + +Wir behandeln alles, von der Einrichtung der Engine bis zur Verarbeitung mehrsprachiger Inhalte, sodass Sie am Ende **Text aus Bild** Dateien jeder Größe, jedes Formats oder jeder Sprache extrahieren können. Keine externen Dienste, keine API‑Schlüssel – nur ein einzelnes JAR und ein paar Code‑Zeilen. + +## Was Sie benötigen + +- JDK 8 oder neuer installiert (der Code funktioniert auch mit JDK 11+). +- Maven oder Gradle, um die Aspose OCR‑Bibliothek zu beziehen, oder Sie können das JAR manuell von der Aspose‑Website herunterladen. +- Ein PNG‑Bild, das lesbaren Text enthält (für unser Beispiel verwenden wir `khmer-sign.png`). +- Eine IDE oder ein Texteditor, mit dem Sie vertraut sind – IntelliJ IDEA, Eclipse, VS Code, alles ist geeignet. + +Das war’s. Keine schweren Frameworks, keine Cloud‑Anmeldeinformationen. Bereit? Lassen Sie uns beginnen, Text aus Bilddateien zu extrahieren. + +## Schritt 1: Aspose OCR zu Ihrem Projekt hinzufügen + +Zuerst benötigen Sie die OCR‑Engine im Klassenpfad. Wenn Sie Maven verwenden, fügen Sie diese Abhängigkeit zu `pom.xml` hinzu: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Oder mit Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Wenn Sie den manuellen Weg bevorzugen, laden Sie das JAR von der Aspose‑Download‑Seite herunter und legen Sie es in den `libs`‑Ordner Ihres Projekts, dann fügen Sie es dem Build‑Pfad hinzu. + +> **Pro Tipp:** Wählen Sie immer die neueste stabile Version; ältere Releases können Sprachpakete oder Fehlerbehebungen fehlen. + +## Schritt 2: OCR‑Engine‑Instanz erstellen + +Jetzt, wo die Bibliothek verfügbar ist, können wir eine `OcrEngine` starten. Betrachten Sie die Engine als das Gehirn, das die Pixel liest und in Zeichen umwandelt. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Warum erstellen wir jedes Mal eine neue Engine? Die Engine hält interne Puffer und Sprachdaten; ein sauberer Start garantiert deterministische Ergebnisse, besonders wenn Sie später die Sprache wechseln. + +## Schritt 3: Gewünschte Sprache aktivieren (optional, aber empfohlen) + +Aspose OCR wird mit Dutzenden von Sprachpaketen geliefert. Wenn Sie die Sprache Ihres Quellbildes kennen, aktivieren Sie sie explizit; das beschleunigt die Erkennung und verbessert die Genauigkeit. In unserem Beispiel aktivieren wir Khmer (`khm`), Sie können es jedoch durch `ENG` für Englisch, `CHN` für Chinesisch usw. ersetzen. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Warum das wichtig ist:** Wenn Sie **load image for OCR** ausführen, durchsucht die Engine nur die aktivierten Sprachwörterbücher. Wenn alle Sprachen aktiviert bleiben, kann das die Verarbeitung verlangsamen und Fehlalarme erhöhen. + +## Schritt 4: Bild für OCR laden – PNG in Text konvertieren + +Hier findet der **load image for OCR**‑Schritt statt. Aspose stellt einen praktischen `ImageStream.fromFile`‑Helper bereit, der die Low‑Level‑Ein-/Ausgabe abstrahiert. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +Wenn Ihr Bild in einem anderen Format vorliegt (JPEG, BMP, TIFF), funktioniert dieselbe Methode – Aspose erkennt das Format automatisch. Stellen Sie nur sicher, dass der Dateipfad korrekt ist; andernfalls erhalten Sie eine `FileNotFoundException`. + +## Schritt 5: OCR‑Prozess ausführen und PNG in Text konvertieren + +Mit der bereitstehenden Engine und dem geladenen Bild ist die eigentliche Erkennung ein einziger Methodenaufruf. Das Ergebnisobjekt liefert Ihnen den Rohstring sowie Konfidenzwerte. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Das war's – Sie haben gerade **convert PNG to text** durchgeführt. Der zurückgegebene String kann Zeilenumbrüche und Leerzeichen exakt so enthalten, wie die Engine sie gesehen hat. Sie können ihn mit `trim()`, `replaceAll("\\s+", " ")` oder einer anderen gewünschten Bereinigung nachbearbeiten. + +## Schritt 6: Ergebnis ausgeben (oder speichern) + +Für einen schnellen Plausibilitäts‑Check geben Sie das Ergebnis in der Konsole aus. In einer echten Anwendung würden Sie es wahrscheinlich in eine Datei, eine Datenbank schreiben oder an einen anderen Dienst weitergeben. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Erwartete Ausgabe** (für das bereitgestellte Khmer‑Schild) könnte etwa so aussehen: + +``` +សួស្តី +Welcome +``` + +Wenn die Ausgabe unleserlich ist, überprüfen Sie, ob Sie in Schritt 3 die richtige Sprache aktiviert haben und das Bild nicht zu unscharf ist. Eine Erhöhung der Bildauflösung (z. B. ein Scan mit 300 dpi) hilft oft. + +## Vollständiges funktionierendes Beispiel + +Wenn wir alle Teile zusammenfügen, erhalten Sie ein eigenständiges Programm, das Sie in `ExtractTextExample.java` kopieren und ausführen können: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Führen Sie das Programm aus mit: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +oder, wenn Sie Gradle verwenden: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +Sie sollten den extrahierten Text in der Konsole sehen, was bestätigt, dass Sie erfolgreich **extract text from image** mit Aspose OCR durchgeführt haben. + +## Häufige Fallstricke & wie man sie behebt + +| Symptom | Wahrscheinliche Ursache | Lösung | +|---------|--------------------------|--------| +| Leere Zeichenkette zurückgegeben | Keine Sprache aktiviert oder falscher Sprachcode | Fügen Sie die passende `OcrLanguage` hinzu (z. B. `ENG` für Englisch). | +| Verzerrte Zeichen | Bildauflösung zu niedrig oder Hintergrund zu verrauscht | Verwenden Sie eine höher aufgelöste Quelle oder bearbeiten Sie das Bild mit einem Schärfungsfilter vor. | +| `OutOfMemoryError` | Sehr großes Bild in voller Größe geladen | Skalieren Sie das Bild herunter, bevor Sie es an die Engine übergeben (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Falscher Pfad | Überprüfen Sie den absoluten oder relativen Pfad; verwenden Sie `Paths.get(...).toAbsolutePath()`. | + +> **Denken Sie daran:** OCR ist ein probabilistischer Prozess. Selbst bei perfekten Einstellungen müssen Sie möglicherweise einige Zeichen manuell korrigieren, insbesondere bei kursive Schriftarten. + +## Erweiterung des Tutorials – Nächste Schritte + +- **Batch‑Verarbeitung:** Durchlaufen Sie ein Verzeichnis mit PNG‑Dateien und wenden Sie die gleiche Logik auf jedes Bild an. +- **PDF‑Ausgabe:** Verwenden Sie Aspose PDF, um den extrahierten Text in ein durchsuchbares PDF einzubetten. +- **Spracherkennung:** Rufen Sie `ocrEngine.detectLanguage()` auf, bevor Sie eine Sprache setzen, damit die Engine automatisch rät. +- **Cloud‑Integration:** Wenn Sie skalieren müssen, verpacken Sie den Code in einen REST‑Endpunkt und lassen Sie Micro‑Services ihn aufrufen. + +All diese Themen bauen natürlich auf dem **java ocr tutorial** auf, das wir gerade abgeschlossen haben, und zeigen, wie vielseitig die Aspose OCR API wirklich ist. + +## Fazit + +Wir haben ein vollständiges **java ocr tutorial** durchlaufen, das Ihnen ermöglicht, **extract text from image**‑Dateien zu extrahieren, **convert PNG to text** durchzuführen und **load image for OCR** korrekt mit Aspose OCR zu laden. Die Schritte sind einfach: Bibliothek hinzufügen, Engine erstellen, die richtige Sprache aktivieren, das PNG laden, `recognize()` ausführen und das Ergebnis verarbeiten. Mit dieser Grundlage können Sie die Dateneingabe automatisieren, durchsuchbare Archive erstellen oder jede Anwendung betreiben, die maschinenlesbaren Text aus Bildern benötigt. + +Probieren Sie es mit Ihren eigenen Bildern aus – vielleicht ein Screenshot einer Quittung oder ein gescannter Vertrag. Passen Sie die Spracheinstellungen an, experimentieren Sie mit der Auflösung, und Sie werden schnell sehen, wie flexibel die Lösung ist. Wenn Sie auf Probleme stoßen, schauen Sie erneut in die Tabelle der Fallstricke oder prüfen Sie die offizielle Dokumentation von Aspose; sie ist umfassend und aktuell. + +Viel Spaß beim Programmieren, und möge Ihr nächstes Projekt voller sauberer, durchsuchbarer Texte 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/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/german/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..507369219 --- /dev/null +++ b/ocr/german/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,149 @@ +--- +category: general +date: 2026-02-19 +description: Extrahiere Text aus einem Bild mit Java OCR. Lerne ein Java‑OCR‑Beispiel + kennen, das ein Bild für OCR lädt und Text aus Rechnungsdateien in nur wenigen Schritten + extrahiert. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: de +og_description: Extrahiere Text aus Bildern mit Java OCR. Dieser Leitfaden zeigt, + wie man ein Bild für OCR lädt und Text aus Rechnungen mit einem einfachen Java-OCR-Beispiel + extrahiert. +og_title: Text aus Bild in Java extrahieren – Vollständiges OCR‑Beispiel +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Text aus Bild in Java extrahieren – Vollständiges OCR‑Beispiel +url: /de/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Text aus Bild in Java extrahieren – Komplettes OCR-Beispiel + +Haben Sie schon einmal **Text aus einem Bild extrahieren** müssen, wussten aber nicht, welche Bibliothek Sie wählen sollten? Sie sind nicht allein – viele Entwickler stoßen an diese Hürde, wenn sie die Rechnungsbearbeitung automatisieren oder durchsuchbare Archive erstellen. Die gute Nachricht? Mit wenigen Zeilen Java können Sie ein Bild für OCR laden, einen Interessensbereich (ROI) festlegen und den genauen Text erhalten, den Sie benötigen. + +In diesem Tutorial gehen wir Schritt für Schritt durch ein **java ocr example**, das genau zeigt, wie man **image for OCR lädt**, einen ROI setzt und **Text aus Rechnungen** mit Aspose.OCR extrahiert. Am Ende haben Sie ein lauffähiges Programm, das Sie in jedes Java‑Projekt einbinden können. + +## Was Sie lernen werden + +- Wie man eine `OcrEngine`‑Instanz erstellt und warum das wichtig ist. +- Der korrekte Weg, **image for OCR zu laden** mit Asposes `ImageStream`. +- Festlegen eines **region of interest (ROI)**, sodass Sie nur den Teil des Bildes verarbeiten, der den Rechnungsbetrag enthält. +- Extrahieren des erkannten Textes und Ausgabe in die Konsole. +- Häufige Stolperfallen (z. B. falsche Rechteckkoordinaten) und schnelle Lösungen. + +**Voraussetzungen** + +- Java 8 oder neuer installiert. +- Maven oder Gradle, um die Aspose.OCR‑Bibliothek (`com.aspose:aspose-ocr`) zu beziehen. +- Ein Beispiel‑Rechnungsbild (`invoice.png`) in einem bekannten Verzeichnis. + +Alles bereit? Großartig – los geht’s. + +![Text aus Bild mit Java OCR extrahieren](/images/extract-text-from-image-java.png "Beispiel für Textauszug aus Bild") + +## Text aus Bild extrahieren – Schritt‑für‑Schritt Java OCR‑Beispiel + +Unten finden Sie den vollständigen Quellcode. Kopieren Sie ihn gern in `RoiOcrExample.java` und führen Sie ihn direkt aus. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Warum jeder Schritt wichtig ist + +1. **Erstellen der OCR‑Engine** – ohne Engine gibt es keinen Kontext für die Bildverarbeitung. Das Objekt ermöglicht später das Anpassen von Sprachpaketen, falls Sie Mehrsprachigkeit benötigen. +2. **Laden des Bildes** – `ImageStream.fromFile` abstrahiert das Dateiformat und sorgt dafür, dass die Engine die Bytes korrekt einliest. Wenn Sie diesen Schritt überspringen, erhalten Sie eine `NullPointerException`. +3. **Festlegen des ROI** – die gesamte Seite zu verarbeiten ist ineffizient. Durch Eingrenzen des Rechtecks auf den Bereich des Rechnungsbetrags beschleunigen Sie die Erkennung und reduzieren Rauschen. +4. **Aufruf von `recognize()`** – hier geschieht die Magie. Die Methode führt den OCR‑Algorithmus über den ROI aus und erzeugt ein Ergebnisobjekt. +5. **Ausgabe des Ergebnisses** – in echten Projekten würden Sie den Text wahrscheinlich in einer Datenbank speichern, aber `System.out.println` ist für eine schnelle Demo ideal. + +## Bild für OCR laden + +Falls Sie sich fragen, ob der Pfad absolut oder relativ sein muss: Beides funktioniert – stellen Sie nur sicher, dass der Java‑Prozess die Datei lesen kann. Unter Windows müssen Backslashes escaped werden (`C:\\images\\invoice.png`) oder Sie verwenden Vorwärtsschrägstriche (`C:/images/invoice.png`). + +**Pro‑Tipp:** Wenn Sie viele Rechnungen in einer Schleife verarbeiten, verwenden Sie dieselbe `OcrEngine`‑Instanz erneut; sie cached interne Ressourcen und erhöht den Durchsatz. + +## Region of Interest (ROI) definieren + +Die richtige Rechteckgröße zu finden, erfordert oft ein wenig Ausprobieren. Eine praktische Methode ist, das Bild in einem Grafik‑Editor (wie GIMP oder Paint.NET) zu öffnen und mit der Maus über den gewünschten Bereich zu fahren – die X/Y‑Werte erscheinen in der Statusleiste. + +Randfall: Einige Rechnungen haben variable Layouts. In diesem Fall können Sie zunächst einen schnellen Scan des gesamten Bildes durchführen, Schlüsselwörter wie „Total:“ per Regex finden und den ROI dann dynamisch anpassen. + +## OCR ausführen und Text erhalten + +Der Aufruf von `recognize()` ist synchron – Ihr Thread blockiert, bis die Engine fertig ist. Für große Stapel können Sie einen Thread‑Pool einsetzen und Bilder parallel verarbeiten. Denken Sie daran, dass jeder Thread seine eigene `OcrEngine`‑Instanz benötigt; die Engine ist nicht thread‑sicher. + +## Ausführen und Ausgabe prüfen + +Kompilieren und ausführen: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +Sie sollten etwa Folgendes sehen: + +``` +ROI text: $1,254.00 +``` + +Wenn die Ausgabe unleserlich ist, überprüfen Sie die ROI‑Koordinaten und stellen Sie sicher, dass die Bildqualität hoch ist (300 dpi oder mehr liefert beste Ergebnisse). + +### Häufige Stolperfallen & Lösungen + +| Symptom | Wahrscheinliche Ursache | Lösung | +|---------|--------------------------|--------| +| Leere Zeichenkette | ROI außerhalb der Bildgrenzen | Rechteckwerte gegen Bildabmessungen prüfen | +| Rechtschreibfehler | Niedrige Auflösung | Höher aufgelöste Quelle verwenden oder Bildvorverarbeitung (z. B. Binarisierung) | +| `java.lang.NoClassDefFoundError` | Fehlende Aspose‑JAR im Klassenpfad | `aspose-ocr.jar` zu `-cp` hinzufügen oder Maven/Gradle‑Abhängigkeitsverwaltung nutzen | + +## Fazit + +Sie wissen jetzt, wie man **Text aus Bild** in Java mit einem kompakten **java ocr example** extrahiert. Durch korrektes Laden des Bildes, Definieren eines fokussierten ROI und Aufruf von `recognize()` können Sie zuverlässig **Text aus Rechnungen** extrahieren und in nachgelagerte Systeme einspeisen. + +Was kommt als Nächstes? Probieren Sie den ROI für andere Felder (Datum, Lieferant) aus, experimentieren Sie mit Sprachpaketen für mehrsprachige Rechnungen oder integrieren Sie den OCR‑Schritt in einen Spring‑Boot‑Microservice. Das gleiche Muster funktioniert für Quittungen, Reisepässe oder jedes Dokument, bei dem Sie präzise Textextraktion benötigen. + +Wenn Sie Fragen zur Skalierung dieser Lösung oder zum Umgang mit verrauschten Scans haben, hinterlassen Sie einen Kommentar unten – 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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/german/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..87492fb3d --- /dev/null +++ b/ocr/german/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-02-19 +description: Extrahiere Text aus einem Bild in Java mit Aspose OCR. Erfahre, wie du + Text aus PNG erkennst, das Bild in einen String konvertierst und Text aus einem + Scan in nur wenigen Schritten liest. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: de +og_description: Extrahiere schnell Text aus Bildern. Dieses Tutorial zeigt, wie man + Text aus PNG erkennt, ein Bild in einen String konvertiert und Text aus einem Scan + mit Aspose OCR liest. +og_title: Text aus Bild mit Aspose OCR extrahieren – Java‑Leitfaden +tags: +- Java +- OCR +- Aspose +title: Text aus Bild mit Aspose OCR extrahieren – Java Schnellleitfaden +url: /de/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Text aus Bild extrahieren – Vollständiges Java‑Tutorial + +Haben Sie jemals **extract text from image** extrahieren müssen, waren sich aber nicht sicher, welche Bibliothek Sie wählen sollen? Vielleicht haben Sie einen gescannten Beleg im PNG‑Format und möchten den Text als einfachen String für die weitere Verarbeitung. Nach meiner Erfahrung macht die Aspose OCR‑Bibliothek diese Aufgabe zum Kinderspiel, besonders wenn Sie mit Java arbeiten. + +In diesem Leitfaden gehen wir alles durch, was Sie wissen müssen: von der Einrichtung der Aspose OCR‑Abhängigkeit, dem Laden einer PNG‑Datei, **recognize text from png**, bis hin zur Umwandlung des Ergebnisses in einen nutzbaren Java `String`. Am Ende können Sie **convert image to string** und sehen zudem, wie Sie **read text from scan**‑Dateien ohne großen Aufwand verarbeiten können. + +## Was Sie lernen werden + +- Wie Sie Aspose OCR zu einem Maven‑ oder Gradle‑Projekt hinzufügen. +- Der genaue Code, der erforderlich ist, um **extract text from image** mit einem einzigen Methodenaufruf zu extrahieren. +- Warum die Klasse `ImageStream` die bevorzugte Methode ist, Daten in die Engine zu speisen. +- Tipps zum Umgang mit großen Scans, mehrseitigen PDFs und häufigen Fallstricken. + +Vorkenntnisse in OCR sind nicht erforderlich, nur ein grundlegendes Verständnis von Java und ein PNG, das Sie verarbeiten möchten. + +## Voraussetzungen + +| Anforderung | Grund | +|-------------|-------| +| Java 8 oder neuer | Aspose OCR zielt auf Java 8+ ab. | +| Maven oder Gradle (optional) | Vereinfacht die Verwaltung von Abhängigkeiten. | +| Ein PNG‑Bild (z. B. `quick.png`) | Die Quelle, auf die wir OCR anwenden. | +| Internetzugang (beim ersten Lauf) | Die Bibliothek kann Sprachpakete automatisch herunterladen. | + +Wenn Sie bereits eine Java‑IDE wie IntelliJ IDEA oder Eclipse haben, können Sie loslegen. + +--- + +## Schritt 1: Aspose OCR in Ihrem Projekt einrichten + +### Maven + +Fügen Sie die folgende Abhängigkeit zu Ihrer `pom.xml` hinzu: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro‑Tipp:** Wenn Sie einen Unternehmens‑Proxy verwenden, stellen Sie sicher, dass Maven/Gradle `repo.maven.apache.org` erreichen kann. Andernfalls schlägt der Build fehl, bevor Sie eine einzige Code‑Zeile geschrieben haben. + +--- + +## Schritt 2: PNG‑Bild laden + +Die Klasse `ImageStream` abstrahiert Dateisystemdetails und arbeitet mit Streams, URLs oder Byte‑Arrays. So laden Sie ein lokales PNG: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Warum das wichtig ist:** Die Verwendung von `ImageStream.fromFile` stellt sicher, dass die OCR‑Engine das Bild in einem Format erhält, das sie vollständig versteht, was die Erkennungsgenauigkeit im Vergleich zur Übergabe roher Byte‑Arrays verbessert. + +--- + +## Schritt 3: Text aus PNG erkennen + +Aspose OCR stellt eine einzige statische Methode bereit, die die schwere Arbeit übernimmt: `OcrEngine.recognize`. Sie gibt einen einfachen Java `String` zurück, genau das, was Sie benötigen, wenn Sie **convert image to string** möchten. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### Was passiert im Hintergrund? + +1. **Vorverarbeitung:** Die Engine korrigiert automatisch die Schräglage des Bildes und normalisiert den Kontrast. +2. **Spracherkennung:** Wenn Sie keine Sprache angeben, versucht Aspose sie zu ermitteln, was bei schnellen Scans praktisch ist. +3. **Erkennung:** Die Kern‑OCR‑Engine führt ein neuronales Netzwerk‑Modell aus, das auf Millionen von Zeichen trainiert wurde. + +Da all dies in einem Aufruf gekapselt ist, müssen Sie sich nicht mit Low‑Level‑Einstellungen herumschlagen, es sei denn, Sie haben einen sehr speziellen Anwendungsfall. + +--- + +## Schritt 4: Extrahierten String anzeigen und verwenden + +Jetzt, wo Sie den Text haben, können Sie ihn ausgeben, in einer Datenbank speichern oder an eine andere API weitergeben. Hier ist der einfachste Weg – einfach `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Erwartete Ausgabe + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Hinweis:** Die genaue Ausgabe hängt vom Inhalt von `quick.png` ab. Wenn das Bild eine handschriftliche Notiz enthält, können einige Fehlinterpretationen auftreten – nichts, was ein wenig Nachbearbeitung nicht beheben kann. + +--- + +## Schritt 5: Umgang mit häufigen Randfällen + +### Große Scans oder mehrseitige PDFs + +Wenn Sie **read text from scan**‑Dateien verarbeiten müssen, die größer als ein typisches PNG sind, sollten Sie Folgendes in Betracht ziehen: + +- Das Bild in Kacheln aufteilen (`ImageStream.fromRegion`). +- `OcrEngine.recognizeMultiplePages` für PDF‑Eingaben verwenden. + +### Nicht‑englische Sprachen + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Performance‑Tipps + +- Verwenden Sie dieselbe `OcrEngine`‑Instanz für mehrere Bilder wieder, um wiederholte Initialisierungen zu vermeiden. +- Für die Stapelverarbeitung aktivieren Sie Multithreading, begrenzen jedoch die Anzahl der Threads auf die Anzahl der CPU‑Kerne, um Speicherüberlastungen zu verhindern. + +--- + +## Vollständiges funktionierendes Beispiel + +Unten finden Sie die vollständige, sofort ausführbare Java‑Klasse. Kopieren Sie sie in Ihre IDE, passen Sie den Bildpfad an und klicken Sie auf **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +Das Ausführen dieses Programms gibt das OCR‑Ergebnis in der Konsole aus und **convert image to string** effektiv in nur wenigen Codezeilen. + +--- + +## Fazit + +Sie wissen jetzt, wie Sie **extract text from image**‑Dateien in Java mit Aspose OCR extrahieren. Der Prozess lässt sich auf drei einfache Schritte reduzieren: PNG laden, `OcrEngine.recognize` aufrufen und den resultierenden String verwenden. Egal, ob Sie **recognize text from png**, **convert image to string** oder einfach **read text from scan**‑Dokumente verarbeiten möchten, dieser Ansatz liefert eine zuverlässige, produktionsreife Lösung. + +Bereit für die nächste Herausforderung? Versuchen Sie, einen Ordner mit gescannten Belegen in einer Schleife zu verarbeiten, jedes Ergebnis in einer CSV zu speichern oder mit sprachspezifischen Einstellungen zu experimentieren, um die Genauigkeit bei nicht‑englischen Texten zu verbessern. Der Himmel ist die Grenze, und der Code, den Sie gerade geschrieben haben, ist ein solides Fundament. + +Viel Spaß beim Coden und zögern Sie nicht, Fragen in den Kommentaren zu stellen – ich helfe gern! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/german/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..817ae2eae --- /dev/null +++ b/ocr/german/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-02-19 +description: Texterkennung aus PNG in Java mit Aspose OCR – lernen Sie, wie Sie Text + aus einem Bild in Java extrahieren und Bilder effizient mit OCR verarbeiten. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: de +og_description: Texterkennung aus PNG in Java mit Aspose OCR. Dieses Tutorial zeigt, + wie man Text aus einem Bild in Java extrahiert und das Bild Schritt für Schritt + mit OCR verarbeitet. +og_title: Texterkennung aus PNG in Java – Vollständiger Aspose OCR Leitfaden +tags: +- OCR +- Java +- Image Processing +title: Text aus PNG in Java erkennen – Aspose OCR‑Tutorial +url: /de/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Text aus PNG in Java erkennen – Vollständiger Aspose OCR Leitfaden + +Haben Sie jemals **Text aus PNG erkennen** müssen, waren sich aber nicht sicher, welche Bibliothek Sie wählen sollten? Sie sind nicht allein – viele Java‑Entwickler stoßen an diese Hürde, wenn sie erstmals bildbasierte Datenerfassung angehen. Die gute Nachricht ist, dass Aspose OCR den gesamten Prozess fast schmerzfrei macht, und in diesem Leitfaden sehen Sie genau, wie Sie **Text aus Bild Java extrahieren** Projekte durchführen, während Sie **Bild mit OCR verarbeiten** auf thread‑sichere Weise. + +In den nächsten Minuten werden wir ein kleines Java‑Programm erstellen, das ein PNG lädt, OCR auf der CPU mit bis zu acht Threads ausführt und die erkannte Zeichenkette in der Konsole ausgibt. Keine externen Dienste, keine geheimen API‑Schlüssel – nur einfacher Java‑Code, den Sie heute kopieren‑einfügen und ausführen können. + +## Was Sie benötigen + +- **Java 17** oder neuer (der Code kompiliert auch mit früheren Versionen, aber 17 ist der optimale Punkt). +- **Aspose.OCR for Java** JAR (von der Aspose‑Website herunterladen oder über Maven beziehen). +- Ein PNG‑Bild, das Sie lesen möchten – zum Beispiel `document-page1.png`, das irgendwo auf der Festplatte gespeichert ist. +- Ihre bevorzugte IDE oder ein einfacher Texteditor und ein Terminal. + +Das war's. Wenn Sie das haben, können wir direkt in die Lösung eintauchen. + +![Java code to recognize text from png using Aspose OCR](image-placeholder.png "Beispiel für das Erkennen von Text aus PNG in Java"){alt="Java‑Code zum Erkennen von Text aus PNG mit Aspose OCR"} + +## Schritt‑für‑Schritt: Text aus PNG erkennen + +Im Folgenden teilen wir die Implementierung in klare, handhabbare Abschnitte auf. Jeder Abschnitt ist eine H2‑Überschrift, sodass Sie direkt zu dem Teil springen können, der Sie interessiert. + +### 1. Aspose OCR zu Ihrem Projekt hinzufügen + +**Warum?** Die OCR‑Engine befindet sich in der Aspose‑Bibliothek; ohne sie hat der Compiler keine Ahnung, was `OcrEngine` ist. + +Wenn Sie Maven verwenden, fügen Sie diesen Ausschnitt in Ihre `pom.xml` ein: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Für Gradle sieht es so aus: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Profi‑Tipp:** Überprüfen Sie immer die neueste Versionsnummer; neuere Releases bringen oft Leistungsoptimierungen für die Multi‑Thread‑Verarbeitung. + +### 2. OCR‑Engine erstellen und konfigurieren + +**Warum?** Das Instanziieren von `OcrEngine` liefert Ihnen ein sofort einsatzbereites Objekt, und das Anpassen der Geräteeinstellungen ermöglicht es Ihnen, alle verfügbaren CPU‑Kerne zu nutzen. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Hier setzen wir das Gerät explizit auf `CPU`. Wenn Sie später zu einer GPU‑unterstützten Umgebung wechseln, tauschen Sie einfach den Enum‑Wert aus – keine weiteren Code‑Änderungen nötig. + +### 3. PNG‑Bild laden + +**Warum?** OCR arbeitet mit einem Bild‑Stream, nicht direkt mit einem Dateipfad. Die Konvertierung der Datei in einen `ImageStream` abstrahiert das zugrunde liegende Format. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Ersetzen Sie `YOUR_DIRECTORY` durch das tatsächliche Verzeichnis. Wenn die Datei nicht gefunden wird, wirft die Engine eine `IOException`, die wir später abfangen. + +### 4. Erkennung ausführen und Ergebnis erfassen + +**Warum?** Die Methode `recognize()` übernimmt die schwere Arbeit – sie erkennt Zeichen, Zeilen und Layout. Das zurückgegebene `OcrResult` enthält den Klartext. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Sie können auch ein `Pdf`‑ oder `Html`‑Ergebnis anfordern, aber für den Zweck des **Text aus Bild Java extrahieren** bleiben wir beim Klartext. + +### 5. Text ausgeben und Aufräumen + +**Warum?** Ein einfaches `System.out.println` reicht für die Demonstration aus, aber in einer realen Anwendung würden Sie wahrscheinlich in eine Datei oder eine Datenbank schreiben. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +Da `OcrEngine` `AutoCloseable` implementiert, ist es eine gute Gewohnheit, alles in einen try‑with‑resources‑Block zu packen. Das sorgt dafür, dass native Ressourcen sofort freigegeben werden. + +### 6. Vollständiges, ausführbares Beispiel + +Alles zusammengefügt, hier das komplette Programm, das Sie kompilieren und ausführen können: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Erwartete Ausgabe** (angenommen das PNG enthält „Hello World“): + +``` +=== OCR Result === +Hello World +``` + +Wenn das Bild komplexer ist – mehrere Zeilen, Tabellen oder handschriftliche Notizen – wird die Ausgabe genau das wiedergeben, was Aspose OCR erkennt, wobei Zeilenumbrüche dort erhalten bleiben, wo es sinnvoll ist. + +## Häufige Fragen & Sonderfälle + +### Was tun, wenn das PNG sehr groß ist? + +Große Bilder können viel Speicher verbrauchen. Eine praktische Lösung ist, das Bild vor dem Einspeisen in die Engine zu **downscalen**: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +Downscaling reduziert die CPU‑Belastung, ohne die OCR‑Genauigkeit für die meisten gedruckten Texte zu beeinträchtigen. + +### Kann ich OCR auf einem PDF statt eines PNG ausführen? + +Absolut. Aspose OCR akzeptiert ebenfalls PDFs über `PdfDocument`‑Objekte. Der gleiche `recognize()`‑Aufruf funktioniert, sodass Sie **Bild mit OCR verarbeiten** können, unabhängig vom Quellformat. + +### Wie verbessere ich die Genauigkeit für nicht‑lateinische Schriften? + +Setzen Sie die Sprache vor der Erkennung: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose liefert Dutzende von Sprachpaketen; wählen Sie einfach dasjenige, das zum Inhalt Ihres Bildes passt. + +### Ist die Thread‑Anzahl immer vorteilhaft? + +Mehr Threads beschleunigen die Verarbeitung auf Mehrkern‑CPUs, aber über die Anzahl der physischen Kerne hinaus nimmt der Nutzen ab. Wenn Sie eine höhere CPU‑Auslastung ohne proportionalen Geschwindigkeitszuwachs bemerken, reduzieren Sie die Anzahl wieder auf `Runtime.getRuntime().availableProcessors()`. + +## Fazit: Was wir erreicht haben + +Wir haben gerade **Text aus PNG erkennen** mit einem kompakten Java‑Programm, gezeigt, wie man **Text aus Bild Java extrahiert** mit Aspose OCR, und die wesentlichen Schritte behandelt, um **Bild mit OCR zu verarbeiten** in einer produktionsreifen Weise. Der Code ist eigenständig, die Erklärungen beantworten sowohl das „Wie“ als auch das „Warum“, und die Tipps adressieren die typischen Fallstricke, auf die Sie stoßen könnten. + +## Was kommt als Nächstes? + +- **Batch‑Verarbeitung:** Durchlaufen Sie ein Verzeichnis von PNG‑Dateien und schreiben Sie jedes Ergebnis in eine `.txt`‑Datei. +- **PDF‑Erstellung:** Geben Sie die OCR‑Ausgabe an Aspose.PDF weiter, um durchsuchbare PDFs zu erzeugen. +- **Cloud‑Skalierung:** Deployen Sie denselben Code in einen von Kubernetes orchestrierten Container und lassen Sie den Thread‑Pool sich an die Pod‑Ressourcen anpassen. + +Fühlen Sie sich frei zu experimentieren – tauschen Sie das Bild aus, passen Sie die Thread‑Anzahl an oder wechseln Sie die Sprache. Die OCR‑Engine ist flexibel genug, um die meisten Szenarien zu bewältigen, und mit der Basis, die Sie jetzt haben, ist die Erweiterung ein Kinderspiel. + +Haben Sie Fragen oder eine clevere Optimierung entdeckt? Hinterlassen Sie unten einen Kommentar, und viel Spaß beim Coden! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/java/ocr-operations/_index.md b/ocr/german/java/ocr-operations/_index.md index 1458f57ae..5b5a9e306 100644 --- a/ocr/german/java/ocr-operations/_index.md +++ b/ocr/german/java/ocr-operations/_index.md @@ -77,6 +77,10 @@ Unlock the power of OCR in Java with Aspose.OCR. Recognize text in PDF documents Unlock powerful text recognition in Java with Aspose.OCR. Effortlessly recognize text in TIFF images. Download now for a seamless OCR experience. ### [Bildtext mit Aspose OCR erkennen – Vollständiges Java OCR‑Tutorial](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Ein umfassendes Tutorial, das die vollständige OCR‑Verarbeitung von Bilddateien mit Aspose OCR in Java erklärt. +### [Erstellen durchsuchbares PDF aus JPG – Bild zu durchsuchbarem PDF Java‑Leitfaden](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Erfahren Sie, wie Sie aus JPG‑Bildern ein durchsuchbares PDF erstellen und OCR in Java anwenden. +### [Wie man ein Bild begradigt – Schritt‑für‑Schritt OCR‑Vorverarbeitungs‑Leitfaden](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +Erfahren Sie, wie Sie Bildschrägstellungen korrigieren und die OCR‑Genauigkeit mit einer Schritt‑für‑Schritt‑Anleitung verbessern. ## Häufig gestellte Fragen diff --git a/ocr/german/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/german/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..696d5595b --- /dev/null +++ b/ocr/german/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,188 @@ +--- +category: general +date: 2026-02-19 +description: Erstellen Sie ein durchsuchbares PDF aus einem JPG‑Bild mit Aspose OCR + in Java. Konvertieren Sie JPG zu PDF und erkennen Sie den Text aus dem Bild schnell. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: de +og_description: Erstellen Sie ein durchsuchbares PDF aus einem JPG‑Bild mit Aspose + OCR. Erfahren Sie, wie Sie JPG in PDF konvertieren und Text aus dem Bild in Java + erkennen. +og_title: Erstelle ein durchsuchbares PDF aus JPG – Java OCR Tutorial +tags: +- aspose-ocr +- java +- pdf +- ocr +title: Durchsuchbare PDF aus JPG erstellen – Bild zu durchsuchbarer PDF Java‑Leitfaden +url: /de/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Durchsuchbares PDF aus JPG erstellen – Bild zu durchsuchbarem PDF Java‑Leitfaden + +Haben Sie jemals **durchsuchbares PDF** aus einem gescannten Bild erstellen müssen, wussten aber nicht, wo Sie anfangen sollen? Sie sind nicht allein – viele Entwickler stoßen auf dasselbe Problem, wenn sie ein JPG haben, das durchsuchbar sein muss. Die gute Nachricht ist, dass Sie mit Aspose OCR für Java dieses Bild mit nur wenigen Codezeilen in ein vollständig durchsuchbares PDF verwandeln können. + +In diesem Tutorial führen wir Sie durch den gesamten Prozess: Laden eines JPG, Erkennen des Textes und Speichern des Ergebnisses als durchsuchbares PDF. Am Ende wissen Sie, wie man **jpg zu pdf konvertiert**, wie man **Text aus jpg extrahiert** und warum dieser Ansatz oft zuverlässiger ist, als das PDF nachträglich zu OCR‑en. + +## Was Sie benötigen + +Bevor wir loslegen, stellen Sie sicher, dass Sie Folgendes auf Ihrem Rechner haben: + +* **Java Development Kit (JDK) 8 oder neuer** – der Code verwendet Standard‑Java‑APIs. +* **Aspose OCR for Java**‑Bibliothek – Sie können sie von Maven Central holen oder das JAR von der Aspose‑Website herunterladen. +* Ein **Beispiel‑JPG**, das lesbaren Text enthält (z. B. eine gescannte Rechnung oder ein Screenshot eines Dokuments). + +Keine zusätzlichen Frameworks sind erforderlich; das Beispiel funktioniert mit einem einfachen Java‑Projekt. + +## Schritt 1 – Projekt einrichten und Aspose OCR hinzufügen + +Zuerst ein neues Maven‑Projekt erstellen (oder einfach einen Ordner mit dem JAR im Klassenpfad). Wenn Sie Maven verwenden, fügen Sie diese Abhängigkeit zu Ihrer `pom.xml` hinzu: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Profi‑Tipp:** Überprüfen Sie stets die neueste Version im Aspose‑Maven‑Repository; neuere Releases enthalten Leistungsverbesserungen und Fehlerbehebungen. + +Nachdem die Abhängigkeit aufgelöst ist, können Sie den Java‑Code schreiben, der **durchsuchbares PDF erstellt**. + +## Schritt 2 – Bild laden (Bild zu durchsuchbarem PDF) + +Der erste eigentliche Schritt besteht darin, die OCR‑Engine auf das Quellbild zu richten. Hier beginnt die **image to searchable pdf**‑Transformation wirklich. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Warum das wichtig ist:** `setImage` teilt Aspose mit, welches Bitmap analysiert werden soll. Wenn Sie ein Bild mit niedriger Auflösung bereitstellen, leidet die OCR‑Qualität, stellen Sie also sicher, dass das JPG mindestens 300 dpi hat, um optimale Ergebnisse zu erzielen. + +## Schritt 3 – Text aus Bild erkennen + +Jetzt, da die Engine weiß, mit welchem Bild sie arbeiten soll, können wir sie auffordern, **Text aus Bild zu erkennen**. Aspose OCR übernimmt die schwere Arbeit im Hintergrund, einschließlich Spracherkennung, Zeichen‑segmentierung und Vertrauens‑Scoring. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +Der Aufruf `recognize()` liefert eine Fluent‑Interface, die es ermöglicht, die `save`‑Methode zu verketten. Durch Angabe von `OcrOutputFormat.SEARCHABLE_PDF` bettet die Bibliothek eine unsichtbare Textebene in das PDF ein, während das ursprüngliche Bild erhalten bleibt. + +> **Sonderfall:** Wenn Ihr JPG mehrere Seiten enthält (z. B. ein mehrseitiges TIFF, das als separate JPGs gespeichert wurde), müssen Sie über jede Datei iterieren und die resultierenden PDFs später zusammenführen. Die gleiche OCR‑Engine kann für jede Iteration wiederverwendet werden. + +## Schritt 4 – Ergebnis überprüfen + +Nachdem der Speichervorgang abgeschlossen ist, informiert eine einfache Konsolennachricht Sie darüber, dass alles reibungslos verlaufen ist. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +Wenn Sie `output-searchable.pdf` in einem Viewer wie Adobe Acrobat öffnen, sollten Sie den versteckten Text auswählen, kopieren oder eine Suche durchführen können – genau das, was Sie von einem **searchable PDF** erwarten. + +### Erwartete Ausgabe + +Das Ausführen des Programms gibt aus: + +``` +Searchable PDF created. +``` + +Und das erzeugte PDF zeigt das ursprüngliche JPG an, während Textauswahl ermöglicht wird. Wenn Sie die PDF‑„Properties → Description → PDF Producer“ öffnen, sehen Sie etwa `Aspose.OCR for Java`. + +## Vollständiges funktionierendes Beispiel + +Unten finden Sie die komplette, sofort ausführbare Quelldatei. Kopieren Sie sie in Ihre IDE, passen Sie die Dateipfade an und führen Sie das Programm aus. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **Was, wenn die OCR fehlschlägt?** +> * In der Regel passiert das, weil das Bild zu verrauscht ist oder die Sprache nicht sofort unterstützt wird. Sie können die Genauigkeit verbessern, indem Sie das Bild vorverarbeiten (Kontrast erhöhen, entzerren) oder die Sprache explizit mit `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);` festlegen. + +## Häufige Fragen & Stolperfallen + +| Question | Answer | +|----------|--------| +| **Kann ich den Klartext anstelle eines PDFs extrahieren?** | Yes. Use `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **Was, wenn ich ein PNG verarbeiten muss?** | The same API works; just change the file extension in `fromFile`. | +| **Ist das resultierende PDF in allen Viewern wirklich durchsuchbar?** | Moderne Viewer (Adobe Reader, Foxit, Chrome) respektieren die versteckte Textebene. Ältere Tools könnten sie ignorieren. | +| **Wie kann ich die PDF‑Seitengröße steuern?** | Aspose OCR verwendet standardmäßig die Bildabmessungen. Für benutzerdefinierte Größen erzeugen Sie ein PDF manuell und legen die OCR‑Textebene darüber – dies ist ein fortgeschrittenes Szenario. | + +## Leistungstipps + +* **Batch‑Verarbeitung:** Verwenden Sie eine einzelne `OcrEngine`‑Instanz für viele Bilder, um wiederholtes Laden der nativen Bibliothek zu vermeiden. +* **Thread‑Sicherheit:** Die Engine ist **nicht** thread‑sicher; erstellen Sie bei Parallelisierung je einen pro Thread. +* **Speichernutzung:** Große Bilder können viel RAM verbrauchen. Wenn Sie `OutOfMemoryError` erhalten, skalieren Sie das Bild vor dem Übergeben an die Engine herunter. + +## Nächste Schritte + +Jetzt, da Sie wissen, wie man **durchsuchbares PDF erstellt**, möchten Sie vielleicht verwandte Aufgaben erkunden: + +* **Convert jpg to pdf** ohne OCR (verwenden Sie die Aspose‑PDF‑Bibliothek für ein reines Bild‑PDF). +* **Extract text from jpg** in eine `.txt`‑Datei für die Indizierung extrahieren. +* **Combine multiple searchable PDFs** zu einem einzigen Dokument mit Aspose PDFs `PdfFileEditor` zusammenführen. + +All das baut auf derselben Grundlage auf, die Sie gerade eingerichtet haben. + +--- + +### Kurze Zusammenfassung + +* Wir **haben ein durchsuchbares PDF** aus einem JPG mit Aspose OCR für Java erstellt. +* Der Prozess umfasste das Laden des Bildes, das Erkennen des Textes und das Speichern als durchsuchbares PDF. +* Sie haben nun ein wiederverwendbares Muster für **image to searchable PDF**, **recognize text from image**, **extract text from jpg** und **convert jpg to pdf**. + +Probieren Sie es mit Ihren eigenen Dokumenten aus, passen Sie bei Bedarf die Spracheinstellungen an und lassen Sie die OCR die schwere Arbeit für Sie erledigen. Viel Spaß beim Coden! + +![Beispiel für durchsuchbares PDF erstellen](placeholder.png){alt="Durchsuchbares PDF erstellen"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/german/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..85cbe1f29 --- /dev/null +++ b/ocr/german/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,172 @@ +--- +category: general +date: 2026-02-19 +description: Erfahren Sie, wie Sie ein Bild entzerren und Rauschen für OCR entfernen. + Dieses Tutorial zeigt, wie man Textbilder erkennt, die Bildrotation korrigiert und + die Bildvorverarbeitung für OCR mit Aspose OCR durchführt. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: de +og_description: Wie man ein Bild entzerrt und Rauschen entfernt, damit Sie Textbilder + schnell erkennen können. Folgen Sie dieser Anleitung, um die Bildrotation zu korrigieren + und die Bild‑OCR mit Aspose vorzubereiten. +og_title: Wie man ein Bild entzerrt – Vollständiges OCR-Vorverarbeitungs‑Tutorial +tags: +- OCR +- Java +- Image Processing +title: Wie man ein Bild entzerrt — Schritt‑für‑Schritt OCR‑Vorverarbeitungs‑Leitfaden +url: /de/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man ein Bild deskew — Komplettes OCR‑Vorverarbeitungs‑Tutorial + +Haben Sie sich schon einmal gefragt, **wie man Bilddateien deskew** kann, bevor man sie an eine OCR‑Engine übergibt? Vielleicht haben Sie einen Stapel Belege gescannt und die Seiten sehen ein wenig schief aus, oder der Scan ist mit zufälligen Punkten übersät. Das ist ein häufiges Problem – schiefe, verrauschte Bilder lassen die Texterkennung stolpern. + +Die gute Nachricht? Sie können das Bild (Bildrotation korrigieren) und das Rauschen (wie man Rauschen entfernt) mit nur wenigen Zeilen Java mithilfe von Aspose.OCR begradigen und entrauschen. In diesem Leitfaden gehen wir den gesamten Ablauf durch: vom Laden eines verrauschten‑rotierten PNGs, über das Anwenden von Deskew + Median‑Denoise, bis hin zum **recognize text image** und dem Ausgeben des Ergebnisses. Am Ende haben Sie ein wiederverwendbares Snippet, das Sie in jedes Java‑Projekt einbinden können. + +## Was Sie benötigen + +- **Java 17** oder neuer (der Code kompiliert auch mit älteren Versionen, aber 17 ist der optimale Punkt). +- **Aspose.OCR für Java** – Sie können das neueste JAR von Maven Central holen (`com.aspose:aspose-ocr`). +- Eine Bilddatei, die sowohl rotiert als auch verrauscht ist (z. B. `noisy-rotated.png`). +- Eine einfache IDE (IntelliJ, Eclipse oder sogar VS Code). + +Keine ausgefallenen Build‑Tools nötig; ein einfacher `javac` + `java`‑Durchlauf reicht aus. + +--- + +## Schritt 1 – Instanz des OCR‑Engines erstellen + +Das Erste, was Sie tun, ist ein `OcrEngine` zu erzeugen. Denken Sie daran als das Gehirn, das später die Zeichen für Sie liest. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Pro‑Tipp:** Halten Sie die Engine als Singleton, wenn Sie viele Bilder verarbeiten; sie nutzt interne Puffer wieder und beschleunigt den Vorgang. + +## Schritt 2 – Deskew und Median‑Denoise aktivieren (Wie man Rauschen entfernt) + +Jetzt sagen wir der Engine, **die Bildrotation zu korrigieren** und **wie man Rauschen entfernt**. Beide Filter sind optional, zusammen verbessern sie die Genauigkeit dramatisch. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Warum Median‑Denoise? Es bewahrt Kanten (die Linien, die Zeichen definieren), während isolierte Pixel gelöscht werden – genau das, was Sie für saubere OCR benötigen. + +## Schritt 3 – Das zu verarbeitende Bild laden + +Hier zeigen wir der Engine die Datei, die gereinigt werden muss. `ImageStream.fromFile` liest das PNG in den Speicher. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Falls Ihr Bild auf einem entfernten Server liegt, übergeben Sie einfach einen `InputStream` – Aspose verarbeitet das problemlos. + +## Schritt 4 – OCR ausführen und den erkannten Text erfassen + +Mit aktivierter Vorverarbeitung liest die Engine nun das korrigierte Bild. Der Aufruf `recognize()` liefert ein `RecognitionResult`, das den extrahierten String enthält. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +Sie sollten sauberen, lesbaren Text in der Konsole sehen, selbst wenn das Originalbild schief und körnig war. + +## Schritt 5 – Ergebnis überprüfen (Was zu erwarten ist) + +Wenn alles funktioniert, gibt die Konsole etwa Folgendes aus: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Falls die Ausgabe noch verzerrte Zeichen enthält, prüfen Sie: + +- Die Bildauflösung (≥ 300 dpi ist ideal). +- Ob der Dateipfad korrekt ist. +- Ob zusätzliche Filter (z. B. `setContrastStretch`) helfen könnten. + +--- + +## Optional: Visuelle Bestätigung mit einem Beispielbild + +Unten sehen Sie eine kleine Vorschau eines rotierten, verrauschten Belegs. Beachten Sie die Neigung – unser Code wird sie für Sie begradigen. + +![how to deskew image example](deskew-demo.png "how to deskew image") + +*Alt‑Text: how to deskew image – Vorher und Nachher der Verarbeitung.* + +--- + +## Häufig gestellte Fragen + +### Funktioniert das mit PDFs oder nur mit PNG/JPEG? +Aspose.OCR kann PDFs direkt lesen; ersetzen Sie einfach `ImageStream.fromFile` durch `ImageStream.fromPdf`. Die gleichen Vorverarbeitungs‑Flags gelten, sodass Sie weiterhin **how to deskew image** und **how to remove noise** erhalten. + +### Was, wenn ich die ursprüngliche Orientierung für spätere Schritte behalten muss? +Sie können das Bild vor der Vorverarbeitung klonen: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Kann ich den Deskew‑Winkel manuell ändern? +Ja – `setDeskewAngle(double degrees)` lässt Sie den Auto‑Detect‑Algorithmus überschreiben. Nützlich, wenn die automatische Erkennung bei extremen Rotationen versagt. + +### Wie unterscheidet sich Median‑Denoise von Gaussian Blur? +Median‑Filter ersetzen jedes Pixel durch den Median seiner Nachbarn, wodurch Kanten erhalten bleiben. Gaussian Blur glättet alles, was die Striche von Zeichen verwischen kann – daher ist Median die sicherere Wahl für OCR. + +--- + +## Fazit + +In diesem Tutorial haben wir **how to deskew image** Dateien behandelt, **how to remove noise** demonstriert und gezeigt, wie man **recognize text image** mit den integrierten Vorverarbeitungsfunktionen von Aspose OCR verwendet. Durch das Aktivieren von `setDeskew(true)` und `setMedianDenoise(true)` korrigieren Sie automatisch **image rotation** und entfernen Sprenkel, wodurch ein unordentlicher Scan in einen sauberen Textstring verwandelt wird. + +Probieren Sie gern aus: verschiedene Denoise‑Strategien, PDFs einspeisen oder mehrere Bilder in einer Schleife verarbeiten. Das gleiche Muster – Engine → Vorverarbeitung → Erkennung – gilt für jedes Szenario und bildet eine solide Basis für jede OCR‑Pipeline. + +**Nächste Schritte**, die Sie erkunden könnten: + +- **Batch‑Verarbeitung** – über ein Verzeichnis von Bildern iterieren und jedes Ergebnis in eine `.txt`‑Datei schreiben. +- **Sprachpakete** – ein spezifisches Sprachwörterbuch laden, um die Genauigkeit für nicht‑englischen Text zu steigern. +- **Erweiterte Filter** – wie `setContrastStretch` oder `setBinarization` für Scans mit geringem Kontrast. + +Haben Sie weitere Fragen? Hinterlassen Sie einen Kommentar, und 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/greek/java/advanced-ocr-techniques/_index.md b/ocr/greek/java/advanced-ocr-techniques/_index.md index 3e7a5e306..75f48bfae 100644 --- a/ocr/greek/java/advanced-ocr-techniques/_index.md +++ b/ocr/greek/java/advanced-ocr-techniques/_index.md @@ -45,6 +45,12 @@ url: /el/java/advanced-ocr-techniques/ Εξάγετε εύκολα κείμενο από εικόνες καθορίζοντας επιτρεπόμενους χαρακτήρες με το Aspose.OCR για Java. Ακολουθήστε τον βήμα προς βήμα οδηγό μας για αποτελεσματική ενσωμάτωση, διασφαλίζοντας μια απρόσκοπτη εμπειρία αναγνώρισης κειμένου. Βελτιώστε τις εφαρμογές σας Java με τις δυνατότητες Aspose.OCR. +## [Πώς να ενεργοποιήσετε την GPU για OCR σε Java – Πλήρης Οδηγός](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Μάθετε πώς να αξιοποιήσετε την GPU για επιτάχυνση του OCR σε Java με το Aspose.OCR, βήμα‑βήμα οδηγίες για βέλτιστη απόδοση. + +## [Πώς να κάνετε OCR εικόνας σε Java – Χειρόγραφα Σημειώματα με Έλεγχο Ορθογραφίας](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Εκτελέστε OCR σε εικόνες με χειρόγραφα σημειώματα στην Java, προσθέτοντας έλεγχο ορθογραφίας για ακριβή εξαγωγή κειμένου. + ## συμπέρασμα Με το Aspose.OCR για Java, η εκμάθηση προηγμένων τεχνικών OCR δεν ήταν ποτέ ευκολότερη. Βουτήξτε σε αυτά τα σεμινάρια και ξεκλειδώστε το πλήρες δυναμικό της αναγνώρισης κειμένου στα έργα σας Java. Αναβαθμίστε τις εφαρμογές σας με απρόσκοπτη ενοποίηση, υψηλή ακρίβεια και ευέλικτες δυνατότητες εξαγωγής κειμένου. Κάντε λήψη τώρα και κάντε το πρώτο βήμα προς την αριστεία OCR με το Aspose.OCR για Java! @@ -61,9 +67,13 @@ url: /el/java/advanced-ocr-techniques/ Ενισχύστε τις εφαρμογές σας Java με το Aspose.OCR για ακριβή αναγνώριση κειμένου. Εύκολη ενσωμάτωση, υψηλή ακρίβεια. ### [Καθορισμός επιτρεπόμενων χαρακτήρων στο Aspose.OCR](./specify-allowed-characters/) Ξεκλειδώστε την εξαγωγή κειμένου από εικόνες χωρίς προβλήματα με το Aspose.OCR για Java. Ακολουθήστε τον βήμα προς βήμα οδηγό μας για αποτελεσματική ενσωμάτωση. +### [Πώς να ενεργοποιήσετε την GPU για OCR σε Java – Πλήρης Οδηγός](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Μάθετε πώς να αξιοποιήσετε την GPU για επιτάχυνση του OCR σε Java με το Aspose.OCR, βήμα‑βήμα οδηγίες για βέλτιστη απόδοση. +### [Πώς να κάνετε OCR εικόνας σε Java – Χειρόγραφα Σημειώματα με Έλεγχο Ορθογραφίας](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Εκτελέστε OCR σε εικόνες με χειρόγραφα σημειώματα στην Java, προσθέτοντας έλεγχο ορθογραφίας για ακριβή εξαγωγή κειμένου. {{< /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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/greek/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..e3759a33f --- /dev/null +++ b/ocr/greek/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,209 @@ +--- +category: general +date: 2026-02-19 +description: Πώς να ενεργοποιήσετε την GPU για γρήγορη επεξεργασία OCR. Μάθετε πώς + να φορτώνετε εικόνα υψηλής ανάλυσης, να αναγνωρίζετε κείμενο σε εικόνα και να εξάγετε + το κείμενο χρησιμοποιώντας το Aspose OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: el +og_description: Πώς να ενεργοποιήσετε την GPU για γρήγορη επεξεργασία OCR. Αυτός ο + οδηγός σας δείχνει πώς να φορτώσετε εικόνα υψηλής ανάλυσης, να αναγνωρίσετε κείμενο + σε εικόνα και να εξάγετε κείμενο με το Aspose OCR. +og_title: Πώς να ενεργοποιήσετε την GPU για OCR σε Java – Πλήρης οδηγός +tags: +- OCR +- Java +- GPU +- Aspose +title: Πώς να ενεργοποιήσετε την GPU για OCR στη Java – Πλήρης οδηγός +url: /el/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να ενεργοποιήσετε το GPU για OCR σε Java – Πλήρης Οδηγός + +Έχετε αναρωτηθεί ποτέ **πώς να ενεργοποιήσετε το GPU** για τη γραμμή επεξεργασίας OCR σας και να μειώσετε δευτερόλεπτα από τον χρόνο επεξεργασίας; Δεν είστε μόνοι. Σε πολλά έργα με πολλές εικόνες, το στενό λαιμό είναι το βήμα εξαγωγής κειμένου που εξαρτάται από την CPU, και η μετάβαση στο GPU μπορεί να είναι καθοριστική. + +Σε αυτό το tutorial θα περάσουμε από τη φόρτωση μιας **υψηλής ανάλυσης εικόνας**, τη διαμόρφωση του Aspose OCR για εκτέλεση στο GPU, και τελικά **αναγνώριση εικόνας κειμένου** και **εξαγωγή κειμένου** με λίγες μόνο γραμμές Java. Στο τέλος θα έχετε ένα έτοιμο προς εκτέλεση πρόγραμμα που δείχνει **ενεργοποίηση επεξεργασίας GPU** από την αρχή μέχρι το τέλος. + +## Τι Θα Χρειαστεί + +- Java 17 ή νεότερη (ο κώδικας χρησιμοποιεί το σύστημα μονάδων αλλά λειτουργεί και σε παλαιότερα JDK με μικρές προσαρμογές) +- Aspose OCR for Java 23.10 (ή την πιο πρόσφατη έκδοση) – μπορείτε να πάρετε τις συντεταγμένες Maven από τον ιστότοπο της Aspose +- Μία NVIDIA GPU με εγκατεστημένους οδηγούς CUDA 12+ (η βιβλιοθήκη θα αρνηθεί να ξεκινήσει διαφορετικά) +- Μία δείγμα εικόνας υψηλής ανάλυσης (PNG ή JPEG) από την οποία θέλετε να διαβάσετε κείμενο + +Αυτό είναι όλο. Χωρίς εξωτερικές υπηρεσίες, χωρίς πιστώσεις cloud, μόνο το μηχάνημά σας και το σωστό σύνολο οδηγών. + +![Διάγραμμα ροής GPU OCR – πώς να ενεργοποιήσετε την επεξεργασία GPU](gpu-ocr-workflow.png) + +*Κείμενο εναλλακτικής εικόνας: διάγραμμα που απεικονίζει πώς να ενεργοποιήσετε το GPU για επεξεργασία OCR σε Java.* + +## Υλοποίηση Βήμα‑βήμα + +Παρακάτω χωρίζουμε τη λύση σε λογικά τμήματα. Κάθε ενότητα περιέχει ένα σύντομο απόσπασμα κώδικα, μια εξήγηση του **γιατί** το βήμα είναι σημαντικό, και μερικές πρακτικές συμβουλές που πιθανότατα θα εκτιμήσετε αργότερα. + +### Πώς να ενεργοποιήσετε το GPU για OCR – Βήμα 1: Εγκατάσταση εξαρτήσεων & επαλήθευση CUDA + +Πριν τρέξει οποιοσδήποτε κώδικας Java, το εγγενές runtime του CUDA πρέπει να είναι προσβάσιμο. Σε Windows μπορείτε να το επαληθεύσετε με: + +```bat +nvcc --version +``` + +Σε Linux: + +```bash +nvidia-smi +``` + +Αν η εντολή εμφανίζει την έκδοση του οδηγού και τις λεπτομέρειές της GPU, είστε έτοιμοι. Διαφορετικά, επισκεφθείτε την ιστοσελίδα της NVIDIA, κατεβάστε τον κατάλληλο οδηγό και εγκαταστήστε το toolkit CUDA (βεβαιωθείτε ότι η έκδοση ταιριάζει με τις απαιτήσεις του Aspose OCR – τρέχουσες 12.x). + +**Συμβουλή:** Διατηρήστε τον οδηγό GPU ενημερωμένο αλλά αποφύγετε τις εκδόσεις “latest‑beta”; μερικές φορές διακόπτουν τη δυαδική συμβατότητα με τις εγγενείς βιβλιοθήκες του Aspose. + +### Πώς να ενεργοποιήσετε το GPU για OCR – Βήμα 2: Προσθήκη εξάρτησης Aspose OCR Maven + +Προσθέστε τα παρακάτω στο `pom.xml`. Αυτό θα φέρει τον πυρήνα του OCR engine και τα εγγενή δυαδικά αρχεία GPU για Windows, Linux και macOS. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Αν προτιμάτε Gradle, το ισοδύναμο είναι: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Μετά την ανανέωση του έργου σας, οι κλάσεις `OcrEngine`, `OcrDeviceType` και `ImageStream` γίνονται διαθέσιμες. + +### Πώς να ενεργοποιήσετε το GPU για OCR – Βήμα 3: Δημιουργία του OCR Engine και ενεργοποίηση GPU + +Τώρα λέμε στην Aspose να τρέξει στο GPU. Το `OcrEngine` εκθέτει ένα αντικείμενο `Device` όπου μπορούμε να αλλάξουμε τον τύπο συσκευής επεξεργασίας. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Γιατί είναι σημαντικό:** Ο ορισμός `OcrDeviceType.GPU` αντικαθιστά τη βασική μηχανή επαγωγής από υλοποίηση μόνο CPU σε μια επιταχυνόμενη με CUDA. Η προαιρετική κλήση `setStreamCount` σας επιτρέπει να ελέγξετε τον παραλληλισμό· δύο ροές είναι μια ασφαλής προεπιλογή στις περισσότερες καταναλωτικές κάρτες. + +### Πώς να ενεργοποιήσετε το GPU για OCR – Βήμα 4: Φόρτωση εικόνας υψηλής ανάλυσης + +Οι πηγές υψηλής ανάλυσης παρέχουν στο μοντέλο OCR περισσότερες οπτικές λεπτομέρειες, κάτι που μεταφράζεται σε μεγαλύτερη ακρίβεια, ειδικά για μικρές γραμματοσειρές ή πολύπλοκα σενάρια. Η βοηθητική μέθοδος `ImageStream.fromFile` διαβάζει το αρχείο σε μορφή που περιμένει η μηχανή. + +Αν χρειάζεται να **φορτώσετε εικόνα υψηλής ανάλυσης** από URL ή από byte array στη μνήμη, μπορείτε να χρησιμοποιήσετε: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Περίπτωση άκρης:** Κάποιες GPU έχουν μέγιστο μέγεθος υφής (συχνά 16384 × 16384). Αν η εικόνα σας υπερβαίνει αυτό, σκεφτείτε να τη μειώσετε σε μέγεθος που διατηρεί την αναγνωσιμότητα (π.χ., 3000 × 2000). Η μηχανή OCR θα αλλάξει αυτόματα το μέγεθος αν καλέσετε `ocrEngine.setResizeFactor(0.5)` πριν τη φόρτωση. + +### Πώς να ενεργοποιήσετε το GPU για OCR – Βήμα 5: Αναγνώριση εικόνας κειμένου και εξαγωγή κειμένου + +Η κλήση `ocrEngine.recognize()` ενεργοποιεί την επαγωγή του νευρωνικού δικτύου στο GPU. Η μέθοδος επιστρέφει ένα αντικείμενο `OcrResult`; το `getText()` εξάγει το απλό κείμενο. Μπορείτε επίσης να ανακτήσετε τα πλαίσια οριοθέτησης, τις βαθμολογίες εμπιστοσύνης ή το ακατέργαστο JSON αν χρειάζεστε πιο πλούσια δεδομένα. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Γιατί μπορεί να το θέλετε:** Το βήμα `recognize text image` είναι όπου το GPU ξεχωρίζει—μεγάλες εικόνες που θα έπαιρναν δευτερόλεπτα στην CPU επεξεργάζονται σε κλάσμα του χρόνου. Οι βαθμολογίες εμπιστοσύνης σας επιτρέπουν να φιλτράρετε αποτελέσματα χαμηλής ποιότητας, ένα χρήσιμο κόλπο όταν αργότερα **εξάγετε κείμενο** για downstream analytics. + +### Επαγγελματικές Συμβουλές & Συνηθισμένα Πιθανά Προβλήματα + +| Κατάσταση | Τι να κάνετε | +|-----------|--------------| +| **Σφάλματα έλλειψης μνήμης** στην GPU | Μειώστε το `setStreamCount` στο 1, ή μειώστε το μέγεθος της εικόνας πριν τη δώσετε στη μηχανή. | +| **Μη αναγνωρισμένοι χαρακτήρες** παρά τη υψηλή ανάλυση | Βεβαιωθείτε ότι το μοντέλο γλώσσας (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) ταιριάζει με τη γλώσσα του κειμένου. | +| **Ασυμφωνία έκδοσης CUDA** | Συμφωνήστε την έκδοση του toolkit CUDA με αυτή που περιλαμβάνεται στο Aspose OCR (ελέγξτε τις σημειώσεις έκδοσης). | +| **Πολλαπλές GPU** | Χρησιμοποιήστε `ocrEngine.getDevice().setDeviceId(1)` για να επιλέξετε τη δεύτερη GPU αν η πρώτη είναι απασχολημένη. | +| **Εκτέλεση σε headless server** | Δεν απαιτούνται επιπλέον βήματα· ο οδηγός GPU λειτουργεί χωρίς οθόνη. | + +## Πώς να εξάγετε κείμενο – Επαλήθευση του αποτελέσματος + +Όταν εκτελέσετε την παραπάνω κλάση, θα πρέπει να δείτε κάτι όπως: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Αν η έξοδος φαίνεται ακατάστατη, ελέγξτε ξανά ότι η εικόνα είναι πραγματικά υψηλής ανάλυσης και ότι ο οδηγός GPU είναι σωστά εγκατεστημένος. Μπορείτε επίσης να ενεργοποιήσετε λεπτομερή καταγραφή: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +Τα logs θα δείξουν αν τα εγγενή kernels CUDA φορτώθηκαν επιτυχώς. + +## Επόμενα Βήματα & Σχετικά Θέματα + +- **Επεξεργασία παρτίδας:** Τυλίξτε το `OcrEngine` σε βρόχο και δώστε μια λίστα διαδρομών εικόνων. Θυμηθείτε να επαναχρησιμοποιείτε το ίδιο αντικείμενο engine για να αποφύγετε επαναλαμβανόμενο κόστος αρχικοποίησης GPU. +- **Ανίχνευση γλώσσας:** Το Aspose OCR υποστηρίζει πάνω από 30 γλώσσες. Αλλάξτε με `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Μεταεπεξεργασία:** Χρησιμοποιήστε κανονικές εκφράσεις για να καθαρίσετε το εξαγόμενο κείμενο, ή δώστε το σε downstream pipeline NLP. +- **Εναλλακτικές συσκευές:** Αν δεν έχετε GPU που υποστηρίζει CUDA, μπορείτε να επιστρέψετε στο `OcrDeviceType.CPU`. Ο ίδιος κώδικας λειτουργεί· απλώς αλλάξτε τον τύπο συσκευής. +- **Μέτρηση απόδοσης:** Μετρήστε τη διαφορά χρόνου με `System.nanoTime()` πριν και μετά το `recognize()` για να ποσοτικοποιήσετε το κέρδος από την **ενεργοποίηση επεξεργασίας GPU**. + +--- + +### Συμπεράσματα + +Καλύψαμε **πώς να ενεργοποιήσετε το GPU** για το Aspose OCR σε Java, από την εγκατάσταση των σωστών οδηγών μέχρι τη φόρτωση μιας **εικόνας υψηλής ανάλυσης**, **αναγνώριση εικόνας κειμένου**, και τελικά **πώς να εξάγετε κείμενο** από το αποτέλεσμα. Το πλήρες, εκτελέσιμο παράδειγμα παραπάνω θα πρέπει να λειτουργεί αμέσως σε οποιαδήποτε σύγχρονη NVIDIA GPU. + +Δοκιμάστε το, πειραματιστείτε με διαφορετικά μεγέθη εικόνας, και παρακολουθήστε την απόδοση του OCR να ανεβαίνει. Αν αντιμετωπίσετε προβλήματα, επιστρέψτε στην ενότητα συμβουλών ή ελέγξτε τις σημειώσεις έκδοσης του Aspose για τις πιο πρόσφατες συστάσεις **ενεργοποίησης επεξεργασίας GPU**. + +Καλή προγραμματιστική, και εύχομαι το GPU σας να παραμένει ψυχρό ενώ επεξεργάζεται κείμενο! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/greek/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..143655993 --- /dev/null +++ b/ocr/greek/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,257 @@ +--- +category: general +date: 2026-02-19 +description: Μάθετε πώς να κάνετε OCR σε εικόνα χειρόγραφων σημειώσεων σε Java χρησιμοποιώντας + το Aspose OCR. Περιλαμβάνει τη φόρτωση της εικόνας για OCR, την ανάγνωση των χειρόγραφων + σημειώσεων και τη μετατροπή του κειμένου της χειρόγραφης εικόνας. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: el +og_description: Πώς να κάνετε OCR εικόνας χειρόγραφων σημειώσεων σε Java με το Aspose. + Οδηγός βήμα-βήμα για τη φόρτωση της εικόνας για OCR, την ανάγνωση των χειρόγραφων + σημειώσεων και τη μετατροπή του κειμένου της χειρόγραφης εικόνας. +og_title: Πώς να κάνετε OCR εικόνας σε Java – Οδηγός για χειρόγραφες σημειώσεις +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Πώς να κάνετε OCR εικόνας σε Java – Χειρόγραφα σημειώματα με ορθογραφικό έλεγχο +url: /el/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +0}} etc. Keep them. + +Also the shortcodes at start and end. + +Let's write. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να κάνετε OCR εικόνας σε Java – Χειρόγραφα Σημειώματα με Έλεγχο Ορθογραφίας + +Έχετε αναρωτηθεί ποτέ **πώς να κάνετε OCR εικόνας** που περιέχει τη γραπτή λίστα αγορών ή τα πρακτικά μιας συνάντησης; Δεν είστε ο μόνος. Σε πολλές πραγματικές εφαρμογές, οι προγραμματιστές χρειάζεται να διαβάζουν χειρόγραφα σημειώματα και να τα μετατρέπουν σε αναζητήσιμο κείμενο—χωρίς να απαιτείται χειροκίνητη επαναπληκτρολόγηση. + +Σε αυτό το tutorial θα περάσουμε βήμα‑βήμα από ένα πλήρες, έτοιμο‑για‑εκτέλεση παράδειγμα που δείχνει ακριβώς **πώς να κάνετε OCR εικόνας** χρησιμοποιώντας Aspose OCR for Java, πώς να **φορτώσετε εικόνα για OCR**, και πώς να **διαβάσετε χειρόγραφα σημειώματα** με ενσωματωμένη διόρθωση ορθογραφίας. Στο τέλος, θα μπορείτε να **μετατρέψετε το κείμενο μιας χειρόγραφης εικόνας** σε μια καθαρή συμβολοσειρά που μπορείτε να αποθηκεύσετε, να ευρετηριάσετε ή να εμφανίσετε. + +## Τι Θα Μάθετε + +- Τα ακριβή βήματα για τη ρύθμιση μιας μηχανής OCR που καταλαβαίνει αγγλική χειρόγραφη γραφή. +- Πώς να **φορτώσετε εικόνα για OCR** από το δίσκο και να τη δώσετε στη μηχανή. +- Γιατί η ενεργοποίηση του ελεγκτή ορθογραφίας είναι σημαντική όταν αντιμετωπίζετε ακατάστατα σημειώματα. +- Τρόποι αντιμετώπισης κοινών περιπτώσεων, όπως εικόνες χαμηλής αντίθεσης ή ελλιπείς γλωσσικές πακέτες. +- Ένα πλήρες, εκτελέσιμο δείγμα κώδικα που μπορείτε να επικολλήσετε στο IDE σας και να δείτε άμεσα τα αποτελέσματα. + +> **Prerequisites**: Java 8+ εγκατεστημένο, Maven ή Gradle για διαχείριση εξαρτήσεων, και άδεια Aspose OCR for Java (η δωρεάν δοκιμή λειτουργεί για εκμάθηση). Δεν απαιτούνται άλλες εξωτερικές βιβλιοθήκες. + +--- + +## Βήμα 1: Ρύθμιση του Έργου και Προσθήκη της Εξάρτησης Aspose OCR + +Πρώτα απ’ όλα—το έργο σας χρειάζεται τη βιβλιοθήκη Aspose OCR. Αν χρησιμοποιείτε Maven, προσθέστε αυτό στο `pom.xml` σας: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Ή με Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Pro tip**: Παρακολουθείτε τον αριθμό έκδοσης· οι νεότερες κυκλοφορίες βελτιώνουν την αναγνώριση χειρόγραφης γραφής και προσθέτουν υποστήριξη γλωσσών. + +Μόλις η εξάρτηση λυθεί, είστε έτοιμοι να **φορτώσετε εικόνα για OCR**. + +## Βήμα 2: Δημιουργία του Αντικειμένου OCR Engine + +Για να **πώς να κάνετε OCR εικόνας** αποτελεσματικά, χρειάζεστε ένα αντικείμενο `OcrEngine`. Αυτό το αντικείμενο είναι η καρδιά της διαδικασίας—κρατά τις ρυθμίσεις γλώσσας, τις σημαίες ελέγχου ορθογραφίας και την ίδια την εικόνα. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Γιατί δημιουργούμε τη μηχανή πρώτα; Επειδή το Aspose OCR έχει σχεδιαστεί ώστε να είναι επαναχρησιμοποιήσιμο· μπορείτε να επεξεργαστείτε πολλές εικόνες με το ίδιο αντικείμενο, τροποποιώντας τις ρυθμίσεις μεταξύ των εκτελέσεων αν χρειαστεί. + +## Βήμα 3: Προσθήκη Υποστήριξης Αγγλικής Γλώσσας και Ενεργοποίηση Διόρθωσης Ορθογραφίας + +Τα χειρόγραφα σημειώματα συχνά περιέχουν ορθογραφικά λάθη, ελλιπείς χαρακτήρες ή μη συμβατικές συντομογραφίες. Η ενεργοποίηση του ελεγκτή ορθογραφίας δίνει στη μηχανή την ευκαιρία να καθαρίσει το αποτέλεσμα. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **Γιατί να ενεργοποιήσετε τη διόρθωση ορθογραφίας;** +> Χωρίς αυτήν, η ακατέργαστη έξοδος OCR μπορεί να εμφανίσει “t0d@y” ή “c0ffee”. Ο ελεγκτής ορθογραφίας κανονικοποιεί τέτοιες ιδιαιτερότητες, κάνοντας το τελικό κείμενο πολύ πιο χρήσιμο για επεξεργασία downstream όπως η ευρετηρίαση. + +## Βήμα 4: Φόρτωση της Χειρόγραφης Εικόνας + +Τώρα **φορτώνουμε εικόνα για OCR**. Το Aspose παρέχει τη βολική μέθοδο `ImageStream.fromFile` που δέχεται οποιαδήποτε κοινή μορφή raster (PNG, JPEG, BMP). + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Αν η εικόνα σας βρίσκεται σε φάκελο πόρων ή τη λαμβάνετε ως πίνακα byte (π.χ., από ανέβασμα στο web), μπορείτε να χρησιμοποιήσετε `ImageStream.fromBytes`· απλώς αντικαταστήστε τη γραμμή παραπάνω με: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Βήμα 5: Εκτέλεση OCR και Ανάκτηση του Διορθωμένου Κειμένου + +Με τη μηχανή ρυθμισμένη και την εικόνα φορτωμένη, η πραγματική κλήση **πώς να κάνετε OCR εικόνας** είναι μια μόνο γραμμή: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +Η μέθοδος `recognize()` επιστρέφει ένα αντικείμενο `OcrResult` που περιέχει όχι μόνο το απλό κείμενο αλλά και βαθμολογίες εμπιστοσύνης, περιοριστικά πλαίσια (bounding boxes) κ.ά. Για τις περισσότερες περιπτώσεις, το απλό `getText()` είναι επαρκές. + +## Βήμα 6: Εκτύπωση του Αποτελέσματος + +Τέλος, εκτυπώνουμε τη καθαρισμένη συμβολοσειρά στην κονσόλα. Σε μια πραγματική εφαρμογή μπορεί να το αποθηκεύσετε σε βάση δεδομένων, να το δώσετε σε μηχανή αναζήτησης ή να το περάσετε σε μοντέλο γλώσσας. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Αναμενόμενο Αποτέλεσμα + +Υποθέτοντας ότι το χειρόγραφο σημείωμα λέει: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +Θα πρέπει να δείτε κάτι σαν: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Ακόμη και αν η αρχική γραφή ήταν ακατάστατη—π.χ. “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”—ο ελεγκτής ορθογραφίας συνήθως θα το διορθώσει. + +--- + +## Φόρτωση Εικόνας για OCR – Συμβουλές για Καλύτερη Ακρίβεια + +1. **Η ανάλυση μετρά** – Στοχεύστε τουλάχιστον 300 dpi. Χαμηλότερες αναλύσεις κάνουν τη μηχανή να χάνει λεπτές γραμμές. +2. **Η αντίθεση είναι βασική** – Αν το φόντο είναι χρωματιστό, μετατρέψτε πρώτα την εικόνα σε κλίμακα του γκρι. +3. **Κόψτε στο περιεχόμενο** – Η αφαίρεση περιττών περιθωρίων μειώνει το θόρυβο και επιταχύνει την επεξεργασία. + +Μπορείτε να προεπεξεργαστείτε τις εικόνες με βιβλιοθήκες όπως OpenCV ή ακόμη και με το ενσωματωμένο `BufferedImage` της Java πριν τις περάσετε στο Aspose. + +## Ανάγνωση Χειρόγραφων Σημειωμάτων: Διαχείριση Ακραίων Περιπτώσεων + +- **Λέξεις χαμηλής εμπιστοσύνης**: `ocrEngine.getResult().getWords()` επιστρέφει λίστα όπου κάθε λέξη έχει τιμή εμπιστοσύνης (0–100). Μπορείτε να φιλτράρετε λέξεις κάτω από ένα όριο και να ζητήσετε από τον χρήστη χειροκίνητη επανεξέταση. +- **Πολλαπλές γλώσσες**: Αν χρειάζεται να **διαβάσετε χειρόγραφα σημειώματα** στα Αγγλικά και στα Ισπανικά, προσθέστε και τις δύο γλώσσες πριν καλέσετε `recognize()`. +- **Μεγάλα αρχεία**: Για πολυ‑σελίδες PDF ή TIFF, επαναλάβετε για κάθε σελίδα με `ocrEngine.setImage(pageStream)` μέσα σε βρόχο. + +## Μετατροπή Κειμένου Χειρόγραφης Εικόνας σε Δομημένα Δεδομένα + +Συχνά δεν χρειάζεστε μόνο μια ακατέργαστη συμβολοσειρά· ίσως θέλετε να εξάγετε ημερομηνίες, ποσά ή στοιχεία λίστας. Αφού έχετε το διορθωμένο κείμενο, κανονικές εκφράσεις ή βιβλιοθήκες NLP (όπως το Stanford CoreNLP) μπορούν να το αναλύσουν: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +Αυτό το απόσπασμα δείχνει πόσο εύκολο είναι να περάσετε από **μετατροπή κειμένου χειρόγραφης εικόνας** σε επεξεργάσιμα δεδομένα. + +## Συνηθισμένα Πόδια και Πώς να τα Αποφύγετε + +| Συμπτωμα | Πιθανή Αιτία | Διόρθωση | +|----------|--------------|----------| +| Παραμορφωμένο αποτέλεσμα, πολλοί χαρακτήρες `?` | Η εικόνα είναι πολύ σκοτεινή ή χαμηλής αντίθεσης | Αυξήστε τη φωτεινότητα ή προεπεξεργαστείτε με εξίσωση ιστογράμματος | +| Παραλείπονται λέξεις | Η γραφή είναι πολύ κυρτή | Ενεργοποιήστε `ocrEngine.getSettings().setEnableCursive(true)` (αν υποστηρίζεται) | +| Ο ελεγκτής ορθογραφίας εισάγει λανθασμένες λέξεις | Μη αντιστοιχία μοντέλου γλώσσας | Προσθέστε προσαρμοσμένο λεξικό μέσω `ocrEngine.getSpellChecker().addUserWords(...)` | +| Σφάλμα Out‑of‑memory σε μεγάλες εικόνες | Μέγεθος εικόνας > 10 MB | Μειώστε την ανάλυση πριν τη φόρτωση ή επεξεργαστείτε σε τμήματα | + +## Πλήρες Παράδειγμα Εργασίας (Αντιγραφή‑Επικόλληση) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Σημείωση**: Αν εκτελείτε τον κώδικα από IDE, βεβαιωθείτε ότι ο φάκελος `YOUR_DIRECTORY` βρίσκεται στο classpath ή χρησιμοποιήστε απόλυτη διαδρομή. + +--- + +## Συμπέρασμα + +Καλύψαμε **πώς να κάνετε OCR εικόνας** σε Java από την αρχή μέχρι το τέλος, δείχνοντας πώς να **φορτώνετε εικόνα για OCR**, **διαβάζετε χειρόγραφα σημειώματα**, ενεργοποιείτε διόρθωση ορθογραφίας, και τελικά **μετατρέπετε το κείμενο μιας χειρόγραφης εικόνας** σε μια καθαρή συμβολοσειρά. Η προσέγγιση είναι απλή, αλλά αρκετά ισχυρή για παραγωγικές εφαρμογές. + +Έτοιμοι για την επόμενη πρόκληση; Δοκιμάστε πολυ‑σελίδες PDF, προσθέστε προσαρμοσμένα λεξικά για ειδικούς όρους, ή τροφοδοτήστε το OCR αποτέλεσμα σε μοντέλο μηχανικής μάθησης για ανάλυση συναισθήματος. Ο ουρανός είναι το όριο όταν συνδυάζετε την ακρίβεια του Aspose OCR με την ευελιξία της Java. + +Έχετε ερωτήσεις για κάποια συγκεκριμένη περίπτωση ή θέλετε να μοιραστείτε πώς το ενσωματώσατε σε κινητή εφαρμογή; Αφήστε ένα σχόλιο παρακάτω—καλή προγραμματιστική! + +--- + +![παράδειγμα OCR εικόνας](/images/ocr-handwritten-example.png "παράδειγμα OCR εικόνας χειρόγραφων σημειωμάτων") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/java/ocr-basics/_index.md b/ocr/greek/java/ocr-basics/_index.md index 06fd762fc..b04727ca1 100644 --- a/ocr/greek/java/ocr-basics/_index.md +++ b/ocr/greek/java/ocr-basics/_index.md @@ -101,6 +101,14 @@ weight: 20 Βελτιώστε την ακρίβεια του OCR με το Aspose.OCR για Java. Μάθετε να υπολογίζετε γωνίες κλίσης βήμα‑βήμα. Αναβαθμίστε την επεξεργασία εγγράφων εύκολα. ### [Getting Rectangles with Text Areas in Aspose.OCR](./get-rectangles-with-text-areas/) Αποκτήστε τη δύναμη του Aspose.OCR για Java. Μάθετε πώς να εξάγετε κείμενο από εικόνες απρόσκοπτα σε αυτόν τον βήμα‑βήμα οδηγό. Κατεβάστε τώρα για αποδοτική αναγνώριση κειμένου. +### [Αναγνώριση κειμένου από PNG σε Java – Οδηγός Aspose OCR](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Μάθετε πώς να εξάγετε κείμενο από αρχεία PNG χρησιμοποιώντας το Aspose.OCR σε Java, βήμα‑βήμα οδηγίες για γρήγορη ενσωμάτωση. +### [Εξαγωγή κειμένου από εικόνα – μετατροπή PNG σε κείμενο σε Java](./extract-text-from-image-convert-png-to-text-in-java/) +Μάθετε πώς να μετατρέψετε εικόνες PNG σε κείμενο χρησιμοποιώντας το Aspose.OCR για Java, βήμα‑βήμα οδηγός. +### [Extract Text from Image in Java – Complete OCR Example](./extract-text-from-image-in-java-complete-ocr-example/) +Μάθετε πώς να εξάγετε κείμενο από εικόνα σε Java με ένα πλήρες παράδειγμα OCR, βήμα‑βήμα οδηγίες. +### [Εξαγωγή κειμένου από εικόνα με Aspose OCR – Γρήγορος οδηγός Java](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) +Μάθετε γρήγορα πώς να εξάγετε κείμενο από εικόνες χρησιμοποιώντας το Aspose OCR σε Java, βήμα‑βήμα οδηγίες. --- @@ -113,4 +121,4 @@ weight: 20 {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/greek/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..9aabdd5f3 --- /dev/null +++ b/ocr/greek/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,214 @@ +--- +category: general +date: 2026-02-19 +description: Εξαγωγή κειμένου από εικόνα με το Aspose OCR Java – μάθετε πώς να μετατρέπετε + PNG σε κείμενο, να φορτώνετε εικόνα για OCR και να ακολουθήσετε ένα tutorial OCR + σε Java. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: el +og_description: Εξάγετε κείμενο από εικόνα με το Aspose OCR Java. Ακολουθήστε αυτόν + τον βήμα‑βήμα οδηγό Java OCR για να μετατρέψετε PNG σε κείμενο και να φορτώσετε + την εικόνα για OCR. +og_title: Εξαγωγή κειμένου από εικόνα – Οδηγός Java OCR +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Εξαγωγή κειμένου από εικόνα – μετατροπή PNG σε κείμενο σε Java +url: /el/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# εξαγωγή κειμένου από εικόνα – Java OCR Tutorial + +Έχετε χρειαστεί ποτέ να **εξάγετε κείμενο από εικόνα** αλλά δεν ήξερες ποια βιβλιοθήκη θα το έκανε χωρίς πολύπλοκες διαδικασίες; Δεν είστε οι μόνοι—οι προγραμματιστές ρωτούν συνεχώς: «Πώς μπορώ να μετατρέψω ένα PNG σε κείμενο σε Java;» Τα καλά νέα είναι ότι το Aspose OCR κάνει όλη τη διαδικασία να μοιάζει με μια βόλτα στο πάρκο. Σε αυτόν τον οδηγό θα περάσουμε από ένα πλήρες **java ocr tutorial**, θα σας δείξουμε πώς να **φορτώσετε εικόνα για OCR**, και θα καταλήξουμε με καθαρό, αναζητήσιμο κείμενο. + +Θα καλύψουμε τα πάντα, από τη ρύθμιση της μηχανής μέχρι τη διαχείριση πολυγλωσσικού περιεχομένου, ώστε στο τέλος να μπορείτε να **εξάγετε κείμενο από εικόνα** αρχείων οποιουδήποτε μεγέθους, μορφής ή γλώσσας. Χωρίς εξωτερικές υπηρεσίες, χωρίς κλειδιά API—μόνο ένα JAR και μερικές γραμμές κώδικα. + +## Τι Θα Χρειαστείτε + +Πριν ξεκινήσουμε, βεβαιωθείτε ότι έχετε: + +- JDK 8 ή νεότερο εγκατεστημένο (ο κώδικας λειτουργεί και σε JDK 11+). +- Maven ή Gradle για να κατεβάσετε τη βιβλιοθήκη Aspose OCR, ή μπορείτε να κατεβάσετε το JAR χειροκίνητα από την ιστοσελίδα της Aspose. +- Μια εικόνα PNG που περιέχει κάποιο αναγνώσιμο κείμενο (για το παράδειγμά μας θα χρησιμοποιήσουμε `khmer-sign.png`). +- Ένα IDE ή επεξεργαστή κειμένου που προτιμάτε—IntelliJ IDEA, Eclipse, VS Code, όποιοδήποτε. + +Αυτό είναι όλο. Χωρίς βαριές βιβλιοθήκες, χωρίς διαπιστευτήρια cloud. Έτοιμοι; Ας αρχίσουμε να εξάγουμε κείμενο από αρχεία εικόνας. + +## Βήμα 1: Προσθήκη Aspose OCR στο Έργο Σας + +Πρώτα απ’ όλα—πρέπει να έχετε τη μηχανή OCR στο classpath. Αν χρησιμοποιείτε Maven, προσθέστε αυτήν την εξάρτηση στο `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Ή με Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Αν προτιμάτε τη χειροκίνητη προσέγγιση, κατεβάστε το JAR από τη σελίδα λήψης της Aspose και τοποθετήστε το στον φάκελο `libs` του έργου σας, έπειτα προσθέστε το στο build path. + +> **Pro tip:** Επιλέξτε πάντα την πιο πρόσφατη σταθερή έκδοση· παλαιότερες εκδόσεις μπορεί να λείπουν πακέτα γλωσσών ή διορθώσεις σφαλμάτων. + +## Βήμα 2: Δημιουργία Αντικειμένου OCR Engine + +Τώρα που η βιβλιοθήκη είναι διαθέσιμη, μπορούμε να δημιουργήσουμε ένα `OcrEngine`. Σκεφτείτε τη μηχανή ως τον εγκέφαλο που θα διαβάσει τα pixel και θα τα μετατρέψει σε χαρακτήρες. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Γιατί δημιουργούμε μια νέα μηχανή κάθε φορά; Η μηχανή κρατά εσωτερικές προσωρινές μνήμες και δεδομένα γλώσσας· η εκκίνηση από το μηδέν εγγυάται προβλέψιμα αποτελέσματα, ειδικά όταν αλλάζετε γλώσσες αργότερα. + +## Βήμα 3: Ενεργοποίηση της Επιθυμητής Γλώσσας (Προαιρετικό αλλά Συνιστάται) + +Το Aspose OCR έρχεται με δεκάδες πακέτα γλωσσών. Αν γνωρίζετε τη γλώσσα της πηγαίας εικόνας, ενεργοποιήστε την ρητά· αυτό επιταχύνει την αναγνώριση και βελτιώνει την ακρίβεια. Στο δείγμα μας θα ενεργοποιήσουμε τη Khmer (`khm`), αλλά μπορείτε να την αντικαταστήσετε με `ENG` για Αγγλικά, `CHN` για Κινέζικα κ.λπ. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Γιατί είναι σημαντικό:** Όταν **φορτώνετε εικόνα για OCR**, η μηχανή θα ψάξει μόνο στα ενεργοποιημένα λεξικά γλωσσών. Η ενεργοποίηση όλων των γλωσσών μπορεί να επιβραδύνει τη διαδικασία και να αυξήσει τα ψευδώς θετικά αποτελέσματα. + +## Βήμα 4: Φόρτωση Εικόνας για OCR – Μετατροπή PNG σε Κείμενο + +Εδώ συμβαίνει το βήμα **φορτώνετε εικόνα για OCR**. Το Aspose παρέχει το βολικό βοηθητικό `ImageStream.fromFile` που αφαιρεί τις λεπτομέρειες του χαμηλού επιπέδου I/O. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +Αν η εικόνα σας είναι σε άλλη μορφή (JPEG, BMP, TIFF), η ίδια μέθοδος λειτουργεί—το Aspose ανιχνεύει αυτόματα τη μορφή. Απλώς βεβαιωθείτε ότι η διαδρομή του αρχείου είναι σωστή· διαφορετικά θα αντιμετωπίσετε `FileNotFoundException`. + +## Βήμα 5: Εκτέλεση της Διαδικασίας OCR και Μετατροπή PNG σε Κείμενο + +Με τη μηχανή έτοιμη και την εικόνα φορτωμένη, η πραγματική αναγνώριση είναι μια κλήση μεθόδου. Το αντικείμενο αποτελέσματος σας δίνει το ακατέργαστο string καθώς και βαθμολογίες εμπιστοσύνης. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Αυτό είναι—μόλις **μετατρέψατε PNG σε κείμενο**. Η επιστρεφόμενη συμβολοσειρά μπορεί να περιέχει αλλαγές γραμμής και κενά ακριβώς όπως τα είδε η μηχανή. Μπορείτε να το επεξεργαστείτε με `trim()`, `replaceAll("\\s+", " ")` ή οποιονδήποτε άλλο καθαρισμό χρειάζεστε. + +## Βήμα 6: Εξαγωγή του Αποτελέσματος (ή Αποθήκευση) + +Για έναν γρήγορο έλεγχο, εκτυπώστε το αποτέλεσμα στην κονσόλα. Σε μια πραγματική εφαρμογή πιθανότατα θα το γράψετε σε αρχείο, βάση δεδομένων ή θα το περάσετε σε άλλη υπηρεσία. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Αναμενόμενο αποτέλεσμα** (για το παρατιθέμενο σήμα Khmer) μπορεί να μοιάζει με: + +``` +សួស្តី +Welcome +``` + +Αν το αποτέλεσμα είναι ακατάστατο, ελέγξτε ξανά ότι ενεργοποιήσατε τη σωστή γλώσσα στο Βήμα 3 και ότι η εικόνα δεν είναι πολύ θολή. Η αύξηση της ανάλυσης της εικόνας (π.χ., σάρωση 300 dpi) συχνά βοηθά. + +## Πλήρες Παράδειγμα Εργασίας + +Συνδυάζοντας όλα τα κομμάτια, εδώ είναι ένα αυτόνομο πρόγραμμα που μπορείτε να αντιγράψετε‑επικολλήσετε στο `ExtractTextExample.java` και να τρέξετε: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Τρέξτε το πρόγραμμα με: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +ή, αν χρησιμοποιείτε Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +Θα πρέπει να δείτε το εξαγόμενο κείμενο στην κονσόλα, επιβεβαιώνοντας ότι έχετε **εξάγει κείμενο από εικόνα** με επιτυχία χρησιμοποιώντας το Aspose OCR. + +## Συνηθισμένα Προβλήματα & Πώς να τα Διορθώσετε + +| Συμπτωμα | Πιθανή Αιτία | Διόρθωση | +|----------|--------------|----------| +| Επιστρέφεται κενό string | Δεν ενεργοποιήθηκε γλώσσα ή λανθασμένος κωδικός γλώσσας | Προσθέστε το κατάλληλο `OcrLanguage` (π.χ., `ENG` για Αγγλικά). | +| Χαρακτήρες ακατάστατοι | Πολύ χαμηλή ανάλυση εικόνας ή θορυβώδες φόντο | Χρησιμοποιήστε πηγή υψηλότερης ανάλυσης ή προεπεξεργασία με φίλτρο όξυνσης. | +| `OutOfMemoryError` | Πολύ μεγάλη εικόνα φορτωμένη σε πλήρες μέγεθος | Μειώστε την εικόνα πριν τη δώσετε στη μηχανή (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Λάθος διαδρομή | Επαληθεύστε την απόλυτη ή σχετική διαδρομή· χρησιμοποιήστε `Paths.get(...).toAbsolutePath()`. | + +> **Θυμηθείτε:** Το OCR είναι μια πιθανοκρατική διαδικασία. Ακόμη και με τέλειες ρυθμίσεις μπορεί να χρειαστεί να διορθώσετε μερικούς χαρακτήρες χειροκίνητα, ειδικά για καλλιγραφικά σενάρια. + +## Επέκταση του Οδηγού – Επόμενα Βήματα + +- **Επεξεργασία παρτίδας:** Επανάληψη σε έναν φάκελο PNG αρχείων, καλώντας την ίδια λογική για κάθε εικόνα. +- **Έξοδος PDF:** Χρησιμοποιήστε το Aspose PDF για να ενσωματώσετε το εξαγόμενο κείμενο σε ένα αναζητήσιμο PDF. +- **Ανίχνευση γλώσσας:** Καλέστε `ocrEngine.detectLanguage()` πριν ορίσετε γλώσσα ώστε η μηχανή να προβλέψει αυτόματα. +- **Ενσωμάτωση cloud:** Αν χρειάζεστε κλιμάκωση, τυλίξτε τον κώδικα σε ένα REST endpoint και αφήστε μικρο‑υπηρεσίες να το καλέσουν. + +Όλα αυτά τα θέματα βασίζονται φυσικά στο **java ocr tutorial** που μόλις ολοκληρώσαμε, και δείχνουν πόσο ευέλικτο είναι το Aspose OCR API. + +## Συμπέρασμα + +Διασχίσαμε ένα πλήρες **java ocr tutorial** που σας επιτρέπει να **εξάγετε κείμενο από εικόνα**, να **μετατρέψετε PNG σε κείμενο**, και να **φορτώνετε εικόνα για OCR** χρησιμοποιώντας το Aspose OCR. Τα βήματα είναι απλά: προσθέστε τη βιβλιοθήκη, δημιουργήστε μια μηχανή, ενεργοποιήστε τη σωστή γλώσσα, φορτώστε το PNG, καλέστε `recognize()` και διαχειριστείτε το αποτέλεσμα. Με αυτή τη βάση μπορείτε να αυτοματοποιήσετε την εισαγωγή δεδομένων, να δημιουργήσετε αναζητήσιμα αρχεία ή να τροφοδοτήσετε οποιαδήποτε εφαρμογή χρειάζεται κείμενο από εικόνες. + +Δοκιμάστε το με τις δικές σας εικόνες—ίσως ένα στιγμιότυπο από απόδειξη ή ένα σαρωμένο συμβόλαιο. Ρυθμίστε τις γλώσσες, πειραματιστείτε με την ανάλυση, και θα δείτε πόσο ευέλικτη είναι η λύση. Αν αντιμετωπίσετε δυσκολίες, επιστρέψτε στον πίνακα προβλημάτων ή ελέγξτε την επίσημη τεκμηρίωση της Aspose· είναι λεπτομερής και ενημερωμένη. + +Καλή προγραμματιστική, και εύχομαι το επόμενο έργο σας να είναι γεμάτο καθαρό, αναζητήσιμο κείμενο! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/greek/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..fa3841437 --- /dev/null +++ b/ocr/greek/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,149 @@ +--- +category: general +date: 2026-02-19 +description: Εξαγωγή κειμένου από εικόνα χρησιμοποιώντας Java OCR. Μάθετε ένα παράδειγμα + Java OCR που φορτώνει μια εικόνα για OCR και εξάγει κείμενο από αρχεία τιμολογίων + σε λίγα μόνο βήματα. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: el +og_description: Εξαγωγή κειμένου από εικόνα χρησιμοποιώντας Java OCR. Αυτός ο οδηγός + δείχνει πώς να φορτώσετε εικόνα για OCR και να εξάγετε κείμενο από τιμολόγια με + ένα απλό παράδειγμα Java OCR. +og_title: Εξαγωγή κειμένου από εικόνα σε Java – Πλήρες παράδειγμα OCR +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Εξαγωγή κειμένου από εικόνα σε Java – Πλήρες παράδειγμα OCR +url: /el/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Εξαγωγή Κειμένου από Εικόνα σε Java – Πλήρες Παράδειγμα OCR + +Κάποτε χρειάστηκε να **εξάγετε κείμενο από εικόνα** αλλά δεν ήξερατε ποια βιβλιοθήκη να επιλέξετε; Δεν είστε μόνοι—πολλοί προγραμματιστές συναντούν αυτό το εμπόδιο όταν αυτοματοποιούν την επεξεργασία τιμολογίων ή δημιουργούν αρχεία με δυνατότητα αναζήτησης. Τα καλά νέα; Με λίγες γραμμές Java μπορείτε να φορτώσετε μια εικόνα για OCR, να ορίσετε μια περιοχή ενδιαφέροντος και να εξάγετε το ακριβές κείμενο που χρειάζεστε. + +Σε αυτό το tutorial θα περάσουμε από ένα **java ocr example** που δείχνει ακριβώς πώς να **φορτώσετε εικόνα για OCR**, να ορίσετε ROI και να **εξάγετε κείμενο από τιμολόγια** χρησιμοποιώντας το Aspose.OCR. Στο τέλος θα έχετε ένα εκτελέσιμο πρόγραμμα που μπορείτε να ενσωματώσετε σε οποιοδήποτε έργο Java. + +## Τι Θα Μάθετε + +- Πώς να δημιουργήσετε μια παρουσία `OcrEngine` και γιατί είναι σημαντικό. +- Τον σωστό τρόπο **φόρτωσης εικόνας για OCR** με το `ImageStream` της Aspose. +- Ορισμός **περιοχής ενδιαφέροντος (ROI)** ώστε να επεξεργάζεστε μόνο το τμήμα της εικόνας που περιέχει το ποσό του τιμολογίου. +- Εξαγωγή του αναγνωρισμένου κειμένου και εκτύπωση του στην κονσόλα. +- Συνηθισμένα προβλήματα (π.χ. λανθασμένες συντεταγμένες ορθογωνίου) και γρήγορες λύσεις. + +**Προαπαιτούμενα** + +- Java 8 ή νεότερη εγκατεστημένη. +- Maven ή Gradle για λήψη της βιβλιοθήκης Aspose.OCR (`com.aspose:aspose-ocr`). +- Ένα δείγμα εικόνας τιμολογίου (`invoice.png`) τοποθετημένο σε γνωστό φάκελο. + +Τα έχετε όλα; Τέλεια—ας ξεκινήσουμε. + +![Εξαγωγή κειμένου από εικόνα χρησιμοποιώντας Java OCR](/images/extract-text-from-image-java.png "παράδειγμα εξαγωγής κειμένου από εικόνα") + +## Εξαγωγή Κειμένου από Εικόνα – Βήμα‑βήμα Παράδειγμα Java OCR + +Παρακάτω βρίσκεται ο πλήρης κώδικας. Μπορείτε να τον αντιγράψετε‑και‑επικολλήσετε στο `RoiOcrExample.java` και να τον εκτελέσετε απευθείας. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Γιατί Κάθε Βήμα Είναι Σημαντικό + +1. **Δημιουργία του κινητήρα OCR** – χωρίς κινητήρα δεν υπάρχει πλαίσιο για επεξεργασία εικόνας. Το αντικείμενο επιτρέπει επίσης την προσαρμογή πακέτων γλώσσας αν χρειάζεστε υποστήριξη πολλαπλών γλωσσών. +2. **Φόρτωση της εικόνας** – `ImageStream.fromFile` αφαιρεί την ανάγκη να γνωρίζετε τη μορφή αρχείου, εξασφαλίζοντας ότι ο κινητήρας διαβάζει τα bytes σωστά. Αν παραλείψετε αυτό το βήμα, θα λάβετε `NullPointerException`. +3. **Ορισμός του ROI** – η επεξεργασία ολόκληρης της σελίδας μπορεί να είναι σπατάλη πόρων. Συμπτυσσόντας το ορθογώνιο στην περιοχή του συνολικού ποσού, επιταχύνετε την αναγνώριση και μειώνετε το θόρυβο. +4. **Κλήση του `recognize()`** – εδώ συμβαίνει η μαγεία. Η μέθοδος εκτελεί τον αλγόριθμο OCR πάνω στο ROI και παράγει ένα αντικείμενο αποτελέσματος. +5. **Εκτύπωση του αποτελέσματος** – σε πραγματικά έργα πιθανότατα θα αποθηκεύσετε το κείμενο σε βάση δεδομένων, αλλά το `System.out.println` είναι τέλειο για μια γρήγορη επίδειξη. + +## Φόρτωση Εικόνας για OCR + +Αν αναρωτιέστε αν η διαδρομή πρέπει να είναι απόλυτη ή σχετική, η απάντηση είναι ότι και οι δύο λειτουργούν—απλώς βεβαιωθείτε ότι η διαδικασία Java μπορεί να διαβάσει το αρχείο. Σε Windows, οι ανάστροφοι καθέτους πρέπει να διαφύγουν (`C:\\images\\invoice.png`) ή μπορείτε να χρησιμοποιήσετε μπροστινούς (`C:/images/invoice.png`). + +**Συμβουλή:** Αν επεξεργάζεστε πολλά τιμολόγια σε βρόχο, επαναχρησιμοποιήστε την ίδια παρουσία `OcrEngine`; αυτό αποθηκεύει εσωτερικούς πόρους στην κρυφή μνήμη και βελτιώνει το throughput. + +## Ορισμός Περιοχής Ενδιαφέροντος (ROI) + +Η επιλογή του σωστού ορθογωνίου μπορεί να απαιτήσει δοκιμές. Ένας πρακτικός τρόπος για να βρείτε τις συντεταγμένες είναι να ανοίξετε την εικόνα σε οποιονδήποτε επεξεργαστή γραφικών (όπως GIMP ή Paint.NET) και να περάσετε το ποντίκι πάνω στην περιοχή—θα δείτε τις τιμές X/Y στη γραμμή κατάστασης. + +Ακραία περίπτωση: κάποια τιμολόγια έχουν μεταβλητές διατάξεις. Σε αυτήν την περίπτωση μπορείτε να κάνετε μια γρήγορη προ‑σάρωση ολόκληρης της εικόνας, να εντοπίσετε λέξεις-κλειδιά όπως “Total:” με regex, και στη συνέχεια να προσαρμόσετε το ROI δυναμικά. + +## Εκτέλεση OCR και Λήψη Κειμένου + +Η κλήση `recognize()` είναι συγχρονική—το νήμα σας μπλοκάρεται μέχρι να ολοκληρωθεί ο κινητήρας. Για μεγάλες παρτίδες ίσως θελήσετε να δημιουργήσετε μια ομάδα νημάτων και να επεξεργάζεστε εικόνες παράλληλα. Θυμηθείτε ότι κάθε νήμα χρειάζεται τη δική του παρουσία `OcrEngine`; δεν είναι thread‑safe. + +## Εκτέλεση και Επαλήθευση Αποτελέσματος + +Συμπιέστε και τρέξτε: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +Θα πρέπει να δείτε κάτι σαν: + +``` +ROI text: $1,254.00 +``` + +Αν το αποτέλεσμα είναι ακατάληπτο, ελέγξτε ξανά τις συντεταγμένες ROI και βεβαιωθείτε ότι η ποιότητα της εικόνας είναι υψηλή (300 dpi ή περισσότερο είναι ιδανικό). + +### Συνηθισμένα Προβλήματα & Πώς να Τα Διορθώσετε + +| Συμπτωμα | Πιθανή Αιτία | Διόρθωση | +|---------|--------------|----------| +| Κενή συμβολοσειρά | ROI εκτός ορίων εικόνας | Επαληθεύστε τις τιμές του ορθογωνίου έναντι των διαστάσεων της εικόνας | +| Λάθος λέξεις | Χαμηλή ανάλυση | Χρησιμοποιήστε πηγή υψηλότερης ανάλυσης ή εφαρμόστε προεπεξεργασία εικόνας (π.χ. δυαδικοποίηση) | +| `java.lang.NoClassDefFoundError` | Λείπει το JAR της Aspose στο classpath | Προσθέστε `aspose-ocr.jar` στο `-cp` ή χρησιμοποιήστε Maven/Gradle για διαχείριση εξαρτήσεων | + +## Συμπέρασμα + +Τώρα ξέρετε πώς να **εξάγετε κείμενο από εικόνα** σε Java χρησιμοποιώντας ένα σύντομο **java ocr example**. Φορτώνοντας σωστά την εικόνα, ορίζοντας ένα εστιασμένο ROI και καλώντας το `recognize()`, μπορείτε αξιόπιστα **να εξάγετε κείμενο από τιμολόγια** και να τροφοδοτήσετε αυτά τα δεδομένα σε downstream συστήματα. + +Τι ακολουθεί; Δοκιμάστε να αλλάξετε το ROI για διαφορετικά πεδία (ημερομηνία, όνομα προμηθευτή), πειραματιστείτε με πακέτα γλώσσας για πολύγλωσσα τιμολόγια, ή ενσωματώστε το βήμα OCR σε μικροϋπηρεσία Spring Boot. Το ίδιο μοτίβο λειτουργεί για αποδείξεις, διαβατήρια ή οποιοδήποτε έγγραφο όπου χρειάζεστε ακριβή εξαγωγή κειμένου. + +Αν έχετε ερωτήσεις σχετικά με την κλιμάκωση αυτής της λύσης ή την αντιμετώπιση θορυβωδών σκαναρισμάτων, αφήστε ένα σχόλιο παρακάτω—καλή προγραμματιστική! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/greek/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..16199f47e --- /dev/null +++ b/ocr/greek/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-02-19 +description: Εξάγετε κείμενο από εικόνα σε Java χρησιμοποιώντας το Aspose OCR. Μάθετε + πώς να αναγνωρίζετε κείμενο από PNG, να μετατρέπετε την εικόνα σε συμβολοσειρά και + να διαβάζετε κείμενο από σάρωση σε λίγα μόνο βήματα. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: el +og_description: Εξαγάγετε κείμενο από εικόνα γρήγορα. Αυτό το σεμινάριο δείχνει πώς + να αναγνωρίζετε κείμενο από PNG, να μετατρέπετε την εικόνα σε συμβολοσειρά και να + διαβάζετε κείμενο από σάρωση χρησιμοποιώντας το Aspose OCR. +og_title: Εξαγωγή κειμένου από εικόνα με Aspose OCR – Οδηγός Java +tags: +- Java +- OCR +- Aspose +title: Εξαγωγή κειμένου από εικόνα με Aspose OCR – Γρήγορος οδηγός Java +url: /el/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +", etc. + +Make sure to keep the same markdown formatting. + +Let's produce the translated content. + +We need to keep Greek RTL? Not needed; Greek is LTR. + +Proceed. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Εξαγωγή Κειμένου από Εικόνα – Πλήρες Java Tutorial + +Κάποτε χρειάστηκε να **εξάγετε κείμενο από εικόνα** αλλά δεν ήξερες ποια βιβλιοθήκη να επιλέξεις; Ίσως έχεις μια σαρωμένη απόδειξη σε μορφή PNG και θέλεις το κείμενο ως απλό string για περαιτέρω επεξεργασία. Από την εμπειρία μου, η βιβλιοθήκη Aspose OCR κάνει αυτή τη δουλειά παιχνιδάκι, ειδικά όταν δουλεύεις με Java. + +Σε αυτόν τον οδηγό θα περάσουμε από όλα όσα χρειάζεται να ξέρεις: από τη ρύθμιση της εξάρτησης Aspose OCR, τη φόρτωση ενός αρχείου PNG, **αναγνώριση κειμένου από png**, μέχρι τη μετατροπή του αποτελέσματος σε ένα χρήσιμο Java `String`. Στο τέλος θα μπορείς να **μετατρέψεις εικόνα σε string**, και θα δεις επίσης πώς να **διαβάσεις κείμενο από scan** αρχεία χωρίς κόπο. + +## Τι Θα Μάθεις + +- Πώς να προσθέσεις το Aspose OCR σε ένα έργο Maven ή Gradle. +- Τον ακριβή κώδικα που απαιτείται για **εξαγωγή κειμένου από εικόνα** με μία μόνο κλήση μεθόδου. +- Γιατί η κλάση `ImageStream` είναι η προτιμώμενη μέθοδος τροφοδοσίας δεδομένων στη μηχανή. +- Συμβουλές για διαχείριση μεγάλων σαρώσεων, πολυ‑σελίδων PDF και κοινών παγίδων. + +Δεν απαιτείται προηγούμενη εμπειρία OCR, μόνο βασική κατανόηση της Java και ένα PNG που θέλεις να επεξεργαστείς. + +## Προαπαιτούμενα + +| Απαίτηση | Λόγος | +|-------------|--------| +| Java 8 ή νεότερη | Το Aspose OCR στοχεύει σε Java 8+. | +| Maven ή Gradle (προαιρετικό) | Απλοποιεί τη διαχείριση εξαρτήσεων. | +| Μια εικόνα PNG (π.χ., `quick.png`) | Η πηγή που θα τρέξουμε OCR. | +| Πρόσβαση στο Internet (πρώτη εκτέλεση) | Η βιβλιοθήκη μπορεί να κατεβάσει αυτόματα πακέτα γλώσσας. | + +Αν ήδη έχεις ένα IDE Java όπως IntelliJ IDEA ή Eclipse, είσαι έτοιμος να ξεκινήσεις. + +--- + +## Βήμα 1: Ρύθμιση Aspose OCR στο Έργο Σου + +### Maven + +Πρόσθεσε την παρακάτω εξάρτηση στο `pom.xml` σου: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro tip:** Αν χρησιμοποιείς εταιρικό proxy, βεβαιώσου ότι το Maven/Gradle μπορεί να φτάσει στο `repo.maven.apache.org`. Διαφορετικά η κατασκευή θα αποτύχει πριν γράψεις και μια γραμμή κώδικα. + +--- + +## Βήμα 2: Φόρτωση της Εικόνας PNG + +Η κλάση `ImageStream` αφαιρεί τις λεπτομέρειες του συστήματος αρχείων και λειτουργεί με streams, URLs ή byte arrays. Να πώς φορτώνεις ένα τοπικό PNG: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Why this matters:** Η χρήση του `ImageStream.fromFile` εγγυάται ότι η μηχανή OCR λαμβάνει την εικόνα σε μορφή που καταλαβαίνει πλήρως, βελτιώνοντας την ακρίβεια αναγνώρισης σε σχέση με την τροφοδοσία ακατέργαστων byte arrays. + +--- + +## Βήμα 3: Αναγνώριση Κειμένου από PNG + +Το Aspose OCR εκθέτει μια μοναδική static μέθοδο που κάνει το σκληρό έργο: `OcrEngine.recognize`. Επιστρέφει ένα απλό Java `String`, που είναι ακριβώς ό,τι χρειάζεσαι όταν θέλεις να **μετατρέψεις εικόνα σε string**. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### Τι Συμβαίνει Πίσω από τη Σκηνή; + +1. **Προεπεξεργασία:** Η μηχανή διορθώνει αυτόματα την κλίση της εικόνας και κανονικοποιεί την αντίθεση. +2. **Ανίχνευση Γλώσσας:** Αν δεν καθορίσεις γλώσσα, το Aspose προσπαθεί να τη συμπεράνει, κάτι χρήσιμο για γρήγορες σαρώσεις. +3. **Αναγνώριση:** Ο πυρήνας OCR τρέχει ένα νευρωνικό μοντέλο εκπαιδευμένο σε εκατομμύρια χαρακτήρες. + +Επειδή όλα αυτά είναι ενσωματωμένα σε μία κλήση, δεν χρειάζεται να παίζεις με ρυθμίσεις χαμηλού επιπέδου εκτός αν έχεις πολύ εξειδικευμένη περίπτωση χρήσης. + +--- + +## Βήμα 4: Εμφάνιση και Χρήση του Εξαγόμενου String + +Τώρα που έχεις το κείμενο, μπορείς να το εκτυπώσεις, να το αποθηκεύσεις σε βάση δεδομένων ή να το δώσεις σε άλλο API. Η πιο απλή μέθοδος—απλώς `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Αναμενόμενη Έξοδος + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Note:** Η ακριβής έξοδος εξαρτάται από το περιεχόμενο του `quick.png`. Αν η εικόνα περιέχει χειρόγραφο σημείωμα, μπορεί να δεις κάποιες λανθασμένες αναγνώσεις—τίποτα που δεν μπορεί να διορθωθεί με λίγη μετα-επεξεργασία. + +--- + +## Βήμα 5: Διαχείριση Συνηθισμένων Edge Cases + +### Μεγάλες Σαρώσεις ή Πολυ‑σελίδες PDF + +Αν χρειάζεται να **διαβάσεις κείμενο από scan** αρχεία που είναι μεγαλύτερα από ένα τυπικό PNG, σκέψου: + +- Διαίρεση της εικόνας σε τμήματα (`ImageStream.fromRegion`). +- Χρήση του `OcrEngine.recognizeMultiplePages` για εισόδους PDF. + +### Μη‑Αγγλικές Γλώσσες + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Συμβουλές Απόδοσης + +- Επανάχρησε την ίδια παρουσία `OcrEngine` για πολλαπλές εικόνες ώστε να αποφύγεις επαναλαμβανόμενη αρχικοποίηση. +- Για επεξεργασία σε παρτίδες, ενεργοποίησε πολυ‑νηματισμό αλλά περιορίστε τα νήματα στον αριθμό των πυρήνων CPU για να αποφύγεις υπερβολική χρήση μνήμης. + +--- + +## Πλήρες Παράδειγμα Εργασίας + +Παρακάτω είναι η πλήρης, έτοιμη‑για‑εκτέλεση κλάση Java. Αντέγραψε‑επικόλλησέ το στο IDE σου, προσαρμόζοντας τη διαδρομή της εικόνας, και πάτα **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +Η εκτέλεση αυτού του προγράμματος εκτυπώνει το αποτέλεσμα OCR στην κονσόλα, μετατρέποντας αποτελεσματικά **την εικόνα σε string** σε λίγες μόνο γραμμές κώδικα. + +--- + +## Συμπέρασμα + +Τώρα ξέρεις πώς να **εξάγεις κείμενο από εικόνα** σε Java χρησιμοποιώντας το Aspose OCR. Η διαδικασία περιορίζεται σε τρία απλά βήματα: φόρτωση του PNG, κλήση του `OcrEngine.recognize`, και χρήση του προκύπτοντος string. Είτε προσπαθείς να **αναγνωρίσεις κείμενο από png**, **μετατρέψεις εικόνα σε string**, είτε απλώς **διαβάσεις κείμενο από scan** έγγραφα, αυτή η προσέγγιση σου προσφέρει μια αξιόπιστη, έτοιμη‑για‑παραγωγή λύση. + +Έτοιμος για την επόμενη πρόκληση; Δοκίμασε να τροφοδοτήσεις έναν φάκελο με σαρωμένες αποδείξεις σε βρόχο, αποθήκευσε κάθε αποτέλεσμα σε CSV, ή πειραματίσου με ρυθμίσεις γλώσσας για να βελτιώσεις την ακρίβεια σε μη‑Αγγλικά κείμενα. Ο ουρανός είναι το όριο, και ο κώδικας που μόλις έγραψες είναι μια σταθερή βάση. + +Καλή προγραμματιστική, και μη διστάσεις να αφήσεις ερωτήσεις στα σχόλια—θα χαρώ να βοηθήσω! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/greek/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..c4cb4f053 --- /dev/null +++ b/ocr/greek/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,228 @@ +--- +category: general +date: 2026-02-19 +description: αναγνωρίστε κείμενο από PNG σε Java χρησιμοποιώντας Aspose OCR – μάθετε + πώς να εξάγετε κείμενο από εικόνα Java και να επεξεργάζεστε την εικόνα με OCR αποδοτικά. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: el +og_description: Αναγνωρίστε κείμενο από PNG σε Java με Aspose OCR. Αυτό το σεμινάριο + δείχνει πώς να εξάγετε κείμενο από εικόνα Java και να επεξεργαστείτε την εικόνα + με OCR βήμα-βήμα. +og_title: Αναγνώριση κειμένου από PNG σε Java – Πλήρης Οδηγός Aspose OCR +tags: +- OCR +- Java +- Image Processing +title: Αναγνώριση κειμένου από PNG σε Java – Εκπαιδευτικό σεμινάριο Aspose OCR +url: /el/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +to recognize text from png using Aspose OCR". Should translate alt? The instruction: translate ALL text content naturally to Greek. Alt text is text content, so translate it. Title attribute also text, translate. But keep the markdown syntax. + +Also headings translate. + +Let's produce. + +We need to keep code block placeholders unchanged. + +Proceed. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Αναγνώριση κειμένου από PNG σε Java – Πλήρης Οδηγός Aspose OCR + +Έχετε χρειαστεί ποτέ να **αναγνωρίσετε κείμενο από PNG** αλλά δεν ήξερες ποια βιβλιοθήκη να επιλέξετε; Δεν είστε μόνοι—πολλοί προγραμματιστές Java αντιμετωπίζουν αυτό το πρόβλημα όταν προσπαθούν για πρώτη φορά να εξάγουν δεδομένα από εικόνες. Τα καλά νέα είναι ότι το Aspose OCR κάνει όλη τη διαδικασία σχεδόν άνετη, και σε αυτόν τον οδηγό θα δείτε ακριβώς πώς να **εξάγετε κείμενο από εικόνα java** έργα ενώ **επεξεργάζεστε εικόνα με OCR** με ασφαλή τρόπο για νήματα. + +Στις επόμενες λίγες λεπτά θα δημιουργήσουμε ένα μικρό πρόγραμμα Java που φορτώνει ένα PNG, εκτελεί OCR στην CPU χρησιμοποιώντας έως και οκτώ νήματα, και εκτυπώνει τη αναγνωρισμένη συμβολοσειρά στην κονσόλα. Χωρίς εξωτερικές υπηρεσίες, χωρίς μυστικά κλειδιά API—απλός κώδικας Java που μπορείτε να αντιγράψετε‑επικολλήσετε και να τρέξετε σήμερα. + +## Τι Θα Χρειαστείτε + +- **Java 17** ή νεότερη (ο κώδικας μεταγλωττίζεται και με παλαιότερες εκδόσεις, αλλά η 17 είναι η ιδανική). +- **Aspose.OCR for Java** JAR (λήψη από την ιστοσελίδα της Aspose ή μέσω Maven). +- Ένα PNG αρχείο που θέλετε να διαβάσετε—π.χ. `document-page1.png` αποθηκευμένο κάπου στο δίσκο. +- Το αγαπημένο σας IDE ή έναν απλό επεξεργαστή κειμένου και ένα τερματικό. + +Αυτό είναι όλο. Αν έχετε αυτά, μπορούμε να βυθίσουμε κατευθείαν στη λύση. + +![Java code to recognize text from png using Aspose OCR](image-placeholder.png "αναγνώριση κειμένου από png παράδειγμα Java"){alt="Κώδικας Java για αναγνώριση κειμένου από PNG χρησιμοποιώντας Aspose OCR"} + +## Βήμα‑βήμα: αναγνώριση κειμένου από PNG + +Παρακάτω χωρίζουμε την υλοποίηση σε σαφή, διαχειρίσιμα τμήματα. Κάθε τμήμα είναι μια επικεφαλίδα H2, ώστε να μπορείτε να μεταβείτε απευθείας στο μέρος που σας ενδιαφέρει. + +### 1. Προσθήκη Aspose OCR στο Έργο Σας + +**Γιατί;** Η μηχανή OCR βρίσκεται μέσα στη βιβλιοθήκη Aspose· χωρίς αυτήν ο μεταγλωττιστής δεν θα ξέρει τι είναι το `OcrEngine`. + +Αν χρησιμοποιείτε Maven, προσθέστε αυτό το απόσπασμα στο `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Για Gradle, είναι ως εξής: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Συμβουλή:** Πάντα ελέγχετε τον πιο πρόσφατο αριθμό έκδοσης· οι νεότερες κυκλοφορίες συχνά φέρνουν βελτιώσεις απόδοσης για πολυ‑νηματική επεξεργασία. + +### 2. Δημιουργία και Ρύθμιση της Μηχανής OCR + +**Γιατί;** Η δημιουργία ενός `OcrEngine` σας δίνει ένα έτοιμο προς χρήση αντικείμενο, και η ρύθμιση των παραμέτρων της συσκευής σας επιτρέπει να αξιοποιήσετε όλους τους πυρήνες CPU που έχετε. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Εδώ ορίζουμε ρητά τη συσκευή σε `CPU`. Αν αργότερα μεταβείτε σε περιβάλλον με GPU, απλώς αλλάξτε την τιμή του enum—δεν χρειάζεται άλλη αλλαγή κώδικα. + +### 3. Φόρτωση της Εικόνας PNG + +**Γιατί;** Το OCR λειτουργεί πάνω σε ροή εικόνας, όχι απευθείας σε διαδρομή αρχείου. Η μετατροπή του αρχείου σε `ImageStream` αφαιρεί την εξάρτηση από τη μορφή. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Αντικαταστήστε το `YOUR_DIRECTORY` με το πραγματικό φάκελο. Αν το αρχείο δεν βρεθεί, η μηχανή θα ρίξει `IOException`, το οποίο θα πιάσουμε αργότερα. + +### 4. Εκτέλεση Αναγνώρισης και Λήψη Αποτελέσματος + +**Γιατί;** Η μέθοδος `recognize()` κάνει το βαρέως βάρους έργο—ανίχνευση χαρακτήρων, γραμμών και διάταξης. Το επιστρεφόμενο `OcrResult` περιέχει το απλό κείμενο. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Μπορείτε επίσης να ζητήσετε αποτέλεσμα σε `Pdf` ή `Html`, αλλά για τον σκοπό του **extract text from image java** παραμένουμε στο απλό κείμενο. + +### 5. Εξαγωγή του Κειμένου και Καθαρισμός + +**Γιατί;** Ένα απλό `System.out.println` αρκεί για επίδειξη, αλλά σε πραγματική εφαρμογή πιθανότατα θα γράψετε σε αρχείο ή βάση δεδομένων. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +Επειδή το `OcrEngine` υλοποιεί το `AutoCloseable`, είναι καλή πρακτική να τυλίξετε τα πάντα σε μπλοκ `try‑with‑resources`. Αυτό εξασφαλίζει ότι οι εγγενείς πόροι απελευθερώνονται άμεσα. + +### 6. Πλήρες, Εκτελέσιμο Παράδειγμα + +Συνδυάζοντας όλα τα παραπάνω, ορίστε το πλήρες πρόγραμμα που μπορείτε να μεταγλωττίσετε και να τρέξετε: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Αναμενόμενη έξοδος** (υποθέτοντας ότι το PNG περιέχει “Hello World”): + +``` +=== OCR Result === +Hello World +``` + +Αν η εικόνα είναι πιο σύνθετη—πολλές γραμμές, πίνακες ή χειρόγραφες σημειώσεις—η έξοδος θα αντανακλά ακριβώς ό,τι ανιχνεύει το Aspose OCR, διατηρώντας τις αλλαγές γραμμής όπου χρειάζεται. + +## Συχνές Ερωτήσεις & Ακραίες Περιπτώσεις + +### Τι γίνεται αν το PNG είναι τεράστιο; + +Μεγάλες εικόνες μπορούν να καταναλώσουν πολύ μνήμη. Μια πρακτική λύση είναι να **μειώσετε την ανάλυση** της εικόνας πριν τη δώσετε στη μηχανή: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +Η μείωση της ανάλυσης μειώνει το φορτίο της CPU χωρίς να θυσιάζει την ακρίβεια του OCR για τις περισσότερες τυπωμένες γραμματοσειρές. + +### Μπορώ να τρέξω OCR σε PDF αντί για PNG; + +Απολύτως. Το Aspose OCR δέχεται επίσης PDFs μέσω αντικειμένων `PdfDocument`. Η ίδια κλήση `recognize()` λειτουργεί, ώστε να μπορείτε να **process image with OCR** ανεξαρτήτως μορφής πηγής. + +### Πώς βελτιώνω την ακρίβεια για μη‑λατινικά αλφάβητα; + +Ορίστε τη γλώσσα πριν την αναγνώριση: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Το Aspose παρέχει δεκάδες πακέτα γλωσσών· απλώς επιλέξτε αυτό που ταιριάζει στο περιεχόμενο της εικόνας σας. + +### Είναι πάντα ωφέλιμος ο αριθμός των νημάτων; + +Περισσότερα νήματα επιταχύνουν την επεξεργασία σε πολυπύρηνους επεξεργαστές, αλλά πέρα από τον αριθμό των φυσικών πυρήνων θα δείτε μειωμένα οφέλη. Αν παρατηρήσετε υψηλότερη χρήση CPU χωρίς ανάλογη αύξηση ταχύτητας, μειώστε τον αριθμό σε `Runtime.getRuntime().availableProcessors()`. + +## Συμπέρασμα: Τι Καταφέραμε + +Μόλις **αναγνωρίσαμε κείμενο από PNG** χρησιμοποιώντας ένα σύντομο πρόγραμμα Java, δείξαμε πώς να **extract text from image java** με Aspose OCR, και καλύψαμε τα βασικά βήματα για **process image with OCR** σε παραγωγικό επίπεδο. Ο κώδικας είναι αυτόνομος, οι εξηγήσεις απαντούν τόσο στο “πώς” όσο και στο “γιατί”, και οι συμβουλές αντιμετωπίζουν τα τυπικά προβλήματα που μπορεί να συναντήσετε. + +## Τι Ακολουθεί; + +- **Επεξεργασία παρτίδας:** Επανάληψη σε έναν φάκελο PNG και αποθήκευση κάθε αποτελέσματος σε αρχείο `.txt`. +- **Δημιουργία PDF:** Χρήση της εξόδου OCR με Aspose.PDF για δημιουργία αναζητήσιμων PDF. +- **Κλιμάκωση στο Cloud:** Ανάπτυξη του ίδιου κώδικα σε κοντέινερ που διαχειρίζεται Kubernetes και αφήστε το thread pool να προσαρμοστεί στους πόρους του pod. + +Πειραματιστείτε—αλλάξτε την εικόνα, προσαρμόστε τον αριθμό νημάτων ή αλλάξτε γλώσσες. Η μηχανή 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/java/ocr-operations/_index.md b/ocr/greek/java/ocr-operations/_index.md index 6367d21ae..6cba3223b 100644 --- a/ocr/greek/java/ocr-operations/_index.md +++ b/ocr/greek/java/ocr-operations/_index.md @@ -50,8 +50,6 @@ weight: 21 Είτε πρόκειται για πολυγλωσσικά έγγραφα είτε για συγκεκριμένες απαιτήσεις γλώσσας, αυτό το tutorial σας δίνει τη δυνατότητα να εξάγετε κείμενο με ακρίβεια στόχευσης. Πείτε αντίο στην εικασία και καλωσορίστε την ακρίβεια. -[Discover Language Selection Tutorial](./perform-ocr-language-selection/) - ## OCR Αναγνώριση Εγγράφων PDF στο Aspose.OCR για Java Ανοίξτε με ευκολία τη δύναμη του OCR σε Java με το Aspose.OCR. Το tutorial μας για την αναγνώριση κειμένου σε έγγραφα PDF σας οδηγεί σε μια αδιάσπαστη ενσωμάτωση. Ενισχύστε τις εφαρμογές σας με την ακρίβεια και την ταχύτητα που απαιτούνται για τη διαχείριση κειμένου σε PDF. @@ -81,6 +79,10 @@ weight: 21 Αποκτήστε ισχυρή αναγνώριση κειμένου σε Java με το Aspose.OCR. Αναγνωρίστε κείμενο σε εικόνες TIFF άψογα. Κατεβάστε το τώρα για μια αδιάσπαστη εμπειρία OCR. ### [recognize text image with Aspose OCR – Full Java OCR Tutorial](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Αποκτήστε πλήρη καθοδήγηση για την αναγνώριση κειμένου από εικόνες με το Aspose OCR σε Java. +### [Δημιουργία Αναζητήσιμου PDF από JPG – Οδηγός Java για Μετατροπή Εικόνας σε Αναζητήσιμο PDF](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Μάθετε πώς να μετατρέψετε εικόνες JPG σε αναζητήσιμα PDF χρησιμοποιώντας Aspose.OCR για Java. +### [Πώς να ευθυγραμμίσετε την κλίση εικόνας — Οδηγός προεπεξεργασίας OCR βήμα‑βήμα](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +Μάθετε πώς να ευθυγραμμίσετε εικόνες πριν το OCR, βελτιώνοντας την ακρίβεια με βήμα‑βήμα οδηγίες. ## Συχνές Ερωτήσεις diff --git a/ocr/greek/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/greek/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..231407920 --- /dev/null +++ b/ocr/greek/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,187 @@ +--- +category: general +date: 2026-02-19 +description: Δημιουργήστε αναζητήσιμο PDF από εικόνα JPG με το Aspose OCR σε Java. + Μετατρέψτε JPG σε PDF και αναγνωρίστε γρήγορα το κείμενο από την εικόνα. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: el +og_description: Δημιουργήστε αναζητήσιμο PDF από εικόνα JPG με το Aspose OCR. Μάθετε + πώς να μετατρέψετε JPG σε PDF και να αναγνωρίσετε κείμενο από εικόνα σε Java. +og_title: Δημιουργία PDF με δυνατότητα αναζήτησης από JPG – Οδηγός Java OCR +tags: +- aspose-ocr +- java +- pdf +- ocr +title: Δημιουργία Αναζητήσιμου PDF από JPG – Εικόνα σε Αναζητήσιμο PDF Οδηγός Java +url: /el/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Δημιουργία Αναζητήσιμου PDF από JPG – Οδηγός Java για Εικόνα σε Αναζητήσιμο PDF + +Ποτέ χρειάστηκε να **δημιουργήσετε αναζητήσιμο PDF** από μια σαρωμένη εικόνα αλλά δεν ήξερες από πού να ξεκινήσεις; Δεν είσαι μόνος σου—πολλοί προγραμματιστές αντιμετωπίζουν το ίδιο πρόβλημα όταν έχουν ένα JPG που πρέπει να είναι αναζητήσιμο. Τα καλά νέα είναι ότι με το Aspose OCR for Java μπορείς να μετατρέψεις αυτήν την εικόνα σε πλήρως αναζητήσιμο PDF με λίγες μόνο γραμμές κώδικα. + +Σε αυτό το tutorial θα περάσουμε από όλη τη διαδικασία: φόρτωση ενός JPG, αναγνώριση του κειμένου και αποθήκευση του αποτελέσματος ως αναζητήσιμο PDF. Στο τέλος θα ξέρεις πώς να **convert jpg to pdf**, πώς να **extract text from jpg**, και γιατί αυτή η προσέγγιση είναι συχνά πιο αξιόπιστη από το να προσπαθήσεις να κάνεις OCR σε ένα PDF αφού το έχεις δημιουργήσει. + +## What You’ll Need + +Πριν ξεκινήσουμε, βεβαιώσου ότι έχεις τα εξής στη μηχανή σου: + +* **Java Development Kit (JDK) 8 ή νεότερο** – ο κώδικας χρησιμοποιεί τα τυπικά Java APIs. +* **Aspose OCR for Java** library – μπορείς να το κατεβάσεις από το Maven Central ή να κατεβάσεις το JAR από την ιστοσελίδα της Aspose. +* Ένα **sample JPG** που περιέχει αναγνώσιμο κείμενο (π.χ. μια σαρωμένη απόδειξη ή ένα στιγμιότυπο οθόνης ενός εγγράφου). + +Δεν απαιτούνται πρόσθετα frameworks· το παράδειγμα λειτουργεί με ένα απλό Java project. + +## Step 1 – Set Up the Project and Add Aspose OCR + +Πρώτα, δημιούργησε ένα νέο Maven project (ή απλώς ένα φάκελο με το JAR στο classpath). Αν χρησιμοποιείς Maven, πρόσθεσε αυτήν την εξάρτηση στο `pom.xml` σου: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** Πάντα να ελέγχεις την τελευταία έκδοση στο αποθετήριο Maven της Aspose· οι νεότερες εκδόσεις περιλαμβάνουν βελτιώσεις απόδοσης και διορθώσεις σφαλμάτων. + +Μόλις η εξάρτηση λυθεί, είσαι έτοιμος να γράψεις τον κώδικα Java που θα **create searchable PDF**. + +## Step 2 – Load the Image (image to searchable pdf) + +Το πρώτο πραγματικό βήμα είναι να κατευθύνεις τη μηχανή OCR στην πηγαία εικόνα. Εδώ αρχίζει η μετατροπή **image to searchable pdf**. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Why this matters:** Η μέθοδος `setImage` λέει στο Aspose ποιο bitmap πρέπει να αναλύσει. Αν παρέχεις εικόνα χαμηλής ανάλυσης, η ποιότητα του OCR θα υποφέρει· βεβαιώσου ότι το JPG είναι τουλάχιστον 300 dpi για τα καλύτερα αποτελέσματα. + +## Step 3 – Recognize Text from Image + +Τώρα που η μηχανή ξέρει ποια εικόνα θα επεξεργαστεί, μπορούμε να της ζητήσουμε να **recognize text from image**. Το Aspose OCR κάνει το σκληρό κομμάτι στο παρασκήνιο, διαχειριζόμενο την ανίχνευση γλώσσας, τον διαχωρισμό χαρακτήρων και την αξιολόγηση εμπιστοσύνης. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +Η κλήση `recognize()` επιστρέφει ένα fluent interface, επιτρέποντάς μας να αλυσίδωσουμε τη μέθοδο `save`. Καθορίζοντας `OcrOutputFormat.SEARCHABLE_PDF`, η βιβλιοθήκη ενσωματώνει ένα αόρατο στρώμα κειμένου μέσα στο PDF ενώ διατηρεί την αρχική εμφάνιση της εικόνας. + +> **Edge case:** Αν το JPG σου περιέχει πολλαπλές σελίδες (π.χ. ένα multi‑page TIFF αποθηκευμένο ως ξεχωριστά JPG), θα χρειαστεί να κάνεις βρόχο πάνω από κάθε αρχείο και να συγχωνεύσεις τα παραγόμενα PDFs αργότερα. Η ίδια μηχανή OCR μπορεί να επαναχρησιμοποιηθεί για κάθε επανάληψη. + +## Step 4 – Verify the Result + +Μετά την ολοκλήρωση της αποθήκευσης, ένα απλό μήνυμα στην κονσόλα σε ενημερώνει ότι όλα πήγαν ομαλά. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +Όταν ανοίξεις το `output-searchable.pdf` σε έναν προβολέα όπως το Adobe Acrobat, θα πρέπει να μπορείς να επιλέξεις το κρυφό κείμενο, να το αντιγράψεις ή να κάνεις αναζήτηση—ακριβώς αυτό που περιμένεις από ένα **searchable PDF**. + +### Expected Output + +Η εκτέλεση του προγράμματος εμφανίζει: + +``` +Searchable PDF created. +``` + +Και το παραγόμενο PDF θα εμφανίζει το αρχικό JPG ενώ επιτρέπει την επιλογή κειμένου. Αν ανοίξεις τις “Properties → Description → PDF Producer” του PDF, θα δεις κάτι σαν `Aspose.OCR for Java`. + +## Full Working Example + +Παρακάτω βρίσκεται το πλήρες, έτοιμο‑για‑εκτέλεση αρχείο πηγαίου κώδικα. Αντέγραψέ το στο IDE σου, προσαρμόζε τις διαδρομές αρχείων και τρέξε το. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **What if the OCR fails?** +> * Συνήθως αυτό συμβαίνει επειδή η εικόνα είναι πολύ θορυβώδης ή η γλώσσα δεν υποστηρίζεται έτοιμη. Μπορείς να βελτιώσεις την ακρίβεια προεπεξεργάζοντας την εικόνα (αύξηση αντίθεσης, διόρθωση κλίσης) ή ορίζοντας ρητά τη γλώσσα με `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`. + +## Common Questions & Gotchas + +| Question | Answer | +|----------|--------| +| **Can I extract the plain text instead of a PDF?** | Yes. Use `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **What if I need to process a PNG?** | The same API works; just change the file extension in `fromFile`. | +| **Is the resulting PDF truly searchable on all viewers?** | Modern viewers (Adobe Reader, Foxit, Chrome) honor the hidden text layer. Older tools might ignore it. | +| **How do I control the PDF page size?** | Aspose OCR uses the image dimensions by default. For custom sizing, generate a PDF manually and overlay the OCR text layer—this is an advanced scenario. | + +## Performance Tips + +* **Batch processing:** Reuse a single `OcrEngine` instance for many images to avoid repeated native library loading. +* **Thread safety:** The engine is **not** thread‑safe; create one per thread if you parallelize. +* **Memory usage:** Large images can consume a lot of RAM. If you hit `OutOfMemoryError`, downscale the image before feeding it to the engine. + +## Next Steps + +Τώρα που ξέρεις πώς να **create searchable PDF**, ίσως θέλεις να εξερευνήσεις σχετικές εργασίες: + +* **Convert jpg to pdf** without OCR (use Aspose PDF library for a plain image PDF). +* **Extract text from jpg** into a `.txt` file for indexing. +* **Combine multiple searchable PDFs** into a single document using Aspose PDF’s `PdfFileEditor`. + +Όλα αυτά βασίζονται στο ίδιο θεμέλιο που μόλις έθεσες. + +--- + +### Quick Recap + +* Δημιουργήσαμε ένα **searchable PDF** από JPG χρησιμοποιώντας το Aspose OCR for Java. +* Η διαδικασία κάλυψε τη φόρτωση της εικόνας, την αναγνώριση κειμένου και την αποθήκευση ως αναζητήσιμο PDF. +* Τώρα έχεις ένα επαναχρησιμοποιήσιμο μοτίβο για **image to searchable PDF**, **recognize text from image**, **extract text from jpg**, και **convert jpg to pdf**. + +Δοκίμασέ το με τα δικά σου έγγραφα, ρύθμισε τις επιλογές γλώσσας αν χρειάζεται, και άφησε το OCR να κάνει το σκληρό κομμάτι για σένα. Καλή κωδικοποίηση! + +![Create searchable PDF example](placeholder.png){alt="Δημιουργία Αναζητήσιμου PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/greek/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..7d7b38629 --- /dev/null +++ b/ocr/greek/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,176 @@ +--- +category: general +date: 2026-02-19 +description: Μάθετε πώς να διορθώσετε την κλίση μιας εικόνας και να αφαιρέσετε τον + θόρυβο για OCR. Αυτό το σεμινάριο δείχνει πώς να αναγνωρίζετε κείμενο σε εικόνα, + να διορθώνετε την περιστροφή της εικόνας και να προεπεξεργάζεστε την εικόνα για + OCR με το Aspose OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: el +og_description: Πώς να διορθώσετε την κλίση μιας εικόνας και να αφαιρέσετε τον θόρυβο + ώστε να αναγνωρίζετε γρήγορα κείμενο σε εικόνα. Ακολουθήστε αυτόν τον οδηγό για + να διορθώσετε την περιστροφή της εικόνας και να προεπεξεργαστείτε το OCR της εικόνας + με το Aspose. +og_title: Πώς να αφαιρέσετε την κλίση από την εικόνα – Πλήρες σεμινάριο προεπεξεργασίας + OCR +tags: +- OCR +- Java +- Image Processing +title: Πώς να διορθώσετε την κλίση εικόνας — Οδηγός βήμα‑βήμα για την προεπεξεργασία + OCR +url: /el/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να Διορθώσετε την Κλίση μιας Εικόνας — Πλήρης Οδηγός Προεπεξεργασίας OCR + +Έχετε αναρωτηθεί ποτέ **πώς να διορθώσετε την κλίση μιας εικόνας** πριν τη δώσετε σε μια μηχανή OCR; Ίσως έχετε σαρώσει μια σειρά αποδείξεων και οι σελίδες φαίνονται ελαφρώς κεκλιμένες, ή η σάρωση είναι γεμάτη τυχαίες κουκκίδες. Αυτό είναι ένα κοινό πρόβλημα—κλινόμενες, θορυβώδεις εικόνες κάνουν την αναγνώριση κειμένου να δυσκολεύεται. + +Τα καλά νέα; Μπορείτε να ευθυγραμμίσετε (να διορθώσετε την περιστροφή της εικόνας) και να αφαιρέσετε τον θόρυβο (πώς να αφαιρέσετε τον θόρυβο) με λίγες μόνο γραμμές Java χρησιμοποιώντας το Aspose.OCR. Σε αυτόν τον οδηγό θα περάσουμε από όλη τη ροή: από τη φόρτωση μιας θορυβώδους‑περιστρεφόμενης PNG, την εφαρμογή deskew + median denoise, μέχρι το **recognize text image** και την εκτύπωση του αποτελέσματος. Στο τέλος θα έχετε ένα επαναχρησιμοποιήσιμο snippet που μπορείτε να ενσωματώσετε σε οποιοδήποτε έργο Java. + +## Τι Θα Χρειαστείτε + +- **Java 17** ή νεότερη (ο κώδικας συντάσσεται και με παλαιότερες εκδόσεις, αλλά η 17 είναι η ιδανική). +- **Aspose.OCR for Java** – μπορείτε να κατεβάσετε το πιο πρόσφατο JAR από το Maven Central (`com.aspose:aspose-ocr`). +- Ένα αρχείο εικόνας που είναι τόσο περιστρεφόμενο όσο και θορυβώδες (π.χ., `noisy-rotated.png`). +- Ένα απλό IDE (IntelliJ, Eclipse ή ακόμη και VS Code). + +Δεν απαιτούνται περίπλοκα εργαλεία κατασκευής· μια απλή εντολή `javac` + `java` λειτουργεί άψογα. + +--- + +## Βήμα 1 – Δημιουργία του Αντικειμένου OCR Engine + +Το πρώτο που κάνετε είναι να δημιουργήσετε ένα `OcrEngine`. Σκεφτείτε το ως τον εγκέφαλο που θα διαβάσει αργότερα τους χαρακτήρες για εσάς. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Συμβουλή:** Κρατήστε το engine ως singleton αν επεξεργάζεστε πολλές εικόνες· επαναχρησιμοποιεί εσωτερικές μνήμες και επιταχύνει τη διαδικασία. + +## Βήμα 2 – Ενεργοποίηση Deskew και Median Denoise (Πώς να Αφαιρέσετε τον Θόρυβο) + +Τώρα λέμε στο engine να **διορθώσει την περιστροφή της εικόνας** και να **πώς να αφαιρέσετε τον θόρυβο**. Και τα δύο φίλτρα είναι προαιρετικά, αλλά μαζί βελτιώνουν δραστικά την ακρίβεια. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Γιατί median denoise; Διατηρεί τις άκρες (τις γραμμές που ορίζουν τους χαρακτήρες) ενώ εξαλείφει τα απομονωμένα pixel—ακριβώς αυτό που χρειάζεστε για καθαρό OCR. + +## Βήμα 3 – Φόρτωση της Εικόνας που Θέλετε να Επεξεργαστείτε + +Εδώ δείχνουμε στο engine το αρχείο που χρειάζεται καθαρισμό. Η `ImageStream.fromFile` διαβάζει την PNG στη μνήμη. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Αν η εικόνα σας βρίσκεται σε απομακρυσμένο διακομιστή, δώστε ένα `InputStream` αντί· το Aspose το διαχειρίζεται άψογα. + +## Βήμα 4 – Εκτέλεση OCR και Συλλογή του Αναγνωρισμένου Κειμένου + +Με την προεπεξεργασία ενεργοποιημένη, το engine διαβάζει τώρα την διορθωμένη εικόνα. Η κλήση `recognize()` επιστρέφει ένα `RecognitionResult` που περιέχει το εξαγόμενο κείμενο. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +Θα πρέπει να δείτε καθαρό, αναγνώσιμο κείμενο στην κονσόλα, ακόμα κι αν η αρχική εικόνα ήταν κεκλιμένη και σπόρια. + +## Βήμα 5 – Επαλήθευση του Αποτελέσματος (Τι να Περιμένετε) + +Όταν όλα λειτουργούν, η κονσόλα εκτυπώνει κάτι σαν: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Αν η έξοδος εξακολουθεί να περιέχει ακατανόητους χαρακτήρες, ελέγξτε: + +- Την ανάλυση της εικόνας (≥ 300 dpi είναι ιδανική). +- Ότι η διαδρομή του αρχείου είναι σωστή. +- Αν επιπλέον φίλτρα (π.χ., `setContrastStretch`) θα μπορούσαν να βοηθήσουν. + +--- + +## Προαιρετικό: Οπτική Επιβεβαίωση με Παράδειγμα Εικόνας + +Παρακάτω υπάρχει μια μικρή προεπισκόπηση μιας κεκλιμένης, θορυβώδους απόδειξης. Παρατηρήστε την κλίση—ο κώδικάς μας θα την ευθυγραμμίσει για εσάς. + +![how to deskew image example](deskew-demo.png "how to deskew image") + +*Alt text: how to deskew image – before and after processing.* + +--- + +## Συχνές Ερωτήσεις + +### Λειτουργεί αυτό με PDFs ή μόνο με PNG/JPEG; +Το Aspose.OCR μπορεί να διαβάσει PDFs απευθείας· απλώς αντικαταστήστε τη `ImageStream.fromFile` με `ImageStream.fromPdf`. Οι ίδιες σημαίες προεπεξεργασίας ισχύουν, οπότε εξακολουθείτε να έχετε **how to deskew image** και **how to remove noise**. + +### Τι γίνεται αν χρειάζεται να διατηρήσω τον αρχικό προσανατολισμό για επόμενα βήματα; +Μπορείτε να κλωνοποιήσετε την εικόνα πριν την προεπεξεργασία: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Μπορώ να αλλάξω τη γωνία deskew χειροκίνητα; +Ναι—`setDeskewAngle(double degrees)` σας επιτρέπει να παρακάμψετε τον αλγόριθμο αυτόματης ανίχνευσης. Χρήσιμο όταν η αυτόματη ανίχνευση αποτυγχάνει σε ακραίες περιστροφές. + +### Πώς διαφέρει το median denoise από το Gaussian blur; +Τα median φίλτρα αντικαθιστούν κάθε pixel με το μεσαίο των γειτόνων του, διατηρώντας τις άκρες. Το Gaussian blur εξομαλύνει τα πάντα, πιθανόν θολώνοντας τα στίγματα των χαρακτήρων—οπότε το median είναι η πιο ασφαλής επιλογή για OCR. + +--- + +## Συμπεράσματα + +Σε αυτόν τον οδηγό καλύψαμε **πώς να διορθώσετε την κλίση μιας εικόνας**, παρουσιάσαμε **πώς να αφαιρέσετε τον θόρυβο**, και σας δείξαμε πώς να **recognize text image** χρησιμοποιώντας τις ενσωματωμένες δυνατότητες προεπεξεργασίας του Aspose OCR. Ενεργοποιώντας `setDeskew(true)` και `setMedianDenoise(true)`, διορθώνετε αυτόματα την περιστροφή της εικόνας και αφαιρείτε τα σπινθήρες, μετατρέποντας μια ακατάστατη σάρωση σε καθαρό κείμενο. + +Μη διστάσετε να πειραματιστείτε: δοκιμάστε διαφορετικές στρατηγικές denoise, επεξεργαστείτε PDFs, ή συνδέστε πολλαπλές εικόνες σε βρόχο. Το ίδιο μοτίβο—engine → preprocess → recognize—ισχύει για κάθε σενάριο, καθιστώντας το μια σταθερή βάση για οποιοδήποτε pipeline OCR. + +**Επόμενα βήματα** που μπορείτε να εξερευνήσετε: + +- **Batch processing** – επανάληψη σε φάκελο εικόνων και αποθήκευση κάθε αποτελέσματος σε αρχείο `.txt`. +- **Language packs** – φόρτωση συγκεκριμένου λεξικού γλώσσας για βελτίωση της ακρίβειας σε μη‑αγγλικό κείμενο. +- **Advanced filters** – όπως `setContrastStretch` ή `setBinarization` για σάρωσεις χαμηλής αντίθεσης. + +Έχετε περισσότερες ερωτήσεις; Αφήστε ένα σχόλιο, και καλή προγραμματιστική διασκέδαση! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/_index.md b/ocr/hindi/java/advanced-ocr-techniques/_index.md index dc2312198..b3d425868 100644 --- a/ocr/hindi/java/advanced-ocr-techniques/_index.md +++ b/ocr/hindi/java/advanced-ocr-techniques/_index.md @@ -54,16 +54,21 @@ url: /hi/java/advanced-ocr-techniques/ ### [जावा के लिए Aspose.OCR में URL से छवि पर OCR निष्पादित करना](./perform-ocr-image-from-url/) Aspose.OCR के साथ जावा में निर्बाध छवि पाठ निष्कर्षण अनलॉक करें। आसान एकीकरण के साथ उच्च सटीकता ओसीआर। ### [Aspose.OCR में विशिष्ट पृष्ठ पर OCR निष्पादित करना](./perform-ocr-on-page/) -विशिष्ट पृष्ठों पर ओसीआर निष्पादित करने के बारे में हमारी चरण-दर-चरण मार्गदर्शिका के साथ जावा के लिए Aspose.OCR की शक्ति को अनलॉक करें। छवियों से सहजता से टेक्स्ट निकालें और अपने जावा प्रोजेक्ट्स को बेहतर बनाएं। +विशिष्ट पृष्ठों पर OCR निष्पादित करने के बारे में हमारी चरण-दर-चरण मार्गदर्शिका के साथ जावा के लिए Aspose.OCR की शक्ति को अनलॉक करें। छवियों से सहजता से टेक्स्ट निकालें और अपने जावा प्रोजेक्ट्स को बेहतर बनाएं। ### [Aspose.OCR में OCR के लिए आयत तैयार करना](./prepare-rectangles-for-ocr/) जावा के लिए Aspose.OCR के साथ टेक्स्ट पहचान की शक्ति को अनलॉक करें। निर्बाध एकीकरण के लिए हमारी चरण-दर-चरण मार्गदर्शिका का पालन करें। कुशल ओसीआर क्षमताओं के साथ अपने जावा एप्लिकेशन को बेहतर बनाएं। ### [जावा के लिए Aspose.OCR में लाइनों को पहचानना](./recognize-lines/) सटीक पाठ पहचान के लिए Aspose.OCR के साथ अपने जावा एप्लिकेशन को सशक्त बनाएं। आसान एकीकरण, उच्च सटीकता। ### [Aspose.OCR में अनुमत वर्ण निर्दिष्ट करना](./specify-allowed-characters/) जावा के लिए Aspose.OCR के साथ छवियों से पाठ निष्कर्षण को सहजता से अनलॉक करें। कुशल एकीकरण के लिए हमारी चरण-दर-चरण मार्गदर्शिका का पालन करें। +### [जावा में OCR के लिए GPU सक्षम करने का तरीका – पूर्ण गाइड](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +जावा में Aspose.OCR के साथ GPU का उपयोग करके तेज़ OCR निष्पादन कैसे करें, चरण-दर-चरण मार्गदर्शिका। +### [जावा में इमेज पर OCR कैसे करें – हस्तलेख नोट्स के साथ स्पेल चेक](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +जावा में 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 >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/hindi/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..5feb7e2bd --- /dev/null +++ b/ocr/hindi/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,207 @@ +--- +category: general +date: 2026-02-19 +description: GPU को तेज़ OCR प्रोसेसिंग के लिए कैसे सक्षम करें। उच्च रिज़ॉल्यूशन वाली + छवि लोड करना, टेक्स्ट इमेज को पहचानना, और Aspose OCR का उपयोग करके टेक्स्ट निकालना + सीखें। +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: hi +og_description: GPU को तेज़ OCR प्रोसेसिंग के लिए कैसे सक्षम करें। यह गाइड आपको दिखाता + है कि उच्च रेज़ोल्यूशन वाली छवि कैसे लोड करें, टेक्स्ट इमेज को पहचानें, और Aspose + OCR के साथ टेक्स्ट निकालें। +og_title: जावा में OCR के लिए GPU कैसे सक्षम करें – पूर्ण गाइड +tags: +- OCR +- Java +- GPU +- Aspose +title: जावा में OCR के लिए GPU कैसे सक्षम करें – पूर्ण मार्गदर्शिका +url: /hi/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# जावा में OCR के लिए GPU कैसे सक्षम करें – पूर्ण गाइड + +क्या आप कभी सोचते रहे हैं **GPU को कैसे सक्षम करें** अपने OCR पाइपलाइन के लिए और प्रोसेसिंग समय में सेकंड्स बचाएँ? आप अकेले नहीं हैं। कई इमेज‑भारी प्रोजेक्ट्स में, बाधा CPU‑बाउंड टेक्स्ट एक्सट्रैक्शन स्टेप होती है, और GPU पर स्विच करना एक गेम‑चेंजर हो सकता है। + +इस ट्यूटोरियल में हम **हाई रेज़ोल्यूशन इमेज** लोड करने, Aspose OCR को GPU पर चलाने के लिए कॉन्फ़िगर करने, और अंत में **टेक्स्ट इमेज को पहचानना** तथा **टेक्स्ट निकालना** केवल कुछ लाइनों के जावा कोड से करेंगे। अंत तक आपके पास एक तैयार‑चलाने‑योग्य प्रोग्राम होगा जो **GPU प्रोसेसिंग को सक्षम करने** को एंड‑टू‑एंड दर्शाता है। + +## आपको क्या चाहिए + +- Java 17 या नया (कोड मॉड्यूल सिस्टम का उपयोग करता है लेकिन छोटे बदलावों के साथ पुराने JDKs पर भी काम करता है) +- Aspose OCR for Java 23.10 (या नवीनतम संस्करण) – आप Maven कोऑर्डिनेट्स Aspose साइट से प्राप्त कर सकते हैं +- NVIDIA GPU जिसमें CUDA 12+ ड्राइवर स्थापित हों (अन्यथा लाइब्रेरी शुरू नहीं होगी) +- एक हाई‑रेज़ोल्यूशन सैंपल इमेज (PNG या JPEG) जिससे आप टेक्स्ट पढ़ना चाहते हैं + +बस इतना ही। कोई बाहरी सेवाएँ नहीं, कोई क्लाउड क्रेडिट नहीं, सिर्फ आपका मशीन और सही ड्राइवर स्टैक। + +![GPU OCR कार्यप्रवाह – GPU प्रोसेसिंग को कैसे सक्षम करें](gpu-ocr-workflow.png) + +*छवि वैकल्पिक पाठ: जावा में OCR प्रोसेसिंग के लिए GPU को कैसे सक्षम करें, यह दर्शाने वाला आरेख।* + +## चरण‑दर‑चरण कार्यान्वयन + +नीचे हम समाधान को तार्किक हिस्सों में विभाजित करते हैं। प्रत्येक सेक्शन में एक संक्षिप्त कोड स्निपेट, **क्यों** यह कदम महत्वपूर्ण है का स्पष्टीकरण, और कुछ व्यावहारिक टिप्स होते हैं जो बाद में आपके काम आएँगे। + +### GPU के लिए OCR सक्षम करने का चरण 1: निर्भरताएँ स्थापित करें और CUDA सत्यापित करें + +कोई भी जावा कोड चलने से पहले, नेटिव CUDA रनटाइम खोज योग्य होना चाहिए। विंडोज़ पर आप इस कमांड से सत्यापित कर सकते हैं: + +```bat +nvcc --version +``` + +लिनक्स पर: + +```bash +nvidia-smi +``` + +यदि कमांड ड्राइवर संस्करण और GPU विवरण प्रिंट करता है, तो आप तैयार हैं। अन्यथा, NVIDIA की वेबसाइट पर जाएँ, उपयुक्त ड्राइवर डाउनलोड करें, और CUDA टूलकिट स्थापित करें (सुनिश्चित करें कि संस्करण Aspose OCR की आवश्यकताओं (वर्तमान में 12.x) से मेल खाता हो)। + +**Tip:** अपने GPU ड्राइवर को अपडेट रखें लेकिन “latest‑beta” रिलीज़ से बचें; वे कभी‑कभी Aspose नेटिव लाइब्रेरीज़ के साथ बाइनरी संगतता तोड़ देते हैं। + +### GPU के लिए OCR सक्षम करने का चरण 2: Aspose OCR Maven निर्भरता जोड़ें + +अपने `pom.xml` में निम्नलिखित जोड़ें। यह कोर OCR इंजन और विंडोज़, लिनक्स, और macOS के लिए नेटिव GPU बाइनरीज़ को पुल करता है। + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +यदि आप Gradle पसंद करते हैं, तो समकक्ष है: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +प्रोजेक्ट रीफ़्रेश करने के बाद, क्लासेज `OcrEngine`, `OcrDeviceType`, और `ImageStream` उपलब्ध हो जाएंगे। + +### GPU के लिए OCR सक्षम करने का चरण 3: OCR इंजन बनाएं और GPU सक्षम करें + +अब हम वास्तव में Aspose को GPU पर चलाने के लिए कहते हैं। `OcrEngine` एक `Device` ऑब्जेक्ट एक्सपोज़ करता है जहाँ हम प्रोसेसिंग डिवाइस टाइप स्विच कर सकते हैं। + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Why this matters:** `OcrDeviceType.GPU` सेट करने से अंतर्निहित इन्फ़रेंस इंजन CPU‑only इम्प्लीमेंटेशन से CUDA‑त्वरित एक में बदल जाता है। वैकल्पिक `setStreamCount` कॉल आपको समानांतरता नियंत्रित करने देता है; अधिकांश कंज्यूमर कार्ड्स पर दो स्ट्रीम एक सुरक्षित डिफ़ॉल्ट है। + +### GPU के लिए OCR सक्षम करने का चरण 4: हाई‑रेज़ोल्यूशन इमेज लोड करें + +हाई‑रेज़ोल्यूशन स्रोत OCR मॉडल को अधिक विज़ुअल डिटेल देते हैं, जिससे विशेषकर छोटे फ़ॉन्ट या जटिल लिपियों में सटीकता बढ़ती है। `ImageStream.fromFile` हेल्पर फ़ाइल को उस फ़ॉर्मेट में पढ़ता है जिसकी इंजन को आवश्यकता होती है। + +यदि आपको URL या इन‑मेमोरी बाइट एरे से **हाई रेज़ोल्यूशन इमेज लोड** करनी है, तो आप उपयोग कर सकते हैं: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Edge case:** कुछ GPUs की अधिकतम टेक्सचर साइज (अक्सर 16384 × 16384) होती है। यदि आपकी इमेज इससे बड़ी है, तो पढ़ने योग्यता बनाए रखते हुए डाउन‑स्केल करने पर विचार करें (जैसे 3000 × 2000)। OCR इंजन स्वचालित रूप से रिसाइज़ कर देगा यदि आप लोड करने से पहले `ocrEngine.setResizeFactor(0.5)` कॉल करते हैं। + +### GPU के लिए OCR सक्षम करने का चरण 5: टेक्स्ट इमेज को पहचानें और टेक्स्ट निकालें + +`ocrEngine.recognize()` कॉल करने से GPU पर न्यूरल नेटवर्क इन्फ़रेंस ट्रिगर होता है। यह मेथड एक `OcrResult` ऑब्जेक्ट रिटर्न करता है; `getText()` साधारण स्ट्रिंग निकालता है। आप बाउंडिंग बॉक्स, कॉन्फिडेंस स्कोर, या रॉ JSON भी प्राप्त कर सकते हैं यदि आपको अधिक विस्तृत डेटा चाहिए। + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Why you might want this:** `recognize text image` स्टेप वह जगह है जहाँ GPU चमकता है—बड़ी इमेजेज़ जो CPU पर सेकंड्स लेतीं, वह GPU पर कुछ ही समय में प्रोसेस हो जाती हैं। कॉन्फिडेंस स्कोर आपको कम‑गुणवत्ता वाले परिणाम फ़िल्टर करने देते हैं, जो बाद में **टेक्स्ट निकालने** के लिए उपयोगी ट्रिक है। + +### प्रो टिप्स और सामान्य समस्याएँ + +| Situation | What to Do | +|-----------|------------| +| **Out‑of‑memory errors** on GPU | Reduce `setStreamCount` to 1, or down‑scale the image before feeding it to the engine. | +| **Unrecognized characters** despite high resolution | Ensure the language model (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) matches the text language. | +| **CUDA version mismatch** | Align the CUDA toolkit version with the one bundled in Aspose OCR (check the release notes). | +| **Multiple GPUs** | Use `ocrEngine.getDevice().setDeviceId(1)` to pick the second GPU if the first is busy. | +| **Running on a headless server** | No extra steps needed; the GPU driver works without a display. | + +## टेक्स्ट निकालना – आउटपुट सत्यापित करना + +जब आप ऊपर दिया गया क्लास चलाते हैं, तो आपको कुछ इस तरह का आउटपुट दिखना चाहिए: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +यदि आउटपुट गड़बड़ दिखता है, तो दोबारा जांचें कि इमेज वास्तव में हाई‑रेज़ोल्यूशन है और GPU ड्राइवर सही तरीके से स्थापित है। आप विस्तृत लॉगिंग भी सक्षम कर सकते हैं: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +लॉग्स दिखाएंगे कि नेटिव CUDA कर्नेल सफलतापूर्वक लोड हुए या नहीं। + +## अगले कदम और संबंधित विषय + +- **Batch processing:** `OcrEngine` को लूप में रैप करें और इमेज पाथ्स की सूची फीड करें। समान इंजन इंस्टेंस को पुन: उपयोग करें ताकि GPU इनिशियलाइज़ेशन ओवरहेड दोहराया न जाए। +- **Language detection:** Aspose OCR 30 से अधिक भाषाओं को सपोर्ट करता है। `ocrEngine.setLanguage(OcrLanguage.FRENCH)` से स्विच करें। +- **Post‑processing:** रेगुलर एक्सप्रेशन का उपयोग करके निकाले गए स्ट्रिंग को साफ़ करें, या इसे डाउनस्ट्रीम NLP पाइपलाइन में फीड करें। +- **Alternative devices:** यदि आपके पास CUDA‑सक्षम GPU नहीं है, तो आप `OcrDeviceType.CPU` पर फॉलबैक कर सकते हैं। वही कोड काम करेगा; केवल डिवाइस टाइप बदलें। +- **Performance benchmarking:** `recognize()` से पहले और बाद में `System.nanoTime()` से समय अंतर मापें ताकि **GPU प्रोसेसिंग को सक्षम करने** से मिलने वाले लाभ को परिमाणित किया जा सके। + +### समापन + +हमने जावा में Aspose OCR के लिए **GPU को कैसे सक्षम करें** को कवर किया, सही ड्राइवर स्थापित करने से लेकर **हाई रेज़ोल्यूशन इमेज** लोड करने, **टेक्स्ट इमेज को पहचानने**, और अंत में परिणाम से **टेक्स्ट निकालने** तक। ऊपर दिया गया पूर्ण, चलाने योग्य उदाहरण किसी भी आधुनिक NVIDIA GPU पर बॉक्स से बाहर काम करना चाहिए। + +इसे चलाएँ, विभिन्न इमेज साइज के साथ प्रयोग करें, और देखें आपका OCR थ्रूपुट कैसे आसमान छू लेता है। यदि कोई समस्या आती है, तो टिप्स सेक्शन को दोबारा देखें या नवीनतम **GPU प्रोसेसिंग को सक्षम करने** की सिफ़ारिशों के लिए Aspose के रिलीज़ नोट्स देखें। + +हैप्पी कोडिंग, और आपका GPU टेक्स्ट को प्रोसेस करते समय ठंडा रहे! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/hindi/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..90e8163a7 --- /dev/null +++ b/ocr/hindi/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,251 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR का उपयोग करके जावा में हस्तलिखित नोट्स की छवि को OCR करने + का तरीका सीखें। इसमें OCR के लिए छवि लोड करना, हस्तलिखित नोट्स पढ़ना और हस्तलिखित + छवि पाठ को परिवर्तित करना शामिल है। +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: hi +og_description: Aspose के साथ जावा में हस्तलेख नोट्स की छवि को OCR करने का तरीका। + OCR के लिए छवि लोड करने, हस्तलेख नोट्स पढ़ने और हस्तलेख छवि के पाठ को परिवर्तित + करने के चरण-दर-चरण मार्गदर्शक। +og_title: जावा में इमेज को OCR कैसे करें – हस्तलिखित नोट्स गाइड +tags: +- Java +- OCR +- Aspose +- Handwriting +title: जावा में इमेज को OCR कैसे करें – हस्तलिखित नोट्स में स्पेल चेक के साथ +url: /hi/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# जावा में इमेज OCR कैसे करें – हस्तलिखित नोट्स स्पेल चेक के साथ + +क्या आपने कभी सोचा है **how to OCR image** जिसमें आपकी लिखी‑हुई किराने की सूची या मीटिंग मिनट्स हों? आप अकेले नहीं हैं। कई वास्तविक‑दुनिया के ऐप्स में, डेवलपर्स को हस्तलिखित नोट्स पढ़ने और उन्हें खोज योग्य टेक्स्ट में बदलने की जरूरत होती है—कोई मैन्युअल री‑टाइपिंग नहीं। + +इस ट्यूटोरियल में हम एक पूर्ण, तैयार‑चलाने‑योग्य उदाहरण के माध्यम से दिखाएंगे कि Aspose OCR for Java का उपयोग करके **how to OCR image** कैसे किया जाता है, **load image for OCR** कैसे किया जाता है, और बिल्ट‑इन स्पेल करेक्शन के साथ **read handwritten notes** कैसे पढ़े जाते हैं। अंत तक, आप **convert handwritten image text** को एक साफ़ स्ट्रिंग में बदल सकेंगे जिसे आप स्टोर, इंडेक्स या डिस्प्ले कर सकते हैं। + +## आप क्या सीखेंगे + +- अंग्रेज़ी हस्तलेखन को समझने वाले OCR इंजन को सेट‑अप करने के सटीक कदम। +- डिस्क से **load image for OCR** कैसे किया जाता है और उसे इंजन को कैसे दिया जाता है। +- गंदे लिखावट के साथ काम करते समय स्पेल‑चेकर को सक्षम करने का महत्व। +- सामान्य किनारी मामलों को संभालने के तरीके, जैसे लो‑कॉन्ट्रास्ट इमेज या मिसिंग लैंग्वेज पैक्स। +- एक पूर्ण, रन‑योग्य कोड सैंपल जो आप अपने IDE में पेस्ट करके तुरंत परिणाम देख सकते हैं। + +> **Prerequisites**: Java 8+ स्थापित हो, Maven या Gradle डिपेंडेंसी मैनेजमेंट के लिए, और Aspose OCR for Java लाइसेंस (फ्री ट्रायल सीखने के लिए पर्याप्त है)। अन्य कोई बाहरी लाइब्रेरी आवश्यक नहीं है। + +--- + +## Step 1: प्रोजेक्ट सेट अप करें और Aspose OCR डिपेंडेंसी जोड़ें + +सबसे पहले—आपके प्रोजेक्ट को Aspose OCR लाइब्रेरी की जरूरत है। यदि आप Maven उपयोग कर रहे हैं, तो इसे अपने `pom.xml` में जोड़ें: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +या Gradle के साथ: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Pro tip**: संस्करण संख्या पर ध्यान रखें; नए रिलीज़ हस्तलेखन पहचान में सुधार और भाषा समर्थन जोड़ते हैं। + +डिपेंडेंसी हल हो जाने के बाद, आप **load image for OCR** करने के लिए तैयार हैं। + +## Step 2: OCR इंजन इंस्टेंस बनाएं + +**how to OCR image** को प्रभावी ढंग से करने के लिए, आपको एक `OcrEngine` ऑब्जेक्ट चाहिए। यह ऑब्जेक्ट प्रोसेस का दिल है—यह भाषा सेटिंग्स, स्पेल‑चेकिंग फ्लैग्स और इमेज को रखता है। + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +हम पहले इंजन को इंस्टैंशिएट क्यों करते हैं? क्योंकि Aspose OCR को पुन: उपयोग योग्य बनाया गया है; आप एक ही इंस्टेंस से कई इमेज प्रोसेस कर सकते हैं और रन के बीच सेटिंग्स को बदल सकते हैं। + +## Step 3: अंग्रेज़ी भाषा समर्थन जोड़ें और स्पेल करेक्शन सक्षम करें + +हस्तलिखित नोट्स अक्सर टाइपो, मिसिंग लेटर या अनोखी संक्षिप्तियों से भरे होते हैं। स्पेल‑चेकर को सक्षम करने से इंजन को आउटपुट साफ़ करने का मौका मिलता है। + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **स्पेल करेक्शन क्यों सक्षम करें?** +> बिना इसे, कच्चा OCR आउटपुट “t0d@y” या “c0ffee” जैसा दिख सकता है। स्पेल‑चेकर ऐसे विचित्रताओं को सामान्य बनाता है, जिससे अंतिम टेक्स्ट सर्च इंडेक्सिंग जैसी डाउनस्ट्रीम प्रोसेसिंग के लिए बहुत उपयोगी बन जाता है। + +## Step 4: हस्तलिखित इमेज लोड करें + +अब हम **load image for OCR** करेंगे। Aspose एक सुविधाजनक `ImageStream.fromFile` मेथड प्रदान करता है जो किसी भी सामान्य रास्टर फॉर्मेट (PNG, JPEG, BMP) को स्वीकार करता है। + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +यदि आपकी इमेज रिसोर्स फ़ोल्डर में है या आप इसे बाइट एरे (जैसे वेब अपलोड से) के रूप में प्राप्त करते हैं, तो आप `ImageStream.fromBytes` का उपयोग कर सकते हैं—सिर्फ ऊपर की लाइन को इस प्रकार बदलें: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Step 5: OCR चलाएँ और सुधरा हुआ टेक्स्ट प्राप्त करें + +इंजन कॉन्फ़िगर हो गया और इमेज लोड हो गई, अब वास्तविक **how to OCR image** कॉल एक ही लाइन में है: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +`recognize()` मेथड एक `OcrResult` ऑब्जेक्ट लौटाता है जिसमें न केवल प्लेन टेक्स्ट बल्कि कॉन्फिडेंस स्कोर, बाउंडिंग बॉक्स आदि भी होते हैं। अधिकांश उपयोग‑केस के लिए प्लेन `getText()` पर्याप्त है। + +## Step 6: परिणाम आउटपुट करें + +अंत में, हम साफ़‑सफ़ाई किया हुआ स्ट्रिंग कंसोल पर प्रिंट करते हैं। वास्तविक एप्लिकेशन में आप इसे डेटाबेस में स्टोर कर सकते हैं, सर्च इंजन को फीड कर सकते हैं, या किसी लैंग्वेज मॉडल को पास कर सकते हैं। + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Expected Output + +मान लीजिए हस्तलिखित नोट में लिखा है: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +आपको कुछ इस तरह दिखना चाहिए: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +भले ही मूल स्क्रिबल गंदा हो—जैसे “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”—स्पेल‑चेकर आमतौर पर इसे ठीक कर देता है। + +--- + +## Load Image for OCR – बेहतर सटीकता के टिप्स + +1. **रिज़ॉल्यूशन मायने रखता है** – कम से कम 300 dpi लक्ष्य रखें। कम रिज़ॉल्यूशन से इंजन छोटे स्ट्रोक्स को मिस कर सकता है। +2. **कॉन्ट्रास्ट ही राजा है** – यदि बैकग्राउंड रंगीन है, तो पहले इमेज को ग्रेस्केल में बदलें। +3. **कंटेंट तक क्रॉप करें** – अनावश्यक मार्जिन हटाने से शोर कम होता है और प्रोसेसिंग तेज़ होती है। + +आप OpenCV जैसी लाइब्रेरी या यहाँ तक कि Java की बिल्ट‑इन `BufferedImage` का उपयोग करके इमेज को प्री‑प्रोसेस कर सकते हैं, फिर Aspose को दे सकते हैं। + +## Read Handwritten Notes: किनारी मामलों को संभालना + +- **लो‑कॉनफ़िडेंस शब्द**: `ocrEngine.getResult().getWords()` एक लिस्ट देता है जहाँ प्रत्येक शब्द का कॉन्फिडेंस वैल्यू (0–100) होता है। आप थ्रेशोल्ड से नीचे के शब्द फ़िल्टर कर सकते हैं और यूज़र को मैन्युअल रिव्यू के लिए प्रॉम्प्ट कर सकते हैं। +- **एकाधिक भाषाएँ**: यदि आपको **read handwritten notes** दोनों अंग्रेज़ी और स्पेनिश में चाहिए, तो `recognize()` कॉल करने से पहले दोनों भाषाएँ जोड़ें। +- **बड़ी फ़ाइलें**: मल्टी‑पेज PDFs या TIFFs के लिए, लूप में `ocrEngine.setImage(pageStream)` के साथ प्रत्येक पेज पर इटररेट करें। + +## Convert Handwritten Image Text to Structured Data + +अक्सर आपको केवल रॉ स्ट्रिंग नहीं चाहिए; आपको डेट, अमाउंट या चेकलिस्ट आइटम निकालने होते हैं। सुधरा हुआ टेक्स्ट मिलने के बाद, रेगुलर एक्सप्रेशन या NLP लाइब्रेरी (जैसे Stanford CoreNLP) से कंटेंट पार्स किया जा सकता है: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +यह स्निपेट दिखाता है कि **convert handwritten image text** से एक्शनएबल डेटा कैसे निकाला जा सकता है। + +## Common Pitfalls and How to Avoid Them + +| लक्षण | संभावित कारण | समाधान | +|---------|--------------|-----| +| गड़बड़ आउटपुट, कई `?` कैरेक्टर | इमेज बहुत डार्क या लो‑कॉन्ट्रास्ट | ब्राइटनेस बढ़ाएँ या हिस्टोग्राम इक्वलाइज़ेशन से प्री‑प्रोसेस करें | +| शब्द मिस हो रहे हैं | हस्तलेखन बहुत कर्सिव | `ocrEngine.getSettings().setEnableCursive(true)` सक्षम करें (यदि सपोर्टेड हो) | +| स्पेल‑चेकर गलत शब्द जोड़ रहा है | भाषा मॉडल मिसमैच | `ocrEngine.getSpellChecker().addUserWords(...)` से कस्टम डिक्शनरी जोड़ें | +| बड़े इमेज पर Out‑of‑Memory एरर | इमेज साइज > 10 MB | लोड करने से पहले डाउनस्केल करें, या टाइल्स में प्रोसेस करें | + +## Full Working Example (Copy‑Paste Ready) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Note**: यदि आप कोड को IDE से चला रहे हैं, तो सुनिश्चित करें कि `YOUR_DIRECTORY` फ़ोल्डर आपके क्लासपाथ पर है या आप एब्सोल्यूट पाथ उपयोग करें। + +--- + +## Conclusion + +हमने जावा में **how to OCR image** को शुरू से अंत तक कवर किया, दिखाया कि **load image for OCR**, **read handwritten notes**, स्पेल करेक्शन कैसे सक्षम करें, और अंत में **convert handwritten image text** को एक साफ़ स्ट्रिंग में बदलें। यह तरीका सरल है, फिर भी प्रोडक्शन‑ग्रेड ऐप्स के लिए पर्याप्त शक्तिशाली है। + +अगली चुनौती के लिए तैयार हैं? मल्टी‑पेज PDFs के साथ प्रयोग करें, इंडस्ट्री‑स्पेसिफिक टर्म्स के लिए कस्टम डिक्शनरी जोड़ें, या OCR आउटपुट को मशीन‑लर्निंग मॉडल में फीड करके सेंटिमेंट एनालिसिस करें। Aspose OCR की सटीकता को जावा की लचीलापन के साथ मिलाकर आप असीम संभावनाओं को खोल सकते हैं। + +क्या आपके पास कोई खास किनारी केस है, या आप इसे मोबाइल ऐप में इंटीग्रेट करना चाहते हैं? नीचे कमेंट करें—हैप्पी कोडिंग! + +--- + +![इमेज OCR उदाहरण](/images/ocr-handwritten-example.png "हस्तलिखित नोट्स का OCR उदाहरण") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/java/ocr-basics/_index.md b/ocr/hindi/java/ocr-basics/_index.md index 05b77caa4..11e1343a2 100644 --- a/ocr/hindi/java/ocr-basics/_index.md +++ b/ocr/hindi/java/ocr-basics/_index.md @@ -110,6 +110,15 @@ Aspose.OCR for Java के साथ OCR सटीकता बढ़ाएँ ### [Aspose.OCR के साथ टेक्स्ट एरिया वाले रेक्टेंगल प्राप्त करना](./get-rectangles-with-text-areas/) Aspose.OCR for Java की शक्ति को अनलॉक करें। इस चरण‑दर‑चरण गाइड में इमेज से टेक्स्ट को सहजता से निकालना सीखें। प्रभावी टेक्स्ट रिकग्निशन के लिए अभी डाउनलोड करें। +### [Java में PNG से टेक्स्ट पहचानें – Aspose OCR ट्यूटोरियल](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Java में PNG इमेज से टेक्स्ट निकालने की पूरी प्रक्रिया सीखें, Aspose OCR का उपयोग करके तेज़ और सटीक परिणाम प्राप्त करें। + +### [Java में PNG से टेक्स्ट निकालें – इमेज को टेक्स्ट में बदलें](./extract-text-from-image-convert-png-to-text-in-java/) + +### [Java में इमेज से टेक्स्ट निकालें – पूर्ण OCR उदाहरण](./extract-text-from-image-in-java-complete-ocr-example/) + +### [Aspose OCR के साथ इमेज से टेक्स्ट निकालें – जावा त्वरित गाइड](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) + --- **अंतिम अपडेट:** 2025-12-08 @@ -121,4 +130,4 @@ Aspose.OCR for Java की शक्ति को अनलॉक करें {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/hindi/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..7322d2d3e --- /dev/null +++ b/ocr/hindi/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,214 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR Java का उपयोग करके छवि से टेक्स्ट निकालें – जानें कि PNG को + टेक्स्ट में कैसे बदलें, OCR के लिए छवि लोड करें, और जावा OCR ट्यूटोरियल का पालन + करें। +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: hi +og_description: Aspose OCR Java के साथ छवि से टेक्स्ट निकालें। PNG को टेक्स्ट में + बदलने और OCR के लिए छवि लोड करने के लिए इस चरण‑दर‑चरण जावा OCR ट्यूटोरियल का पालन + करें। +og_title: छवि से पाठ निकालें – जावा OCR गाइड +tags: +- OCR +- Java +- Aspose +- Image Processing +title: इमेज से टेक्स्ट निकालें – जावा में PNG को टेक्स्ट में बदलें +url: /hi/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# इमेज से टेक्स्ट निकालें – Java OCR ट्यूटोरियल + +क्या आपको कभी **इमेज से टेक्स्ट निकालना** पड़ा है लेकिन यह नहीं पता था कि कौन‑सी लाइब्रेरी बिना झंझट के यह काम कर देगी? आप अकेले नहीं हैं—डेवलपर्स अक्सर पूछते हैं, “Java में PNG को टेक्स्ट में कैसे बदलें?” अच्छी खबर यह है कि Aspose OCR इस पूरे प्रोसेस को एक सैर जैसा बना देता है। इस गाइड में हम एक पूर्ण **java ocr tutorial** से गुजरेंगे, आपको दिखाएंगे **load image for OCR** कैसे करें, और अंत में साफ़, सर्चेबल टेक्स्ट प्राप्त करेंगे। + +हम इंजन सेटअप से लेकर मल्टी‑लैंग्वेज कंटेंट हैंडल करने तक सब कुछ कवर करेंगे, ताकि अंत में आप किसी भी आकार, फॉर्मेट या भाषा की **इमेज से टेक्स्ट निकालें** सकें। कोई बाहरी सर्विस नहीं, कोई API की नहीं—सिर्फ एक JAR और कुछ लाइनों का कोड। + +## What You’ll Need + +शुरू करने से पहले सुनिश्चित करें आपके पास है: + +- JDK 8 या नया (कोड JDK 11+ पर भी चलता है)। +- Maven या Gradle ताकि Aspose OCR लाइब्रेरी को पुल किया जा सके, या आप Aspose की वेबसाइट से JAR मैन्युअली डाउनलोड कर सकते हैं। +- एक PNG इमेज जिसमें पढ़ने योग्य टेक्स्ट हो (हमारे उदाहरण में `khmer-sign.png` इस्तेमाल करेंगे)। +- वह IDE या टेक्स्ट एडिटर जिसमें आप सहज हों—IntelliJ IDEA, Eclipse, VS Code, कोई भी चलेगा। + +बस इतना ही। कोई भारी फ्रेमवर्क नहीं, कोई क्लाउड क्रेडेंशियल नहीं। तैयार? चलिए इमेज फ़ाइलों से टेक्स्ट निकालना शुरू करते हैं। + +## Step 1: Add Aspose OCR to Your Project + +सबसे पहले—आपको OCR इंजन को क्लासपाथ में जोड़ना होगा। यदि आप Maven इस्तेमाल करते हैं, तो `pom.xml` में यह डिपेंडेंसी जोड़ें: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +या Gradle के साथ: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +यदि आप मैन्युअल तरीका पसंद करते हैं, तो Aspose डाउनलोड पेज से JAR डाउनलोड करें और अपने प्रोजेक्ट की `libs` फ़ोल्डर में डालें, फिर उसे बिल्ड पाथ में जोड़ें। + +> **Pro tip:** हमेशा नवीनतम स्थिर संस्करण चुनें; पुराने रिलीज़ में भाषा पैक्स या बग‑फ़िक्सेज़ नहीं हो सकते। + +## Step 2: Create the OCR Engine Instance + +अब लाइब्रेरी उपलब्ध है, हम एक `OcrEngine` बना सकते हैं। इंजन को उस दिमाग़ की तरह समझें जो पिक्सेल पढ़ेगा और उन्हें कैरेक्टर में बदल देगा। + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +हम हर बार नया इंजन क्यों बनाते हैं? इंजन में आंतरिक बफ़र और भाषा डेटा रहता है; साफ़ शुरुआत से डिटरमिनिस्टिक रिज़ल्ट मिलते हैं, खासकर जब बाद में भाषा बदलते हैं। + +## Step 3: Enable the Desired Language (Optional but Recommended) + +Aspose OCR में दर्जनों भाषा पैक्स शामिल हैं। यदि आप स्रोत इमेज की भाषा जानते हैं, तो उसे स्पष्ट रूप से एनेबल करें; इससे पहचान तेज़ और सटीक होगी। हमारे उदाहरण में हम Khmer (`khm`) एनेबल करेंगे, लेकिन आप इसे `ENG` (English), `CHN` (Chinese) आदि से बदल सकते हैं। + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Why this matters:** जब आप **load image for OCR** करते हैं, तो इंजन केवल एनेबल की गई भाषा डिक्शनरी को ही सर्च करेगा। सभी भाषाओं को ऑन रखने से प्रोसेस धीमा हो सकता है और फॉल्स पॉज़िटिव बढ़ सकते हैं। + +## Step 4: Load Image for OCR – Converting PNG to Text + +यहीं पर **load image for OCR** स्टेप होता है। Aspose एक सुविधाजनक `ImageStream.fromFile` हेल्पर देता है जो लो‑लेवल I/O को एब्स्ट्रैक्ट करता है। + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +यदि आपकी इमेज किसी अन्य फॉर्मेट (JPEG, BMP, TIFF) में है, तो वही मेथड काम करेगा—Aspose स्वचालित रूप से फॉर्मेट पहचान लेता है। बस फ़ाइल पाथ सही रखें; नहीं तो `FileNotFoundException` आएगा। + +## Step 5: Run the OCR Process and Convert PNG to Text + +इंजन तैयार और इमेज लोड हो जाने के बाद, असली पहचान एक ही मेथड कॉल में होती है। रिज़ल्ट ऑब्जेक्ट आपको रॉ स्ट्रिंग और कॉन्फिडेंस स्कोर देता है। + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +बस—आपने अभी **convert PNG to text** किया। रिटर्नेड स्ट्रिंग में लाइन ब्रेक और व्हाइटस्पेस वही रहेगा जैसा इंजन ने देखा था। आप इसे `trim()`, `replaceAll("\\s+", " ")` या किसी भी क्लीन‑अप मेथड से पोस्ट‑प्रोसेस कर सकते हैं। + +## Step 6: Output the Result (or Store It) + +त्वरित चेक के लिए, परिणाम को कंसोल में प्रिंट करें। वास्तविक एप्लिकेशन में आप इसे फ़ाइल, डेटाबेस या किसी अन्य सर्विस में लिख सकते हैं। + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Expected output** (प्रदान किए गए Khmer साइन के लिए) कुछ इस तरह दिख सकता है: + +``` +សួស្តី +Welcome +``` + +यदि आउटपुट गड़बड़ दिखे, तो स्टेप 3 में सही भाषा एनेबल की है या नहीं, और इमेज ब्लर तो नहीं है, दोबारा चेक करें। इमेज रेज़ोल्यूशन बढ़ाने (जैसे 300 dpi स्कैन) से अक्सर मदद मिलती है। + +## Full Working Example + +सभी हिस्सों को मिलाकर, यहाँ एक स्टैंड‑अलोन प्रोग्राम है जिसे आप `ExtractTextExample.java` में कॉपी‑पेस्ट करके चला सकते हैं: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +प्रोग्राम चलाएँ: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +या, यदि आप Gradle इस्तेमाल कर रहे हैं: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +आपको कंसोल में एक्सट्रैक्टेड टेक्स्ट दिखना चाहिए, जो पुष्टि करता है कि आपने सफलतापूर्वक Aspose OCR के साथ **extract text from image** किया है। + +## Common Pitfalls & How to Fix Them + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Empty string returned | No language enabled or wrong language code | Add the appropriate `OcrLanguage` (e.g., `ENG` for English). | +| Garbled characters | Image resolution too low or noisy background | Use a higher‑resolution source, or pre‑process with a sharpening filter. | +| `OutOfMemoryError` | Very large image loaded whole‑size | Downscale the image before feeding it to the engine (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Incorrect path | Verify the absolute or relative path; use `Paths.get(...).toAbsolutePath()`. | + +> **Remember:** OCR एक प्रॉबाबिलिस्टिक प्रोसेस है। परफेक्ट सेटिंग्स के बाद भी आपको कुछ कैरेक्टर मैन्युअली ठीक करने पड़ सकते हैं, खासकर कर्सिव स्क्रिप्ट्स के लिए। + +## Extending the Tutorial – Next Steps + +- **Batch processing:** एक डायरेक्टरी में मौजूद कई PNG फ़ाइलों पर लूप चलाएँ, और हर इमेज के लिए वही लॉजिक लागू करें। +- **PDF output:** Aspose PDF का उपयोग करके एक्सट्रैक्टेड टेक्स्ट को सर्चेबल PDF में एम्बेड करें। +- **Language detection:** `ocrEngine.detectLanguage()` को कॉल करके इंजन को ऑटोमैटिक भाषा पहचानने दें। +- **Cloud integration:** यदि स्केलेबिलिटी चाहिए, तो कोड को एक REST एन्डपॉइंट में रैप करें और माइक्रो‑सर्विसेज़ को कॉल करने दें। + +इन सभी टॉपिक्स का आधार वही **java ocr tutorial** है जिसे हमने अभी पूरा किया, और यह दिखाता है कि Aspose OCR API कितनी वर्सेटाइल है। + +## Conclusion + +हमने एक पूर्ण **java ocr tutorial** के माध्यम से **extract text from image** फ़ाइलों, **convert PNG to text**, और सही ढंग से **load image for OCR** करने का तरीका दिखाया, सभी Aspose OCR का उपयोग करके। स्टेप्स सरल हैं: लाइब्रेरी जोड़ें, इंजन बनाएं, सही भाषा एनेबल करें, PNG लोड करें, `recognize()` चलाएँ, और आउटपुट को हैंडल करें। इस बेसिस से आप डेटा एंट्री ऑटोमेट कर सकते हैं, सर्चेबल आर्काइव बना सकते हैं, या किसी भी एप्लिकेशन को मशीन‑रीडेबल टेक्स्ट प्रदान कर सकते हैं। + +अपनी खुद की इमेजेस के साथ ट्राय करें—शायद रसीद की स्क्रीनशॉट या स्कैन किया हुआ कॉन्ट्रैक्ट। भाषा सेटिंग्स को ट्यून करें, रेज़ोल्यूशन के साथ एक्सपेरिमेंट करें, और आप देखेंगे कि समाधान कितना लचीला है। अगर कोई दिक्कत आए, तो पिटफ़ॉल टेबल को फिर से देखें या Aspose की आधिकारिक डॉक्यूमेंटेशन चेक करें; वह विस्तृत और अपडेटेड है। + +Happy coding, and may your next project be full of clean, searchable text! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/hindi/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..db7bfd040 --- /dev/null +++ b/ocr/hindi/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,153 @@ +--- +category: general +date: 2026-02-19 +description: जावा OCR का उपयोग करके छवि से टेक्स्ट निकालें। एक जावा OCR उदाहरण सीखें + जो OCR के लिए छवि लोड करता है और कुछ ही चरणों में इनवॉइस फ़ाइलों से टेक्स्ट निकालता + है। +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: hi +og_description: जावा OCR का उपयोग करके छवि से टेक्स्ट निकालें। यह गाइड दिखाता है कि + OCR के लिए छवि कैसे लोड करें और सरल जावा OCR उदाहरण के साथ इनवॉइस से टेक्स्ट कैसे + प्राप्त करें। +og_title: जावा में छवि से पाठ निकालें – पूर्ण OCR उदाहरण +tags: +- OCR +- Java +- Aspose +- Image Processing +title: जावा में छवि से पाठ निकालें – पूर्ण OCR उदाहरण +url: /hi/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +placeholders remain. + +Now produce final content. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# छवि से टेक्स्ट निकालें Java में – पूर्ण OCR उदाहरण + +क्या आपको **छवि से टेक्स्ट निकालने** की जरूरत पड़ी है लेकिन यह नहीं पता था कि कौन सी लाइब्रेरी चुनें? आप अकेले नहीं हैं—कई डेवलपर्स को इनवॉइस प्रोसेसिंग को ऑटोमेट करने या सर्चेबल आर्काइव बनाने के समय यह समस्या आती है। अच्छी खबर? कुछ ही लाइनों के Java कोड से आप OCR के लिए छवि लोड कर सकते हैं, रुचि का क्षेत्र (ROI) निर्धारित कर सकते हैं, और वही टेक्स्ट निकाल सकते हैं जिसकी आपको ज़रूरत है। + +इस ट्यूटोरियल में हम एक **java ocr example** के माध्यम से दिखाएंगे कि **OCR के लिए छवि कैसे लोड करें**, ROI सेट करें, और Aspose.OCR का उपयोग करके **इनवॉइस फ़ाइलों से टेक्स्ट निकालें**। अंत तक आपके पास एक रन करने योग्य प्रोग्राम होगा जिसे आप किसी भी Java प्रोजेक्ट में डाल सकते हैं। + +## आप क्या सीखेंगे + +- `OcrEngine` इंस्टेंस कैसे बनाते हैं और इसका महत्व क्या है। +- Aspose के `ImageStream` के साथ **OCR के लिए छवि लोड करने** का सही तरीका। +- **रुचि का क्षेत्र (ROI)** सेट करना ताकि आप केवल उस भाग को प्रोसेस करें जिसमें इनवॉइस की राशि हो। +- पहचाने गए टेक्स्ट को निकालना और कंसोल में प्रिंट करना। +- सामान्य समस्याएँ (जैसे, गलत रेक्टैंगल कोऑर्डिनेट) और त्वरित समाधान। + +**पूर्वापेक्षाएँ** + +- Java 8 या नया स्थापित हो। +- Maven या Gradle से Aspose.OCR लाइब्रेरी (`com.aspose:aspose-ocr`) जोड़ें। +- एक सैंपल इनवॉइस इमेज (`invoice.png`) को ज्ञात डायरेक्टरी में रखें। + +सब तैयार है? बढ़िया—चलिए शुरू करते हैं। + +![Java OCR का उपयोग करके छवि से टेक्स्ट निकालें](/images/extract-text-from-image-java.png "छवि से टेक्स्ट निकालने का उदाहरण") + +## छवि से टेक्स्ट निकालें – चरण‑दर‑चरण Java OCR उदाहरण + +नीचे पूरा सोर्स कोड दिया गया है। इसे `RoiOcrExample.java` में कॉपी‑पेस्ट करके सीधे चलाएँ। + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### प्रत्येक चरण क्यों महत्वपूर्ण है + +1. **OCR इंजन बनाना** – बिना इंजन के इमेज प्रोसेसिंग का कोई संदर्भ नहीं रहता। यह ऑब्जेक्ट बाद में मल्टी‑लैंग्वेज सपोर्ट के लिए भाषा पैक्स को ट्यून करने में भी मदद करता है। +2. **छवि लोड करना** – `ImageStream.fromFile` फ़ाइल फ़ॉर्मेट को एब्स्ट्रैक्ट करता है, जिससे इंजन बाइट्स को सही ढंग से पढ़ता है। यदि इसे छोड़ दिया तो `NullPointerException` मिलेगा। +3. **ROI सेट करना** – पूरे पेज को प्रोसेस करना बर्बादी है। रेक्टैंगल को इनवॉइस टोटल एरिया तक सीमित करने से पहचान तेज़ होती है और शोर कम होता है। +4. **`recognize()` कॉल करना** – यही वह जगह है जहाँ जादू होता है। यह मेथड ROI पर OCR एल्गोरिद्म चलाता है और एक रिज़ल्ट ऑब्जेक्ट बनाता है। +5. **आउटपुट प्रिंट करना** – वास्तविक प्रोजेक्ट में आप टेक्स्ट को डेटाबेस में स्टोर करेंगे, लेकिन `System.out.println` त्वरित डेमो के लिए परफ़ेक्ट है। + +## OCR के लिए छवि लोड करें + +यदि आप सोच रहे हैं कि पाथ एब्सॉल्यूट होना चाहिए या रिलेटिव, दोनों काम करेंगे—सिर्फ यह सुनिश्चित करें कि Java प्रोसेस फ़ाइल को पढ़ सके। Windows पर बैकस्लैश को एस्केप करना पड़ता है (`C:\\images\\invoice.png`) या आप फॉरवर्ड स्लैश (`C:/images/invoice.png`) भी उपयोग कर सकते हैं। + +**प्रो टिप:** यदि आप लूप में कई इनवॉइस प्रोसेस कर रहे हैं, तो वही `OcrEngine` इंस्टेंस पुनः उपयोग करें; यह इंटरनल रिसोर्सेज़ को कैश करता है और थ्रूपुट बढ़ाता है। + +## रुचि का क्षेत्र (ROI) परिभाषित करें + +सही रेक्टैंगल चुनना अक्सर ट्रायल‑एंड‑एरर होता है। एक आसान तरीका है कि इमेज को किसी भी ग्राफ़िक्स एडिटर (जैसे GIMP या Paint.NET) में खोलें और उस क्षेत्र पर होवर करें—स्टेटस बार में X/Y वैल्यू दिखेंगे। + +एज केस: कुछ इनवॉइस में लेआउट वैरिएबल होते हैं। ऐसे में आप पूरी इमेज पर एक तेज़ प्री‑स्कैन चला सकते हैं, “Total:” जैसे कीवर्ड को रेगेक्स से ढूँढ सकते हैं, और फिर ROI को डायनामिकली एडजस्ट कर सकते हैं। + +## OCR चलाएँ और टेक्स्ट प्राप्त करें + +`recognize()` कॉल सिंक्रोनस है—आपका थ्रेड तब तक ब्लॉक रहेगा जब तक इंजन काम पूरा नहीं कर लेता। बड़े बैच के लिए आप थ्रेड पूल बना सकते हैं और इमेजेज़ को पैरलल प्रोसेस कर सकते हैं। ध्यान रखें कि प्रत्येक थ्रेड को अपना `OcrEngine` इंस्टेंस चाहिए; ये थ्रेड‑सेफ़ नहीं हैं। + +## रन करें और आउटपुट वेरिफ़ाई करें + +कम्पाइल और रन करें: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +आपको कुछ इस तरह दिखना चाहिए: + +``` +ROI text: $1,254.00 +``` + +यदि आउटपुट गड़बड़ दिखे, तो ROI कोऑर्डिनेट्स दोबारा चेक करें और सुनिश्चित करें कि इमेज क्वालिटी हाई (300 dpi या उससे अधिक) हो। + +### सामान्य समस्याएँ और समाधान + +| लक्षण | संभावित कारण | समाधान | +|-------|--------------|--------| +| खाली स्ट्रिंग | ROI इमेज की सीमा से बाहर | रेक्टैंगल वैल्यू को इमेज डाइमेंशन के अनुसार वेरिफ़ाई करें | +| गलत शब्द | कम रेज़ोल्यूशन | हाई‑रेज़ोल्यूशन स्रोत उपयोग करें या इमेज प्री‑प्रोसेसिंग (जैसे बाइनराइज़ेशन) लागू करें | +| `java.lang.NoClassDefFoundError` | क्लासपाथ में Aspose JAR नहीं है | `aspose-ocr.jar` को `-cp` में जोड़ें या Maven/Gradle डिपेंडेंसी मैनेजमेंट इस्तेमाल करें | + +## निष्कर्ष + +अब आप Java में एक संक्षिप्त **java ocr example** का उपयोग करके **छवि से टेक्स्ट निकालना** जानते हैं। इमेज को सही ढंग से लोड करके, फोकस्ड ROI सेट करके, और `recognize()` कॉल करके आप विश्वसनीय रूप से **इनवॉइस फ़ाइलों से टेक्स्ट निकाल** सकते हैं और इसे डाउनस्ट्रीम सिस्टम में फीड कर सकते हैं। + +अगला कदम? ROI को विभिन्न फ़ील्ड्स (तारीख, विक्रेता नाम) के लिए बदलें, मल्टी‑लैंग्वेज इनवॉइस के लिए भाषा पैक्स के साथ प्रयोग करें, या OCR स्टेप को Spring Boot माइक्रोसर्विस में इंटीग्रेट करें। यही पैटर्न रसीद, पासपोर्ट, या किसी भी दस्तावेज़ में सटीक टेक्स्ट एक्सट्रैक्शन के लिए काम करता है। + +यदि इस समाधान को स्केल करने या नॉइज़ी स्कैन को हैंडल करने के बारे में आपके कोई प्रश्न हैं, तो नीचे कमेंट करें—हैप्पी कोडिंग! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/hindi/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..117f8725a --- /dev/null +++ b/ocr/hindi/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR का उपयोग करके जावा में छवि से टेक्स्ट निकालें। सीखें कि PNG + से टेक्स्ट कैसे पहचानें, छवि को स्ट्रिंग में कैसे बदलें, और कुछ ही चरणों में स्कैन + से टेक्स्ट कैसे पढ़ें। +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: hi +og_description: छवि से तेज़ी से टेक्स्ट निकालें। यह ट्यूटोरियल दिखाता है कि PNG से + टेक्स्ट कैसे पहचानें, छवि को स्ट्रिंग में बदलें, और Aspose OCR का उपयोग करके स्कैन + से टेक्स्ट पढ़ें। +og_title: Aspose OCR के साथ इमेज से टेक्स्ट निकालें – जावा गाइड +tags: +- Java +- OCR +- Aspose +title: Aspose OCR के साथ इमेज से टेक्स्ट निकालें – जावा त्वरित गाइड +url: /hi/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# इमेज से टेक्स्ट निकालें – पूर्ण जावा ट्यूटोरियल + +क्या आपको कभी **extract text from image** करने की ज़रूरत पड़ी है लेकिन आप नहीं जानते थे कि कौन सी लाइब्रेरी चुनें? शायद आपके पास PNG फ़ॉर्मेट में स्कैन किया हुआ रसीद है और आप टेक्स्ट को आगे की प्रोसेसिंग के लिए एक साधारण स्ट्रिंग के रूप में चाहते हैं। मेरे अनुभव में, Aspose OCR लाइब्रेरी यह काम बहुत आसान बना देती है, ख़ासकर जब आप जावा के साथ काम कर रहे हों। + +इस गाइड में हम वह सब कुछ कवर करेंगे जो आपको जानना आवश्यक है: Aspose OCR डिपेंडेंसी सेटअप करने से, PNG फ़ाइल लोड करने, **recognize text from png**, और परिणाम को उपयोगी जावा `String` में बदलने तक। अंत तक आप **convert image to string** करने में सक्षम हो जाएंगे, और आप देखेंगे कि **read text from scan** फ़ाइलों को बिना किसी परेशानी के कैसे पढ़ा जाए। + +## आप क्या सीखेंगे + +- कैसे Aspose OCR को Maven या Gradle प्रोजेक्ट में जोड़ें। +- एक ही मेथड कॉल का उपयोग करके **extract text from image** के लिए आवश्यक सटीक कोड। +- `ImageStream` क्लास क्यों इंजन में डेटा फीड करने का पसंदीदा तरीका है। +- बड़े स्कैन, मल्टी‑पेज PDF, और सामान्य समस्याओं को संभालने के टिप्स। + +पहले से OCR का कोई अनुभव आवश्यक नहीं है, बस जावा की बुनियादी समझ और वह PNG जो आप प्रोसेस करना चाहते हैं। + +## आवश्यकताएँ + +| आवश्यकता | कारण | +|-------------|--------| +| Java 8 या नया | Aspose OCR Java 8+ को लक्षित करता है। | +| Maven या Gradle (वैकल्पिक) | डिपेंडेंसी प्रबंधन को सरल बनाता है। | +| एक PNG इमेज (उदा., `quick.png`) | स्रोत जिस पर हम OCR चलाएंगे। | +| इंटरनेट एक्सेस (पहली बार चलाने पर) | लाइब्रेरी स्वचालित रूप से भाषा पैक्स डाउनलोड कर सकती है। | + +यदि आपके पास पहले से IntelliJ IDEA या Eclipse जैसे जावा IDE है, तो आप तैयार हैं. + +--- + +## चरण 1: अपने प्रोजेक्ट में Aspose OCR सेट अप करें + +### Maven + +`pom.xml` में निम्नलिखित डिपेंडेंसी जोड़ें: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro tip:** यदि आप कॉर्पोरेट प्रॉक्सी का उपयोग कर रहे हैं, तो सुनिश्चित करें कि Maven/Gradle `repo.maven.apache.org` तक पहुँच सके। अन्यथा कोड लिखने से पहले ही बिल्ड फेल हो जाएगा। + +--- + +## चरण 2: PNG इमेज लोड करें + +`ImageStream` क्लास फ़ाइल‑सिस्टम विवरण को एब्स्ट्रैक्ट करता है और स्ट्रीम्स, URLs, या बाइट एरेज़ के साथ काम करता है। यहाँ स्थानीय PNG लोड करने का तरीका है: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Why this matters:** `ImageStream.fromFile` का उपयोग यह गारंटी देता है कि OCR इंजन इमेज को ऐसे फ़ॉर्मेट में प्राप्त करता है जिसे वह पूरी तरह समझता है, जिससे रॉ बाइट एरेज़ फीड करने की तुलना में पहचान की सटीकता बढ़ती है। + +--- + +## चरण 3: PNG से टेक्स्ट पहचानें + +Aspose OCR एक ही स्टैटिक मेथड प्रदान करता है जो मुख्य काम करता है: `OcrEngine.recognize`। यह एक साधारण जावा `String` लौटाता है, जो बिल्कुल वही है जिसकी आपको **convert image to string** करने पर आवश्यकता होती है। + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### पीछे क्या हो रहा है? + +1. **Pre‑processing:** इंजन स्वचालित रूप से इमेज को डेस्क्यू करता है और कंट्रास्ट को सामान्य करता है। +2. **Language Detection:** यदि आप भाषा निर्दिष्ट नहीं करते हैं, तो Aspose इसे अनुमान लगाने की कोशिश करता है, जो तेज़ स्कैन के लिए उपयोगी है। +3. **Recognition:** कोर OCR इंजन एक न्यूरल नेटवर्क मॉडल चलाता है जो लाखों अक्षरों पर प्रशिक्षित है। + +चूँकि यह सब एक ही कॉल में संलग्न है, आपको लो‑लेवल सेटिंग्स के साथ छेड़छाड़ करने की जरूरत नहीं है जब तक कि आपका उपयोग केस बहुत विशेष न हो। + +--- + +## चरण 4: निकाले गए स्ट्रिंग को प्रदर्शित करें और उपयोग करें + +अब जब आपके पास टेक्स्ट है, आप इसे प्रिंट कर सकते हैं, डेटाबेस में स्टोर कर सकते हैं, या किसी अन्य API को फीड कर सकते हैं। यहाँ सबसे सरल तरीका है—सिर्फ `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### अपेक्षित आउटपुट + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Note:** सटीक आउटपुट `quick.png` की सामग्री पर निर्भर करता है। यदि इमेज में हाथ से लिखा नोट है, तो आपको कुछ गलत पहचान दिख सकती है—कुछ भी नहीं जो थोड़ा पोस्ट‑प्रोसेसिंग नहीं ठीक कर सके। + +--- + +## चरण 5: सामान्य किनारे मामलों को संभालना + +### बड़े स्कैन या मल्टी‑पेज PDF + +यदि आपको सामान्य PNG से बड़े **read text from scan** फ़ाइलों को पढ़ना है, तो विचार करें: + +- इमेज को टाइल्स में विभाजित करना (`ImageStream.fromRegion`)। +- PDF इनपुट के लिए `OcrEngine.recognizeMultiplePages` का उपयोग करना। + +### गैर‑अंग्रेज़ी भाषाएँ + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### प्रदर्शन टिप्स + +- एक ही `OcrEngine` इंस्टेंस को कई इमेज के लिए पुनः उपयोग करें ताकि बार‑बार इनिशियलाइज़ेशन से बचा जा सके। +- बैच प्रोसेसिंग के लिए, मल्टी‑थ्रेडिंग सक्षम करें लेकिन थ्रेड्स को CPU कोर की संख्या तक सीमित रखें ताकि मेमोरी थ्रैशिंग से बचा जा सके। + +--- + +## पूर्ण कार्यशील उदाहरण + +नीचे पूर्ण, रन‑तैयार जावा क्लास दिया गया है। इसे अपने IDE में कॉपी‑पेस्ट करें, इमेज पाथ समायोजित करें, और **Run** दबाएँ। + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +इस प्रोग्राम को चलाने से OCR परिणाम कंसोल पर प्रिंट होगा, प्रभावी रूप से कुछ ही लाइनों के कोड में **convert image to string** करता है। + +--- + +## निष्कर्ष + +अब आप जानते हैं कि Aspose OCR का उपयोग करके जावा में **extract text from image** फ़ाइलों को कैसे निकालें। प्रक्रिया तीन सरल चरणों में संक्षिप्त है: PNG लोड करें, `OcrEngine.recognize` कॉल करें, और प्राप्त स्ट्रिंग का उपयोग करें। चाहे आप **recognize text from png**, **convert image to string**, या सिर्फ **read text from scan** दस्तावेज़ पढ़ने की कोशिश कर रहे हों, यह तरीका आपको एक विश्वसनीय, प्रोडक्शन‑रेडी समाधान देता है। + +अगली चुनौती के लिए तैयार हैं? स्कैन किए हुए रसीदों के फ़ोल्डर को लूप में फीड करने की कोशिश करें, प्रत्येक परिणाम को CSV में स्टोर करें, या गैर‑अंग्रेज़ी टेक्स्ट की सटीकता बढ़ाने के लिए भाषा‑विशिष्ट सेटिंग्स के साथ प्रयोग करें। संभावनाएँ असीमित हैं, और आपने जो कोड लिखा है वह एक ठोस आधार है। + +कोडिंग का आनंद लें, और टिप्पणी में कोई भी प्रश्न पूछने में संकोच न करें—मैं मदद करके खुश हूँगा! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/hindi/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..e0c9b9f6e --- /dev/null +++ b/ocr/hindi/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR का उपयोग करके जावा में PNG से टेक्स्ट पहचानें – सीखें कि जावा + में इमेज से टेक्स्ट कैसे निकालें और OCR के साथ इमेज को प्रभावी ढंग से प्रोसेस करें। +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: hi +og_description: Aspose OCR के साथ जावा में PNG से टेक्स्ट पहचानें। यह ट्यूटोरियल दिखाता + है कि जावा में इमेज से टेक्स्ट कैसे निकालें और OCR के साथ इमेज को चरण‑दर‑चरण प्रोसेस + करें। +og_title: Java में PNG से टेक्स्ट पहचानें – पूर्ण Aspose OCR गाइड +tags: +- OCR +- Java +- Image Processing +title: Java में PNG से टेक्स्ट पहचानें – Aspose OCR ट्यूटोरियल +url: /hi/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java में PNG से टेक्स्ट पहचानें – Complete Aspose OCR Guide + +क्या आपको कभी **recognize text from png** करने की ज़रूरत पड़ी, लेकिन यह नहीं पता था कि कौन‑सी लाइब्रेरी चुनें? आप अकेले नहीं हैं—कई Java डेवलपर्स को इमेज‑आधारित डेटा एक्सट्रैक्शन की पहली बार कोशिश में यही दिक्कत आती है। अच्छी खबर यह है कि Aspose OCR पूरी प्रक्रिया को लगभग दर्द‑रहित बना देता है, और इस गाइड में आप देखेंगे कि कैसे **extract text from image java** प्रोजेक्ट्स में **process image with OCR** को थ्रेड‑सेफ़ तरीके से किया जाए। + +अगले कुछ मिनटों में हम एक छोटा Java प्रोग्राम बनाएँगे जो PNG लोड करता है, CPU पर अधिकतम आठ थ्रेड्स का उपयोग करके OCR चलाता है, और पहचाने गए स्ट्रिंग को कंसोल में प्रिंट करता है। कोई बाहरी सर्विस नहीं, कोई सीक्रेट API की नहीं—सिर्फ साधारण Java कोड जिसे आप कॉपी‑पेस्ट करके आज ही चला सकते हैं। + +## What You’ll Need + +- **Java 17** या बाद का संस्करण (कोड पहले के संस्करणों के साथ भी कम्पाइल हो जाता है, लेकिन 17 सबसे उपयुक्त है)। +- **Aspose.OCR for Java** JAR (Aspose वेबसाइट से डाउनलोड करें या Maven के ज़रिए प्राप्त करें)। +- वह PNG इमेज जिसे आप पढ़ना चाहते हैं—जैसे `document-page1.png` जो डिस्क पर कहीं स्टोर हो। +- आपका पसंदीदा IDE या साधारण टेक्स्ट एडिटर और एक टर्मिनल। + +बस इतना ही। अगर आपके पास ये सब है, तो हम सीधे समाधान की ओर बढ़ सकते हैं। + +![Java code to recognize text from png using Aspose OCR](image-placeholder.png "recognize text from png Java example"){alt="Java code to recognize text from png using Aspose OCR"} + +## Step‑by‑Step: recognize text from png + +नीचे हम इम्प्लीमेंटेशन को स्पष्ट, प्रबंधनीय हिस्सों में बाँटते हैं। प्रत्येक हिस्सा एक H2 हेडिंग है, इसलिए आप सीधे उस भाग पर जा सकते हैं जो आपको चाहिए। + +### 1. Add Aspose OCR to Your Project + +**Why?** OCR इंजन Aspose लाइब्रेरी के अंदर रहता है; इसके बिना कंपाइलर को नहीं पता होगा कि `OcrEngine` क्या है। + +अगर आप Maven उपयोग करते हैं, तो यह स्निपेट अपने `pom.xml` में डालें: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Gradle के लिए, यह इस प्रकार दिखता है: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Pro tip:** हमेशा नवीनतम संस्करण संख्या की जाँच करें; नए रिलीज़ अक्सर मल्टी‑थ्रेडेड प्रोसेसिंग के लिए परफ़ॉर्मेंस ट्यूनिंग लाते हैं। + +### 2. Create and Configure the OCR Engine + +**Why?** `OcrEngine` को इंस्टैंशिएट करने से आपको एक तैयार‑उपयोग ऑब्जेक्ट मिलता है, और डिवाइस सेटिंग्स को ट्यून करने से आप सभी CPU कोर का उपयोग कर सकते हैं। + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +यहाँ हम स्पष्ट रूप से डिवाइस को `CPU` सेट कर रहे हैं। अगर बाद में आप GPU‑सक्षम वातावरण में जाते हैं, तो सिर्फ enum वैल्यू बदल दें—कोड में कोई अन्य बदलाव नहीं करना पड़ेगा। + +### 3. Load the PNG Image + +**Why?** OCR इमेज स्ट्रीम पर काम करता है, सीधे फ़ाइल पाथ पर नहीं। फ़ाइल को `ImageStream` में बदलने से अंतर्निहित फ़ॉर्मेट से स्वतंत्रता मिलती है। + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +`YOUR_DIRECTORY` को वास्तविक फ़ोल्डर से बदलें। अगर फ़ाइल नहीं मिलती, तो इंजन `IOException` फेंकेगा, जिसे हम बाद में कैच करेंगे। + +### 4. Run Recognition and Capture the Result + +**Why?** `recognize()` मेथड भारी काम करता है—कैरेक्टर, लाइन और लेआउट का पता लगाता है। रिटर्न किया गया `OcrResult` प्लेन टेक्स्ट रखता है। + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +आप `Pdf` या `Html` परिणाम भी माँग सकते हैं, लेकिन **extract text from image java** के उद्देश्य से हम प्लेन टेक्स्ट ही उपयोग करेंगे। + +### 5. Output the Text and Clean Up + +**Why?** डेमोंस्ट्रेशन के लिए एक साधा `System.out.println` पर्याप्त है, लेकिन वास्तविक एप्लिकेशन में आप संभवतः फ़ाइल या डेटाबेस में लिखेंगे। + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +क्योंकि `OcrEngine` `AutoCloseable` को इम्प्लीमेंट करता है, इसलिए सभी चीज़ों को `try‑with‑resources` ब्लॉक में रैप करना अच्छा अभ्यास है। इससे नेटिव रिसोर्सेज़ तुरंत रिलीज़ हो जाते हैं। + +### 6. Full, Runnable Example + +सब कुछ एक साथ मिलाकर, यहाँ पूरा प्रोग्राम है जिसे आप कम्पाइल और रन कर सकते हैं: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Expected output** (मान लीजिए PNG में “Hello World” लिखा है): + +``` +=== OCR Result === +Hello World +``` + +अगर इमेज अधिक जटिल है—कई लाइन्स, टेबल्स, या हैंडराइटन नोट्स—तो आउटपुट ठीक वही दिखाएगा जो Aspose OCR पहचानता है, और उपयुक्त जगह पर लाइन ब्रेक्स को संरक्षित रखेगा। + +## Common Questions & Edge Cases + +### What if the PNG is huge? + +बड़ी इमेजेज़ मेमोरी को बहुत खा सकती हैं। एक व्यावहारिक समाधान है कि इंजन को फीड करने से पहले इमेज को **downscale** कर दें: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +डाउन्स्केलिंग CPU लोड को कम करता है बिना अधिकांश प्रिंटेड टेक्स्ट की OCR सटीकता को नुकसान पहुँचाए। + +### Can I run OCR on a PDF instead of a PNG? + +बिल्कुल। Aspose OCR PDFs को भी `PdfDocument` ऑब्जेक्ट्स के ज़रिए स्वीकार करता है। वही `recognize()` कॉल काम करता है, इसलिए आप **process image with OCR** को स्रोत फ़ॉर्मेट चाहे जो भी हो, उपयोग कर सकते हैं। + +### How do I improve accuracy for non‑Latin scripts? + +पहचान से पहले भाषा सेट करें: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose कई भाषा पैक्स के साथ आता है; बस वह पैक चुनें जो आपके इमेज कंटेंट से मेल खाता हो। + +### Is the thread count always beneficial? + +अधिक थ्रेड्स मल्टी‑कोर CPUs पर प्रोसेसिंग को तेज़ करते हैं, लेकिन फिज़िकल कोर की संख्या से अधिक थ्रेड्स जोड़ने पर रिटर्न घटता है। अगर आप अधिक CPU उपयोग देखते हैं बिना समान गति वृद्धि के, तो थ्रेड काउंट को `Runtime.getRuntime().availableProcessors()` तक घटा दें। + +## Wrap‑Up: What We Achieved + +हमने एक संक्षिप्त Java प्रोग्राम के ज़रिए **recognize text from png** किया, **extract text from image java** को Aspose OCR के साथ दिखाया, और उत्पादन‑तैयार तरीके से **process image with OCR** करने के आवश्यक कदमों को कवर किया। कोड स्वयं‑समाहित है, व्याख्याएँ “कैसे” और “क्यों” दोनों को उत्तर देती हैं, और टिप्स सामान्य pitfalls को संबोधित करती हैं। + +## What’s Next? + +- **Batch processing:** PNGs की डायरेक्टरी पर लूप चलाएँ और प्रत्येक परिणाम को `.txt` फ़ाइल में लिखें। +- **PDF generation:** OCR आउटपुट को Aspose.PDF में फीड करके सर्चेबल PDFs बनाएँ। +- **Cloud scaling:** वही कोड को Kubernetes द्वारा ऑर्केस्ट्रेटेड कंटेनर में डिप्लॉय करें और थ्रेड पूल को पॉड रिसोर्सेज़ के अनुसार एडजस्ट करें। + +बिल्कुल प्रयोग करें—इमेज बदलें, थ्रेड काउंट ट्यून करें, या भाषा बदलें। 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/java/ocr-operations/_index.md b/ocr/hindi/java/ocr-operations/_index.md index 468e52add..41a3e8d5e 100644 --- a/ocr/hindi/java/ocr-operations/_index.md +++ b/ocr/hindi/java/ocr-operations/_index.md @@ -80,6 +80,10 @@ Java में OCR की शक्ति को Aspose.OCR के साथ अ Java में Aspose.OCR के साथ शक्तिशाली टेक्स्ट पहचान को अनलॉक करें। TIFF इमेजेज में टेक्स्ट को सहजता से पहचानें। एक सहज OCR अनुभव के लिए अभी डाउनलोड करें। ### [Aspose OCR के साथ इमेज टेक्स्ट को पहचानें – पूर्ण Java OCR ट्यूटोरियल](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Aspose OCR का उपयोग करके इमेज से टेक्स्ट निकालने की पूरी प्रक्रिया, Java कोड उदाहरणों के साथ। +### [JPG इमेज से सर्चेबल PDF बनाएं – जावा गाइड](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +JPG इमेज को सर्चेबल PDF में बदलने के लिए Aspose.OCR for Java का उपयोग करके चरण‑बद्ध मार्गदर्शन। +### [इमेज को डेस्क्यू कैसे करें — चरण‑बद्ध OCR प्री‑प्रोसेसिंग गाइड](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +इमेज को सीधा करने की प्रक्रिया और OCR की सटीकता बढ़ाने के लिए चरण‑बद्ध मार्गदर्शन। ## अक्सर पूछे जाने वाले सवाल diff --git a/ocr/hindi/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/hindi/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..6916405d0 --- /dev/null +++ b/ocr/hindi/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,187 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR का उपयोग करके Java में JPG इमेज से खोज योग्य PDF बनाएं। JPG + को PDF में बदलें और छवि से तेज़ी से टेक्स्ट पहचानें। +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: hi +og_description: Aspose OCR के साथ JPG इमेज से सर्चेबल PDF बनाएं। जावा में JPG को PDF + में बदलना और इमेज से टेक्स्ट पहचानना सीखें। +og_title: JPG से खोज योग्य PDF बनाएं – जावा OCR ट्यूटोरियल +tags: +- aspose-ocr +- java +- pdf +- ocr +title: JPG से खोज योग्य PDF बनाएं – इमेज से खोज योग्य PDF जावा गाइड +url: /hi/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +assemble.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# JPG से खोज योग्य PDF बनाएं – इमेज से खोज योग्य PDF जावा गाइड + +क्या आपको कभी स्कैन की गई तस्वीर से **searchable PDF** बनाने की ज़रूरत पड़ी है लेकिन आप नहीं जानते थे कि कहाँ से शुरू करें? आप अकेले नहीं हैं—बहुत से डेवलपर्स को वही समस्या आती है जब उनके पास एक JPG होता है जिसे खोज योग्य बनाना होता है। अच्छी खबर यह है कि Aspose OCR for Java के साथ आप उस इमेज को कुछ ही कोड लाइनों में पूरी तरह खोज योग्य PDF में बदल सकते हैं। + +इस ट्यूटोरियल में हम पूरी प्रक्रिया को समझेंगे: JPG लोड करना, टेक्स्ट को पहचानना, और परिणाम को खोज योग्य PDF के रूप में सहेजना। अंत तक आप जानेंगे कि कैसे **convert jpg to pdf**, कैसे **extract text from jpg**, और क्यों यह तरीका अक्सर PDF को बनाने के बाद OCR करने से अधिक भरोसेमंद होता है। + +## आपको क्या चाहिए + +Before we jump in, make sure you have the following on your machine: + +* **Java Development Kit (JDK) 8 या नया** – कोड मानक Java API का उपयोग करता है। +* **Aspose OCR for Java** लाइब्रेरी – आप इसे Maven Central से प्राप्त कर सकते हैं या Aspose की साइट से JAR डाउनलोड कर सकते हैं। +* एक **sample JPG** जिसमें पठनीय टेक्स्ट हो (जैसे, स्कैन किया गया इनवॉइस या दस्तावेज़ का स्क्रीनशॉट)। + +कोई अतिरिक्त फ्रेमवर्क आवश्यक नहीं है; यह उदाहरण साधारण Java प्रोजेक्ट के साथ काम करता है। + +## चरण 1 – प्रोजेक्ट सेट अप करें और Aspose OCR जोड़ें + +सबसे पहले, एक नया Maven प्रोजेक्ट बनाएं (या सिर्फ एक फ़ोल्डर जिसमें क्लासपाथ पर JAR हो)। यदि आप Maven का उपयोग कर रहे हैं, तो इस डिपेंडेंसी को अपने `pom.xml` में जोड़ें: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** हमेशा Aspose Maven रिपॉज़िटरी पर नवीनतम संस्करण की जाँच करें; नए रिलीज़ में प्रदर्शन सुधार और बग फिक्स शामिल होते हैं। + +डिपेंडेंसी हल हो जाने के बाद, आप वह Java कोड लिखने के लिए तैयार हैं जो **searchable PDF** बनाएगा। + +## चरण 2 – इमेज लोड करें (image to searchable pdf) + +पहला वास्तविक कदम OCR इंजन को स्रोत इमेज की ओर इंगित करना है। यहीं पर **image to searchable pdf** रूपांतरण वास्तव में शुरू होता है। + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Why this matters:** `setImage` Aspose को बताता है कि कौन सा बिटमैप विश्लेषण करना है। यदि आप कम‑रिज़ॉल्यूशन की इमेज प्रदान करते हैं, तो OCR की गुणवत्ता घट जाएगी, इसलिए सुनिश्चित करें कि JPG कम से कम 300 dpi हो ताकि सर्वोत्तम परिणाम मिलें। + +## चरण 3 – इमेज से टेक्स्ट पहचानें + +अब जब इंजन जानता है कि किस इमेज पर काम करना है, हम उससे **recognize text from image** कह सकते हैं। Aspose OCR पर्दे के पीछे भारी काम करता है, भाषा पहचान, कैरेक्टर सेगमेंटेशन, और कॉन्फिडेंस स्कोरिंग को संभालता है। + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +`recognize()` कॉल एक फ्लुएंट इंटरफ़ेस लौटाता है, जिससे हम `save` मेथड को चेन कर सकते हैं। `OcrOutputFormat.SEARCHABLE_PDF` निर्दिष्ट करके, लाइब्रेरी PDF के अंदर एक अदृश्य टेक्स्ट लेयर एम्बेड करती है जबकि मूल इमेज की उपस्थिति को बरकरार रखती है। + +> **Edge case:** यदि आपके JPG में कई पेज हैं (जैसे, कई‑पेज TIFF को अलग‑अलग JPG के रूप में सेव किया गया है), तो आपको प्रत्येक फ़ाइल पर लूप करना होगा और बाद में उत्पन्न PDFs को मर्ज करना होगा। वही OCR इंजन प्रत्येक इटरेशन के लिए पुन: उपयोग किया जा सकता है। + +## चरण 4 – परिणाम सत्यापित करें + +सेव ऑपरेशन पूरा होने के बाद, एक साधारण कंसोल संदेश आपको बताता है कि सब कुछ सुचारू रूप से हुआ। + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +जब आप `output-searchable.pdf` को Adobe Acrobat जैसे व्यूअर में खोलते हैं, तो आपको छिपे हुए टेक्स्ट को चयन करने, कॉपी करने, या खोज चलाने में सक्षम होना चाहिए—बिल्कुल वही जो आप **searchable PDF** से अपेक्षा करते हैं। + +### अपेक्षित आउटपुट + +प्रोग्राम चलाने पर यह प्रिंट करता है: + +``` +Searchable PDF created. +``` + +और उत्पन्न PDF मूल JPG को प्रदर्शित करेगा जबकि टेक्स्ट चयन की अनुमति देगा। यदि आप PDF की “Properties → Description → PDF Producer” खोलते हैं, तो आपको `Aspose.OCR for Java` जैसा कुछ दिखेगा। + +## पूर्ण कार्यशील उदाहरण + +नीचे पूर्ण, तैयार‑चलाने योग्य स्रोत फ़ाइल दी गई है। इसे अपने IDE में कॉपी‑पेस्ट करें, फ़ाइल पाथ समायोजित करें, और रन करें। + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **अगर OCR विफल हो जाए तो क्या करें?** +> * आमतौर पर यह तब होता है जब इमेज बहुत शोरयुक्त होती है या भाषा बॉक्स से बाहर समर्थित नहीं होती। आप इमेज को पूर्व‑प्रसंस्करण (कॉन्ट्रास्ट बढ़ाना, डेस्क्यू) करके या स्पष्ट रूप से भाषा सेट करके सटीकता सुधार सकते हैं, जैसे `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`। + +## सामान्य प्रश्न और सावधानियां + +| Question | Answer | +|----------|--------| +| **क्या मैं PDF के बजाय साधारण टेक्स्ट निकाल सकता हूँ?** | हाँ। उपयोग करें `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **अगर मुझे PNG प्रोसेस करना हो तो?** | वही API काम करता है; बस `fromFile` में फ़ाइल एक्सटेंशन बदल दें। | +| **क्या उत्पन्न PDF सभी व्यूअर्स पर वास्तव में खोज योग्य है?** | आधुनिक व्यूअर्स (Adobe Reader, Foxit, Chrome) छिपी टेक्स्ट लेयर को मानते हैं। पुराने टूल्स इसे अनदेखा कर सकते हैं। | +| **मैं PDF पेज साइज को कैसे नियंत्रित करूँ?** | Aspose OCR डिफ़ॉल्ट रूप से इमेज के आयामों का उपयोग करता है। कस्टम साइजिंग के लिए, मैन्युअली PDF बनाएं और OCR टेक्स्ट लेयर ओवरले करें—यह एक उन्नत परिदृश्य है। | + +## प्रदर्शन सुझाव + +* **Batch processing:** कई इमेज के लिए एक ही `OcrEngine` इंस्टेंस को पुन: उपयोग करें ताकि बार‑बार नेटिव लाइब्रेरी लोडिंग से बचा जा सके। +* **Thread safety:** इंजन **थ्रेड‑सेफ़** नहीं है; यदि आप पैराललाइज करते हैं तो प्रत्येक थ्रेड के लिए एक बनाएँ। +* **Memory usage:** बड़ी इमेज बहुत RAM खा सकती हैं। यदि आप `OutOfMemoryError` का सामना करते हैं, तो इंजन को फीड करने से पहले इमेज को डाउनस्केल करें। + +## अगले कदम + +अब जब आप जानते हैं कि कैसे **searchable PDF** बनाना है, आप संबंधित कार्यों का अन्वेषण करना चाहेंगे: + +* **Convert jpg to pdf** OCR के बिना (सादा इमेज PDF के लिए Aspose PDF लाइब्रेरी का उपयोग करें)। +* **Extract text from jpg** को `.txt` फ़ाइल में निकालें ताकि इंडेक्सिंग हो सके। +* **Combine multiple searchable PDFs** को एकल दस्तावेज़ में मिलाएँ, Aspose PDF के `PdfFileEditor` का उपयोग करके। + +इन सभी का निर्माण उसी बुनियाद पर होता है जिसे आपने अभी सेट किया है। + +--- + +### त्वरित सारांश + +* हमने Aspose OCR for Java का उपयोग करके JPG से **searchable PDF** बनाया। +* प्रक्रिया में इमेज लोड करना, टेक्स्ट पहचानना, और खोज योग्य PDF के रूप में सहेजना शामिल था। +* अब आपके पास **image to searchable PDF**, **recognize text from image**, **extract text from jpg**, और **convert jpg to pdf** के लिए पुन: उपयोग योग्य पैटर्न है। + +इसे अपने दस्तावेज़ों के साथ आज़माएँ, यदि आवश्यक हो तो भाषा सेटिंग्स को समायोजित करें, और OCR को आपके लिए भारी काम करने दें। कोडिंग का आनंद लें! + +![खोज योग्य PDF उदाहरण बनाएं](placeholder.png){alt="खोज योग्य PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/hindi/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..2f8657eed --- /dev/null +++ b/ocr/hindi/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,172 @@ +--- +category: general +date: 2026-02-19 +description: OCR के लिए छवि को डेस्क्यू करने और शोर हटाने के तरीके सीखें। यह ट्यूटोरियल + दिखाता है कि टेक्स्ट इमेज को कैसे पहचानें, इमेज की घूर्णन को कैसे सुधारें, और Aspose + OCR के साथ इमेज OCR को कैसे प्री‑प्रोसेस करें। +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: hi +og_description: इमेज को डेस्क्यू कैसे करें और शोर को साफ़ करें ताकि आप टेक्स्ट इमेज + को तेज़ी से पहचान सकें। इमेज रोटेशन को सही करने और Aspose के साथ इमेज OCR को प्री‑प्रोसेस + करने के लिए इस गाइड का पालन करें। +og_title: इमेज को डेस्क्यू कैसे करें – पूर्ण OCR प्री‑प्रोसेसिंग ट्यूटोरियल +tags: +- OCR +- Java +- Image Processing +title: इमेज को डेस्क्यू कैसे करें — चरण‑दर‑चरण OCR प्री‑प्रोसेसिंग गाइड +url: /hi/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to Deskew Image — Complete OCR Pre‑Processing Tutorial + +क्या आप कभी **छवि को डेस्क्यू कैसे करें** यह सोचते रहे हैं, OCR इंजन को फ़ीड करने से पहले? शायद आपने रसीदों का एक बैच स्कैन किया है, और पृष्ठ थोड़ा झुके हुए दिखते हैं, या स्कैन में यादृच्छिक बिंदु बिखरे हुए हैं। यह एक आम समस्या है—झुके हुए, शोरयुक्त चित्र टेक्स्ट पहचान में बाधा डालते हैं। + +अच्छी खबर? आप Aspose.OCR का उपयोग करके कुछ ही Java लाइनों में इमेज को सीधा (इमेज रोटेशन सुधार) और शोर हटाने (शोर कैसे हटाएँ) कर सकते हैं। इस गाइड में हम पूरी प्रक्रिया को देखेंगे: शोरयुक्त‑झुकी हुई PNG को लोड करना, डेस्क्यू + मीडियन डिनॉइज़ लागू करना, और **टेक्स्ट इमेज को पहचानना** और परिणाम प्रिंट करना। अंत तक आपके पास एक पुन: उपयोग योग्य स्निपेट होगा जिसे आप किसी भी Java प्रोजेक्ट में डाल सकते हैं। + +## What You’ll Need + +- **Java 17** या नया (कोड पुराने संस्करणों के साथ भी कम्पाइल हो सकता है, लेकिन 17 सबसे उपयुक्त है)। +- **Aspose.OCR for Java** – आप नवीनतम JAR Maven Central से प्राप्त कर सकते हैं (`com.aspose:aspose-ocr`)। +- एक इमेज फ़ाइल जो दोनों ही झुकी हुई और शोरयुक्त हो (जैसे `noisy-rotated.png`)। +- एक साधारण IDE (IntelliJ, Eclipse, या यहाँ तक कि VS Code)। + +कोई जटिल बिल्ड टूल आवश्यक नहीं; एक साधारण `javac` + `java` रन पर्याप्त है। + +--- + +## Step 1 – Create the OCR Engine Instance + +पहला काम है `OcrEngine` को इनिशियलाइज़ करना। इसे वह दिमाग समझें जो बाद में आपके लिए अक्षरों को पढ़ेगा। + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Pro tip:** यदि आप कई इमेज प्रोसेस कर रहे हैं तो इंजन को सिंगलटन के रूप में रखें; यह आंतरिक बफ़र्स को पुन: उपयोग करता है और गति बढ़ाता है। + +## Step 2 – Enable Deskew and Median Denoise (How to Remove Noise) + +अब हम इंजन को **इमेज रोटेशन सुधार** और **शोर कैसे हटाएँ** बताते हैं। दोनों फ़िल्टर वैकल्पिक हैं, लेकिन साथ में उपयोग करने से सटीकता में काफी सुधार होता है। + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +मीडियन डिनॉइज़ क्यों? यह किनारों (अक्षरों को परिभाषित करने वाली रेखाएँ) को बनाए रखता है जबकि अलग‑अलग पिक्सेल को हटाता है—एक साफ़ OCR के लिए बिल्कुल सही। + +## Step 3 – Load the Image You Want to Process + +यहाँ हम इंजन को उस फ़ाइल की ओर इंगित करते हैं जिसे साफ़ करना है। `ImageStream.fromFile` PNG को मेमोरी में पढ़ता है। + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +यदि आपकी इमेज रिमोट सर्वर पर है, तो बस `InputStream` पास करें—Aspose इसे सहजता से संभालता है। + +## Step 4 – Run OCR and Capture the Recognized Text + +प्रिप्रोसेसिंग सक्षम होने के बाद, इंजन अब सुधारी गई इमेज को पढ़ता है। `recognize()` कॉल एक `RecognitionResult` लौटाता है जिसमें निकाली गई स्ट्रिंग होती है। + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +आपको कंसोल में साफ़, पठनीय टेक्स्ट दिखना चाहिए, भले ही मूल चित्र झुका हुआ और धुंधला हो। + +## Step 5 – Verify the Result (What to Expect) + +जब सब कुछ सही चलता है, तो कंसोल कुछ इस तरह प्रिंट करता है: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +यदि आउटपुट में अभी भी गड़बड़ अक्षर दिखें, तो जाँचें: + +- इमेज रेज़ोल्यूशन (≥ 300 dpi आदर्श है)। +- फ़ाइल पाथ सही है या नहीं। +- क्या अतिरिक्त फ़िल्टर (जैसे `setContrastStretch`) मदद कर सकते हैं। + +--- + +## Optional: Visual Confirmation with an Example Image + +नीचे एक झुकी हुई, शोरयुक्त रसीद की छोटी प्रीव्यू है। झुकाव देखें—हमारा कोड इसे आपके लिए सीधा कर देगा। + +![छवि को डेस्क्यू करने का उदाहरण](deskew-demo.png "छवि को डेस्क्यू करने का तरीका") + +*Alt text: छवि को डेस्क्यू करने का उदाहरण – प्रोसेसिंग से पहले और बाद।* + +--- + +## Frequently Asked Questions + +### Does this work with PDFs or only PNG/JPEG? +Aspose.OCR सीधे PDFs पढ़ सकता है; बस `ImageStream.fromFile` को `ImageStream.fromPdf` से बदलें। वही प्री‑प्रोसेसिंग फ़्लैग लागू होते हैं, इसलिए आप अभी भी **छवि को डेस्क्यू कैसे करें** और **शोर कैसे हटाएँ** प्राप्त करेंगे। + +### What if I need to keep the original orientation for later steps? +आप प्री‑प्रोसेसिंग से पहले इमेज को क्लोन कर सकते हैं: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Can I change the deskew angle manually? +हां—`setDeskewAngle(double degrees)` आपको ऑटो‑डिटेक्ट एल्गोरिद्म को ओवरराइड करने की अनुमति देता है। यह तब उपयोगी होता है जब ऑटो‑डिटेक्ट अत्यधिक रोटेशन पर फेल हो जाता है। + +### How does median denoise differ from Gaussian blur? +मीडियन फ़िल्टर प्रत्येक पिक्सेल को उसके पड़ोसियों के मीडियन से बदलता है, जिससे किनारे संरक्षित रहते हैं। Gaussian ब्लर सब कुछ स्मूद कर देता है, जिससे अक्षर की स्ट्रोक भी धुंधली हो सकती है—इसलिए OCR के लिए मीडियन अधिक सुरक्षित विकल्प है। + +--- + +## Wrapping Up + +इस ट्यूटोरियल में हमने **छवि को डेस्क्यू कैसे करें** को कवर किया, **शोर कैसे हटाएँ** को प्रदर्शित किया, और Aspose OCR के बिल्ट‑इन प्री‑प्रोसेसिंग का उपयोग करके **टेक्स्ट इमेज को पहचानना** दिखाया। `setDeskew(true)` और `setMedianDenoise(true)` को सक्षम करके आप स्वचालित रूप से **इमेज रोटेशन सुधार** और स्पीकल्स को साफ़ कर सकते हैं, जिससे एक गंदा स्कैन साफ़ टेक्स्ट स्ट्रिंग में बदल जाता है। + +बिना झिझक प्रयोग करें: विभिन्न डिनॉइज़ रणनीतियों को आज़माएँ, PDFs फीड करें, या लूप में कई इमेज प्रोसेस करें। वही पैटर्न—इंजन → प्री‑प्रोसेस → पहचान—हर परिदृश्य में लागू होता है, जिससे यह किसी भी OCR पाइपलाइन के लिए एक ठोस आधार बन जाता है। + +**अगले कदम** जिन्हें आप एक्सप्लोर कर सकते हैं: + +- **बैच प्रोसेसिंग** – इमेज फ़ोल्डर पर इटररेट करें और प्रत्येक परिणाम को `.txt` फ़ाइल में लिखें। +- **भाषा पैक्स** – विशिष्ट भाषा शब्दकोश लोड करके गैर‑अंग्रेज़ी टेक्स्ट की सटीकता बढ़ाएँ। +- **एडवांस्ड फ़िल्टर** – जैसे `setContrastStretch` या `setBinarization` कम कॉन्ट्रास्ट स्कैन के लिए। + +और सवाल हैं? टिप्पणी करें, और कोडिंग का आनंद लें! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/_index.md b/ocr/hongkong/java/advanced-ocr-techniques/_index.md index afe12fd84..fba4cdf08 100644 --- a/ocr/hongkong/java/advanced-ocr-techniques/_index.md +++ b/ocr/hongkong/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,14 @@ Aspose.OCR for Java 是光學字元辨識 (OCR) 方面的遊戲規則改變者 使用 Aspose.OCR 為您的 Java 應用程式提供精確的文字辨識功能。集成方便,精度高。 ### [在 Aspose.OCR 中指定允許的字符](./specify-allowed-characters/) 使用 Aspose.OCR for Java 無縫解鎖圖片中的文字擷取。請遵循我們的逐步指南以實現高效整合。 +### [在 Aspose.OCR for Java 中啟用 GPU 進行 OCR 的完整指南](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +了解如何在 Java 中使用 Aspose.OCR 啟用 GPU 加速 OCR,提升辨識效能與速度。 +### [在 Aspose.OCR for Java 中對影像執行 OCR – 手寫筆記與拼寫檢查](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +了解如何在 Java 中使用 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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/hongkong/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..b2960ddd7 --- /dev/null +++ b/ocr/hongkong/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,207 @@ +--- +category: general +date: 2026-02-19 +description: 如何啟用 GPU 以加快 OCR 處理。學習載入高解析度影像、辨識文字影像,並使用 Aspose OCR 提取文字。 +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: zh-hant +og_description: 如何啟用 GPU 以加快 OCR 處理。本指南將示範如何載入高解析度影像、辨識文字圖像,並使用 Aspose OCR 提取文字。 +og_title: 如何在 Java 中啟用 GPU 進行 OCR – 完整指南 +tags: +- OCR +- Java +- GPU +- Aspose +title: 如何在 Java 中啟用 GPU 進行 OCR – 完整指南 +url: /zh-hant/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +. + +Now produce final content.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 Java 中啟用 GPU 進行 OCR – 完整指南 + +有沒有想過 **如何啟用 GPU** 來加速你的 OCR 工作流程,省下幾秒鐘的處理時間?你並不孤單。在許多以圖像為主的專案中,瓶頸往往是 CPU 受限的文字擷取步驟,而改用 GPU 則可能徹底改變局面。 + +在本教學中,我們將示範如何載入 **高解析度影像**、設定 Aspose OCR 在 GPU 上執行,最後僅用幾行 Java 程式碼即可 **recognize text image** 與 **extract text**。完成後,你將擁有一個可直接執行的範例程式,完整展示 **enable GPU processing** 的全流程。 + +## 你需要的環境 + +- Java 17 或更新版本(程式碼使用模組系統,但在較舊 JDK 上只要稍作調整亦可運作) +- Aspose OCR for Java 23.10(或最新版本)——可從 Aspose 官方網站取得 Maven 坐標 +- 具備 CUDA 12+ 驅動程式的 NVIDIA GPU(否則函式庫將無法啟動) +- 你想要辨識文字的高解析度樣本影像(PNG 或 JPEG) + +就這樣。無需外部服務、無需雲端額度,只要你的機器與正確的驅動程式堆疊即可。 + +![GPU OCR 工作流程 – 如何啟用 GPU 處理](gpu-ocr-workflow.png) + +*圖片說明:示意圖說明如何在 Java 中啟用 GPU 進行 OCR 處理。* + +## 步驟實作說明 + +以下我們將解決方案拆分為多個邏輯區塊。每個章節都包含簡潔的程式碼片段、說明此步驟 **為何** 重要的解說,以及一些你之後可能會感激的實用小技巧。 + +### 如何啟用 GPU 進行 OCR – 步驟 1:安裝相依性與驗證 CUDA + +在執行任何 Java 程式碼之前,必須能找到本機的 CUDA 執行環境。於 Windows 系統可使用以下指令驗證: + +```bat +nvcc --version +``` + +在 Linux 上: + +```bash +nvidia-smi +``` + +如果指令顯示驅動程式版本與 GPU 資訊,代表已可使用。否則請前往 NVIDIA 官方網站下載相應的驅動程式,並安裝 CUDA 工具組(務必確保版本符合 Aspose OCR 的需求——目前為 12.x)。 + +**提示:** 請保持 GPU 驅動程式為最新穩定版,但避免使用「latest‑beta」版;此類版本有時會破壞 Aspose 原生函式庫的二進位相容性。 + +### 如何啟用 GPU 進行 OCR – 步驟 2:加入 Aspose OCR Maven 相依性 + +將以下內容加入你的 `pom.xml`。此設定會下載核心 OCR 引擎以及 Windows、Linux、macOS 的原生 GPU 二進位檔。 + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +如果你偏好使用 Gradle,等價的設定如下: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +重新整理專案後,`OcrEngine`、`OcrDeviceType` 與 `ImageStream` 類別即可使用。 + +### 如何啟用 GPU 進行 OCR – 步驟 3:建立 OCR 引擎並啟用 GPU + +現在我們實際告訴 Aspose 在 GPU 上執行。`OcrEngine` 會公開一個 `Device` 物件,我們可以在此切換處理裝置類型。 + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**為何重要:** 設定 `OcrDeviceType.GPU` 會將底層推論引擎從僅 CPU 的實作切換為 CUDA 加速版。可選的 `setStreamCount` 呼叫讓你控制平行度;在大多數消費級顯示卡上,兩個串流是安全的預設值。 + +### 如何啟用 GPU 進行 OCR – 步驟 4:載入高解析度影像 + +高解析度的來源能為 OCR 模型提供更多視覺細節,進而提升準確度,尤其是對於小字體或複雜文字。`ImageStream.fromFile` 輔助函式會將檔案讀取為引擎所需的格式。 + +如果你需要從 URL 或記憶體位元組陣列 **載入高解析度影像**,可以使用: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**邊緣情況:** 部分 GPU 的最大紋理尺寸有限制(常見為 16384 × 16384)。若影像超過此尺寸,請考慮縮小至仍能保持可讀性的大小(例如 3000 × 2000)。若在載入前呼叫 `ocrEngine.setResizeFactor(0.5)`,OCR 引擎會自動調整大小。 + +### 如何啟用 GPU 進行 OCR – 步驟 5:辨識文字影像並擷取文字 + +呼叫 `ocrEngine.recognize()` 會在 GPU 上觸發神經網路推論。此方法會回傳 `OcrResult` 物件;使用 `getText()` 可取得純文字字串。若需要更豐富的資訊,亦可取得邊界框、信心分數或原始 JSON。 + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**為何需要這樣做:** `recognize text image` 步驟正是 GPU 發揮威力之處——大型影像在 CPU 上可能需要數秒,而在 GPU 上僅需一小段時間。信心分數可用於過濾低品質結果,這在你之後 **如何擷取文字** 以進行下游分析時相當實用。 + +### 專業提示與常見陷阱 + +| Situation | What to Do | +|-----------|------------| +| **GPU 記憶體不足** 錯誤 | Reduce `setStreamCount` to 1, or down‑scale the image before feeding it to the engine. | +| **未辨識的字元** 儘管解析度高 | Ensure the language model (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) matches the text language. | +| **CUDA 版本不匹配** | Align the CUDA toolkit version with the one bundled in Aspose OCR (check the release notes). | +| **多顯示卡** | Use `ocrEngine.getDevice().setDeviceId(1)` to pick the second GPU if the first is busy. | +| **在無頭伺服器上執行** | No extra steps needed; the GPU driver works without a display. | + +## 如何擷取文字 – 驗證輸出 + +執行上述類別時,你應該會看到類似以下的輸出: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +若輸出呈現亂碼,請再次確認影像確實為高解析度且 GPU 驅動程式已正確安裝。你也可以開啟詳細日誌: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +日誌會顯示原生 CUDA 核心是否成功載入。 + +## 後續步驟與相關主題 + +- **批次處理:** 將 `OcrEngine` 包在迴圈中,並提供影像路徑清單。記得重複使用同一個引擎實例,以避免重複的 GPU 初始化開銷。 +- **語言偵測:** Aspose OCR 支援超過 30 種語言。可使用 `ocrEngine.setLanguage(OcrLanguage.FRENCH)` 進行切換。 +- **後處理:** 使用正規表達式清理擷取的字串,或將其送入下游的 NLP 流程。 +- **替代裝置:** 若沒有支援 CUDA 的 GPU,可改用 `OcrDeviceType.CPU`。相同程式碼仍可運作,只需更改裝置類型。 +- **效能基準測試:** 使用 `System.nanoTime()` 在 `recognize()` 前後測量時間差,以量化 **enable GPU processing** 所帶來的效益。 + +--- + +### 總結 + +我們已說明如何在 Java 中 **啟用 GPU** 以使用 Aspose OCR,從安裝正確的驅動程式、載入 **高解析度影像**、**recognize text image**,最後 **如何擷取文字**。上述完整且可執行的範例應能在任何現代 NVIDIA GPU 上直接運作。 + +試著執行它,實驗不同的影像尺寸,觀察 OCR 吞吐量的提升。若遇到任何問題,請回顧提示部分或查閱 Aspose 的發行說明,以取得最新的 **enable GPU processing** 建議。 + +祝開發順利,願你的 GPU 在處理文字時保持涼爽! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/hongkong/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..cca4f608a --- /dev/null +++ b/ocr/hongkong/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,241 @@ +--- +category: general +date: 2026-02-19 +description: 學習如何在 Java 中使用 Aspose OCR 進行手寫筆記圖像的光學字符辨識。包括載入圖像以執行 OCR、讀取手寫筆記以及將手寫圖像文字轉換。 +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: zh-hant +og_description: 如何在 Java 中使用 Aspose 進行手寫筆記圖像的 OCR。一步一步的指南,教您載入圖像進行 OCR、讀取手寫筆記並將手寫圖像文字轉換。 +og_title: 如何在 Java 中對圖像進行 OCR – 手寫筆記指南 +tags: +- Java +- OCR +- Aspose +- Handwriting +title: 如何在 Java 中對影像進行 OCR – 手寫筆記與拼寫檢查 +url: /zh-hant/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 Java 中 OCR 圖像 – 手寫筆記與拼寫檢查 + +有沒有想過 **how to OCR image**(如何 OCR 圖像)裡面包含你隨手寫的雜貨清單或會議紀要?你並不是唯一有此疑問的人。在許多實際應用中,開發人員需要讀取手寫筆記並將其轉換為可搜尋的文字——無需手動重新輸入。 + +在本教學中,我們將逐步說明一個完整、可直接執行的範例,展示如何使用 Aspose OCR for Java 來 **how to OCR image**、如何 **load image for OCR**,以及如何使用內建拼寫校正 **read handwritten notes**。完成後,你將能夠 **convert handwritten image text** 成為可儲存、索引或顯示的乾淨字串。 + +## 你將學到的內容 + +- 設定能夠理解英文手寫的 OCR 引擎的完整步驟。 +- 如何從磁碟 **load image for OCR** 並將其傳入引擎。 +- 為何在處理雜亂筆跡時啟用拼寫檢查器很重要。 +- 處理常見邊緣情況的方法,例如低對比度影像或缺少語言套件。 +- 完整、可執行的程式碼範例,你可以貼到 IDE 中立即看到結果。 + +> **先決條件**:已安裝 Java 8+、用於相依管理的 Maven 或 Gradle,以及 Aspose OCR for Java 授權(免費試用版可用於學習)。不需要其他外部函式庫。 + +## 步驟 1:設定專案並加入 Aspose OCR 相依性 + +首先,你的專案需要 Aspose OCR 函式庫。如果使用 Maven,請將以下內容加入 `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +或使用 Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **小技巧**:留意版本號碼;較新版本會提升手寫辨識效果並加入語言支援。 + +相依性解決後,你即可 **load image for OCR**。 + +## 步驟 2:建立 OCR 引擎實例 + +要有效地 **how to OCR image**,你需要一個 `OcrEngine` 物件。此物件是整個流程的核心——它保存語言設定、拼寫檢查旗標以及影像本身。 + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +為什麼要先建立引擎實例?因為 Aspose OCR 設計為可重複使用;你可以使用同一個實例處理多張影像,並在需要時調整設定。 + +## 步驟 3:加入英文語言支援並啟用拼寫校正 + +手寫筆記常常充斥拼寫錯誤、遺漏字母或非慣用縮寫。啟用拼寫檢查器可讓引擎有機會清理輸出結果。 + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **為什麼要啟用拼寫校正?** +> 若不啟用,原始 OCR 輸出可能會是 “t0d@y” 或 “c0ffee”。拼寫檢查器會將此類異常正規化,使最終文字對於後續處理(如搜尋索引)更有用。 + +## 步驟 4:載入手寫影像 + +現在我們 **load image for OCR**。Aspose 提供便利的 `ImageStream.fromFile` 方法,可接受任何常見的點陣圖格式(PNG、JPEG、BMP)。 + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +如果你的影像位於資源資料夾,或是以位元組陣列(例如從網路上傳)取得,你可以改用 `ImageStream.fromBytes`——只需將上述程式碼行替換為: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## 步驟 5:執行 OCR 並取得校正後的文字 + +在引擎設定完成且影像已載入後,實際的 **how to OCR image** 呼叫只需要一行程式碼: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +`recognize()` 方法會回傳一個 `OcrResult` 物件,內含不僅是純文字,還有信心分數、邊界框等資訊。對大多數使用情境而言,直接使用 `getText()` 即可。 + +## 步驟 6:輸出結果 + +最後,我們將清理過的字串印到主控台。在實際應用中,你可能會將其儲存至資料庫、送入搜尋引擎,或傳給語言模型。 + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### 預期輸出 + +假設手寫筆記內容為: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +你應該會看到類似以下的結果: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +即使原始筆跡相當雜亂——例如 “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”——拼寫檢查器通常也能將其整理正確。 + +## 載入影像以進行 OCR – 提升準確度的技巧 + +1. **解析度很重要** – 目標至少 300 dpi。較低解析度會讓引擎遺漏細小筆畫。 +2. **對比度是關鍵** – 若背景有顏色,請先將影像轉為灰階。 +3. **裁切至內容** – 移除不必要的邊緣可減少雜訊並加快處理速度。 + +你可以在交給 Aspose 前,使用 OpenCV 等函式庫或 Java 內建的 `BufferedImage` 先行前處理影像。 + +## 讀取手寫筆記:處理邊緣情況 + +- **低信心詞彙**:`ocrEngine.getResult().getWords()` 會回傳一個清單,每個詞彙都有信心值(0–100)。你可以過濾低於門檻的詞彙,並提示使用者手動審核。 +- **多語言**:若需要同時 **read handwritten notes** 英文與西班牙文,請在呼叫 `recognize()` 前加入兩種語言。 +- **大型檔案**:對於多頁 PDF 或 TIFF,請在迴圈中使用 `ocrEngine.setImage(pageStream)` 逐頁處理。 + +## 將手寫影像文字轉換為結構化資料 + +通常你不只需要原始字串;可能還要抽取日期、金額或清單項目。取得校正後的文字後,可使用正規表達式或 NLP 函式庫(如 Stanford CoreNLP)來解析內容: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +此程式碼片段展示了如何輕鬆地從 **convert handwritten image text** 轉換為可操作的資料。 + +## 常見陷阱與避免方法 + +| 症狀 | 可能原因 | 解決方法 | +|---------|--------------|-----| +| 輸出雜亂,出現大量 `?` 字元 | 影像過暗或對比度低 | 提升亮度或使用直方圖均衡化前處理 | +| 遺漏詞彙 | 手寫過於連筆 | 啟用 `ocrEngine.getSettings().setEnableCursive(true)`(若支援) | +| 拼寫檢查器產生錯誤詞彙 | 語言模型不匹配 | 透過 `ocrEngine.getSpellChecker().addUserWords(...)` 新增自訂字典 | +| 大型影像導致記憶體不足錯誤 | 影像大小 > 10 MB | 載入前縮小尺寸,或以瓦片方式處理 | + +## 完整可執行範例(直接複製貼上) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **注意**:若從 IDE 執行程式碼,請確保 `YOUR_DIRECTORY` 資料夾已在 classpath 中,或使用絕對路徑。 + +## 結論 + +我們已完整說明了在 Java 中 **how to OCR image** 的全流程,展示了如何 **load image for OCR**、**read handwritten notes**、啟用拼寫校正,最後將 **convert handwritten image text** 轉換為乾淨的字串。此方法簡單易懂,同時足以支援生產等級的應用。 + +準備好接受下一個挑戰了嗎?可以嘗試多頁 PDF、為特定行業詞彙加入自訂字典,或將 OCR 輸出餵入機器學習模型進行情感分析。結合 Aspose OCR 的高準確度與 Java 的彈性,無所不能。 + +對某個邊緣情況有疑問,或想分享如何將此功能整合到行動應用程式?歡迎在下方留言——祝編程愉快! + +--- + +![如何 OCR 圖像範例](/images/ocr-handwritten-example.png "手寫筆記的 OCR 圖像") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/java/ocr-basics/_index.md b/ocr/hongkong/java/ocr-basics/_index.md index 5c8674999..773280103 100644 --- a/ocr/hongkong/java/ocr-basics/_index.md +++ b/ocr/hongkong/java/ocr-basics/_index.md @@ -102,6 +102,16 @@ A: 超過 30 種語言,包括英文、西班牙文、中文、阿拉伯文等 ### [取得 Aspose.OCR 中文字區域的矩形框](./get-rectangles-with-text-areas/) 發掘 Aspose.OCR for Java 的強大功能,逐步學習如何無縫從影像中提取文字。本指南即刻下載,提升文字辨識效率。 +### [在 Java 中從 PNG 文字辨識 – Aspose OCR 教學](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +示範如何使用 Aspose.OCR for Java 讀取 PNG 圖片並提取文字,涵蓋授權設定與基本程式範例。 + +### [從影像提取文字 – 在 Java 中將 PNG 轉換為文字](./extract-text-from-image-convert-png-to-text-in-java/) +示範如何使用 Aspose.OCR for Java 讀取 PNG 圖片並將其內容轉換為純文字,包含授權設定與程式範例。 + +### [在 Java 中從影像提取文字 – 完整 OCR 範例](./extract-text-from-image-in-java-complete-ocr-example/) + +### [使用 Aspose OCR 從影像提取文字 – Java 快速指南](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) + --- **最後更新:** 2025-12-08 @@ -113,4 +123,4 @@ A: 超過 30 種語言,包括英文、西班牙文、中文、阿拉伯文等 {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/hongkong/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..5079383c0 --- /dev/null +++ b/ocr/hongkong/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,212 @@ +--- +category: general +date: 2026-02-19 +description: 使用 Aspose OCR Java 從圖像提取文字 – 學習如何將 PNG 轉換為文字、載入圖像進行 OCR,並跟隨 Java OCR + 教程。 +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: zh-hant +og_description: 使用 Aspose OCR Java 從圖像提取文字。請按照此一步一步的 Java OCR 教程將 PNG 轉換為文字並載入圖像進行 + OCR。 +og_title: 從圖像提取文字 – Java OCR 指南 +tags: +- OCR +- Java +- Aspose +- Image Processing +title: 從圖像提取文字 – 在 Java 中將 PNG 轉換為文字 +url: /zh-hant/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 從圖像提取文字 – Java OCR 教程 + +曾經需要 **從圖像提取文字**,卻不確定哪個函式庫可以讓你輕鬆完成,而不必繞很多彎路嗎?你並不是唯一的開發者——大家常問:「如何在 Java 中把 PNG 轉成文字?」好消息是 Aspose OCR 讓整個流程變得像散步一樣簡單。在本指南中,我們將完整走過 **java ocr tutorial**,示範如何 **load image for OCR**,最終得到乾淨、可搜尋的文字。 + +我們會從設定引擎到處理多語言內容全部說明,結束時你將能 **extract text from image** 任意大小、格式或語言的檔案。無需外部服務、無需 API 金鑰——只要一個 JAR 與幾行程式碼。 + +## 你需要的條件 + +在深入之前,請確保你已具備: + +- 已安裝 JDK 8 或更新版本(程式碼在 JDK 11+ 亦可執行)。 +- Maven 或 Gradle 以取得 Aspose OCR 套件,或自行從 Aspose 官網下載 JAR。 +- 一張包含可讀文字的 PNG 圖片(本範例使用 `khmer-sign.png`)。 +- 你熟悉的 IDE 或文字編輯器——IntelliJ IDEA、Eclipse、VS Code 任一皆可。 + +就這麼簡單。沒有笨重的框架,沒有雲端憑證。準備好了嗎?讓我們開始從圖像檔案提取文字吧。 + +## 步驟 1:將 Aspose OCR 加入專案 + +首先,你必須把 OCR 引擎放到 classpath 中。若使用 Maven,於 `pom.xml` 加入以下相依性: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +或使用 Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +如果你偏好手動方式,從 Aspose 下載頁面取得 JAR,放入專案的 `libs` 資料夾,並將其加入建置路徑。 + +> **專業提示:** 永遠選擇最新的穩定版;舊版可能缺少語言包或錯誤修正。 + +## 步驟 2:建立 OCR 引擎實例 + +現在函式庫已可使用,我們可以建立一個 `OcrEngine`。把引擎想像成會讀取像素並轉換成字元的大腦。 + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +為什麼每次都要建立全新的引擎?引擎內部會保留緩衝區與語言資料;從乾淨的狀態開始可保證結果可預測,尤其在之後切換語言時更是如此。 + +## 步驟 3:啟用所需語言(可選但建議) + +Aspose OCR 內建數十種語言包。若你已知來源圖像的語言,請明確啟用;這樣可以加快辨識速度並提升準確度。範例中我們啟用高棉語 (`khm`),你也可以改成 `ENG`(英文)、`CHN`(中文)等。 + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **為什麼重要:** 當你 **load image for OCR** 時,引擎只會搜尋已啟用的語言字典。若全部語言都開啟,會拖慢速度且增加誤判。 + +## 步驟 4:載入圖像以供 OCR – 將 PNG 轉成文字 + +這一步就是 **load image for OCR**。Aspose 提供便利的 `ImageStream.fromFile` 輔助方法,抽象掉底層 I/O。 + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +若你的圖像是其他格式(JPEG、BMP、TIFF),同樣的方法也適用——Aspose 會自動偵測格式。只要確保檔案路徑正確,否則會拋出 `FileNotFoundException`。 + +## 步驟 5:執行 OCR 並將 PNG 轉成文字 + +引擎已就緒且圖像已載入,實際辨識只需一次方法呼叫。回傳的結果物件提供原始字串以及信心分數。 + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +就這樣,你已完成 **convert PNG to text**。回傳的字串可能保留換行與空白,與引擎看到的一致。你可以使用 `trim()`、`replaceAll("\\s+", " ")` 或其他方式進行後處理。 + +## 步驟 6:輸出結果(或儲存) + +為了快速驗證,先把結果印到主控台。實際應用中,你可能會寫入檔案、資料庫,或傳給其他服務。 + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**預期輸出**(以提供的高棉語標誌為例)可能如下: + +``` +សួស្តី +Welcome +``` + +若輸出雜亂,請再次確認第 3 步是否啟用了正確語言,且圖像是否過於模糊。提升圖像解析度(例如使用 300 dpi 掃描)通常能改善效果。 + +## 完整範例 + +將所有片段組合起來,以下是一個可直接貼到 `ExtractTextExample.java` 並執行的自包含程式: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +執行指令: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +或是使用 Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +執行後,你應該會在主控台看到擷取出的文字,證明已成功 **extract text from image**,且使用了 Aspose OCR。 + +## 常見問題與解決方式 + +| 症狀 | 可能原因 | 解決方法 | +|------|----------|----------| +| 回傳空字串 | 未啟用語言或語言代碼錯誤 | 加入正確的 `OcrLanguage`(例如 `ENG` 代表英文)。 | +| 文字雜亂 | 圖像解析度太低或背景噪點過多 | 使用較高解析度的來源,或先以銳化濾鏡前處理。 | +| `OutOfMemoryError` | 載入過大的圖像 | 在送入引擎前先縮小圖像(`ImageStream.fromFile(...).scale(0.5)`)。 | +| `FileNotFoundException` | 路徑錯誤 | 核對絕對或相對路徑;可使用 `Paths.get(...).toAbsolutePath()`。 | + +> **記住:** OCR 是機率性的過程。即使設定完美,仍可能需要手動校正少部份字元,尤其是手寫或草寫文字。 + +## 延伸教學 – 下一步 + +- **批次處理:** 迴圈遍歷資料夾中的 PNG 檔案,對每張圖執行相同邏輯。 +- **PDF 輸出:** 使用 Aspose PDF 將擷取的文字嵌入可搜尋的 PDF。 +- **語言偵測:** 在設定語言前呼叫 `ocrEngine.detectLanguage()`,讓引擎自動判斷。 +- **雲端整合:** 若需擴展,將程式包裝成 REST 端點,讓微服務呼叫。 + +以上所有主題皆建立在我們剛完成的 **java ocr tutorial** 基礎上,並展示了 Aspose OCR API 的多樣性。 + +## 結論 + +我們已完整走過一個 **java ocr tutorial**,讓你能 **extract text from image**、**convert PNG to text**,並正確 **load image for OCR**,全程只需加入函式庫、建立引擎、啟用語言、載入 PNG、呼叫 `recognize()`,最後處理輸出。以此為基礎,你可以自動化資料輸入、建立可搜尋的檔案庫,或為任何需要從圖片取得機器可讀文字的應用提供動力。 + +試著用自己的圖片來練習——或許是收據的截圖、或是掃描的合約。調整語言設定、實驗不同解析度,你會快速體會此解決方案的彈性。若遇到問題,回顧上表或查閱 Aspose 官方文件;文件完整且持續更新。 + +祝開發順利,願你的下一個專案充滿乾淨、可搜尋的文字! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/hongkong/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..c9608a69c --- /dev/null +++ b/ocr/hongkong/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,163 @@ +--- +category: general +date: 2026-02-19 +description: 使用 Java OCR 從圖像中提取文字。學習一個 Java OCR 範例,僅需幾個步驟即可載入圖像進行 OCR,並從發票檔案中提取文字。 +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: zh-hant +og_description: 使用 Java OCR 從圖像中提取文字。本指南示範如何載入圖像進行 OCR,並以簡單的 Java OCR 範例從發票中擷取文字。 +og_title: 在 Java 中從圖片擷取文字 – 完整 OCR 範例 +tags: +- OCR +- Java +- Aspose +- Image Processing +title: 在 Java 中從圖像提取文字 – 完整 OCR 範例 +url: /zh-hant/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +to Traditional Chinese (Hong Kong). Use appropriate terms: "使用 Java OCR 從圖像提取文字". Title: "提取文字範例". We'll keep the URL unchanged. + +Also translate table headers and cells. + +Also translate the list under "What You’ll Learn". Keep bullet points. + +Also translate "Prerequisites" list. + +Also translate "Pro tip", "Edge case", etc. + +Also translate "Common Pitfalls & How to Fix Them" and table. + +Also translate "Conclusion" and final paragraph. + +Make sure to keep markdown formatting. + +Let's produce final content. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 使用 Java 從圖像提取文字 – 完整 OCR 範例 + +是否曾需要 **從圖像提取文字**,卻不確定該選哪個函式庫?你並不孤單——許多開發者在自動化發票處理或建立可搜尋檔案庫時,都會碰到這個問題。好消息是,只要幾行 Java 程式碼,就能載入圖像進行 OCR、定義感興趣區域(ROI),並取得所需的文字。 + +在本教學中,我們將逐步說明一個 **java ocr example**,展示如何 **load image for OCR**、設定 ROI,並使用 Aspose.OCR **extract text from invoice**。完成後,你將得到一個可直接放入任何 Java 專案的可執行程式。 + +## 你將學會 + +- 如何建立 `OcrEngine` 實例以及它的重要性。 +- 使用 Aspose 的 `ImageStream` 正確 **load image for OCR** 的方式。 +- 設定 **region of interest (ROI)**,只處理包含發票金額的圖像區塊。 +- 取得辨識後的文字並印出到主控台。 +- 常見陷阱(例如錯誤的矩形座標)與快速解決方法。 + +**先決條件** + +- 已安裝 Java 8 或更新版本。 +- 使用 Maven 或 Gradle 取得 Aspose.OCR 套件 (`com.aspose:aspose-ocr`)。 +- 將範例發票圖像 (`invoice.png`) 放置於已知目錄。 + +全部準備好了嗎?太好了——讓我們開始吧。 + +![使用 Java OCR 從圖像提取文字](/images/extract-text-from-image-java.png "提取文字範例") + +## Extract Text from Image – Step‑by‑Step Java OCR Example + +以下為完整原始碼。請將其複製貼上至 `RoiOcrExample.java`,直接執行即可。 + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### 為什麼每一步都很重要 + +1. **Creating the OCR engine** – 沒有引擎就沒有圖像處理的上下文。此物件亦可在之後調整語言套件,以支援多語言辨識。 +2. **Loading the image** – `ImageStream.fromFile` 會抽象化檔案格式,確保引擎正確讀取位元組。若省略此步,將拋出 `NullPointerException`。 +3. **Setting the ROI** – 整頁處理既浪費資源,又可能產生雜訊。將矩形縮小至發票總金額區域,可加快辨識速度並降低噪聲。 +4. **Calling `recognize()`** – 這裡就是魔法發生的地方。此方法會在 ROI 上執行 OCR 演算法,產生結果物件。 +5. **Printing the output** – 在實際專案中,你可能會將文字寫入資料庫,但 `System.out.println` 已足夠示範。 + +## Load Image for OCR + +如果你在疑惑路徑要使用絕對或相對,兩者皆可——只要確保 Java 程序能讀取該檔案。Windows 上必須將反斜線跳脫 (`C:\\images\\invoice.png`) 或改用正斜線 (`C:/images/invoice.png`)。 + +**Pro tip:** 若需要在迴圈中處理大量發票,請重複使用同一個 `OcrEngine` 實例;它會快取內部資源,提升吞吐量。 + +## Define Region of Interest (ROI) + +選擇正確的矩形可能需要多次嘗試。最方便的方式是使用任意圖形編輯器(如 GIMP 或 Paint.NET)開啟圖像,將滑鼠移到目標區域,即可在狀態列看到 X/Y 座標。 + +Edge case: 某些發票版面會變動。此時可先對整張圖像進行快速預掃描,利用正則表達式找出「Total:」等關鍵字,再動態調整 ROI。 + +## Perform OCR and Get Text + +`recognize()` 為同步呼叫——執行緒會阻塞直到引擎完成。若要處理大量批次,建議建立執行緒池平行處理圖像。記得每個執行緒必須擁有自己的 `OcrEngine` 實例,因為它們不是執行緒安全的。 + +## Run and Verify Output + +編譯並執行: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +預期會看到類似以下的輸出: + +``` +ROI text: $1,254.00 +``` + +若輸出雜亂,請再次檢查 ROI 座標,並確保圖像品質足夠(300 dpi 以上效果最佳)。 + +### 常見陷阱與解決方法 + +| 症狀 | 可能原因 | 解決方式 | +|------|----------|----------| +| 空字串 | ROI 超出圖像範圍 | 核對矩形值與圖像尺寸是否相符 | +| 拼寫錯誤 | 解析度過低 | 使用較高解析度的來源,或進行圖像前處理(如二值化) | +| `java.lang.NoClassDefFoundError` | 類路徑缺少 Aspose JAR | 將 `aspose-ocr.jar` 加入 `-cp`,或使用 Maven/Gradle 管理相依性 | + +## 結論 + +現在你已掌握如何在 Java 中使用簡潔的 **java ocr example** **extract text from image**。只要正確載入圖像、定義聚焦的 ROI,並呼叫 `recognize()`,就能可靠地 **extract text from invoice**,並將資料傳遞至下游系統。 + +接下來可以嘗試將 ROI 換成其他欄位(日期、供應商名稱),或測試多語言套件以處理多語系發票,甚至將 OCR 步驟整合至 Spring Boot 微服務。相同的模式同樣適用於收據、護照或任何需要精確文字擷取的文件。 + +如果你對此解決方案的擴充或噪聲掃描處理有任何疑問,歡迎在下方留言——祝開發順利! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/hongkong/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..0175a426a --- /dev/null +++ b/ocr/hongkong/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-02-19 +description: 使用 Aspose OCR 在 Java 中從圖像提取文字。了解如何從 PNG 識別文字、將圖像轉換為字串,以及僅需幾個步驟即可讀取掃描文件的文字。 +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: zh-hant +og_description: 快速從圖像中提取文字。本教程展示如何從 PNG 識別文字、將圖像轉換為字串,以及使用 Aspose OCR 從掃描件中讀取文字。 +og_title: 使用 Aspose OCR 從圖像中提取文字 – Java 指南 +tags: +- Java +- OCR +- Aspose +title: 使用 Aspose OCR 從圖像擷取文字 – Java 快速指南 +url: /zh-hant/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 從圖像提取文字 – 完整 Java 教程 + +是否曾需要 **提取圖像文字**,但不確定該選擇哪個函式庫?也許你有一張 PNG 格式的掃描收據,想把文字轉成純字串以便後續處理。依我的經驗,Aspose OCR 函式庫在這方面非常好用,尤其是使用 Java 時。 + +在本指南中,我們將逐步說明你需要了解的所有內容:從設定 Aspose OCR 相依性、載入 PNG 檔案、**recognize text from png**,一直到將結果轉換為可用的 Java `String`。完成後,你將能夠 **convert image to string**,同時也會看到如何在不費力的情況下 **read text from scan** 檔案。 + +## 你將學到什麼 + +- 如何將 Aspose OCR 加入 Maven 或 Gradle 專案。 +- 使用單一方法呼叫即可完成 **extract text from image** 的完整程式碼。 +- `ImageStream` 類別是向引擎提供資料的首選方式。 +- 處理大型掃描檔案、多頁 PDF 以及常見陷阱的技巧。 + +不需要事先的 OCR 經驗,只要具備基本的 Java 知識以及想要處理的 PNG 即可。 + +## 前置條件 + +| 需求 | 原因 | +|-------------|--------| +| Java 8 或更新版本 | Aspose OCR 目標為 Java 8+. | +| Maven 或 Gradle(可選) | 簡化相依性管理。 | +| PNG 圖片(例如 `quick.png`) | 我們將對其執行 OCR 的來源。 | +| 網際網路連線(首次執行時) | 函式庫可能會自動下載語言套件。 | + +如果你已經有 IntelliJ IDEA 或 Eclipse 等 Java IDE,就可以直接開始。 + +--- + +## 步驟 1:在專案中設定 Aspose OCR + +### Maven + +在你的 `pom.xml` 中加入以下相依性: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **專業提示:** 若你使用公司代理,請確保 Maven/Gradle 能連線至 `repo.maven.apache.org`。否則在寫任何程式碼之前,建置就會失敗。 + +--- + +## 步驟 2:載入 PNG 圖片 + +`ImageStream` 類別抽象化了檔案系統細節,並支援串流、URL 或位元組陣列。以下示範如何載入本機 PNG: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **為什麼重要:** 使用 `ImageStream.fromFile` 可確保 OCR 引擎以其完全支援的格式接收圖像,較之直接傳入原始位元組陣列可提升辨識準確度。 + +--- + +## 步驟 3:從 PNG 辨識文字 + +Aspose OCR 提供一個單一的靜態方法負責繁重工作:`OcrEngine.recognize`。它會回傳純粹的 Java `String`,正是你在想要 **convert image to string** 時所需要的。 + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### 背後發生了什麼? + +1. **Pre‑processing:** 引擎會自動校正圖像傾斜並正規化對比度。 +2. **Language Detection:** 若未指定語言,Aspose 會嘗試自動偵測,對快速掃描相當便利。 +3. **Recognition:** 核心 OCR 引擎執行訓練於數百萬字元的神經網路模型。 + +由於這一切都封裝在一次呼叫中,除非有非常特殊的使用情境,否則不必調整低階設定。 + +--- + +## 步驟 4:顯示與使用擷取的字串 + +取得文字後,你可以將其印出、存入資料庫,或傳遞給其他 API。以下是最簡單的方式——直接 `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### 預期輸出 + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **注意:** 具體輸出取決於 `quick.png` 的內容。若圖像包含手寫筆記,可能會出現一些辨識錯誤——只要稍作後處理即可解決。 + +--- + +## 步驟 5:處理常見邊緣案例 + +### 大型掃描或多頁 PDF + +若需處理大於一般 PNG 的 **read text from scan** 檔案,可考慮: + +- 將圖像切割成多塊(`ImageStream.fromRegion`)。 +- 對 PDF 輸入使用 `OcrEngine.recognizeMultiplePages`。 + +### 非英語語系 + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### 效能建議 + +- 對多張圖像重複使用同一個 `OcrEngine` 實例,以避免重複初始化。 +- 批次處理時可啟用多執行緒,但請將執行緒數量限制在 CPU 核心數,以免記憶體抖動。 + +--- + +## 完整範例程式 + +以下是完整、可直接執行的 Java 類別。將其複製貼上至 IDE,調整圖像路徑,然後點擊 **Run**。 + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +執行此程式會將 OCR 結果印至主控台,實際上只需幾行程式碼即可 **convert image to string**。 + +--- + +## 結論 + +現在你已了解如何在 Java 中使用 Aspose OCR **extract text from image** 檔案。整個流程僅需三個簡單步驟:載入 PNG、呼叫 `OcrEngine.recognize`,以及使用產生的字串。無論你是想 **recognize text from png**、**convert image to string**,或只是 **read text from scan** 文件,此方法皆提供可靠、可投入生產的解決方案。 + +準備好迎接下一個挑戰了嗎?試著將一個資料夾的掃描收據逐一處理,將每個結果存入 CSV,或是嘗試語言特定的設定以提升非英語文字的辨識精度。無限可能,而你剛寫的程式碼已是堅實的基礎。 + +祝程式開發順利,若有任何問題歡迎在留言區提出,我很樂意協助! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/hongkong/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..0550c992e --- /dev/null +++ b/ocr/hongkong/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,216 @@ +--- +category: general +date: 2026-02-19 +description: 使用 Aspose OCR 在 Java 中辨識 PNG 文字 – 學習如何從圖片中提取文字並高效地使用 OCR 處理圖像。 +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: zh-hant +og_description: 使用 Aspose OCR 在 Java 中辨識 PNG 圖片文字。本教學示範如何在 Java 中從圖像提取文字,並一步一步使用 OCR + 處理圖像。 +og_title: 在 Java 中辨識 PNG 文字 – 完整 Aspose OCR 指南 +tags: +- OCR +- Java +- Image Processing +title: 在 Java 中從 PNG 辨識文字 – Aspose OCR 教學 +url: /zh-hant/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 在 Java 中辨識 PNG 文字 – 完整 Aspose OCR 指南 + +是否曾經需要**辨識 PNG 文字**,卻不確定該選擇哪個函式庫?你並不孤單——許多 Java 開發者在首次處理基於影像的資料擷取時都會碰到這個問題。好消息是 Aspose OCR 讓整個流程幾乎毫不費力,在本指南中,你將會看到如何在**從 image java 中擷取文字**的專案中,**使用 OCR 處理影像**,且具備執行緒安全性。 + +在接下來的幾分鐘內,我們將建立一個小型的 Java 程式,載入 PNG,使用最多八條執行緒在 CPU 上執行 OCR,並將辨識出的字串印到主控台。無需外部服務,無需祕密 API 金鑰——只要純粹的 Java 程式碼,你可以直接複製貼上並立即執行。 + +## 需要的環境 + +- **Java 17** 或更新版本(程式碼在較舊版本亦可編譯,但 17 為最佳選擇)。 +- **Aspose.OCR for Java** JAR(從 Aspose 官方網站下載或透過 Maven 取得)。 +- 你想要讀取的 PNG 圖片,例如 `document-page1.png`,存放於磁碟的任意位置。 +- 你慣用的 IDE,或簡易的文字編輯器加上終端機。 + +就這樣。如果你已備妥上述項目,我們即可直接進入解決方案。 + +![Java code to recognize text from png using Aspose OCR](image-placeholder.png "recognize text from png Java example"){alt="Java code to recognize text from png using Aspose OCR"} + +## 步驟說明:辨識 PNG 文字 + +以下我們將實作分解為清晰且易於管理的區塊。每個區塊皆以 H2 標題呈現,讓你能直接跳至感興趣的部分。 + +### 1. 將 Aspose OCR 加入專案 + +**Why?** OCR 引擎位於 Aspose 函式庫內;若未加入,編譯器將無法辨識 `OcrEngine` 為何物。 + +如果使用 Maven,請將以下程式碼片段放入 `pom.xml` 中: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +若使用 Gradle,則如下: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Pro tip:** 請務必確認最新的版本號;較新版通常會為多執行緒處理帶來效能調整。 + +### 2. 建立並設定 OCR 引擎 + +**Why?** 實例化 `OcrEngine` 可取得可直接使用的物件,調整裝置設定則能善用所有 CPU 核心。 + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +此處我們明確將裝置設定為 `CPU`。若日後遷移至支援 GPU 的環境,只需交換列舉值即可——不需要其他程式碼變更。 + +### 3. 載入 PNG 圖片 + +**Why?** OCR 作用於影像串流,而非直接檔案路徑。將檔案轉換為 `ImageStream` 可抽象化底層格式。 + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +將 `YOUR_DIRECTORY` 替換為實際的資料夾路徑。若找不到檔案,引擎會拋出 `IOException`,我們稍後會捕捉它。 + +### 4. 執行辨識並取得結果 + +**Why?** `recognize()` 方法負責繁重的工作——偵測字元、行與版面。回傳的 `OcrResult` 包含純文字。 + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +你也可以要求 `Pdf` 或 `Html` 結果,但為了**從 image java 中擷取文字**的目的,我們僅使用純文字。 + +### 5. 輸出文字並清理資源 + +**Why?** 簡單的 `System.out.println` 已足以示範,但在實際應用中,你可能會寫入檔案或資料庫。 + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +由於 `OcrEngine` 實作了 `AutoCloseable`,將所有程式碼包在 try‑with‑resources 區塊中是一個好習慣。這可確保原生資源及時釋放。 + +### 6. 完整、可執行範例 + +將上述所有步驟整合起來,以下是可編譯執行的完整程式: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**預期輸出**(假設 PNG 內含「Hello World」): + +``` +=== OCR Result === +Hello World +``` + +若影像較為複雜——多行、表格或手寫筆記——輸出將精確呈現 Aspose OCR 偵測到的內容,並在適當位置保留換行。 + +## 常見問題與邊緣情況 + +### 如果 PNG 檔案很大? + +大型影像會佔用大量記憶體。實用的解決方法是先**縮小**影像再送入引擎: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +縮小尺寸可減輕 CPU 負載,且對大多數印刷文字的 OCR 準確度影響不大。 + +### 能否在 PDF 上執行 OCR 而非 PNG? + +當然可以。Aspose OCR 也支援透過 `PdfDocument` 物件處理 PDF。相同的 `recognize()` 呼叫即可使用,讓你無論來源格式為何,都能**使用 OCR 處理影像**。 + +### 如何提升非拉丁文字的辨識準確度? + +在辨識前設定語言: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose 內建數十種語言套件,只需挑選與影像內容相符的即可。 + +### 增加執行緒數量是否總是有益? + +更多執行緒可加速多核心 CPU 的處理,但超過實體核心數後,效能提升會遞減。若發現 CPU 使用率升高卻未帶來相應的速度提升,請將執行緒數量調回 `Runtime.getRuntime().availableProcessors()`。 + +## 小結:我們完成了什麼 + +我們剛剛使用簡潔的 Java 程式**辨識 PNG 文字**,示範了如何以 Aspose OCR **從 image java 中擷取文字**,並說明了在生產環境中**使用 OCR 處理影像**的關鍵步驟。程式碼自成一體,說明同時解答「如何」與「為何」的問題,且提供的技巧能避免常見的陷阱。 + +## 接下來的方向 + +- **Batch processing:** 迭代 PNG 目錄,將每個結果寫入 `.txt` 檔案。 +- **PDF generation:** 將 OCR 輸出導入 Aspose.PDF,產生可搜尋的 PDF。 +- **Cloud scaling:** 將相同程式碼部署至由 Kubernetes 編排的容器,讓執行緒池依據 Pod 資源自動調整。 + +隨意嘗試——更換影像、調整執行緒數量,或切換語言。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/java/ocr-operations/_index.md b/ocr/hongkong/java/ocr-operations/_index.md index 136197d3a..94a3df5b1 100644 --- a/ocr/hongkong/java/ocr-operations/_index.md +++ b/ocr/hongkong/java/ocr-operations/_index.md @@ -82,6 +82,9 @@ weight: 21 釋放 Aspose.OCR 在 Java 中的強大文字識別。輕鬆識別 TIFF 圖片中的文字。立即下載,獲得無縫的 OCR 體驗。 ### [使用 Aspose OCR 識別圖像文字 – 完整 Java OCR 教學](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) 完整的 Java OCR 教學,示範如何使用 Aspose OCR 識別圖像文字。 +### [從 JPG 建立可搜尋 PDF – 圖像轉可搜尋 PDF Java 教學](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +學習如何使用 Aspose.OCR for Java,將 JPG 圖像轉換為可搜尋的 PDF,提供逐步程式碼範例。 +### [如何校正圖像傾斜 — 步驟式 OCR 前處理指南](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) ## 常見問題 diff --git a/ocr/hongkong/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/hongkong/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..78f594c30 --- /dev/null +++ b/ocr/hongkong/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,183 @@ +--- +category: general +date: 2026-02-19 +description: 使用 Aspose OCR 在 Java 中將 JPG 圖像製作成可搜尋的 PDF。將 JPG 轉換為 PDF,並快速辨識圖像中的文字。 +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: zh-hant +og_description: 使用 Aspose OCR 從 JPG 圖像建立可搜尋的 PDF。了解如何在 Java 中將 JPG 轉換為 PDF 並辨識圖像文字。 +og_title: 從 JPG 建立可搜尋的 PDF – Java OCR 教學 +tags: +- aspose-ocr +- java +- pdf +- ocr +title: 從 JPG 建立可搜尋 PDF – 圖像轉可搜尋 PDF Java 指南 +url: /zh-hant/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 從 JPG 建立可搜尋 PDF – 圖像轉可搜尋 PDF Java 指南 + +是否曾需要從掃描圖片 **create searchable PDF**,卻不知從何開始?你並非唯一遇到此問題的人——許多開發者在面對需要可搜尋的 JPG 時都會卡關。好消息是,使用 Aspose OCR for Java,你只需幾行程式碼即可將該圖像轉換為完整的可搜尋 PDF。 + +在本教學中,我們將逐步說明整個流程:載入 JPG、辨識文字,並將結果儲存為可搜尋的 PDF。完成後,你將了解如何 **convert jpg to pdf**、如何 **extract text from jpg**,以及為何此方法通常比在 PDF 產生後再進行 OCR 更可靠。 + +## 需要的環境 + +* **Java Development Kit (JDK) 8 或更新版** – 程式碼使用標準的 Java API。 +* **Aspose OCR for Java** 函式庫 – 可從 Maven Central 取得或從 Aspose 官方網站下載 JAR。 +* 一個包含可讀文字的 **sample JPG**(例如掃描發票或文件截圖)。 + +不需要額外的框架;此範例可在純 Java 專案中執行。 + +## 步驟 1 – 設定專案並加入 Aspose OCR + +首先,建立一個新的 Maven 專案(或僅在 classpath 中放入 JAR 的資料夾)。若使用 Maven,請將以下相依性加入 `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **專業提示:** 請務必在 Aspose Maven 套件庫上確認最新版本;較新的發行版包含效能調校與錯誤修正。 + +相依性解決後,即可撰寫能 **create searchable PDF** 的 Java 程式碼。 + +## 步驟 2 – 載入圖像(image to searchable pdf) + +第一個實際步驟是將 OCR 引擎指向來源圖像。此時 **image to searchable pdf** 的轉換真正開始。 + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **為何重要:** `setImage` 告訴 Aspose 要分析哪個位圖。若提供低解析度的圖像,OCR 品質會受影響,請確保 JPG 至少為 300 dpi 以獲得最佳效果。 + +## 步驟 3 – 從圖像辨識文字 + +現在引擎已知道要處理哪張圖像,我們可以請它 **recognize text from image**。Aspose OCR 在底層完成繁重工作,處理語言偵測、字元分割與信賴度計分。 + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +`recognize()` 呼叫會回傳流暢介面,讓我們可以鏈接 `save` 方法。透過指定 `OcrOutputFormat.SEARCHABLE_PDF`,函式庫會在 PDF 中嵌入隱形文字層,同時保留原始圖像外觀。 + +> **特殊情況:** 若你的 JPG 包含多頁(例如將多頁 TIFF 另存為多個 JPG),則需對每個檔案迴圈處理,並在之後合併產生的 PDF。相同的 OCR 引擎可在每次迭代中重複使用。 + +## 步驟 4 – 驗證結果 + +儲存操作完成後,簡單的主控台訊息會告知一切順利。 + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +當你在如 Adobe Acrobat 等檢視器中開啟 `output-searchable.pdf` 時,應能選取隱藏文字、複製或執行搜尋——正是 **searchable PDF** 所應具備的功能。 + +### 預期輸出 + +執行程式會印出: + +``` +Searchable PDF created. +``` + +產生的 PDF 會顯示原始 JPG,同時允許文字選取。若開啟 PDF 的「Properties → Description → PDF Producer」,會看到類似 `Aspose.OCR for Java` 的資訊。 + +## 完整範例程式 + +以下為完整、可直接執行的來源檔案。將其複製貼上至 IDE,調整檔案路徑後執行。 + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **如果 OCR 失敗怎麼辦?** +> * 通常是因為圖像噪點過多或語言未即時支援。可透過前置處理圖像(提升對比、去斜)或明確設定語言,例如 `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);` 來提升準確度。 + +## 常見問題與注意事項 + +| Question | Answer | +|----------|--------| +| **我可以提取純文字而不是 PDF 嗎?** | 可以。使用 `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **如果我要處理 PNG 呢?** | 相同的 API 可使用,只需在 `fromFile` 中更改檔案副檔名。 | +| **產生的 PDF 在所有檢視器上都真的可搜尋嗎?** | 現代檢視器(Adobe Reader、Foxit、Chrome)會支援隱形文字層。較舊的工具可能會忽略。 | +| **如何控制 PDF 頁面大小?** | Aspose OCR 預設使用圖像尺寸。若需自訂大小,可手動產生 PDF 並疊加 OCR 文字層——這屬於進階情境。 | + +## 效能建議 + +* **批次處理:** 重新使用單一 `OcrEngine` 實例處理多張圖像,以避免重複載入原生函式庫。 +* **執行緒安全性:** 此引擎 **不** 支援執行緒安全;若平行處理,請為每個執行緒建立一個實例。 +* **記憶體使用量:** 大圖像會佔用大量記憶體。若遇到 `OutOfMemoryError`,請在送入引擎前縮小圖像尺寸。 + +## 往後步驟 + +既然已了解如何 **create searchable PDF**,你可能想探索相關任務: + +* **Convert jpg to pdf**(不使用 OCR),可使用 Aspose PDF 函式庫產生純圖像 PDF。 +* **Extract text from jpg**,將文字輸出至 `.txt` 檔案以供索引。 +* **Combine multiple searchable PDFs**,使用 Aspose PDF 的 `PdfFileEditor` 合併為單一文件。 + +以上皆建立在你剛設定的相同基礎上。 + +--- + +### 快速回顧 + +* 我們使用 Aspose OCR for Java **created a searchable PDF** 從 JPG。 +* 流程涵蓋載入圖像、辨識文字,並儲存為可搜尋的 PDF。 +* 你現在擁有可重複使用的模式,適用於 **image to searchable PDF**、**recognize text from image**、**extract text from jpg** 與 **convert jpg to pdf**。 + +使用自己的文件試試看,必要時調整語言設定,讓 OCR 為你完成繁重工作。祝開發愉快! + +![建立可搜尋 PDF 範例](placeholder.png){alt="建立可搜尋 PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/hongkong/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..bcb7120a4 --- /dev/null +++ b/ocr/hongkong/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,171 @@ +--- +category: general +date: 2026-02-19 +description: 學習如何校正圖像傾斜並去除噪點以進行 OCR。本教程展示如何辨識文字圖像、校正圖像旋轉,以及使用 Aspose OCR 進行圖像 OCR + 前處理。 +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: zh-hant +og_description: 如何校正圖像傾斜並清除雜訊,讓您快速辨識文字圖像。跟隨本指南使用 Aspose 校正圖像旋轉並預處理 OCR 圖像。 +og_title: 如何校正圖像傾斜 – 完整 OCR 前處理教學 +tags: +- OCR +- Java +- Image Processing +title: 如何去除圖像傾斜 — OCR 前處理逐步指南 +url: /zh-hant/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何校正圖像傾斜 — 完整 OCR 前處理教學 + +有沒有想過在將 **how to deskew image** 檔案送入 OCR 引擎前先進行校正?也許你掃描了一批收據,頁面看起來有點傾斜,或是掃描結果充斥著隨機的點點。這是常見的痛點——傾斜且雜訊多的圖片會讓文字辨識卡關。 + +好消息是?只要使用 Aspose.OCR,透過幾行 Java 程式碼就能完成校正(correct image rotation)與去雜訊(how to remove noise)。本教學將帶你走完整個流程:從載入雜訊‑傾斜的 PNG、套用 deskew + median denoise,到 **recognize text image** 並印出結果。完成後,你將擁有一段可直接放入任何 Java 專案的可重用程式碼。 + +## 需要的環境 + +- **Java 17** 或更新版本(程式碼在較舊版本亦可編譯,但 17 為最佳選擇)。 +- **Aspose.OCR for Java** – 可從 Maven Central 取得最新 JAR (`com.aspose:aspose-ocr`)。 +- 一張同時具備旋轉與雜訊的影像檔(例如 `noisy-rotated.png`)。 +- 任意輕量級 IDE(IntelliJ、Eclipse,或甚至 VS Code)。 + +不需要額外的建置工具;直接使用 `javac` + `java` 執行即可。 + +--- + +## Step 1 – 建立 OCR Engine 實例 + +首先要建立一個 `OcrEngine`。它就像是之後會為你閱讀字元的大腦。 + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Pro tip:** 若要大量處理影像,請將 engine 設為 singleton;它會重複使用內部緩衝區,提升效能。 + +## Step 2 – 啟用 Deskew 與 Median Denoise(How to Remove Noise) + +現在告訴 engine 要 **correct image rotation** 並 **how to remove noise**。兩個濾鏡皆為可選,但同時使用時能顯著提升辨識正確率。 + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +為什麼選擇 median denoise?它能保留邊緣(即字元輪廓),同時去除孤立像素——正是乾淨 OCR 所需的特性。 + +## Step 3 – 載入要處理的影像 + +在此將 engine 指向需要清理的檔案。`ImageStream.fromFile` 會把 PNG 讀入記憶體。 + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +若影像存放於遠端伺服器,只需改為傳入 `InputStream`——Aspose 會自動處理。 + +## Step 4 – 執行 OCR 並取得辨識文字 + +開啟前處理後,engine 會讀取已校正的影像。`recognize()` 會回傳包含擷取字串的 `RecognitionResult`。 + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +即使原圖傾斜且顆粒感強,你也會在主控台看到乾淨、可讀的文字。 + +## Step 5 – 驗證結果(What to Expect) + +若一切順利,主控台會印出類似以下的內容: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +若輸出仍出現亂碼,請再次確認: + +- 影像解析度(≥ 300 dpi 為理想)。 +- 檔案路徑是否正確。 +- 是否需要加入其他濾鏡(例如 `setContrastStretch`)以提升效果。 + +--- + +## Optional: 以範例影像進行視覺確認 + +以下是一張傾斜且雜訊的收據小預覽。注意傾斜角度——我們的程式碼會為你校正。 + +![如何校正圖像傾斜示例](deskew-demo.png "如何校正圖像傾斜") + +*Alt text: how to deskew image – before and after processing.* + +--- + +## Frequently Asked Questions + +### 這個方法能處理 PDF 嗎?還是只能用 PNG/JPEG? + +Aspose.OCR 能直接讀取 PDF;只要把 `ImageStream.fromFile` 換成 `ImageStream.fromPdf` 即可。前處理旗標相同,仍可取得 **how to deskew image** 與 **how to remove noise** 的效果。 + +### 若我需要保留原始方向以供後續步驟使用,該怎麼做? + +可以在前處理前先複製影像: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### 能否手動設定 deskew 角度? + +可以——`setDeskewAngle(double degrees)` 允許你覆寫自動偵測演算法。當自動偵測在極端旋轉下失效時,此功能相當有用。 + +### Median denoise 與 Gaussian blur 有何不同? + +Median filter 會以鄰近像素的中位數取代每個像素,保留邊緣;Gaussian blur 則會將所有區域都平滑,可能使字元筆畫模糊——因此 median 是 OCR 的較安全選擇。 + +## Wrapping Up + +本教學說明了 **how to deskew image** 檔案的處理流程,示範了 **how to remove noise**,並展示如何使用 Aspose OCR 內建的前處理功能 **recognize text image**。只要啟用 `setDeskew(true)` 與 `setMedianDenoise(true)`,即可自動 **correct image rotation** 並去除斑點,將雜亂的掃描轉換為乾淨的文字字串。 + +歡迎自行嘗試:變換不同的去雜訊策略、處理 PDF,或在迴圈中串接多張影像。engine → preprocess → recognize 的模式適用於所有情境,為任何 OCR 流程奠定堅實基礎。 + +**Next steps** 你可以探索: + +- **Batch processing** – 逐一遍歷資料夾中的影像,將每個結果寫入 `.txt` 檔。 +- **Language packs** – 載入特定語言字典,以提升非英語文字的辨識準確度。 +- **Advanced filters** – 如 `setContrastStretch` 或 `setBinarization`,用於低對比度的掃描。 + +有其他問題嗎?歡迎留言,祝開發順利! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/_index.md b/ocr/hungarian/java/advanced-ocr-techniques/_index.md index 622639535..3fe45d438 100644 --- a/ocr/hungarian/java/advanced-ocr-techniques/_index.md +++ b/ocr/hungarian/java/advanced-ocr-techniques/_index.md @@ -45,6 +45,10 @@ Engedélyezze Java-alkalmazásait az Aspose.OCR segítségével a pontos szöveg Könnyedén kivonhatja a szöveget a képekből az engedélyezett karakterek megadásával az Aspose.OCR for Java segítségével. Kövesse lépésről lépésre szóló útmutatónkat a hatékony integráció érdekében, biztosítva a zökkenőmentes szövegfelismerési élményt. Bővítse Java-alkalmazásait az Aspose.OCR képességekkel. +## [GPU engedélyezése OCR-hez Java-ban – Teljes útmutató](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) + +Ismerje meg, hogyan aktiválhatja a GPU-t az OCR-hez Java-ban, hogy növelje a feldolgozási sebességet és pontosságot. + ## Következtetés Az Aspose.OCR for Java segítségével a fejlett OCR technikák elsajátítása még soha nem volt ilyen egyszerű. Merüljön el ezekben az oktatóanyagokban, és aknázza ki a szövegfelismerésben rejlő lehetőségeket Java-projektjeiben. Emelje fel alkalmazásait a zökkenőmentes integrációval, nagy pontossággal és sokoldalú szövegkivonási lehetőségekkel. Töltse le most, és tegye meg az első lépést az OCR kiválóság felé az Aspose.OCR for Java segítségével! @@ -54,16 +58,21 @@ Végezzen OCR-t könnyedén a BufferedImage-en az Aspose.OCR for Java segítség ### [OCR végrehajtása az URL-ből származó képen az Aspose.OCR for Java-ban](./perform-ocr-image-from-url/) Oldja fel a zökkenőmentes képszöveg-kivonást Java nyelven az Aspose.OCR segítségével. Nagy pontosságú OCR egyszerű integrációval. ### [OCR végrehajtása adott oldalon az Aspose.OCR-ben](./perform-ocr-on-page/) -Fedezze fel az Aspose.OCR for Java erejét lépésenkénti útmutatónkkal az OCR végrehajtásáról bizonyos oldalakon. Könnyedén kivonhatja a szöveget a képekből, és javíthatja Java-projektjeit. +Fedezze fel az Aspose.OCR for Java erejét lépésenkénti útmutatónkkal az OCR végrehajtásáról bizonyos oldalakon. Könnyedén kivonhatja a szöveget a képekből és javíthatja Java-projektjeit. ### [Téglalapok előkészítése OCR-hez az Aspose.OCR-ben](./prepare-rectangles-for-ocr/) -Fedezze fel a szövegfelismerés erejét az Aspose.OCR for Java segítségével. Kövesse lépésenkénti útmutatónkat a zökkenőmentes integráció érdekében. Bővítse Java-alkalmazásait hatékony OCR-képességekkel. +Fedezze fel a szövegfelismerés erejét az Aspose.OCR for Java segítségével. Kövesse lépésről lépésre útmutatónkat a zökkenőmentes integráció érdekében. Bővítse Java-alkalmazásait hatékony OCR-képességekkel. ### [Vonalak felismerése az Aspose.OCR for Java-ban](./recognize-lines/) Engedélyezze Java-alkalmazásait az Aspose.OCR segítségével a pontos szövegfelismerés érdekében. Könnyű integráció, nagy pontosság. ### [Engedélyezett karakterek megadása az Aspose.OCR-ben](./specify-allowed-characters/) -Az Aspose.OCR for Java segítségével zökkenőmentesen oldja fel a szövegkivonást a képekből. Kövesse lépésenkénti útmutatónkat a hatékony integráció érdekében. +Az Aspose.OCR for Java segítségével zökkenőmentesen oldja fel a szövegkivonást a képekből. Kövesse lépésről lépésre útmutatónkat a hatékony integráció érdekében. +### [GPU engedélyezése OCR-hez Java-ban – Teljes útmutató](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Ismerje meg, hogyan aktiválhatja a GPU-t az OCR-hez Java-ban a teljesítmény növelése érdekében. +### [Hogyan végezzünk OCR-t képen Java-ban – kézírásos jegyzetek helyesírás-ellenőrzéssel](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +OCR használata kézírásos jegyzetekhez Java-ban, beépített helyesírás-ellenőrzéssel a pontos szövegkivonásért. + {{< /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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/hungarian/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..067646a42 --- /dev/null +++ b/ocr/hungarian/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,207 @@ +--- +category: general +date: 2026-02-19 +description: Hogyan engedélyezzük a GPU-t a gyors OCR feldolgozáshoz. Tanulja meg, + hogyan töltsön be nagy felbontású képet, ismerje fel a szöveges képet, és vonja + ki a szöveget az Aspose OCR segítségével. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: hu +og_description: Hogyan engedélyezzük a GPU-t a gyors OCR feldolgozáshoz. Ez az útmutató + megmutatja, hogyan töltsünk be nagy felbontású képet, ismerjük fel a szöveges képet, + és vonjuk ki a szöveget az Aspose OCR-rel. +og_title: Hogyan engedélyezzük a GPU-t az OCR-hez Java-ban – Teljes útmutató +tags: +- OCR +- Java +- GPU +- Aspose +title: Hogyan engedélyezzük a GPU-t az OCR-hez Java-ban – Teljes útmutató +url: /hu/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan engedélyezzük a GPU-t az OCR-hez Java-ban – Teljes útmutató + +Gondolkodtál már azon, **hogyan engedélyezzük a GPU-t** az OCR-pipelined, és hogyan csökkentsd a feldolgozási időt másodpercekben? Nem vagy egyedül. Sok képekkel dolgozó projektben a szűk keresztmetszet a CPU‑alapú szövegkinyerési lépés, és a GPU-ra váltás igazi játék‑változtató lehet. + +Ebben az útmutatóban végigvezetünk a **magas felbontású kép** betöltésén, az Aspose OCR GPU-n való futtatásának beállításán, és végül a **szövegkép felismerésén** és a **szöveg kinyerésén** néhány Java sorral. A végére egy kész‑a‑futtatás programot kapsz, amely bemutatja a **GPU feldolgozás engedélyezését** vég‑től‑végig. + +## Amire szükséged lesz + +- Java 17 vagy újabb (a kód a modulrendszert használja, de kisebb módosításokkal működik régebbi JDK-kkal is) +- Aspose OCR for Java 23.10 (vagy a legújabb verzió) – a Maven koordinátákat az Aspose weboldaláról szerezheted meg +- NVIDIA GPU CUDA 12+ illesztőprogramokkal (különben a könyvtár nem indul el) +- Magas felbontású mintakép (PNG vagy JPEG), amelyből szöveget szeretnél olvasni + +Ennyi. Nincs külső szolgáltatás, nincs felhő kredit, csak a géped és a megfelelő driver stack. + +![GPU OCR munkafolyamat – hogyan engedélyezzük a GPU feldolgozást](gpu-ocr-workflow.png) + +*Kép alternatív szöveg: diagram, amely bemutatja, hogyan engedélyezhető a GPU az OCR feldolgozásban Java-ban.* + +## Lépésről‑lépésre megvalósítás + +Az alábbiakban a megoldást logikai blokkokra bontjuk. Minden szakasz tartalmaz egy tömör kódrészletet, egy magyarázatot arra, hogy **miért** fontos a lépés, és néhány gyakorlati tippet, amelyet később biztosan értékelni fogsz. + +### Hogyan engedélyezzük a GPU-t az OCR-hez – 1. lépés: Függőségek telepítése és a CUDA ellenőrzése + +Mielőtt bármilyen Java kód futna, a natív CUDA runtime-nak elérhetőnek kell lennie. Windows rendszeren ellenőrizheted a következővel: + +```bat +nvcc --version +``` + +Linux rendszeren: + +```bash +nvidia-smi +``` + +Ha a parancs kiírja a driver verziót és a GPU részleteit, minden rendben van. Ellenkező esetben látogass el az NVIDIA weboldalára, töltsd le a megfelelő drivert, és telepítsd a CUDA eszközkészletet (győződj meg róla, hogy a verzió megfelel az Aspose OCR követelményeinek – jelenleg 12.x). + +**Tipp:** Tartsd naprakészen a GPU drivered, de kerüld a „legújabb‑beta” kiadásokat; ezek néha megszeghetik a bináris kompatibilitást az Aspose natív könyvtárakkal. + +### Hogyan engedélyezzük a GPU-t az OCR-hez – 2. lépés: Aspose OCR Maven függőség hozzáadása + +Add hozzá a következőt a `pom.xml`-hez. Ez behozza a fő OCR motor és a natív GPU binárisok Windows, Linux és macOS számára. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Ha Gradle-t részesíted előnyben, az ekvivalens: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +A projekt frissítése után a `OcrEngine`, `OcrDeviceType` és `ImageStream` osztályok elérhetővé válnak. + +### Hogyan engedélyezzük a GPU-t az OCR-hez – 3. lépés: OCR motor létrehozása és a GPU engedélyezése + +Most ténylegesen azt mondjuk az Aspose-nak, hogy a GPU-n fusson. Az `OcrEngine` egy `Device` objektumot exponál, ahol átállíthatjuk a feldolgozó eszköz típusát. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Miért fontos:** Az `OcrDeviceType.GPU` beállítása a háttérben lévő inferencia motort CPU‑csak megvalósításról CUDA‑gyorsítottra cseréli. A opcionális `setStreamCount` hívás lehetővé teszi a párhuzamosság szabályozását; két stream a legtöbb fogyasztói kártyán biztonságos alapértelmezett. + +### Hogyan engedélyezzük a GPU-t az OCR-hez – 4. lépés: Magas felbontású kép betöltése + +A magas felbontású források több vizuális részletet adnak az OCR modellnek, ami nagyobb pontosságot eredményez, különösen kis betűméretek vagy összetett írásrendszerek esetén. A `ImageStream.fromFile` segédfüggvény beolvassa a fájlt a motor által elvárt formátumba. + +Ha **magas felbontású képet** kell betölteni egy URL‑ről vagy egy memóriában lévő byte‑tömbből, használhatod a következőt: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Különleges eset:** Egyes GPU-knak maximális textúra mérete van (gyakran 16384 × 16384). Ha a képed ezt meghaladja, fontold meg a lecsökkentést egy olyan méretre, amely még olvasható (pl. 3000 × 2000). Az OCR motor automatikusan átméretezi, ha a betöltés előtt meghívod a `ocrEngine.setResizeFactor(0.5)`-t. + +### Hogyan engedélyezzük a GPU-t az OCR-hez – 5. lépés: Szövegkép felismerése és szöveg kinyerése + +Az `ocrEngine.recognize()` hívás elindítja a neurális hálózat inferenciáját a GPU-n. A metódus egy `OcrResult` objektumot ad vissza; a `getText()` kinyeri az egyszerű szöveget. Emellett lekérheted a körülhatároló dobozokat, a biztonsági pontszámokat, vagy a nyers JSON-t, ha részletesebb adatokra van szükséged. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Miért lehet ez hasznos:** A `recognize text image` lépés az, ahol a GPU ragyog — nagy képek, amelyek a CPU-n másodpercekig tartanának, egy töredékébe kerülnek feldolgozni. A biztonsági pontszámok lehetővé teszik az alacsony minőségű eredmények szűrését, ami hasznos trükk, amikor később **szöveget szeretnél kinyerni** a downstream elemzésekhez. + +### Pro tippek és gyakori buktatók + +| Helyzet | Mit kell tenni | +|-----------|------------| +| **Out‑of‑memory hibák** a GPU-n | Csökkentsd a `setStreamCount` értékét 1-re, vagy csökkentsd a képet, mielőtt betáplálnád a motorba. | +| **Unrecognized characters** magas felbontás ellenére | Győződj meg róla, hogy a nyelvi modell (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) megegyezik a szöveg nyelvével. | +| **CUDA verzió eltérés** | Igazítsd a CUDA eszközkészlet verzióját az Aspose OCR-ben szereplő verzióhoz (ellenőrizd a kiadási megjegyzéseket). | +| **Több GPU** | Használd a `ocrEngine.getDevice().setDeviceId(1)`-et a második GPU kiválasztásához, ha az első foglalt. | +| **Headless szerveren futtatás** | Nincs szükség extra lépésekre; a GPU driver működik kijelző nélkül is. | + +## Hogyan nyerjünk ki szöveget – a kimenet ellenőrzése + +Ha futtatod a fenti osztályt, valami ilyesmit kell látnod: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Ha a kimenet összezavarodottnak tűnik, ellenőrizd újra, hogy a kép valóban magas felbontású-e, és hogy a GPU driver megfelelően telepítve van-e. Emellett engedélyezheted a részletes naplózást: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +A naplók megmutatják, hogy a natív CUDA kernelfájlok sikeresen betöltődtek-e. + +## Következő lépések és kapcsolódó témák + +- **Kötegelt feldolgozás:** Tegyük a `OcrEngine`-t egy ciklusba, és adjunk át egy képfájl útvonalak listáját. Ne feledd, hogy ugyanazt a motor példányt újrahasználva elkerülheted a GPU újrainicializálásának töltését. +- **Nyelvfelismerés:** Az Aspose OCR több mint 30 nyelvet támogat. Válthatsz a `ocrEngine.setLanguage(OcrLanguage.FRENCH)` használatával. +- **Utófeldolgozás:** Használj reguláris kifejezéseket a kinyert karakterlánc tisztításához, vagy add tovább egy downstream NLP folyamatnak. +- **Alternatív eszközök:** Ha nincs CUDA‑kompatibilis GPU-d, visszatérhetsz a `OcrDeviceType.CPU`-ra. Ugyanaz a kód működik; csak cseréld ki az eszköz típust. +- **Teljesítmény mérés:** Mérd a időbeli különbséget a `System.nanoTime()`-mal a `recognize()` előtt és után, hogy kvantifikáld a **GPU feldolgozás engedélyezésének** előnyét. + +### Összegzés + +Áttekintettük, **hogyan engedélyezzük a GPU-t** az Aspose OCR-hez Java-ban, a megfelelő driverek telepítésétől a **magas felbontású kép** betöltéséig, a **szövegkép felismeréséig**, és végül **hogyan nyerjünk ki szöveget** az eredményből. A fenti teljes, futtatható példa bármely modern NVIDIA GPU-n azonnal működnie kell. + +Próbáld ki, kísérletezz különböző képméretekkel, és nézd, ahogy az OCR áteresztőképessége szárnyra kap. Ha bármilyen problémába ütközöl, nézd át újra a tippek szekciót vagy ellenőrizd az Aspose kiadási megjegyzéseit a legújabb **GPU feldolgozás engedélyezésének** ajánlásaiért. + +Boldog kódolást, és legyen a GPU-d hűvös, miközben a szöveget dolgozza fel! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/hungarian/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..73106d966 --- /dev/null +++ b/ocr/hungarian/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,249 @@ +--- +category: general +date: 2026-02-19 +description: Tanulja meg, hogyan végezhet OCR-t kézírásos jegyzetek képein Java-ban + az Aspose OCR segítségével. Tartalmazza a kép betöltését OCR-hez, a kézírásos jegyzetek + olvasását és a kézírásos kép szövegének konvertálását. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: hu +og_description: Hogyan OCR-eljünk kézzel írt jegyzetek képeit Java-ban az Aspose segítségével. + Lépésről lépésre útmutató a kép betöltéséhez OCR-hez, a kézzel írt jegyzetek olvasásához + és a kézírásos kép szövegének konvertálásához. +og_title: Hogyan OCR-eljünk képet Java-ban – Kézírásos jegyzetek útmutató +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Hogyan OCR-eljünk képet Java-ban – kézírásos jegyzetek helyesírás-ellenőrzéssel +url: /hu/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan OCR-eljünk képet Java-ban – Kézzel írt jegyzetek helyesírás-ellenőrzéssel + +Gondolkodtál már azon, **hogyan OCR-eljünk képet**, amely a karikált bevásárlólistádat vagy a megbeszélés jegyzőkönyvét tartalmazza? Nem vagy egyedül. Sok valós alkalmazásban a fejlesztőknek kézzel írt jegyzeteket kell beolvasniuk, és kereshető szöveggé alakítaniuk – manuális újraírás nélkül. + +Ebben az útmutatóban egy teljes, azonnal futtatható példán keresztül mutatjuk be, hogyan **OCR-eljünk képet** az Aspose OCR for Java segítségével, hogyan **töltsünk be képet OCR-hez**, és hogyan **olvassuk el a kézzel írt jegyzeteket** beépített helyesírás-ellenőrzéssel. A végére képes leszel **a kézzel írt képszöveget átalakítani** egy tiszta karakterlánccá, amelyet tárolhatsz, indexelhetsz vagy megjeleníthetsz. + +## Mit fogsz megtanulni + +- A pontos lépések egy OCR motor beállításához, amely érti az angol kézírást. +- Hogyan **töltsünk be képet OCR-hez** a lemezről, és adjuk át a motorba. +- Miért fontos a helyesírás-ellenőrző engedélyezése a rendezetlen karikák esetén. +- Módszerek a gyakori szélsőséges esetek kezelésére, például alacsony kontrasztú képek vagy hiányzó nyelvi csomagok. +- Egy teljes, futtatható kódminta, amelyet beilleszthetsz az IDE-dbe, és azonnal láthatod az eredményt. + +> **Előfeltételek**: Java 8+ telepítve, Maven vagy Gradle a függőségkezeléshez, valamint egy Aspose OCR for Java licenc (az ingyenes próba verzió tanuláshoz elegendő). Egyéb külső könyvtárak nem szükségesek. + +--- + +## 1. lépés: A projekt beállítása és az Aspose OCR függőség hozzáadása + +Először is – a projektednek szüksége van az Aspose OCR könyvtárra. Ha Maven-t használsz, add hozzá ezt a `pom.xml`-hez: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Vagy Gradle esetén: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Pro tipp**: Figyeld a verziószámot; az újabb kiadások javítják a kézírás felismerését és új nyelvi támogatást adnak. + +Miután a függőség feloldódott, készen állsz a **kép betöltésére OCR-hez**. + +## 2. lépés: Az OCR motor példány létrehozása + +A hatékony **képek OCR-hez** érdekében szükséged van egy `OcrEngine` objektumra. Ez az objektum a folyamat szíve – tartalmazza a nyelvi beállításokat, a helyesírás-ellenőrző zászlókat és magát a képet. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Miért hozunk létre először egy motor példányt? Mert az Aspose OCR úgy van tervezve, hogy újrahasználható legyen; ugyanazzal a példánnyal több képet is feldolgozhatsz, a beállításokat pedig futtatások között módosíthatod, ha szükséges. + +## 3. lépés: Angol nyelvi támogatás hozzáadása és a helyesírás-ellenőrzés engedélyezése + +Kézzel írt jegyzetek gyakran tele vannak helyesírási hibákkal, hiányzó betűkkel vagy szokatlan rövidítésekkel. A helyesírás-ellenőrző engedélyezése lehetőséget ad a motor számára, hogy megtisztítsa a kimenetet. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **Miért engedélyezzük a helyesírás-ellenőrzést?** +> Enélkül a nyers OCR kimenet például “t0d@y” vagy “c0ffee” lehet. A helyesírás-ellenőrző normalizálja ezeket a sajátosságokat, így a végső szöveg sokkal hasznosabbá válik az olyan további feldolgozásokhoz, mint a keresőindexelés. + +## 4. lépés: A kézzel írt kép betöltése + +Most **betöltjük a képet OCR-hez**. Az Aspose egy kényelmes `ImageStream.fromFile` metódust biztosít, amely bármely általános raszteres formátumot (PNG, JPEG, BMP) elfogad. + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Ha a képed egy erőforrás mappában van, vagy byte tömbként kapod (pl. webes feltöltésből), használhatod a `ImageStream.fromBytes`-t helyette – egyszerűen cseréld le a fenti sort a következőre: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## 5. lépés: OCR végrehajtása és a javított szöveg lekérése + +Miután a motor be van állítva és a kép betöltődött, a tényleges **képek OCR-hez** hívás egyetlen sor: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +A `recognize()` metódus egy `OcrResult` objektumot ad vissza, amely nem csak a sima szöveget, hanem a biztonsági pontszámokat, a határoló dobozokat és egyebeket is tartalmaz. A legtöbb esetben a sima `getText()` elegendő. + +## 6. lépés: Az eredmény kiírása + +Végül kiírjuk a megtisztított karakterláncot a konzolra. Egy valódi alkalmazásban tárolhatod adatbázisban, átadhatod egy keresőmotorba, vagy egy nyelvi modellnek. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Várható kimenet + +Tegyük fel, hogy a kézzel írt jegyzet így szól: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +Egy ilyesmit kell látnod: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Még ha az eredeti karikák rendezetlenek is – például “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w” – a helyesírás-ellenőrző általában rendbe teszi. + +--- + +## Kép betöltése OCR-hez – Tippek a jobb pontosságért + +1. **A felbontás számít** – Törekedj legalább 300 dpi-re. Az alacsonyabb felbontás miatt a motor elhagyhatja a finom vonalakat. +2. **A kontraszt a király** – Ha a háttér színes, először konvertáld a képet szürkeárnyalatúvá. +3. **Vágd le a tartalmat** – A felesleges margók eltávolítása csökkenti a zajt és felgyorsítja a feldolgozást. + +Az képeket előfeldolgozhatod olyan könyvtárakkal, mint az OpenCV vagy akár a Java beépített `BufferedImage`-je, mielőtt átadnád őket az Aspose-nak. + +## Kézzel írt jegyzetek olvasása: Szélsőséges esetek kezelése + +- **Alacsony biztonságú szavak**: a `ocrEngine.getResult().getWords()` egy listát ad vissza, ahol minden szóhoz tartozik egy biztonsági érték (0–100). Szűrheted ki a küszöb alatti szavakat, és felkérheted a felhasználót a manuális felülvizsgálatra. +- **Több nyelv**: ha **kézzel írt jegyzeteket** szeretnél olvasni angolul és spanyolul is, add hozzá mindkét nyelvet a `recognize()` hívása előtt. +- **Nagy fájlok**: többoldalas PDF-ek vagy TIFF-ek esetén iterálj minden oldalon a `ocrEngine.setImage(pageStream)` segítségével egy ciklusban. + +## Kézzel írt képszöveg átalakítása strukturált adatokra + +Gyakran nem csak egy nyers karakterláncra van szükséged; előfordulhat, hogy dátumokat, összegeket vagy ellenőrzőlista elemeket szeretnél kinyerni. Miután megvan a javított szöveg, reguláris kifejezésekkel vagy NLP könyvtárakkal (például Stanford CoreNLP) feldolgozhatod a tartalmat: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +Ez a kódrészlet megmutatja, milyen egyszerű a **kézzel írt képszöveg átalakítása** használható adatokra. + +## Gyakori buktatók és hogyan kerüld el őket + +| Tünet | Valószínű ok | Megoldás | +|-------|--------------|----------| +| Zavaros kimenet, sok `?` karakter | A kép túl sötét vagy alacsony kontrasztú | Növeld a fényerőt vagy előfeldolgozd hisztogram kiegyenlítéssel | +| Kihagyott szavak | A kézírás túl folyékony | Engedélyezd a `ocrEngine.getSettings().setEnableCursive(true)` beállítást (ha támogatott) | +| A helyesírás-ellenőrző rossz szavakat vezet be | Nyelvi modell eltérés | Adj hozzá egy egyedi szótárat a `ocrEngine.getSpellChecker().addUserWords(...)` segítségével | +| Memóriahiány hiba nagy képeknél | Kép mérete > 10 MB | Méretezd le betöltés előtt, vagy dolgozz fel csempékben | + +## Teljes működő példa (másolás-beillesztés kész) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Megjegyzés**: Ha az IDE-ből futtatod a kódot, győződj meg róla, hogy a `YOUR_DIRECTORY` mappa a classpath-odon van, vagy használj abszolút elérési utat. + +## Következtetés + +Áttekintettük, hogyan **OCR-eljünk képet** Java-ban a kezdetektől a végéig, megmutatva, hogyan **töltsünk be képet OCR-hez**, **olvassuk el a kézzel írt jegyzeteket**, engedélyezzük a helyesírás-ellenőrzést, és végül **a kézzel írt képszöveget** tiszta karakterlánccá alakítsuk. A megközelítés egyszerű, mégis elég erős a termelési szintű alkalmazásokhoz. + +Készen állsz a következő kihívásra? Kísérletezz többoldalas PDF-ekkel, adj hozzá egyedi szótárakat iparágspecifikus kifejezésekhez, vagy tápláld az OCR kimenetet egy gépi tanulási modellbe érzelem‑analízishez. A határ csak a képzeleted, ha az Aspose OCR pontosságát a Java rugalmasságával kombinálod. + +Van kérdésed egy adott szélsőséges esettel kapcsolatban, vagy szeretnéd megosztani, hogyan integráltad ezt egy mobilalkalmazásba? Írj egy megjegyzést alább – jó kódolást! + +--- + +![hogyan OCR-eljünk képet példa](/images/ocr-handwritten-example.png "hogyan OCR-eljünk képet kézzel írt jegyzetekről") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/java/ocr-basics/_index.md b/ocr/hungarian/java/ocr-basics/_index.md index 8e8e844a2..74ca66f27 100644 --- a/ocr/hungarian/java/ocr-basics/_index.md +++ b/ocr/hungarian/java/ocr-basics/_index.md @@ -101,6 +101,14 @@ Fedezze fel az Aspose.OCR for Java lehetőségeit ebben a lépésről‑lépésr Növelje az OCR pontosságát az Aspose.OCR for Java segítségével. Tanulja meg lépésről‑lépésre a ferdeségi szögek számítását. Javítsa a dokumentumfeldolgozást könnyedén. ### [Getting Rectangles with Text Areas in Aspose.OCR](./get-rectangles-with-text-areas/) Fedezze fel az Aspose.OCR for Java erejét. Tanulja meg, hogyan nyerjen ki szöveget képekből zökkenőmentesen ebben a részletes útmutatóban. Töltse le most a hatékony szövegfelismerésért. +### [PNG-ből szöveg felismerése Java-ban – Aspose OCR oktatóanyag](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Fedezze fel, hogyan olvassa ki a szöveget PNG képekből Java-ban az Aspose OCR segítségével, lépésről‑lépésre útmutatóval. +### [Képből szöveg kinyerése – PNG konvertálása szöveggé Java-ban](./extract-text-from-image-convert-png-to-text-in-java/) +Ismerje meg, hogyan konvertálhatja a PNG képeket szöveggé Java-ban az Aspose OCR segítségével, lépésről‑lépésre útmutatóval. +### [Képből szöveg kinyerése Java-ban – Teljes OCR példa](./extract-text-from-image-in-java-complete-ocr-example/) +Fedezze fel, hogyan valósíthat meg egy komplett OCR folyamatot Java-ban, a képfeldolgozástól a szöveg kinyeréséig. +### [Szöveg kinyerése képből az Aspose OCR-rel – Java gyors útmutató](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) +Gyorsan tanulja meg, hogyan nyerjen ki szöveget képekből az Aspose OCR Java használatával egy egyszerű útmutatóban. --- @@ -113,4 +121,4 @@ Fedezze fel az Aspose.OCR for Java erejét. Tanulja meg, hogyan nyerjen ki szöv {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/hungarian/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..26bb85af4 --- /dev/null +++ b/ocr/hungarian/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,215 @@ +--- +category: general +date: 2026-02-19 +description: Képről szöveg kinyerése Aspose OCR Java használatával – tanulja meg, + hogyan konvertáljon PNG-t szöveggé, hogyan töltse be a képet OCR-hez, és kövesse + a Java OCR útmutatót. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: hu +og_description: Szöveg kinyerése képből az Aspose OCR Java-val. Kövesd ezt a lépésről‑lépésre + Java OCR útmutatót a PNG szöveggé konvertálásához és a kép betöltéséhez az OCR-hez. +og_title: szöveg kinyerése képből – Java OCR útmutató +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Képből szöveg kinyerése – PNG konvertálása szöveggé Java-ban +url: /hu/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +vonalat; használd a `Paths.get(...).toAbsolutePath()`-t. | + +Make sure alignment with dashes. + +Now produce final content.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# szöveg kinyerése képből – Java OCR útmutató + +Valaha is szükséged volt **szöveg kinyerése képből**, de nem tudtad, melyik könyvtár teszi ezt meg egyszerűen? Nem vagy egyedül – a fejlesztők gyakran kérdezik: „Hogyan konvertálhatok PNG-t szöveggé Java-ban?” A jó hír, hogy az Aspose OCR a teljes folyamatot olyan egyszerűvé teszi, mint egy séta a parkban. Ebben az útmutatóban végigvezetünk egy teljes **java ocr tutorial**-on, megmutatjuk, hogyan **load image for OCR**, és végül tiszta, kereshető szöveget kapunk. + +Mindent lefedünk a motor beállításától a többnyelvű tartalom kezeléséig, így a végére képes leszel **szöveg kinyerése képből** fájlokból bármilyen méretben, formátumban vagy nyelven. Nincsenek külső szolgáltatások, nincs API kulcs – csak egyetlen JAR és néhány kódsor. + +## Amire szükséged lesz + +- JDK 8 vagy újabb telepítve (a kód JDK 11+‑on is működik). +- Maven vagy Gradle az Aspose OCR könyvtár letöltéséhez, vagy manuálisan letöltheted a JAR‑t az Aspose weboldaláról. +- Egy PNG kép, amely olvasható szöveget tartalmaz (példánkhoz a `khmer-sign.png` fájlt használjuk). +- Egy IDE vagy szövegszerkesztő, amiben kényelmesen dolgozol – IntelliJ IDEA, Eclipse, VS Code, bármelyik megfelel. + +Ennyi. Nincsenek nehéz keretrendszerek, nincs felhő hitelesítő adat. Készen állsz? Kezdjünk el **szöveg kinyerése képből** fájlokból. + +## 1. lépés: Aspose OCR hozzáadása a projekthez + +Először is – szükséged van az OCR motorra a classpath‑on. Ha Maven‑t használsz, add ezt a függőséget a `pom.xml`-hez: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Vagy Gradle‑lel: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Ha a manuális megoldást részesíted előnyben, töltsd le a JAR‑t az Aspose letöltési oldaláról, helyezd a projekt `libs` mappájába, majd add hozzá a build útvonalhoz. + +> **Pro tip:** Mindig a legújabb stabil verziót válaszd; a régebbi kiadások hiányozhatnak nyelvi csomagok vagy hibajavítások. + +## 2. lépés: OCR motor példány létrehozása + +Most, hogy a könyvtár elérhető, elindíthatunk egy `OcrEngine` példányt. Tekintsd a motort az agynak, amely a pixeleket karakterekké alakítja. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Miért hozunk létre minden alkalommal egy új motort? A motor belső puffereket és nyelvi adatokat tárol; a tiszta indulás garantálja a determinisztikus eredményeket, különösen, ha később nyelveket váltasz. + +## 3. lépés: A kívánt nyelv engedélyezése (opcionális, de ajánlott) + +Az Aspose OCR több tucat nyelvi csomaggal érkezik. Ha ismered a forráskép nyelvét, engedélyezd azt kifejezetten; ez felgyorsítja a felismerést és javítja a pontosságot. A példánkban a Khmer (`khm`) nyelvet engedélyezzük, de helyettesítheted `ENG`-gel az angolhoz, `CHN`-nel a kínaihoz stb. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Miért fontos:** Amikor **load image for OCR**, a motor csak a engedélyezett nyelvi szótárakban keres. Ha minden nyelvet bekapcsolod, az lelassíthatja a folyamatot és növelheti a hamis pozitív eredményeket. + +## 4. lépés: Kép betöltése OCR‑hez – PNG konvertálása szöveggé + +Itt történik a **load image for OCR** lépés. Az Aspose egy kényelmes `ImageStream.fromFile` segédfüggvényt biztosít, amely elrejti az alacsony szintű I/O‑t. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +Ha a képed más formátumban van (JPEG, BMP, TIFF), ugyanaz a metódus működik – az Aspose automatikusan felismeri a formátumot. Csak győződj meg róla, hogy a fájl útvonala helyes; különben `FileNotFoundException`-t kapsz. + +## 5. lépés: OCR folyamat futtatása és PNG konvertálása szöveggé + +A motor készen áll és a kép betöltve, a tényleges felismerés egyetlen metódushívás. Az eredményobjektum a nyers karakterláncot és a megbízhatósági pontszámokat adja. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Ennyi – most már **convert PNG to text**. A visszakapott karakterlánc tartalmazhat sortöréseket és szóközöket pontosan úgy, ahogy a motor látta. Utófeldolgozhatod `trim()`, `replaceAll("\\s+", " ")` vagy bármilyen más tisztítással. + +## 6. lépés: Eredmény kiírása (vagy tárolása) + +Gyors ellenőrzésként írd ki az eredményt a konzolra. Egy valódi alkalmazásban valószínűleg fájlba, adatbázisba írnád, vagy egy másik szolgáltatásnak adnád át. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Várható kimenet** (a megadott Khmer jelhez) valahogy így nézhet ki: + +``` +សួស្តី +Welcome +``` + +Ha a kimenet összezavarodott, ellenőrizd újra, hogy a 3. lépésben a megfelelő nyelvet engedélyezted-e, és hogy a kép nem túl homályos. A kép felbontásának növelése (például 300 dpi-s beolvasás) gyakran segít. + +## Teljes működő példa + +Az összes részt összeállítva, itt egy önálló program, amelyet bemásolhatsz a `ExtractTextExample.java` fájlba és futtathatsz: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Futtasd a programot a következővel: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +vagy, ha Gradle‑t használsz: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +A konzolon meg kell jelennie a kinyert szövegnek, ami megerősíti, hogy sikeresen **extract text from image** használtad az Aspose OCR‑rel. + +## Gyakori buktatók és megoldások + +| Tünet | Valószínű ok | Megoldás | +|-------|--------------|----------| +| Üres karakterlánc visszakapva | Nincs engedélyezett nyelv vagy helytelen nyelvkód | Add hozzá a megfelelő `OcrLanguage`-t (pl. `ENG` az angolhoz). | +| Torzuló karakterek | A kép felbontása túl alacsony vagy zajos háttér | Használj magasabb felbontású forrást, vagy előfeldolgozd élesítő szűrővel. | +| `OutOfMemoryError` | Nagyon nagy kép betöltve teljes méretben | Méretezd le a képet, mielőtt a motorba adod (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Helytelen útvonal | Ellenőrizd a abszolút vagy relatív útvonalat; használd a `Paths.get(...).toAbsolutePath()`-t. | + +> **Ne feledd:** Az OCR egy valószínűségi folyamat. Még tökéletes beállítások mellett is előfordulhat, hogy manuálisan kell korrigálni néhány karaktert, különösen a dőlt írásmódoknál. + +## A tutorial bővítése – Következő lépések + +- **Batch processing:** Ciklus egy PNG fájlok könyvtárán, minden képre ugyanazt a logikát alkalmazva. +- **PDF output:** Használd az Aspose PDF-et, hogy a kinyert szöveget visszaágyazd egy kereshető PDF-be. +- **Language detection:** Hívd meg a `ocrEngine.detectLanguage()`-t a nyelv beállítása előtt, hogy a motor automatikusan kitalálja. +- **Cloud integration:** Ha skálázni kell, csomagold a kódot egy REST végpontra, és hagyd, hogy a mikro‑szolgáltatások hívják. + +Mindezek a témák természetesen a most befejezett **java ocr tutorial**-ra épülnek, és bemutatják, mennyire sokoldalú az Aspose OCR API. + +## Összegzés + +Átmentünk egy teljes **java ocr tutorial**-on, amely lehetővé teszi, hogy **szöveg kinyerése képből** fájlokból, **convert PNG to text**, és helyesen **load image for OCR** az Aspose OCR segítségével. A lépések egyszerűek: add a könyvtárat, create an engine, enable a megfelelő nyelvet, load a PNG-t, futtasd a `recognize()`-t, és kezeld a kimenetet. Ezzel az alapokkal automatizálhatod az adatbevitelt, építhetsz kereshető archívumokat, vagy bármilyen alkalmazást, amelynek gép‑olvasható szövegre van szüksége képekből. + +Próbáld ki a saját képeiddel – legyen az egy nyugta képernyőképe vagy egy beolvasott szerződés. Finomítsd a nyelvi beállításokat, kísérletezz a felbontással, és hamar rájössz, mennyire rugalmas a megoldás. Ha problémába ütközöl, nézd át újra a buktatók táblázatát vagy ellenőrizd az Aspose hivatalos dokumentációját; az alapos és naprakész. + +Boldog kódolást, és legyen a következő projekted tele tiszta, kereshető szöveggel! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/hungarian/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..08344a16b --- /dev/null +++ b/ocr/hungarian/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,148 @@ +--- +category: general +date: 2026-02-19 +description: Képről szöveg kinyerése Java OCR-rel. Tanulj meg egy Java OCR példát, + amely betölti a képet OCR-hez, és néhány lépésben kinyeri a szöveget a számla fájlokból. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: hu +og_description: Szöveg kinyerése képről Java OCR-rel. Ez az útmutató bemutatja, hogyan + töltsünk be képet OCR-hez, és hogyan nyerjünk ki szöveget számlákból egy egyszerű + Java OCR példával. +og_title: Szöveg kinyerése képből Java-ban – Teljes OCR példa +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Szöveg kinyerése képből Java-ban – Teljes OCR példa +url: /hu/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Szöveg kinyerése képből Java‑val – Teljes OCR példa + +Valaha is szükséged volt **szöveg kinyerésére képből**, de nem tudtad, melyik könyvtárat válaszd? Nem vagy egyedül – sok fejlesztő szembesül ezzel a problémával számlák automatizálása vagy kereshető archívumok építése közben. A jó hír? Néhány Java sorral betöltheted a képet OCR‑hez, meghatározhatsz egy érdeklődési területet (ROI), és kinyerheted a pontos szöveget, amire szükséged van. + +Ebben az útmutatóban végigvezetünk egy **java ocr example**-n, amely megmutatja, hogyan **load image for OCR**, állíts be egy ROI‑t, és **extract text from invoice** fájlokból az Aspose.OCR segítségével. A végére egy futtatható programod lesz, amelyet bármely Java projektbe beilleszthetsz. + +## Mit tanulhatsz meg + +- Hogyan hozd létre az `OcrEngine` példányt, és miért fontos ez. +- A helyes **load image for OCR** módszer az Aspose `ImageStream`‑jével. +- **Region of interest (ROI)** beállítása, hogy csak a számlaösszeget tartalmazó képrészletet dolgozd fel. +- A felismert szöveg kinyerése és a konzolra írása. +- Gyakori hibák (pl. rossz téglalap koordináták) és gyors megoldások. + +**Előfeltételek** + +- Telepített Java 8 vagy újabb. +- Maven vagy Gradle a Aspose.OCR könyvtár (`com.aspose:aspose-ocr`) beszerzéséhez. +- Egy minta számla kép (`invoice.png`) egy ismert könyvtárban. + +Minden megvan? Remek – vágjunk bele. + +![Szöveg kinyerése képből Java OCR‑rel](/images/extract-text-from-image-java.png "szöveg kinyerése képből példa") + +## Szöveg kinyerése képből – Lépésről‑lépésre Java OCR példa + +Az alábbiakban a teljes forráskód található. Nyugodtan másold be a `RoiOcrExample.java` fájlba, és futtasd közvetlenül. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Miért fontos minden egyes lépés + +1. **Az OCR motor létrehozása** – motor nélkül nincs kontextus a képfeldolgozáshoz. Az objektum később lehetővé teszi a nyelvi csomagok finomhangolását, ha többnyelvű támogatásra van szükség. +2. **A kép betöltése** – a `ImageStream.fromFile` elrejti a fájlformátum részleteit, biztosítva, hogy a motor helyesen olvassa a bájtokat. Ha ezt kihagyod, `NullPointerException`-t kapsz. +3. **ROI beállítása** – az egész oldal feldolgozása pazarló. A téglalap szűkítése a számlaösszeg területére felgyorsítja a felismerést és csökkenti a zajt. +4. **`recognize()` meghívása** – itt történik a varázslat. A metódus lefuttatja az OCR algoritmust a ROI‑n, és egy eredményobjektumot ad vissza. +5. **Az eredmény kiírása** – valós projektekben valószínűleg adatbázisba mentenéd a szöveget, de a `System.out.println` tökéletes egy gyors demóhoz. + +## Load Image for OCR + +Ha azon gondolkodsz, hogy a útvonalnak abszolútnak vagy relatívnak kell-e lennie, a válasz: mindkettő működik – csak győződj meg róla, hogy a Java folyamat olvasni tudja a fájlt. Windows alatt a visszafelé perjeleket meg kell duplázni (`C:\\images\\invoice.png`), vagy használhatsz előre perjeleket (`C:/images/invoice.png`). + +**Pro tipp:** Ha sok számlát dolgozol fel egy ciklusban, használd újra ugyanazt az `OcrEngine` példányt; ez belső erőforrásokat cache‑el, és növeli a teljesítményt. + +## Define Region of Interest (ROI) + +A megfelelő téglalap kiválasztása gyakran próbálgatást igényel. Egy egyszerű módszer a koordináták megtalálására, ha megnyitod a képet bármely grafikus szerkesztőben (pl. GIMP vagy Paint.NET), és az egérrel a terület fölé húzod – a státuszsorban megjelennek az X/Y értékek. + +Külön eset: egyes számlák változó elrendezésűek. Ilyenkor először futtathatsz egy gyors elő‑szkennelést az egész képen, megkeresheted a „Total:” kulcsszót regex‑szel, majd dinamikusan állíthatod be az ROI‑t. + +## Perform OCR and Get Text + +A `recognize()` hívás szinkron – a szálad blokkolódik, amíg a motor be nem fejezi a munkát. Nagy köteg esetén érdemes szálkészletet indítani, és a képeket párhuzamosan feldolgozni. Ne feledd, hogy minden szálnak saját `OcrEngine` példányra van szüksége; a motor nem szálbiztos. + +## Run and Verify Output + +Fordítsd le és futtasd: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +A kimenet valami ilyesmi lesz: + +``` +ROI text: $1,254.00 +``` + +Ha a kimenet értelmetlennek tűnik, ellenőrizd újra az ROI koordinátákat, és győződj meg róla, hogy a kép minősége magas (300 dpi vagy több a legjobb). + +### Gyakori hibák és megoldások + +| Tünet | Valószínű ok | Megoldás | +|-------|--------------|----------| +| Üres string | ROI kívül esik a kép határain | Ellenőrizd a téglalap értékeket a kép méreteivel szemben | +| Hibás szavak | Alacsony felbontás | Használj nagyobb felbontású forrást vagy alkalmazz előfeldolgozást (pl. binarizálás) | +| `java.lang.NoClassDefFoundError` | Hiányzó Aspose JAR a classpath‑on | Add hozzá az `aspose-ocr.jar`‑t a `-cp`‑hez, vagy használd a Maven/Gradle függőségkezelést | + +## Conclusion + +Most már tudod, hogyan **extract text from image** Java‑ban egy tömör **java ocr example** segítségével. A kép helyes betöltésével, egy fókuszált ROI meghatározásával és a `recognize()` meghívásával megbízhatóan **extract text from invoice** fájlokból nyerhetsz szöveget, és továbbadhatod azt downstream rendszereknek. + +Mi a következő lépés? Próbáld ki az ROI cseréjét más mezőkre (dátum, szállító neve), kísérletezz nyelvi csomagokkal többnyelvű számlákhoz, vagy integráld az OCR lépést egy Spring Boot mikroservice‑be. Ugyanez a minta működik nyugtákkal, útlevelekkel vagy bármilyen dokumentummal, ahol pontos szövegkinyerésre van szükség. + +Ha kérdésed van a megoldás skálázásával vagy zajos szkennelés kezelésével kapcsolatban, írj egy megjegyzést alább – 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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/hungarian/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..bbd8b7bad --- /dev/null +++ b/ocr/hungarian/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-02-19 +description: Képből szöveg kinyerése Java-ban az Aspose OCR használatával. Tanulja + meg, hogyan ismerje fel a szöveget PNG-ből, konvertálja a képet karakterlánccá, + és olvassa el a szkennelésből származó szöveget néhány lépésben. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: hu +og_description: Gyorsan szöveget kinyerni képből. Ez az útmutató bemutatja, hogyan + lehet szöveget felismerni PNG-ből, képet karakterlánccá konvertálni, és szkennelésből + szöveget olvasni az Aspose OCR segítségével. +og_title: Kép szövegének kinyerése az Aspose OCR segítségével – Java útmutató +tags: +- Java +- OCR +- Aspose +title: Kép szövegének kinyerése az Aspose OCR segítségével – Java gyors útmutató +url: /hu/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Kép szövegének kinyerése – Teljes Java útmutató + +Szükséged volt már **kép szövegének kinyerésére**, de nem tudtad, melyik könyvtárat válaszd? Lehet, hogy van egy beolvasott nyugta PNG formátumban, és a szöveget egyszerű karakterláncként szeretnéd további feldolgozáshoz. Tapasztalatom szerint az Aspose OCR könyvtár ezt a feladatot gyerekjátékra változtatja, különösen Java környezetben. + +Ebben az útmutatóban mindent végigvesszünk: az Aspose OCR függőség beállításától, egy PNG fájl betöltéséig, **szöveg felismerése PNG‑ről**, egészen addig, amíg az eredményt használható Java `String`‑gé alakítjuk. A végére képes leszel **kép konvertálására karakterlánccá**, és megmutatjuk, hogyan **olvasd be a szöveget beolvasott fájlokból** gond nélkül. + +## Mit tanulhatsz meg + +- Hogyan add hozzá az Aspose OCR‑t egy Maven vagy Gradle projekthez. +- A pontos kód, amely **kép szövegének kinyerését** egyetlen metódushívással végzi. +- Miért az `ImageStream` osztály a preferált módja az adatok motorba történő betáplálásának. +- Tippek nagy beolvasások, többoldalas PDF‑ek és gyakori buktatók kezeléséhez. + +Előzetes OCR tapasztalat nem szükséges, csak alapvető Java ismeret és egy PNG, amit feldolgozni szeretnél. + +## Előfeltételek + +| Követelmény | Indok | +|-------------|-------| +| Java 8 vagy újabb | Az Aspose OCR a Java 8+ verziókat célozza. | +| Maven vagy Gradle (opcionális) | Egyszerűsíti a függőségkezelést. | +| Egy PNG kép (pl. `quick.png`) | A forrás, amelyen OCR‑t futtatunk. | +| Internetkapcsolat (első futtatáskor) | A könyvtár automatikusan letöltheti a nyelvi csomagokat. | + +Ha már van egy Java IDE‑d, például IntelliJ IDEA vagy Eclipse, akkor készen állsz a munkára. + +--- + +## 1. lépés: Aspose OCR beállítása a projektben + +### Maven + +Add hozzá a következő függőséget a `pom.xml`‑hez: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro tipp:** Ha vállalati proxy mögött vagy, győződj meg róla, hogy a Maven/Gradle eléri a `repo.maven.apache.org` címet. Ellenkező esetben a build már a kód írása előtt hibára fut. + +--- + +## 2. lépés: PNG kép betöltése + +Az `ImageStream` osztály elrejti a fájlrendszer részleteit, és működik streamekkel, URL‑ekkel vagy byte‑tömbökkel. Íme, hogyan tölts be egy helyi PNG‑t: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Miért fontos:** Az `ImageStream.fromFile` használata garantálja, hogy az OCR motor a képet olyan formátumban kapja, amelyet teljes mértékben megért, ez pedig javítja a felismerési pontosságot a nyers byte‑tömbök használatához képest. + +--- + +## 3. lépés: Szöveg felismerése PNG‑ről + +Az Aspose OCR egyetlen statikus metódust biztosít a nehéz feladat elvégzéséhez: `OcrEngine.recognize`. Ez egy egyszerű Java `String`‑et ad vissza, ami pontosan az, amire szükséged van, ha **kép konvertálására karakterlánccá** szeretnél. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### Mi történik a háttérben? + +1. **Előfeldolgozás:** A motor automatikusan kiegyenesíti a képet és normalizálja a kontrasztot. +2. **Nyelvfelismerés:** Ha nem adsz meg nyelvet, az Aspose megpróbálja kitalálni, ami gyors beolvasásoknál hasznos. +3. **Felismerés:** A mag OCR motor egy több millió karakteren tanított neurális hálózatot futtat. + +Mivel mindez egy hívásba van burkolva, nem kell alacsony szintű beállításokkal bajlódnod, hacsak nem nagyon speciális esetet nem kezelsz. + +--- + +## 4. lépés: A kinyert karakterlánc megjelenítése és felhasználása + +Most, hogy megvan a szöveg, kiírhatod, adatbázisba mentheted, vagy egy másik API‑nak átadhatod. A legegyszerűbb mód – csak `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Várt kimenet + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Megjegyzés:** A pontos kimenet a `quick.png` tartalmától függ. Ha a kép kézírásos jegyzetet tartalmaz, előfordulhatnak hibás felismerések – semmi, amit egy kis utófeldolgozással ne lehetne orvosolni. + +--- + +## 5. lépés: Gyakori edge case‑ek kezelése + +### Nagy beolvasások vagy többoldalas PDF‑ek + +Ha **szöveget kell olvasnod beolvasott fájlokból**, amelyek nagyobbak egy tipikus PNG‑nél, fontold meg: + +- A kép csempékre bontását (`ImageStream.fromRegion`). +- `OcrEngine.recognizeMultiplePages` használatát PDF bemenetekhez. + +### Nem‑angol nyelvek + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Teljesítmény tippek + +- Használd újra ugyanazt az `OcrEngine` példányt több képhez, hogy elkerüld az ismételt inicializálást. +- Tömeges feldolgozásnál engedélyezd a több szálas feldolgozást, de korlátozd a szálak számát a CPU magok számával, hogy elkerüld a memória túlterhelését. + +--- + +## Teljes működő példa + +Az alábbiakban a teljes, futtatható Java osztály látható. Másold be az IDE‑dbe, állítsd be a kép útvonalát, és nyomd meg a **Run** gombot. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +A program futtatása kiírja az OCR eredményt a konzolra, ezzel **kép konvertálására karakterlánccá** néhány sor kóddal. + +--- + +## Összegzés + +Most már tudod, hogyan **kép szövegének kinyerése** Java‑ban az Aspose OCR‑rel. A folyamat három egyszerű lépésre redukálódik: töltsd be a PNG‑t, hívd meg az `OcrEngine.recognize`‑t, és használd a kapott karakterláncot. Akár **szöveg felismerése PNG‑ről**, **kép konvertálása karakterlánccá**, vagy egyszerűen **szöveg olvasása beolvasott dokumentumokból** a cél, ez a megközelítés megbízható, termelés‑kész megoldást nyújt. + +Készen állsz a következő kihívásra? Próbáld meg egy mappában lévő beolvasott nyugtákat egy ciklusba betölteni, minden eredményt CSV‑be menteni, vagy kísérletezz nyelvspecifikus beállításokkal a nem‑angol szövegek pontosságának javítása érdekében. A lehetőségek végtelenek, és a most írt kód szilárd alapot ad. + +Boldog kódolást, és nyugodtan tegyél fel kérdéseket a kommentekben – szívesen segítek! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/hungarian/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..73a80e415 --- /dev/null +++ b/ocr/hungarian/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,219 @@ +--- +category: general +date: 2026-02-19 +description: Szöveg felismerése PNG-ből Java-ban az Aspose OCR használatával – tanulja + meg, hogyan lehet szöveget kinyerni képből Java-ban, és hatékonyan feldolgozni a + képet OCR-rel. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: hu +og_description: szöveg felismerése PNG-ből Java-ban az Aspose OCR-rel. Ez az útmutató + bemutatja, hogyan lehet szöveget kinyerni egy képből Java-ban, és lépésről lépésre + feldolgozni a képet OCR-rel. +og_title: Szöveg felismerése PNG-ből Java-ban – Teljes Aspose OCR útmutató +tags: +- OCR +- Java +- Image Processing +title: Szöveg felismerése PNG-ből Java-ban – Aspose OCR útmutató +url: /hu/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# recognize text from png in Java – Complete Aspose OCR Guide + +Valaha is szükséged volt **szöveg felismerésére png‑ből**, de nem tudtad, melyik könyvtárat válaszd? Nem vagy egyedül – sok Java fejlesztő szembesül ezzel a problémával, amikor először próbál meg képalapú adatkinyerést végezni. A jó hír, hogy az Aspose OCR szinte fájdalommentessé teszi a teljes folyamatot, és ebben az útmutatóban pontosan megmutatjuk, hogyan **extract text from image java** projekteknél **process image with OCR** módon, szálbiztonságban. + +A következő néhány percben elkészítünk egy apró Java programot, amely betölti a PNG‑t, CPU‑n futtat OCR‑t akár nyolc szálon, és kiírja a felismert szöveget a konzolra. Nincs külső szolgáltatás, nincs titkos API kulcs – csak tiszta Java kód, amit ma másolhatsz és futtathatsz. + +## What You’ll Need + +- **Java 17** vagy újabb (a kód korábbi verziókkal is lefordítható, de a 17 a legoptimálisabb). +- **Aspose.OCR for Java** JAR (letölthető az Aspose weboldaláról vagy Maven‑en keresztül). +- Egy PNG kép, amit be szeretnél olvasni – például `document-page1.png`, valahol a lemezen tárolva. +- Kedvenc IDE‑d vagy egy egyszerű szövegszerkesztő és egy terminál. + +Ennyi. Ha ezek megvannak, azonnal belevághatunk a megoldásba. + +![Java code to recognize text from png using Aspose OCR](image-placeholder.png "recognize text from png Java example"){alt="Java kód a png szövegfelismeréshez Aspose OCR használatával"} + +## Step‑by‑Step: recognize text from png + +Az alábbiakban a megvalósítást világos, kezelhető részekre bontjuk. Minden rész egy H2 címsor, így közvetlenül ahhoz a szakaszhoz ugorhatsz, ami érdekel. + +### 1. Add Aspose OCR to Your Project + +**Why?** Az OCR motor az Aspose könyvtárban található; nélküle a fordító nem tudja, mi az a `OcrEngine`. + +Ha Maven‑t használsz, helyezd be ezt a kódrészletet a `pom.xml`‑be: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Gradle‑hez pedig így néz ki: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Pro tip:** Mindig ellenőrizd a legfrissebb verziószámot; az újabb kiadások gyakran hoznak teljesítményjavításokat a többmagos feldolgozáshoz. + +### 2. Create and Configure the OCR Engine + +**Why?** A `OcrEngine` példányosítása egy használatra kész objektumot ad, és a device beállítások finomhangolásával kihasználhatod az összes CPU‑magot. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Itt kifeexplicit módon állítjuk a device‑et `CPU`‑ra. Ha később GPU‑t támogató környezetre váltasz, csak az enum értékét cseréld le – a kód többi része változatlan marad. + +### 3. Load the PNG Image + +**Why?** Az OCR egy képadat‑streamen dolgozik, nem közvetlenül egy fájlútvonalon. A fájl `ImageStream`‑re konvertálása elrejti a mögöttes formátumot. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Cseréld le a `YOUR_DIRECTORY`‑t a tényleges mappára. Ha a fájl nem található, a motor `IOException`‑t dob, amit később elkapunk. + +### 4. Run Recognition and Capture the Result + +**Why?** A `recognize()` metódus végzi a nehéz munkát – karakterek, sorok és elrendezés felismerése. A visszaadott `OcrResult` a tiszta szöveget tartalmazza. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Kérhetsz `Pdf` vagy `Html` eredményt is, de a **extract text from image java** céljából maradjunk a sima szövegnél. + +### 5. Output the Text and Clean Up + +**Why?** Egy egyszerű `System.out.println` elég a bemutatóhoz, de egy valódi alkalmazásban valószínűleg fájlba vagy adatbázisba írnád az eredményt. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +Mivel az `OcrEngine` implementálja az `AutoCloseable` interfészt, jó szokás mindent `try‑with‑resources` blokkba tenni. Így a natív erőforrások gyorsan felszabadulnak. + +### 6. Full, Runnable Example + +Az összes részletet egyben, itt a teljes program, amit lefordíthatsz és futtathatsz: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Expected output** (ha a PNG tartalma „Hello World”): + +``` +=== OCR Result === +Hello World +``` + +Ha a kép összetettebb – több sor, táblázatok vagy kézírás – a kimenet pontosan azt fogja tükrözni, amit az Aspose OCR felismer, a sortöréseket megtartva. + +## Common Questions & Edge Cases + +### What if the PNG is huge? + +A nagy képek sok memóriát fogyasztanak. Egy gyakorlati megoldás a **downscale** – a kép méretének csökkentése, mielőtt átadnád a motorba: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +A méretezés csökkenti a CPU terhelést anélkül, hogy a nyomtatott szöveg OCR pontosságát jelentősen befolyásolná. + +### Can I run OCR on a PDF instead of a PNG? + +Természetesen. Az Aspose OCR PDF‑eket is elfogad `PdfDocument` objektumokként. Ugyanaz a `recognize()` hívás működik, így **process image with OCR** bármilyen forrásformátum esetén. + +### How do I improve accuracy for non‑Latin scripts? + +Állítsd be a nyelvet a felismerés előtt: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Az Aspose több tucat nyelvi csomagot szállít; válaszd ki azt, amelyik a képed tartalmához illeszkedik. + +### Is the thread count always beneficial? + +Több szál gyorsítja a feldolgozást többmagos CPU‑kon, de a fizikai magok számán túl a hozam csökken. Ha magas CPU‑használatot látsz aránytalanul a sebességhez képest, csökkentsd a számot a `Runtime.getRuntime().availableProcessors()` értékére. + +## Wrap‑Up: What We Achieved + +Most **recognize text from png** egy tömör Java programmal, bemutattuk, hogyan **extract text from image java** az Aspose OCR‑rel, és lefedtük a lépéseket a **process image with OCR** production‑kész módra. A kód önálló, a magyarázatok a „hogyan” és a „miért” kérdésekre is válaszolnak, a tippek pedig a tipikus buktatókat érintik. + +## What’s Next? + +- **Batch processing:** Egy könyvtár PNG‑jeinek bejárása és minden eredmény `.txt` fájlba írása. +- **PDF generation:** Az OCR kimenet átadása az Aspose.PDF‑nek kereshető PDF‑ek létrehozásához. +- **Cloud scaling:** Ugyanazon kód telepítése Kubernetes‑számú konténerbe, ahol a szálkészlet a pod erőforrásaihoz igazodik. + +Nyugodtan kísérletezz – cseréld le a képet, módosítsd a szálak számát, vagy válts nyelvet. Az OCR motor elég rugalmas ahhoz, hogy a legtöbb forgatókönyvet kezelje, és a most megszerzett alapokkal a bővítés gyerekjáték. + +Van kérdésed, vagy találtál egy okos optimalizációt? Írj egy megjegyzést alul, és jó kódolást! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/java/ocr-operations/_index.md b/ocr/hungarian/java/ocr-operations/_index.md index 078f684ae..1590eddee 100644 --- a/ocr/hungarian/java/ocr-operations/_index.md +++ b/ocr/hungarian/java/ocr-operations/_index.md @@ -83,6 +83,9 @@ Szabadítsd fel az OCR erejét Java-ban az Aspose.OCR segítségével. Könnyed Szabadítsd fel a hatékony szövegfelismerést Java-ban az Aspose.OCR segítségével. Könnyedén ismerd fel a szöveget TIFF képekben. Töltsd le most a zökkenőmentes OCR élményért. ### [Szövegkép felismerése Aspose OCR-rel – Teljes Java OCR útmutató](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Fedezd fel, hogyan ismerheted fel a képeken lévő szöveget az Aspose OCR segítségével Java-ban, lépésről lépésre útmutató. +### [Kereshető PDF létrehozása JPG-ből – Képből kereshető PDF Java útmutató](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Alakítsd át a JPG képeket kereshető PDF-fé Java-ban az Aspose.OCR segítségével. +### [Képek kiegyenesítése – Lépésről‑lépésre OCR előfeldolgozási útmutató](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) ## Gyakran Ismételt Kérdések diff --git a/ocr/hungarian/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/hungarian/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..f88b6bce5 --- /dev/null +++ b/ocr/hungarian/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,187 @@ +--- +category: general +date: 2026-02-19 +description: Készítsen kereshető PDF-et JPG képből az Aspose OCR segítségével Java-ban. + Konvertálja a JPG-t PDF-re, és gyorsan ismerje fel a képen lévő szöveget. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: hu +og_description: Készítsen kereshető PDF-et egy JPG képből az Aspose OCR segítségével. + Ismerje meg, hogyan konvertálhat JPG-t PDF-be, és hogyan ismerheti fel a szöveget + a képen Java‑ban. +og_title: Kereshető PDF létrehozása JPG-ből – Java OCR útmutató +tags: +- aspose-ocr +- java +- pdf +- ocr +title: Kereshető PDF létrehozása JPG-ből – Kép konvertálása kereshető PDF-re Java + útmutató +url: /hu/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Kereshető PDF létrehozása JPG-ből – Kép → Kereshető PDF Java útmutató + +Valaha szükséged volt **kereshető PDF** létrehozására egy beolvasott képből, de nem tudtad, hol kezdjed? Nem vagy egyedül – sok fejlesztő ütközik ugyanabba a problémába, amikor egy JPG‑nek kereshetőnek kell lennie. A jó hír, hogy az Aspose OCR for Java segítségével néhány kódsorral teljesen kereshető PDF‑et készíthetsz a képből. + +Ebben az útmutatóban végigvezetünk a teljes folyamaton: JPG betöltése, a szöveg felismerése, és az eredmény mentése kereshető PDF‑ként. A végére tudni fogod, hogyan **convert jpg to pdf**, hogyan **extract text from jpg**, és miért gyakran megbízhatóbb ez a megközelítés, mint a PDF‑re utólag OCR‑t alkalmazni. + +## Amire szükséged lesz + +* **Java Development Kit (JDK) 8 vagy újabb** – a kód a szabványos Java API‑kat használja. +* **Aspose OCR for Java** könyvtár – beszerezheted a Maven Central‑ból vagy letöltheted a JAR‑t az Aspose weboldaláról. +* Egy **minta JPG**, amely olvasható szöveget tartalmaz (pl. beolvasott számla vagy egy dokumentum képernyőképe). + +Nem szükséges további keretrendszer; a példa egy egyszerű Java projekttel működik. + +## 1. lépés – A projekt beállítása és az Aspose OCR hozzáadása + +Először hozz létre egy új Maven projektet (vagy egyszerűen egy mappát a JAR‑ral a classpath‑on). Ha Maven‑t használsz, add hozzá ezt a függőséget a `pom.xml`‑hez: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** Mindig ellenőrizd a legújabb verziót az Aspose Maven tárolóban; az újabb kiadások tartalmaznak teljesítményjavításokat és hibajavításokat. + +Miután a függőség feloldódott, készen állsz a Java kód megírására, amely **create searchable PDF**. + +## 2. lépés – Kép betöltése (image to searchable pdf) + +Az első tényleges lépés, hogy az OCR motorra mutassuk a forrásképet. Itt kezdődik igazán a **image to searchable pdf** átalakítás. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Miért fontos:** A `setImage` megmondja az Aspose‑nak, melyik bitmapet elemezze. Ha alacsony felbontású képet adsz meg, az OCR minősége romlik, ezért győződj meg róla, hogy a JPG legalább 300 dpi legyen a legjobb eredményhez. + +## 3. lépés – Szöveg felismerése a képről + +Miután a motor tudja, melyik képpel dolgozik, kérhetjük, hogy **recognize text from image**. Az Aspose OCR a háttérben elvégzi a nehéz munkát, kezelve a nyelvfelismerést, a karakterszegmentálást és a megbízhatósági pontszámot. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +A `recognize()` hívás egy fluent interfészt ad vissza, amely lehetővé teszi a `save` metódus láncolását. Az `OcrOutputFormat.SEARCHABLE_PDF` megadásával a könyvtár egy láthatatlan szövegréteget ágyaz be a PDF‑be, miközben megőrzi az eredeti kép megjelenését. + +> **Különleges eset:** Ha a JPG több oldalt tartalmaz (pl. többoldalas TIFF, amely külön JPG‑ként van mentve), akkor minden fájlon végig kell iterálni, és a későbbiekben össze kell fűzni a keletkezett PDF‑eket. Ugyanaz az OCR motor újra felhasználható minden iterációhoz. + +## 4. lépés – Az eredmény ellenőrzése + +A mentési művelet befejezése után egy egyszerű konzolüzenet jelzi, hogy minden rendben ment. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +Amikor megnyitod az `output-searchable.pdf`-et egy nézegetőben, például az Adobe Acrobatban, képesnek kell lenned a rejtett szöveg kijelölésére, másolására vagy keresésre – pontosan ez, amit egy **searchable PDF**‑től vársz. + +### Várható kimenet + +A program futtatása a következőt írja ki: + +``` +Searchable PDF created. +``` + +A generált PDF megjeleníti az eredeti JPG‑t, miközben lehetővé teszi a szöveg kijelölését. Ha megnyitod a PDF „Properties → Description → PDF Producer” részét, olyasmit látsz, mint `Aspose.OCR for Java`. + +## Teljes működő példa + +Az alábbiakban a teljes, azonnal futtatható forrásfájl található. Másold be a kedvenc IDE‑dbe, állítsd be a fájlutakat, és indítsd el. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **Mi van, ha az OCR nem sikerül?** +> * Általában ez akkor fordul elő, ha a kép túl zajos vagy a nyelv nincs alapból támogatva. A pontosságot javíthatod a kép előfeldolgozásával (kontraszt növelése, kiegyenesítés) vagy a nyelv kifejezett beállításával a `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);` segítségével. + +## Gyakori kérdések és buktatók + +| Question | Answer | +|----------|--------| +| **Kivonhatom a sima szöveget PDF helyett?** | Igen. Használd a `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` parancsot. | +| **Mi van, ha PNG‑t kell feldolgozni?** | Ugyanaz az API működik; csak cseréld ki a fájlkiterjesztést a `fromFile`‑ben. | +| **A létrehozott PDF valóban kereshető minden nézegetőben?** | A modern nézegetők (Adobe Reader, Foxit, Chrome) tiszteletben tartják a rejtett szövegréteget. A régebbi eszközök esetleg figyelmen kívül hagyják. | +| **Hogyan szabályozhatom a PDF oldal méretét?** | Az Aspose OCR alapértelmezés szerint a kép méreteit használja. Egyedi méretezéshez manuálisan generálj PDF‑et, és helyezd rá az OCR szövegréteget – ez egy haladó szintű forgatókönyv. | + +## Teljesítmény tippek + +* **Kötegelt feldolgozás:** Használd újra egyetlen `OcrEngine` példányt több képhez, hogy elkerüld a natív könyvtár többszöri betöltését. +* **Szálbiztonság:** A motor **nem** szálbiztos; ha párhuzamosítasz, hozz létre egy példányt szálanként. +* **Memóriahasználat:** Nagy képek sok RAM-ot fogyaszthatnak. Ha `OutOfMemoryError`-t kapsz, méretezd le a képet, mielőtt a motorba adod. + +## Következő lépések + +Most, hogy tudod, hogyan **create searchable PDF**, érdemes lehet kapcsolódó feladatokat is felfedezni: + +* **Convert jpg to pdf** OCR nélkül (használd az Aspose PDF könyvtárat egy egyszerű kép‑PDF‑hez). +* **Extract text from jpg** egy `.txt` fájlba az indexeléshez. +* **Combine multiple searchable PDFs** egyetlen dokumentummá az Aspose PDF `PdfFileEditor`‑jével. + +Ezek mind ugyanazon az alapon nyugszanak, amelyet most felállítottál. + +--- + +### Gyors összefoglaló + +* Létrehoztunk egy **searchable PDF**‑et egy JPG‑ből az Aspose OCR for Java segítségével. +* A folyamat magában foglalta a kép betöltését, a szöveg felismerését és a kereshető PDF‑ként való mentést. +* Most már van egy újrahasználható minta a **image to searchable PDF**, **recognize text from image**, **extract text from jpg**, és **convert jpg to pdf** feladatokra. + +Próbáld ki a saját dokumentumaiddal, ha szükséges, finomítsd a nyelvi beállításokat, és hagyd, hogy az OCR elvégezze a nehéz munkát. Jó kódolást! + +![Create searchable PDF example](placeholder.png){alt="Kereshető PDF 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/hungarian/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/hungarian/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..9a3d02b55 --- /dev/null +++ b/ocr/hungarian/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,172 @@ +--- +category: general +date: 2026-02-19 +description: Tanulja meg, hogyan lehet kiegyenesíteni a képet és eltávolítani a zajt + az OCR-hez. Ez az útmutató bemutatja, hogyan lehet felismerni a szöveges képet, + kijavítani a kép forgását, és előfeldolgozni a képet OCR-hez az Aspose OCR segítségével. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: hu +og_description: Hogyan korrigáljuk a kép ferdeségét és távolítsuk el a zajt, hogy + gyorsan felismerhessük a szöveges képet. Kövesse ezt az útmutatót a kép forgatásának + helyesbítéséhez és az OCR előfeldolgozásához az Aspose-szal. +og_title: Hogyan kiegyenesítsük a képet – Teljes OCR előfeldolgozási útmutató +tags: +- OCR +- Java +- Image Processing +title: Hogyan egyenesítsük a képet — Lépésről lépésre OCR előfeldolgozási útmutató +url: /hu/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan korrigáljuk a kép dőlését — Teljes OCR előfeldolgozási útmutató + +Gondolkodtál már azon, **hogyan korrigáljuk a kép dőlését** a fájloknál, mielőtt egy OCR motorba táplálnád őket? Lehet, hogy egy csomó nyugtát szkenneltél, és az oldalak kissé ferdenek tűnnek, vagy a szkennelés véletlenszerű pontokkal van tele. Ez egy gyakori probléma – a ferde, zajos képek megnehezítik a szövegfelismerést. + +A jó hír? Néhány Java sorral kiegyenesítheted (korrigálhatod a kép forgását) és eltávolíthatod a zajt (hogyan távolítsuk el a zajt) az Aspose.OCR segítségével. Ebben az útmutatóban végigvezetünk a teljes folyamaton: egy zajos‑ferde PNG betöltésétől, a deskew + median denoise alkalmazásáig, egészen a **recognize text image** lépésig és az eredmény kiírásáig. A végére egy újrahasználható kódrészletet kapsz, amelyet bármely Java projektbe beilleszthetsz. + +## Amire szükséged lesz + +- **Java 17** vagy újabb (a kód régebbi verziókkal is lefordítható, de a 17 a legoptimálisabb). +- **Aspose.OCR for Java** – a legújabb JAR‑t a Maven Central‑ról szerezheted be (`com.aspose:aspose-ocr`). +- Egy olyan képfájl, amely egyszerre ferde és zajos (például `noisy-rotated.png`). +- Egy egyszerű IDE (IntelliJ, Eclipse vagy akár VS Code). + +Nem szükséges semmilyen bonyolult build eszköz; egy egyszerű `javac` + `java` futtatás is megfelelő. + +--- + +## 1. lépés – Hozd létre az OCR motor példányát + +Az első dolog, amit megteszel, hogy elindítod az `OcrEngine`‑t. Gondolj rá úgy, mint egy agyra, amely később elolvassa helyetted a karaktereket. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Hasznos tipp:** Tartsd a motort singletonként, ha sok képet dolgozol fel; újrahasználja a belső puffereket és felgyorsítja a feldolgozást. + +## 2. lépés – Engedélyezd a Deskew és a Median Denoise funkciókat (Hogyan távolítsuk el a zajt) + +Most megmondjuk a motornak, hogy **korrigálja a kép forgását** és **hogyan távolítsuk el a zajt**. Mindkét szűrő opcionális, de együtt drámaian javítják a pontosságot. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Miért median denoise? Megőrzi a széleket (azokat a vonalakat, amelyek a karaktereket definiálják), miközben eltávolítja az elszigetelt pixeleket – pontosan azt, amire tiszta OCR‑hoz szükség van. + +## 3. lépés – Töltsd be a feldolgozni kívánt képet + +Itt mutatjuk meg a motornak, melyik fájlt kell megtisztítania. Az `ImageStream.fromFile` beolvassa a PNG‑t a memóriába. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Ha a képed egy távoli szerveren található, egyszerűen egy `InputStream`‑et adj át helyette – az Aspose ezt zökkenőmentesen kezeli. + +## 4. lépés – Futtasd az OCR‑t és rögzítsd a felismert szöveget + +Az előfeldolgozás engedélyezése után a motor most a korrigált képet olvassa. A `recognize()` hívás egy `RecognitionResult`‑ot ad vissza, amely a kinyert karakterláncot tartalmazza. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +A konzolon tiszta, olvasható szöveget kell látnod, még akkor is, ha az eredeti kép ferde és szemcsés volt. + +## 5. lépés – Ellenőrizd az eredményt (Mit várhatsz) + +Ha minden rendben működik, a konzol valami ilyesmit fog kiírni: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Ha a kimenet még mindig torz karaktereket tartalmaz, ellenőrizd a következőket: + +- A kép felbontása (≥ 300 dpi az ideális). +- Hogy a fájl útvonala helyes‑e. +- Vajon további szűrők (például `setContrastStretch`) segíthetnek‑e. + +--- + +## Opcionális: Vizuális ellenőrzés egy példaképpel + +Alább egy kis előnézet egy ferde, zajos nyugtáról. Figyeld meg a dőlést – a kódunk kiegyenesíti azt számodra. + +![hogyan korrigáljuk a kép dőlését példakép](deskew-demo.png "hogyan korrigáljuk a kép dőlését") + +*Alt szöveg: hogyan korrigáljuk a kép dőlését – elő és utófeldolgozás.* + +--- + +## Gyakran Ismételt Kérdések + +### Működik ez PDF‑ekkel is, vagy csak PNG/JPEG fájlokkal? +Az Aspose.OCR közvetlenül olvashat PDF‑eket; csak cseréld le az `ImageStream.fromFile`‑t `ImageStream.fromPdf`‑ra. Ugyanazok a előfeldolgozó zászlók érvényesek, így továbbra is **hogyan korrigáljuk a kép dőlését** és **hogyan távolítsuk el a zajt** kapod. + +### Mit tehetek, ha későbbi lépésekhez meg kell őriznem az eredeti orientációt? +Az előfeldolgozás előtt klónozhatod a képet: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Manuálisan is beállíthatom a deskew szöget? +Igen – a `setDeskewAngle(double degrees)` lehetővé teszi, hogy felülírd az automatikus detektálási algoritmust. Hasznos, ha az automata nem tud megbirkózni extrém forgatásokkal. + +### Miben különbözik a median denoise a Gaussian blur‑tól? +A median szűrő minden pixelt a szomszédjai mediánjával helyettesít, ezáltal megőrzi a széleket. A Gaussian blur mindent elmos, ami a karaktervonalkák elmosódásához vezethet – ezért a median a biztonságosabb választás OCR‑hez. + +--- + +## Összegzés + +Ebben a tutorialban bemutattuk, **hogyan korrigáljuk a kép dőlését**, demonstráltuk **hogyan távolítsuk el a zajt**, és megmutattuk, hogyan **recognize text image** használatával végezzük el a szövegfelismerést az Aspose OCR beépített előfeldolgozásával. A `setDeskew(true)` és `setMedianDenoise(true)` engedélyezésével automatikusan **korrigálod a kép forgását** és megtisztítod a szemcséket, így egy rendezetlen szkennt tiszta szöveggé alakítasz. + +Nyugodtan kísérletezz: próbálj ki különböző zajszűrési stratégiákat, dolgozz PDF‑ekkel, vagy láncolj több képet egy ciklusban. Az ugyanaz a minta – motor → előfeldolgozás → felismerés – minden szituációra alkalmazható, így szilárd alapot nyújt bármely OCR pipeline-hoz. + +**Következő lépések**, amelyeket érdemes felfedezni: + +- **Kötegelt feldolgozás** – iterálj egy mappában lévő képek felett, és írd ki minden eredményt egy `.txt` fájlba. +- **Nyelvi csomagok** – tölts be egy adott nyelvi szótárt a pontosság növelése érdekében nem‑angol szövegekhez. +- **Haladó szűrők** – például `setContrastStretch` vagy `setBinarization` alacsony kontrasztú szkennek. + +Van még kérdésed? Hagyj egy megjegyzést, és jó kódolást! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/java/advanced-ocr-techniques/_index.md b/ocr/indonesian/java/advanced-ocr-techniques/_index.md index 8b802e033..21f18837c 100644 --- a/ocr/indonesian/java/advanced-ocr-techniques/_index.md +++ b/ocr/indonesian/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,14 @@ Buka kekuatan pengenalan teks dengan Aspose.OCR untuk Java. Ikuti panduan langka Berdayakan aplikasi Java Anda dengan Aspose.OCR untuk pengenalan teks yang tepat. Integrasi yang mudah, akurasi tinggi. ### [Menentukan Karakter yang Diizinkan di Aspose.OCR](./specify-allowed-characters/) Buka kunci ekstraksi teks dari gambar secara lancar dengan Aspose.OCR untuk Java. Ikuti panduan langkah demi langkah kami untuk integrasi yang efisien. +### [Cara Mengaktifkan GPU untuk OCR di Java – Panduan Lengkap](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Pelajari cara mengaktifkan akselerasi GPU pada Aspose.OCR untuk Java, meningkatkan kecepatan dan akurasi OCR secara signifikan. +### [Cara Melakukan OCR Gambar di Java – Catatan Tangan dengan Pemeriksaan Ejaan](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Pelajari cara OCR gambar catatan tulisan tangan di Java dengan fitur pemeriksaan ejaan untuk hasil teks yang akurat. + {{< /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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/indonesian/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..5bef7f1ab --- /dev/null +++ b/ocr/indonesian/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-02-19 +description: Cara mengaktifkan GPU untuk pemrosesan OCR yang cepat. Pelajari cara + memuat gambar resolusi tinggi, mengenali gambar teks, dan mengekstrak teks menggunakan + Aspose OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: id +og_description: Cara mengaktifkan GPU untuk pemrosesan OCR yang cepat. Panduan ini + menunjukkan cara memuat gambar resolusi tinggi, mengenali gambar teks, dan mengekstrak + teks dengan Aspose OCR. +og_title: Cara Mengaktifkan GPU untuk OCR di Java – Panduan Lengkap +tags: +- OCR +- Java +- GPU +- Aspose +title: Cara Mengaktifkan GPU untuk OCR di Java – Panduan Lengkap +url: /id/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara Mengaktifkan GPU untuk OCR di Java – Panduan Lengkap + +Pernah bertanya-tanya **bagaimana cara mengaktifkan GPU** untuk pipeline OCR Anda dan mengurangi beberapa detik dari waktu pemrosesan? Anda tidak sendirian. Dalam banyak proyek yang berat pada gambar, bottleneck adalah langkah ekstraksi teks yang bergantung pada CPU, dan beralih ke GPU dapat menjadi pengubah permainan. + +Dalam tutorial ini kami akan menjelaskan cara memuat **gambar resolusi tinggi**, mengonfigurasi Aspose OCR untuk berjalan di GPU, dan akhirnya **mengenali gambar teks** serta **mengekstrak teks** dengan hanya beberapa baris Java. Pada akhir tutorial Anda akan memiliki program siap‑jalankan yang mendemonstrasikan **mengaktifkan pemrosesan GPU** end‑to‑end. + +## Apa yang Anda Butuhkan + +- Java 17 atau lebih baru (kode menggunakan sistem modul tetapi dapat bekerja pada JDK lama dengan sedikit penyesuaian) +- Aspose OCR untuk Java 23.10 (atau versi terbaru) – Anda dapat mengambil koordinat Maven dari situs Aspose +- GPU NVIDIA dengan driver CUDA 12+ terpasang (perpustakaan akan menolak untuk memulai jika tidak) +- Gambar contoh resolusi tinggi (PNG atau JPEG) yang ingin Anda baca teksnya + +Itu saja. Tidak ada layanan eksternal, tidak ada kredit cloud, hanya mesin Anda dan stack driver yang tepat. + +![diagram yang menggambarkan cara mengaktifkan GPU untuk pemrosesan OCR di Java](gpu-ocr-workflow.png) + +*teks alt gambar: diagram yang menggambarkan cara mengaktifkan GPU untuk pemrosesan OCR di Java.* + +## Implementasi Langkah‑per‑Langkah + +Di bawah ini kami membagi solusi menjadi bagian‑bagian logis. Setiap bagian berisi cuplikan kode singkat, penjelasan **mengapa** langkah tersebut penting, dan beberapa tip praktis yang mungkin Anda hargai nanti. + +### Cara Mengaktifkan GPU untuk OCR – Langkah 1: Instal Dependensi & Verifikasi CUDA + +Sebelum kode Java apa pun dijalankan, runtime CUDA native harus dapat ditemukan. Di Windows Anda dapat memverifikasi dengan: + +```bat +nvcc --version +``` + +Di Linux: + +```bash +nvidia-smi +``` + +Jika perintah mencetak versi driver dan detail GPU, Anda siap melanjutkan. Jika tidak, kunjungi situs web NVIDIA, unduh driver yang sesuai, dan instal toolkit CUDA (pastikan versinya cocok dengan persyaratan Aspose OCR – saat ini 12.x). + +**Tip:** Jaga driver GPU Anda tetap terbaru tetapi hindari rilis “latest‑beta”; terkadang mereka merusak kompatibilitas biner dengan pustaka native Aspose. + +### Cara Mengaktifkan GPU untuk OCR – Langkah 2: Tambahkan Dependensi Maven Aspose OCR + +Tambahkan berikut ini ke `pom.xml` Anda. Ini akan mengambil inti mesin OCR serta binari GPU native untuk Windows, Linux, dan macOS. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Jika Anda lebih suka Gradle, setaraannya adalah: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Setelah menyegarkan proyek Anda, kelas `OcrEngine`, `OcrDeviceType`, dan `ImageStream` akan tersedia. + +### Cara Mengaktifkan GPU untuk OCR – Langkah 3: Buat Mesin OCR dan Aktifkan GPU + +Sekarang kami benar‑benar memberi tahu Aspose untuk berjalan di GPU. `OcrEngine` mengekspos objek `Device` dimana kita dapat mengubah tipe perangkat pemrosesan. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Mengapa ini penting:** Menetapkan `OcrDeviceType.GPU` mengganti mesin inferensi dasar dari implementasi CPU‑only ke yang dipercepat CUDA. Pemanggilan opsional `setStreamCount` memungkinkan Anda mengontrol paralelisme; dua stream adalah default aman pada kebanyakan kartu konsumen. + +### Cara Mengaktifkan GPU untuk OCR – Langkah 4: Muat Gambar Resolusi Tinggi + +Sumber resolusi tinggi memberikan model OCR lebih banyak detail visual, yang diterjemahkan menjadi akurasi lebih tinggi, terutama untuk font kecil atau skrip yang rumit. Pembantu `ImageStream.fromFile` membaca file ke dalam format yang diharapkan mesin. + +Jika Anda perlu **memuat gambar resolusi tinggi** dari URL atau array byte dalam memori, Anda dapat menggunakan: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Kasus khusus:** Beberapa GPU memiliki ukuran tekstur maksimum (sering 16384 × 16384). Jika gambar Anda melebihi itu, pertimbangkan untuk menurunkan skala ke ukuran yang masih mempertahankan keterbacaan (mis., 3000 × 2000). Mesin OCR akan secara otomatis mengubah ukuran jika Anda memanggil `ocrEngine.setResizeFactor(0.5)` sebelum memuat. + +### Cara Mengaktifkan GPU untuk OCR – Langkah 5: Kenali Gambar Teks dan Ekstrak Teks + +Memanggil `ocrEngine.recognize()` memicu inferensi jaringan saraf pada GPU. Metode ini mengembalikan objek `OcrResult`; `getText()` mengekstrak string polos. Anda juga dapat mengambil bounding box, skor kepercayaan, atau JSON mentah jika memerlukan data yang lebih kaya. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Mengapa Anda mungkin menginginkannya:** Langkah `recognize text image` adalah tempat GPU bersinar—gambar besar yang memerlukan detik pada CPU diproses dalam sebagian kecil waktu itu. Skor kepercayaan memungkinkan Anda menyaring hasil berkualitas rendah, trik berguna ketika Anda kemudian **mengekstrak teks** untuk analitik hilir. + +### Tips Pro & Kesalahan Umum + +| Situation | What to Do | +|-----------|------------| +| **Kesalahan out‑of‑memory** pada GPU | Kurangi `setStreamCount` menjadi 1, atau turunkan skala gambar sebelum memberikannya ke mesin. | +| **Karakter tidak dikenali** meskipun resolusi tinggi | Pastikan model bahasa (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) cocok dengan bahasa teks. | +| **Versi CUDA tidak cocok** | Sesuaikan versi toolkit CUDA dengan yang dibundel dalam Aspose OCR (periksa catatan rilis). | +| **Multiple GPUs** | Gunakan `ocrEngine.getDevice().setDeviceId(1)` untuk memilih GPU kedua jika yang pertama sibuk. | +| **Menjalankan pada server tanpa tampilan** | Tidak ada langkah tambahan yang diperlukan; driver GPU berfungsi tanpa tampilan. | + +## Cara Mengekstrak Teks – Memverifikasi Output + +Saat Anda menjalankan kelas di atas, Anda harus melihat sesuatu seperti: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Jika output terlihat berantakan, periksa kembali bahwa gambar benar‑benar beresolusi tinggi dan driver GPU terinstal dengan benar. Anda juga dapat mengaktifkan logging verbose: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +## Langkah Selanjutnya & Topik Terkait + +- **Pemrosesan batch:** Bungkus `OcrEngine` dalam loop dan berikan daftar jalur gambar. Ingat untuk menggunakan kembali instance mesin yang sama untuk menghindari overhead inisialisasi GPU berulang. +- **Deteksi bahasa:** Aspose OCR mendukung lebih dari 30 bahasa. Ganti dengan `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Pasca‑pemrosesan:** Gunakan ekspresi reguler untuk membersihkan string yang diekstrak, atau berikan ke pipeline NLP hilir. +- **Perangkat alternatif:** Jika Anda tidak memiliki GPU yang mendukung CUDA, Anda dapat kembali ke `OcrDeviceType.CPU`. Kode yang sama berfungsi; cukup ubah tipe perangkat. +- **Pengukuran kinerja:** Ukur selisih waktu dengan `System.nanoTime()` sebelum dan setelah `recognize()` untuk mengkuantifikasi peningkatan dari **mengaktifkan pemrosesan GPU**. + +### Kesimpulan + +Kami telah membahas **cara mengaktifkan GPU** untuk Aspose OCR di Java, mulai dari menginstal driver yang tepat hingga memuat **gambar resolusi tinggi**, **mengenali gambar teks**, dan akhirnya **cara mengekstrak teks** dari hasilnya. Contoh lengkap yang dapat dijalankan di atas seharusnya berfungsi langsung pada GPU NVIDIA modern apa pun. + +Cobalah, eksperimen dengan ukuran gambar yang berbeda, dan saksikan throughput OCR Anda melambung. Jika Anda menemui kendala, tinjau kembali bagian tips atau periksa catatan rilis Aspose untuk rekomendasi **mengaktifkan pemrosesan GPU** terbaru. + +Selamat coding, dan semoga GPU Anda tetap dingin saat memproses teks! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/indonesian/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..dbc3c638d --- /dev/null +++ b/ocr/indonesian/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,251 @@ +--- +category: general +date: 2026-02-19 +description: Pelajari cara melakukan OCR pada gambar catatan tulisan tangan di Java + menggunakan Aspose OCR. Termasuk memuat gambar untuk OCR, membaca catatan tulisan + tangan, dan mengonversi teks gambar tulisan tangan. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: id +og_description: Cara melakukan OCR pada gambar catatan tulisan tangan di Java dengan + Aspose. Panduan langkah demi langkah untuk memuat gambar untuk OCR, membaca catatan + tulisan tangan, dan mengonversi teks gambar tulisan tangan. +og_title: Cara OCR Gambar di Java – Panduan Catatan Tangan +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Cara OCR Gambar di Java – Catatan Tangan dengan Pemeriksaan Ejaan +url: /id/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara OCR Gambar di Java – Catatan Tangan dengan Pemeriksaan Ejaan + +Pernah bertanya-tanya **how to OCR image** yang berisi daftar belanjaan atau notulen rapat yang Anda coret‑coret? Anda bukan satu‑satunya. Dalam banyak aplikasi dunia nyata, pengembang perlu membaca catatan tulisan tangan dan mengubahnya menjadi teks yang dapat dicari—tanpa harus mengetik ulang secara manual. + +Dalam tutorial ini kami akan membimbing Anda melalui contoh lengkap yang siap dijalankan yang menunjukkan secara tepat **how to OCR image** menggunakan Aspose OCR untuk Java, cara **load image for OCR**, dan cara **read handwritten notes** dengan koreksi ejaan bawaan. Pada akhir tutorial, Anda akan dapat **convert handwritten image text** menjadi string bersih yang dapat Anda simpan, indeks, atau tampilkan. + +## Apa yang Akan Anda Pelajari + +- Langkah‑langkah tepat untuk menyiapkan mesin OCR yang memahami tulisan tangan bahasa Inggris. +- Cara **load image for OCR** dari disk dan memberikannya ke mesin. +- Mengapa mengaktifkan pemeriksa ejaan penting saat menangani coretan yang berantakan. +- Cara menangani kasus tepi umum, seperti gambar berkontras rendah atau paket bahasa yang hilang. +- Contoh kode lengkap yang dapat dijalankan, yang dapat Anda tempelkan ke IDE dan melihat hasilnya secara instan. + +> **Prerequisites**: Java 8+ terpasang, Maven atau Gradle untuk manajemen dependensi, dan lisensi Aspose OCR untuk Java (versi percobaan gratis cukup untuk belajar). Tidak ada pustaka eksternal lain yang diperlukan. + +--- + +## Langkah 1: Siapkan Proyek dan Tambahkan Dependensi Aspose OCR + +Langkah pertama—proyek Anda memerlukan pustaka Aspose OCR. Jika Anda menggunakan Maven, tambahkan ini ke `pom.xml` Anda: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Atau dengan Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Pro tip**: Perhatikan nomor versi; rilis terbaru meningkatkan pengenalan tulisan tangan dan menambah dukungan bahasa. + +Setelah dependensi terpasang, Anda siap untuk **load image for OCR**. + +## Langkah 2: Buat Instance Mesin OCR + +Untuk **how to OCR image** secara efektif, Anda memerlukan objek `OcrEngine`. Objek ini adalah inti proses—menyimpan pengaturan bahasa, flag pemeriksaan ejaan, dan gambar itu sendiri. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Mengapa kita menginstansiasi mesin terlebih dahulu? Karena Aspose OCR dirancang dapat digunakan kembali; Anda dapat memproses banyak gambar dengan instance yang sama, menyesuaikan pengaturan di antara proses jika diperlukan. + +## Langkah 3: Tambahkan Dukungan Bahasa Inggris dan Aktifkan Koreksi Ejaan + +Catatan tulisan tangan sering kali penuh dengan kesalahan ejaan, huruf yang hilang, atau singkatan tidak konvensional. Mengaktifkan pemeriksa ejaan memberi mesin kesempatan untuk membersihkan output. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **Why enable spell correction?** +> Tanpa itu, output OCR mentah mungkin berbunyi “t0d@y” atau “c0ffee”. Pemeriksa ejaan menormalkan keanehan tersebut, membuat teks akhir jauh lebih berguna untuk pemrosesan lanjutan seperti pengindeksan pencarian. + +## Langkah 4: Muat Gambar Tulisan Tangan + +Sekarang kita **load image for OCR**. Aspose menyediakan metode `ImageStream.fromFile` yang nyaman dan menerima format raster umum (PNG, JPEG, BMP). + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Jika gambar Anda berada di folder sumber daya atau Anda menerimanya sebagai byte array (misalnya, dari unggahan web), Anda dapat menggunakan `ImageStream.fromBytes` sebagai gantinya—cukup ganti baris di atas dengan: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Langkah 5: Lakukan OCR dan Dapatkan Teks yang Diperbaiki + +Dengan mesin yang dikonfigurasi dan gambar dimuat, pemanggilan **how to OCR image** yang sebenarnya hanya satu baris: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +Metode `recognize()` mengembalikan objek `OcrResult` yang berisi tidak hanya teks biasa tetapi juga skor kepercayaan, kotak pembatas, dan lainnya. Untuk kebanyakan kasus penggunaan, `getText()` biasa sudah cukup. + +## Langkah 6: Tampilkan Hasil + +Akhirnya, kami mencetak string yang telah dibersihkan ke konsol. Dalam aplikasi nyata Anda mungkin menyimpannya di basis data, mengirimkannya ke mesin pencari, atau memberikannya ke model bahasa. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Output yang Diharapkan + +Dengan asumsi catatan tulisan tangan berbunyi: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +Anda akan melihat sesuatu seperti: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Bahkan jika coretan asli berantakan—misalnya “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”—pemeriksa ejaan biasanya akan merapikannya. + +--- + +## Muat Gambar untuk OCR – Tips untuk Akurasi Lebih Baik + +1. **Resolusi penting** – Targetkan setidaknya 300 dpi. Resolusi lebih rendah menyebabkan mesin melewatkan goresan kecil. +2. **Kontras adalah kunci** – Jika latar belakang berwarna, konversi gambar ke skala abu‑abu terlebih dahulu. +3. **Potong ke konten** – Menghapus margin yang tidak perlu mengurangi noise dan mempercepat pemrosesan. + +Anda dapat memproses gambar terlebih dahulu dengan pustaka seperti OpenCV atau bahkan `BufferedImage` bawaan Java sebelum menyerahkannya ke Aspose. + +## Baca Catatan Tulisan Tangan: Menangani Kasus Tepi + +- **Kata dengan kepercayaan rendah**: `ocrEngine.getResult().getWords()` mengembalikan daftar dimana setiap kata memiliki nilai kepercayaan (0–100). Anda dapat menyaring kata di bawah ambang batas dan meminta pengguna untuk meninjau secara manual. +- **Multiple languages**: Jika Anda perlu **read handwritten notes** dalam bahasa Inggris dan Spanyol, tambahkan kedua bahasa sebelum memanggil `recognize()`. +- **Large files**: Untuk PDF atau TIFF multi‑halaman, iterasi setiap halaman dengan `ocrEngine.setImage(pageStream)` di dalam loop. + +## Konversi Teks Gambar Tulisan Tangan ke Data Terstruktur + +Seringkali Anda tidak hanya membutuhkan string mentah; Anda mungkin ingin mengekstrak tanggal, jumlah, atau item daftar cek. Setelah Anda memiliki teks yang telah diperbaiki, ekspresi reguler atau pustaka NLP (seperti Stanford CoreNLP) dapat mengurai kontennya: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +Potongan kode ini menunjukkan betapa mudahnya beralih dari **convert handwritten image text** ke data yang dapat ditindaklanjuti. + +## Kesalahan Umum dan Cara Menghindarinya + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Output berantakan, banyak karakter `?` | Gambar terlalu gelap atau kontras rendah | Tingkatkan kecerahan atau pra‑proses dengan equalisasi histogram | +| Kata terlewat | Tulisan tangan terlalu bersambung | Aktifkan `ocrEngine.getSettings().setEnableCursive(true)` (jika didukung) | +| Pemeriksa ejaan menghasilkan kata yang salah | Model bahasa tidak cocok | Tambahkan kamus khusus melalui `ocrEngine.getSpellChecker().addUserWords(...)` | +| Kesalahan out‑of‑memory pada gambar besar | Ukuran gambar > 10 MB | Kurangi skala sebelum memuat, atau proses dalam ubin | + +## Contoh Lengkap yang Berfungsi (Siap Salin‑Tempel) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Note**: Jika Anda menjalankan kode dari IDE, pastikan folder `YOUR_DIRECTORY` berada di classpath atau gunakan jalur absolut. + +--- + +## Kesimpulan + +Kami telah membahas **how to OCR image** di Java dari awal hingga akhir, menunjukkan cara **load image for OCR**, **read handwritten notes**, mengaktifkan koreksi ejaan, dan akhirnya **convert handwritten image text** menjadi string bersih. Pendekatannya sederhana, namun cukup kuat untuk aplikasi produksi. + +Siap untuk tantangan berikutnya? Cobalah bereksperimen dengan PDF multi‑halaman, tambahkan kamus khusus untuk istilah industri, atau alirkan output OCR ke model pembelajaran mesin untuk analisis sentimen. Langit adalah batasnya ketika Anda menggabungkan akurasi Aspose OCR dengan fleksibilitas Java. + +Ada pertanyaan tentang kasus tepi tertentu, atau ingin berbagi bagaimana Anda mengintegrasikan ini ke dalam aplikasi seluler? Tinggalkan komentar di bawah—selamat coding! + +--- + +![how to OCR image example](/images/ocr-handwritten-example.png "how to OCR image of handwritten notes") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/indonesian/java/ocr-basics/_index.md index 37667f523..e801953f1 100644 --- a/ocr/indonesian/java/ocr-basics/_index.md +++ b/ocr/indonesian/java/ocr-basics/_index.md @@ -101,6 +101,13 @@ Buka potensi Aspose.OCR untuk Java dengan panduan langkah‑demi‑langkah ini. Tingkatkan akurasi OCR dengan Aspose.OCR untuk Java. Pelajari cara menghitung sudut kemiringan langkah demi langkah. Tingkatkan pemrosesan dokumen dengan mudah. ### [Mendapatkan Persegi Panjang dengan Area Teks dalam Aspose.OCR](./get-rectangles-with-text-areas/) Buka kekuatan Aspose.OCR untuk Java. Pelajari cara mengekstrak teks dari gambar secara mulus dalam panduan langkah demi langkah ini. Unduh sekarang untuk pengenalan teks yang efisien. +### [Mengenali teks dari PNG di Java – tutorial Aspose OCR](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Pelajari cara mengenali teks dari file PNG menggunakan Aspose OCR di Java dengan contoh kode lengkap. +### [Mengekstrak teks dari gambar – mengonversi PNG ke teks di Java](./extract-text-from-image-convert-png-to-text-in-java/) +### [Mengekstrak Teks dari Gambar di Java – Contoh OCR Lengkap](./extract-text-from-image-in-java-complete-ocr-example/) +Panduan lengkap untuk mengekstrak teks dari gambar menggunakan Aspose.OCR di Java dengan contoh kode lengkap. +### [Ekstrak Teks dari Gambar dengan Aspose OCR – Panduan Cepat Java](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) +Panduan singkat untuk mengekstrak teks dari gambar menggunakan Aspose OCR di Java dengan contoh kode lengkap. --- @@ -113,4 +120,4 @@ Buka kekuatan Aspose.OCR untuk Java. Pelajari cara mengekstrak teks dari gambar {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/indonesian/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..28cc1394a --- /dev/null +++ b/ocr/indonesian/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,215 @@ +--- +category: general +date: 2026-02-19 +description: Ekstrak teks dari gambar menggunakan Aspose OCR Java – pelajari cara + mengonversi PNG ke teks, memuat gambar untuk OCR, dan ikuti tutorial OCR Java. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: id +og_description: Ekstrak teks dari gambar dengan Aspose OCR Java. Ikuti tutorial OCR + Java langkah demi langkah ini untuk mengonversi PNG menjadi teks dan memuat gambar + untuk OCR. +og_title: Ekstrak Teks dari Gambar – Panduan OCR Java +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Ekstrak teks dari gambar – konversi PNG ke teks dalam Java +url: /id/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +: they are {{CODE_BLOCK_X}}. Keep them. + +Check any other markdown like blockquote > etc. Keep translation inside. + +Now produce final content.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# ekstrak teks dari gambar – Tutorial Java OCR + +Pernahkah Anda perlu **ekstrak teks dari gambar** tetapi tidak yakin perpustakaan mana yang memungkinkan Anda melakukannya tanpa ribet? Anda tidak sendirian—para pengembang terus bertanya, “Bagaimana cara mengubah PNG menjadi teks di Java?” Kabar baiknya, Aspose OCR membuat seluruh proses terasa seperti berjalan di taman. Dalam panduan ini kami akan membahas **tutorial java ocr** lengkap, menunjukkan cara **muat gambar untuk OCR**, dan menghasilkan teks bersih yang dapat dicari. + +Kami akan membahas semuanya mulai dari menyiapkan engine hingga menangani konten multibahasa, sehingga pada akhir Anda dapat **ekstrak teks dari gambar** berkas dengan ukuran, format, atau bahasa apa pun. Tanpa layanan eksternal, tanpa kunci API—hanya satu JAR dan beberapa baris kode. + +## Apa yang Anda Butuhkan + +- JDK 8 atau yang lebih baru terpasang (kode ini juga berfungsi pada JDK 11+). +- Maven atau Gradle untuk mengambil pustaka Aspose OCR, atau Anda dapat mengunduh JAR secara manual dari situs web Aspose. +- Gambar PNG yang berisi teks yang dapat dibaca (untuk contoh kami akan menggunakan `khmer-sign.png`). +- IDE atau editor teks yang Anda nyaman gunakan—IntelliJ IDEA, Eclipse, VS Code, apa saja dapat. + +Itu saja. Tanpa kerangka kerja berat, tanpa kredensial cloud. Siap? Mari kita mulai mengekstrak teks dari berkas gambar. + +## Langkah 1: Tambahkan Aspose OCR ke Proyek Anda + +Pertama-tama—Anda memerlukan engine OCR di classpath Anda. Jika Anda menggunakan Maven, tambahkan dependensi ini ke `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Atau dengan Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Jika Anda lebih suka cara manual, unduh JAR dari halaman unduhan Aspose dan letakkan di folder `libs` proyek Anda, kemudian tambahkan ke build path. + +> **Pro tip:** Selalu pilih versi stabil terbaru; rilis lama mungkin tidak menyertakan paket bahasa atau perbaikan bug. + +## Langkah 2: Buat Instance Engine OCR + +Sekarang pustaka tersedia, kita dapat membuat `OcrEngine`. Anggap engine sebagai otak yang akan membaca piksel dan mengubahnya menjadi karakter. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Mengapa kita membuat engine baru setiap kali? Engine menyimpan buffer internal dan data bahasa; memulai dengan bersih menjamin hasil yang deterministik, terutama ketika Anda beralih bahasa nanti. + +## Langkah 3: Aktifkan Bahasa yang Diinginkan (Opsional tetapi Disarankan) + +Aspose OCR dilengkapi dengan puluhan paket bahasa. Jika Anda mengetahui bahasa gambar sumber Anda, aktifkan secara eksplisit; ini mempercepat pengenalan dan meningkatkan akurasi. Dalam contoh kami akan mengaktifkan Khmer (`khm`), tetapi Anda dapat menggantinya dengan `ENG` untuk Bahasa Inggris, `CHN` untuk Bahasa Mandarin, dll. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Mengapa ini penting:** Saat Anda **muat gambar untuk OCR**, engine hanya akan mencari kamus bahasa yang diaktifkan. Membiarkan semua bahasa aktif dapat memperlambat proses dan meningkatkan false positive. + +## Langkah 4: Muat Gambar untuk OCR – Mengonversi PNG ke Teks + +Di sinilah langkah **muat gambar untuk OCR** terjadi. Aspose menyediakan helper `ImageStream.fromFile` yang memudahkan I/O tingkat rendah. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +Jika gambar Anda dalam format lain (JPEG, BMP, TIFF), metode yang sama tetap berfungsi—Aspose secara otomatis mendeteksi formatnya. Pastikan jalur file benar; jika tidak Anda akan mendapatkan `FileNotFoundException`. + +## Langkah 5: Jalankan Proses OCR dan Konversi PNG ke Teks + +Dengan engine siap dan gambar dimuat, pengenalan sebenarnya cukup satu pemanggilan metode. Objek hasil memberikan string mentah serta skor kepercayaan. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Itu saja—Anda baru saja **mengonversi PNG ke teks**. String yang dikembalikan mungkin berisi pemisah baris dan spasi persis seperti yang dilihat engine. Anda dapat memprosesnya lebih lanjut dengan `trim()`, `replaceAll("\\s+", " ")`, atau pembersihan lain yang diperlukan. + +## Langkah 6: Tampilkan Hasil (atau Simpan) + +Untuk pemeriksaan cepat, cetak hasil ke konsol. Dalam aplikasi nyata Anda mungkin menulisnya ke file, basis data, atau mengirimnya ke layanan lain. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Output yang diharapkan** (untuk tanda Khmer yang disediakan) mungkin terlihat seperti: + +``` +សួស្តី +Welcome +``` + +Jika outputnya berantakan, periksa kembali bahwa Anda telah mengaktifkan bahasa yang tepat pada Langkah 3 dan gambar tidak terlalu buram. Meningkatkan resolusi gambar (mis., menggunakan pemindaian 300 dpi) sering membantu. + +## Contoh Kerja Lengkap + +Menggabungkan semua bagian, berikut program mandiri yang dapat Anda salin‑tempel ke `ExtractTextExample.java` dan jalankan: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Jalankan program dengan: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +atau, jika Anda menggunakan Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +Anda akan melihat teks yang diekstrak dicetak ke konsol, mengonfirmasi bahwa Anda berhasil **mengekstrak teks dari gambar** menggunakan Aspose OCR. + +## Kesalahan Umum & Cara Memperbaikinya + +| Gejala | Penyebab Kemungkinan | Perbaikan | +|---------|----------------------|-----------| +| String kosong dikembalikan | Tidak ada bahasa yang diaktifkan atau kode bahasa salah | Tambahkan `OcrLanguage` yang sesuai (mis., `ENG` untuk Bahasa Inggris). | +| Karakter berantakan | Resolusi gambar terlalu rendah atau latar belakang berisik | Gunakan sumber dengan resolusi lebih tinggi, atau pra‑proses dengan filter penajaman. | +| `OutOfMemoryError` | Gambar sangat besar dimuat dalam ukuran penuh | Kurangi ukuran gambar sebelum memberi ke engine (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Jalur tidak tepat | Verifikasi jalur absolut atau relatif; gunakan `Paths.get(...).toAbsolutePath()`. | + +> **Ingat:** OCR adalah proses probabilistik. Bahkan dengan pengaturan sempurna Anda mungkin perlu memperbaiki beberapa karakter secara manual, terutama untuk skrip kursif. + +## Memperluas Tutorial – Langkah Selanjutnya + +- **Pemrosesan batch:** Loop melalui direktori berkas PNG, memanggil logika yang sama untuk setiap gambar. +- **Output PDF:** Gunakan Aspose PDF untuk menyematkan teks yang diekstrak kembali ke PDF yang dapat dicari. +- **Deteksi bahasa:** Panggil `ocrEngine.detectLanguage()` sebelum mengatur bahasa agar engine menebak secara otomatis. +- **Integrasi cloud:** Jika Anda perlu skala, bungkus kode dalam endpoint REST dan biarkan micro‑services memanggilnya. + +Semua topik ini secara alami dibangun di atas **tutorial java ocr** yang baru saja kami selesaikan, dan menunjukkan betapa serbagunanya API Aspose OCR sebenarnya. + +## Kesimpulan + +Kami telah membahas tutorial **java ocr** lengkap yang memungkinkan Anda **mengekstrak teks dari gambar** berkas, **mengonversi PNG ke teks**, dan **memuat gambar untuk OCR** dengan benar menggunakan Aspose OCR. Langkah‑langkahnya sederhana: tambahkan pustaka, buat engine, aktifkan bahasa yang tepat, muat PNG, jalankan `recognize()`, dan tangani output. Dengan fondasi ini Anda dapat mengotomatisasi entri data, membangun arsip yang dapat dicari, atau memberi daya pada aplikasi apa pun yang membutuhkan teks yang dapat dibaca mesin dari gambar. + +Cobalah dengan gambar Anda sendiri—mungkin tangkapan layar struk atau kontrak yang dipindai. Sesuaikan pengaturan bahasa, bereksperimen dengan resolusi, dan Anda akan segera melihat betapa fleksibelnya solusi ini. Jika Anda mengalami masalah, tinjau kembali tabel kesalahan atau periksa dokumentasi resmi Aspose; dokumen tersebut lengkap dan selalu diperbarui. + +Selamat coding, semoga proyek Anda berikutnya penuh dengan teks bersih yang dapat dicari! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/indonesian/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..76d26caa9 --- /dev/null +++ b/ocr/indonesian/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,149 @@ +--- +category: general +date: 2026-02-19 +description: Ekstrak teks dari gambar menggunakan Java OCR. Pelajari contoh Java OCR + yang memuat gambar untuk OCR dan mengekstrak teks dari file faktur dalam beberapa + langkah saja. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: id +og_description: Ekstrak teks dari gambar menggunakan Java OCR. Panduan ini menunjukkan + cara memuat gambar untuk OCR dan mengambil teks dari faktur dengan contoh Java OCR + sederhana. +og_title: Ekstrak Teks dari Gambar di Java – Contoh OCR Lengkap +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Ekstrak Teks dari Gambar di Java – Contoh OCR Lengkap +url: /id/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Ekstrak Teks dari Gambar di Java – Contoh OCR Lengkap + +Pernah perlu **mengekstrak teks dari gambar** tapi tidak yakin pustaka mana yang harus dipilih? Anda tidak sendirian—banyak pengembang menghadapi hal ini saat mengotomatisasi pemrosesan faktur atau membangun arsip yang dapat dicari. Kabar baiknya? Dengan beberapa baris Java Anda dapat memuat gambar untuk OCR, menentukan wilayah minat, dan mengambil teks yang tepat. + +Dalam tutorial ini kami akan membahas **java ocr example** yang menunjukkan cara **memuat gambar untuk OCR**, mengatur ROI, dan **mengekstrak teks dari faktur** menggunakan Aspose.OCR. Pada akhir tutorial Anda akan memiliki program yang dapat dijalankan dan dapat dimasukkan ke proyek Java mana pun. + +## Apa yang Akan Anda Pelajari + +- Cara membuat instance `OcrEngine` dan mengapa itu penting. +- Cara yang benar untuk **memuat gambar untuk OCR** dengan `ImageStream` milik Aspose. +- Menetapkan **region of interest (ROI)** sehingga Anda hanya memproses bagian gambar yang berisi jumlah faktur. +- Mengekstrak teks yang dikenali dan mencetaknya ke konsol. +- Jebakan umum (misalnya, koordinat persegi panjang yang salah) dan cara memperbaikinya dengan cepat. + +**Prasyarat** + +- Java 8 atau lebih baru terpasang. +- Maven atau Gradle untuk mengambil pustaka Aspose.OCR (`com.aspose:aspose-ocr`). +- Contoh gambar faktur (`invoice.png`) ditempatkan di direktori yang diketahui. + +Sudah siap? Baik—mari kita mulai. + +![Extract text from image using Java OCR](/images/extract-text-from-image-java.png "extract text from image example") + +## Ekstrak Teks dari Gambar – Contoh OCR Java Langkah‑per‑Langkah + +Berikut adalah kode sumber lengkapnya. Silakan salin‑tempel ke dalam `RoiOcrExample.java` dan jalankan langsung. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Mengapa Setiap Langkah Penting + +1. **Membuat mesin OCR** – tanpa mesin tidak ada konteks untuk pemrosesan gambar. Objek ini juga memungkinkan Anda menyesuaikan paket bahasa nanti jika membutuhkan dukungan multibahasa. +2. **Memuat gambar** – `ImageStream.fromFile` mengabstraksi format file, memastikan mesin membaca byte dengan benar. Jika Anda melewatkannya, akan muncul `NullPointerException`. +3. **Menetapkan ROI** – memproses seluruh halaman dapat membuang-buang sumber daya. Dengan mempersempit persegi panjang ke area total faktur, Anda mempercepat pengenalan dan mengurangi noise. +4. **Memanggil `recognize()`** – inilah tempat keajaiban terjadi. Metode ini menjalankan algoritma OCR pada ROI dan menghasilkan objek hasil. +5. **Mencetak output** – dalam proyek nyata Anda mungkin menyimpan teks ke basis data, tetapi `System.out.println` sudah cukup untuk demo cepat. + +## Memuat Gambar untuk OCR + +Jika Anda bertanya-tanya apakah path harus absolut atau relatif, jawabannya keduanya dapat bekerja—pastikan proses Java dapat membaca file tersebut. Di Windows, backslash harus di‑escape (`C:\\images\\invoice.png`) atau Anda dapat menggunakan slash maju (`C:/images/invoice.png`). + +**Tips pro:** Jika Anda memproses banyak faktur dalam sebuah loop, gunakan kembali instance `OcrEngine` yang sama; ia menyimpan cache sumber daya internal dan meningkatkan throughput. + +## Menentukan Region of Interest (ROI) + +Memilih persegi panjang yang tepat bisa memerlukan percobaan. Cara praktis untuk menemukan koordinat adalah membuka gambar di editor grafis apa pun (seperti GIMP atau Paint.NET) dan mengarahkan kursor ke area yang diinginkan—Anda akan melihat nilai X/Y di bilah status. + +Kasus tepi: beberapa faktur memiliki tata letak yang bervariasi. Dalam situasi ini Anda dapat melakukan pra‑pemindaian cepat pada seluruh gambar, menemukan kata kunci seperti “Total:” dengan regex, lalu menyesuaikan ROI secara dinamis. + +## Lakukan OCR dan Dapatkan Teks + +Pemanggilan `recognize()` bersifat sinkron—thread Anda akan terblokir sampai mesin selesai. Untuk batch besar Anda mungkin ingin membuat thread pool dan memproses gambar secara paralel. Ingat bahwa setiap thread memerlukan instance `OcrEngine` masing‑masing; mereka tidak thread‑safe. + +## Jalankan dan Verifikasi Output + +Kompilasi dan jalankan: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +Anda akan melihat sesuatu seperti: + +``` +ROI text: $1,254.00 +``` + +Jika output terlihat berantakan, periksa kembali koordinat ROI dan pastikan kualitas gambar tinggi (300 dpi atau lebih memberikan hasil terbaik). + +### Jebakan Umum & Cara Memperbaikinya + +| Gejala | Penyebab Kemungkinan | Perbaikan | +|---------|----------------------|-----------| +| String kosong | ROI berada di luar batas gambar | Verifikasi nilai persegi panjang terhadap dimensi gambar | +| Kata salah eja | Resolusi rendah | Gunakan sumber beresolusi lebih tinggi atau terapkan pra‑pemrosesan gambar (mis., binarisasi) | +| `java.lang.NoClassDefFoundError` | JAR Aspose tidak ada di classpath | Tambahkan `aspose-ocr.jar` ke `-cp` atau gunakan manajemen dependensi Maven/Gradle | + +## Kesimpulan + +Sekarang Anda tahu cara **mengekstrak teks dari gambar** di Java menggunakan **java ocr example** yang ringkas. Dengan memuat gambar secara tepat, mendefinisikan ROI yang terfokus, dan memanggil `recognize()`, Anda dapat secara andal **mengekstrak teks dari faktur** dan mengalirkan data tersebut ke sistem hilir. + +Apa selanjutnya? Coba ganti ROI untuk bidang lain (tanggal, nama vendor), bereksperimen dengan paket bahasa untuk faktur multibahasa, atau integrasikan langkah OCR ke dalam microservice Spring Boot. Pola yang sama berlaku untuk kwitansi, paspor, atau dokumen apa pun yang memerlukan ekstraksi teks yang akurat. + +Jika Anda memiliki pertanyaan tentang skalabilitas solusi ini atau menangani pemindaian yang berisik, tinggalkan komentar di bawah—selamat coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/indonesian/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..1437ea3d3 --- /dev/null +++ b/ocr/indonesian/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-02-19 +description: Ekstrak teks dari gambar di Java menggunakan Aspose OCR. Pelajari cara + mengenali teks dari PNG, mengonversi gambar menjadi string, dan membaca teks dari + pemindaian dalam beberapa langkah saja. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: id +og_description: Ekstrak teks dari gambar dengan cepat. Tutorial ini menunjukkan cara + mengenali teks dari PNG, mengonversi gambar menjadi string, dan membaca teks dari + pemindaian menggunakan Aspose OCR. +og_title: Ekstrak Teks dari Gambar dengan Aspose OCR – Panduan Java +tags: +- Java +- OCR +- Aspose +title: Ekstrak Teks dari Gambar dengan Aspose OCR – Panduan Cepat Java +url: /id/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Ekstrak Teks dari Gambar – Tutorial Java Lengkap + +Pernah perlu **mengekstrak teks dari gambar** tetapi tidak yakin pustaka mana yang harus dipilih? Mungkin Anda memiliki kwitansi yang dipindai dalam format PNG dan ingin teksnya sebagai string biasa untuk diproses lebih lanjut. Berdasarkan pengalaman saya, pustaka Aspose OCR membuat pekerjaan itu menjadi sangat mudah, terutama saat Anda bekerja dengan Java. + +Dalam panduan ini kita akan membahas semua yang perlu Anda ketahui: mulai dari menyiapkan dependensi Aspose OCR, memuat file PNG, **mengenali teks dari png**, hingga mengubah hasilnya menjadi `String` Java yang dapat digunakan. Pada akhir tutorial Anda akan dapat **mengonversi gambar ke string**, dan Anda juga akan melihat cara **membaca teks dari file scan** tanpa kesulitan. + +## Apa yang Akan Anda Pelajari + +- Cara menambahkan Aspose OCR ke proyek Maven atau Gradle. +- Kode tepat yang diperlukan untuk **mengekstrak teks dari gambar** menggunakan satu pemanggilan metode. +- Mengapa kelas `ImageStream` adalah cara yang disarankan untuk memasukkan data ke mesin OCR. +- Tips menangani pemindaian besar, PDF multi‑halaman, dan jebakan umum. + +Tidak diperlukan pengalaman OCR sebelumnya, cukup pemahaman dasar tentang Java dan sebuah PNG yang ingin Anda proses. + +## Prasyarat + +| Persyaratan | Alasan | +|-------------|--------| +| Java 8 atau lebih baru | Aspose OCR menargetkan Java 8+. | +| Maven atau Gradle (opsional) | Mempermudah manajemen dependensi. | +| Gambar PNG (misalnya `quick.png`) | Sumber yang akan kita jalankan OCR. | +| Akses internet (pada run pertama) | Pustaka dapat mengunduh paket bahasa secara otomatis. | + +Jika Anda sudah memiliki IDE Java seperti IntelliJ IDEA atau Eclipse, Anda siap melanjutkan. + +--- + +## Langkah 1: Siapkan Aspose OCR di Proyek Anda + +### Maven + +Tambahkan dependensi berikut ke `pom.xml` Anda: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro tip:** Jika Anda menggunakan proxy korporat, pastikan Maven/Gradle dapat mengakses `repo.maven.apache.org`. Jika tidak, proses build akan gagal sebelum Anda menulis satu baris kode pun. + +--- + +## Langkah 2: Muat Gambar PNG + +Kelas `ImageStream` menyembunyikan detail sistem file dan bekerja dengan stream, URL, atau byte array. Berikut cara memuat PNG lokal: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Mengapa ini penting:** Menggunakan `ImageStream.fromFile` menjamin mesin OCR menerima gambar dalam format yang sepenuhnya dipahami, sehingga meningkatkan akurasi pengenalan dibandingkan memasukkan byte array mentah. + +--- + +## Langkah 3: Kenali Teks dari PNG + +Aspose OCR menyediakan satu metode statis yang melakukan semua pekerjaan berat: `OcrEngine.recognize`. Metode ini mengembalikan `String` Java biasa, tepat seperti yang Anda butuhkan ketika ingin **mengonversi gambar ke string**. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### Apa yang Terjadi di Balik Layar? + +1. **Pra‑pemrosesan:** Mesin secara otomatis memperbaiki kemiringan gambar dan menormalkan kontras. +2. **Deteksi Bahasa:** Jika Anda tidak menentukan bahasa, Aspose akan mencoba menebaknya, yang berguna untuk pemindaian cepat. +3. **Pengenalan:** Inti mesin OCR menjalankan model jaringan saraf yang dilatih dengan jutaan karakter. + +Karena semua ini dibungkus dalam satu pemanggilan, Anda tidak perlu mengutak‑atik pengaturan tingkat rendah kecuali memiliki kasus penggunaan yang sangat khusus. + +--- + +## Langkah 4: Tampilkan dan Gunakan String yang Dihasilkan + +Sekarang Anda sudah memiliki teks, Anda dapat mencetaknya, menyimpannya ke basis data, atau mengirimkannya ke API lain. Berikut cara paling sederhana—hanya `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Output yang Diharapkan + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Catatan:** Output tepatnya bergantung pada isi `quick.png`. Jika gambar berisi catatan tulisan tangan, Anda mungkin melihat beberapa kesalahan pengenalan—tidak ada yang tidak dapat diperbaiki dengan sedikit pasca‑pemrosesan. + +--- + +## Langkah 5: Menangani Kasus Edge Umum + +### Pemindaian Besar atau PDF Multi‑Halaman + +Jika Anda perlu **membaca teks dari file scan** yang lebih besar daripada PNG tipikal, pertimbangkan: + +- Membagi gambar menjadi ubin (`ImageStream.fromRegion`). +- Menggunakan `OcrEngine.recognizeMultiplePages` untuk masukan PDF. + +### Bahasa Non‑Inggris + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Tips Performa + +- Gunakan kembali instance `OcrEngine` yang sama untuk beberapa gambar agar menghindari inisialisasi berulang. +- Untuk pemrosesan batch, aktifkan multi‑threading tetapi batasi jumlah thread sesuai dengan inti CPU untuk mencegah kehabisan memori. + +--- + +## Contoh Lengkap yang Siap Dijalankan + +Berikut adalah kelas Java lengkap yang siap dijalankan. Salin‑tempel ke IDE Anda, sesuaikan jalur gambar, dan tekan **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +Menjalankan program ini akan mencetak hasil OCR ke konsol, secara efektif **mengonversi gambar ke string** dalam beberapa baris kode saja. + +--- + +## Kesimpulan + +Anda kini tahu cara **mengekstrak teks dari gambar** di Java menggunakan Aspose OCR. Prosesnya dapat diringkas menjadi tiga langkah sederhana: muat PNG, panggil `OcrEngine.recognize`, dan gunakan string yang dihasilkan. Baik Anda ingin **mengenali teks dari png**, **mengonversi gambar ke string**, atau sekadar **membaca teks dari file scan**, pendekatan ini memberikan solusi yang andal dan siap produksi. + +Siap untuk tantangan berikutnya? Coba proses folder berisi kwitansi yang dipindai dalam loop, simpan setiap hasil ke CSV, atau bereksperimen dengan pengaturan bahasa khusus untuk meningkatkan akurasi pada teks non‑Inggris. Langit adalah batasnya, dan kode yang baru saja Anda tulis adalah fondasi yang kuat. + +Selamat coding, dan jangan ragu mengajukan pertanyaan di kolom komentar—saya akan dengan senang hati membantu! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/indonesian/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..a27b88e22 --- /dev/null +++ b/ocr/indonesian/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-02-19 +description: Mengenali teks dari PNG di Java menggunakan Aspose OCR – pelajari cara + mengekstrak teks dari gambar Java dan memproses gambar dengan OCR secara efisien. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: id +og_description: mengenali teks dari PNG di Java dengan Aspose OCR. Tutorial ini menunjukkan + cara mengekstrak teks dari gambar Java dan memproses gambar dengan OCR langkah demi + langkah. +og_title: Mengenali teks dari PNG di Java – Panduan Lengkap Aspose OCR +tags: +- OCR +- Java +- Image Processing +title: Mengenali teks dari PNG di Java – Tutorial OCR Aspose +url: /id/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# mengenali teks dari png di Java – Panduan Lengkap Aspose OCR + +Pernah perlu **mengenali teks dari png** tetapi tidak yakin pustaka mana yang harus dipilih? Anda tidak sendirian—banyak pengembang Java mengalami hal yang sama ketika pertama kali menangani ekstraksi data berbasis gambar. Kabar baiknya, Aspose OCR membuat seluruh proses hampir tanpa rasa sakit, dan dalam panduan ini Anda akan melihat secara tepat cara **mengekstrak teks dari image java** sambil **memproses gambar dengan OCR** secara thread‑safe. + +Dalam beberapa menit ke depan kita akan membuat program Java kecil yang memuat PNG, menjalankan OCR pada CPU menggunakan hingga delapan thread, dan mencetak string yang dikenali ke konsol. Tanpa layanan eksternal, tanpa kunci API rahasia—hanya kode Java biasa yang dapat Anda salin‑tempel dan jalankan hari ini. + +## Apa yang Anda Butuhkan + +- **Java 17** atau lebih baru (kode dapat dikompilasi dengan versi lebih lama, tetapi 17 adalah pilihan ideal). +- **Aspose.OCR untuk Java** JAR (unduh dari situs Aspose atau tarik via Maven). +- Sebuah gambar PNG yang ingin Anda baca—misalnya `document-page1.png` yang disimpan di suatu tempat di disk. +- IDE favorit Anda atau editor teks sederhana dan terminal. + +Itu saja. Jika Anda sudah memiliki semua itu, kita bisa langsung masuk ke solusi. + +![Java code to recognize text from png using Aspose OCR](image-placeholder.png "contoh Java mengenali teks dari png"){alt="Kode Java untuk mengenali teks dari png menggunakan Aspose OCR"} + +## Langkah‑per‑Langkah: mengenali teks dari png + +Di bawah ini kami membagi implementasi menjadi bagian‑bagian yang jelas dan dapat dikelola. Setiap bagian adalah heading H2, sehingga Anda dapat langsung melompat ke bagian yang Anda butuhkan. + +### 1. Tambahkan Aspose OCR ke Proyek Anda + +**Mengapa?** Mesin OCR berada di dalam pustaka Aspose; tanpa itu kompiler tidak akan tahu apa itu `OcrEngine`. + +Jika Anda menggunakan Maven, letakkan cuplikan ini ke dalam `pom.xml` Anda: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Untuk Gradle, tampilannya seperti ini: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Tip profesional:** Selalu periksa nomor versi terbaru; rilis yang lebih baru sering membawa perbaikan kinerja untuk pemrosesan multi‑thread. + +### 2. Buat dan Konfigurasikan OCR Engine + +**Mengapa?** Menginstansiasi `OcrEngine` memberi Anda objek siap pakai, dan menyesuaikan pengaturan perangkat memungkinkan Anda memanfaatkan semua core CPU yang tersedia. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Di sini kami secara eksplisit mengatur perangkat ke `CPU`. Jika Anda kemudian beralih ke lingkungan yang mendukung GPU, cukup ganti nilai enum—tidak ada perubahan kode lain yang diperlukan. + +### 3. Muat Gambar PNG + +**Mengapa?** OCR bekerja pada aliran gambar, bukan pada jalur file secara langsung. Mengonversi file menjadi `ImageStream` mengabstraksi format yang mendasarinya. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Ganti `YOUR_DIRECTORY` dengan folder yang sebenarnya. Jika file tidak ditemukan, engine akan melempar `IOException`, yang akan kami tangkap nanti. + +### 4. Jalankan Pengenalan dan Tangkap Hasilnya + +**Mengapa?** Metode `recognize()` melakukan pekerjaan berat—mendeteksi karakter, baris, dan tata letak. `OcrResult` yang dikembalikan berisi teks polos. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Anda juga dapat meminta hasil dalam format `Pdf` atau `Html`, tetapi untuk tujuan **mengekstrak teks dari image java** kami tetap pada teks polos. + +### 5. Output Teks dan Bersihkan + +**Mengapa?** `System.out.println` sederhana sudah cukup untuk demonstrasi, tetapi dalam aplikasi dunia nyata Anda mungkin akan menulis ke file atau basis data. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +Karena `OcrEngine` mengimplementasikan `AutoCloseable`, kebiasaan yang baik adalah membungkus semuanya dalam blok try‑with‑resources. Itu memastikan sumber daya native dilepaskan dengan cepat. + +### 6. Contoh Lengkap yang Dapat Dijalankan + +Menggabungkan semuanya, berikut program lengkap yang dapat Anda kompilasi dan jalankan: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Output yang diharapkan** (asumsikan PNG berisi “Hello World”): + +``` +=== OCR Result === +Hello World +``` + +Jika gambar lebih kompleks—banyak baris, tabel, atau catatan tulisan tangan—output akan mencerminkan apa yang dideteksi Aspose OCR, mempertahankan jeda baris bila diperlukan. + +## Pertanyaan Umum & Kasus Pinggiran + +### Bagaimana jika PNG sangat besar? + +Gambar besar dapat memakan banyak memori. Solusi praktis adalah **menurunkan skala** gambar sebelum memberikannya ke engine: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +Menurunkan skala mengurangi beban CPU tanpa mengorbankan akurasi OCR untuk kebanyakan teks cetak. + +### Bisakah saya menjalankan OCR pada PDF alih‑alih PNG? + +Tentu saja. Aspose OCR juga menerima PDF melalui objek `PdfDocument`. Panggilan `recognize()` yang sama bekerja, sehingga Anda dapat **memproses gambar dengan OCR** terlepas dari format sumbernya. + +### Bagaimana cara meningkatkan akurasi untuk skrip non‑Latin? + +Setel bahasa sebelum pengenalan: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose menyediakan puluhan paket bahasa; pilih saja yang cocok dengan konten gambar Anda. + +### Apakah jumlah thread selalu menguntungkan? + +Lebih banyak thread mempercepat pemrosesan pada CPU multi‑core, tetapi di luar jumlah core fisik Anda akan melihat penurunan manfaat. Jika Anda memperhatikan penggunaan CPU tinggi tanpa peningkatan kecepatan yang proporsional, kurangi jumlahnya kembali ke `Runtime.getRuntime().availableProcessors()`. + +## Kesimpulan: Apa yang Telah Kita Capai + +Kita baru saja **mengenali teks dari png** menggunakan program Java yang ringkas, menunjukkan cara **mengekstrak teks dari image java** dengan Aspose OCR, dan membahas langkah‑langkah penting untuk **memproses gambar dengan OCR** secara siap produksi. Kode bersifat mandiri, penjelasan menjawab baik “bagaimana” maupun “mengapa,” dan tip‑tip mengatasi jebakan umum yang mungkin Anda temui. + +## Apa Selanjutnya? + +- **Pemrosesan batch:** Loop melalui direktori PNG dan tulis setiap hasil ke file `.txt`. +- **Pembuatan PDF:** Salurkan output OCR ke Aspose.PDF untuk membuat PDF yang dapat dicari. +- **Skala cloud:** Deploy kode yang sama ke kontainer yang diatur oleh Kubernetes dan biarkan pool thread menyesuaikan dengan sumber daya pod. + +Silakan bereksperimen—ganti gambar, ubah jumlah thread, atau ganti bahasa. Mesin OCR cukup fleksibel untuk menangani sebagian besar skenario, dan dengan fondasi yang kini Anda miliki, memperluasnya menjadi sangat mudah. + +Ada pertanyaan, atau menemukan optimasi cerdas? Tinggalkan komentar di bawah, dan selamat coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/java/ocr-operations/_index.md b/ocr/indonesian/java/ocr-operations/_index.md index 3baaffc48..4f697b0f1 100644 --- a/ocr/indonesian/java/ocr-operations/_index.md +++ b/ocr/indonesian/java/ocr-operations/_index.md @@ -81,6 +81,10 @@ Buka kekuatan OCR di Java dengan Aspose.OCR. Mengenali teks dalam dokumen PDF de Buka pengenalan teks yang kuat di Java dengan Aspose.OCR. Mengenali teks dalam gambar TIFF dengan mudah. Unduh sekarang untuk pengalaman OCR yang mulus. ### [Mengenali Teks Gambar dengan Aspose OCR – Tutorial OCR Java Lengkap](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Panduan lengkap mengenali teks pada gambar menggunakan Aspose OCR dengan Java, mencakup langkah‑langkah detail untuk hasil akurat. +### [Buat PDF yang Dapat Dicari dari JPG – Panduan Java Mengonversi Gambar ke PDF yang Dapat Dicari](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Panduan lengkap untuk mengonversi file JPG menjadi PDF yang dapat dicari menggunakan Aspose.OCR untuk Java. +### [Cara Memperbaiki Kemiringan Gambar — Panduan Pra‑Pemrosesan OCR Langkah‑per‑Langkah](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +Panduan langkah demi langkah untuk menghilangkan kemiringan gambar sebelum OCR, meningkatkan akurasi pengenalan teks. ## Pertanyaan yang Sering Diajukan diff --git a/ocr/indonesian/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/indonesian/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..2a9429807 --- /dev/null +++ b/ocr/indonesian/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,188 @@ +--- +category: general +date: 2026-02-19 +description: Buat PDF yang dapat dicari dari gambar JPG dengan Aspose OCR di Java. + Konversi JPG ke PDF dan kenali teks dari gambar dengan cepat. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: id +og_description: Buat PDF yang dapat dicari dari gambar JPG dengan Aspose OCR. Pelajari + cara mengonversi JPG ke PDF dan mengenali teks dari gambar dalam Java. +og_title: Buat PDF yang Dapat Dicari dari JPG – Tutorial OCR Java +tags: +- aspose-ocr +- java +- pdf +- ocr +title: Buat PDF yang Dapat Dicari dari JPG – Panduan Java Mengubah Gambar menjadi + PDF yang Dapat Dicari +url: /id/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +part of content. So final output is the translated content only. + +Let's assemble.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Buat PDF yang Dapat Dicari dari JPG – Panduan Java Mengubah Gambar menjadi PDF yang Dapat Dicari + +Pernahkah Anda perlu **membuat PDF yang dapat dicari** dari gambar yang dipindai tetapi tidak yakin harus mulai dari mana? Anda bukan satu-satunya—banyak pengembang mengalami hal yang sama ketika mereka memiliki JPG yang perlu dapat dicari. Kabar baiknya, dengan Aspose OCR untuk Java Anda dapat mengubah gambar tersebut menjadi PDF yang sepenuhnya dapat dicari hanya dengan beberapa baris kode. + +Dalam tutorial ini kami akan membahas seluruh proses: memuat JPG, mengenali teks, dan menyimpan hasilnya sebagai PDF yang dapat dicari. Pada akhir tutorial Anda akan tahu cara **convert jpg to pdf**, cara **extract text from jpg**, dan mengapa pendekatan ini sering lebih andal dibandingkan mencoba OCR pada PDF setelah dibuat. + +## Apa yang Anda Butuhkan + +* **Java Development Kit (JDK) 8 atau lebih baru** – kode menggunakan API Java standar. +* **Aspose OCR for Java** library – Anda dapat mengunduhnya dari Maven Central atau mengunduh JAR dari situs Aspose. +* Sebuah **sample JPG** yang berisi teks yang dapat dibaca (misalnya, faktur yang dipindai atau tangkapan layar dokumen). + +Tidak diperlukan kerangka kerja tambahan; contoh ini bekerja dengan proyek Java biasa. + +## Langkah 1 – Siapkan Proyek dan Tambahkan Aspose OCR + +Pertama, buat proyek Maven baru (atau cukup folder dengan JAR di classpath). Jika Anda menggunakan Maven, tambahkan dependensi ini ke `pom.xml` Anda: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** Selalu periksa versi terbaru di repositori Maven Aspose; rilis yang lebih baru mencakup perbaikan kinerja dan perbaikan bug. + +Setelah dependensi terpasang, Anda siap menulis kode Java yang akan **create searchable PDF**. + +## Langkah 2 – Muat Gambar (image to searchable pdf) + +Langkah nyata pertama adalah mengarahkan mesin OCR ke gambar sumber. Di sinilah transformasi **image to searchable pdf** benar‑benar dimulai. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Why this matters:** `setImage` memberi tahu Aspose bitmap mana yang akan dianalisis. Jika Anda memberikan gambar beresolusi rendah, kualitas OCR akan menurun, jadi pastikan JPG setidaknya 300 dpi untuk hasil terbaik. + +## Langkah 3 – Kenali Teks dari Gambar + +Sekarang mesin tahu gambar mana yang akan diproses, kita dapat memintanya untuk **recognize text from image**. Aspose OCR melakukan pekerjaan berat di balik layar, menangani deteksi bahasa, segmentasi karakter, dan penilaian kepercayaan. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +Pemanggilan `recognize()` mengembalikan antarmuka fluent, memungkinkan kami men-chain metode `save`. Dengan menentukan `OcrOutputFormat.SEARCHABLE_PDF`, perpustakaan menyisipkan lapisan teks tak terlihat di dalam PDF sambil mempertahankan tampilan gambar asli. + +> **Edge case:** Jika JPG Anda berisi beberapa halaman (misalnya, TIFF multi‑halaman yang disimpan sebagai JPG terpisah), Anda perlu melakukan loop pada setiap file dan menggabungkan PDF yang dihasilkan nanti. Mesin OCR yang sama dapat digunakan kembali untuk setiap iterasi. + +## Langkah 4 – Verifikasi Hasil + +Setelah operasi penyimpanan selesai, pesan konsol sederhana memberi tahu Anda bahwa semuanya berjalan lancar. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +Saat Anda membuka `output-searchable.pdf` di penampil seperti Adobe Acrobat, Anda seharusnya dapat memilih teks tersembunyi, menyalinnya, atau melakukan pencarian—tepat seperti yang Anda harapkan dari **searchable PDF**. + +### Output yang Diharapkan + +Menjalankan program mencetak: + +``` +Searchable PDF created. +``` + +Dan PDF yang dihasilkan akan menampilkan JPG asli sambil memungkinkan pemilihan teks. Jika Anda membuka “Properties → Description → PDF Producer” pada PDF, Anda akan melihat sesuatu seperti `Aspose.OCR for Java`. + +## Contoh Lengkap yang Berfungsi + +Berikut adalah file sumber lengkap yang siap dijalankan. Salin‑tempel ke IDE Anda, sesuaikan jalur file, dan jalankan. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **What if the OCR fails?** +> * Biasanya ini terjadi karena gambar terlalu berisik atau bahasa tidak didukung secara default. Anda dapat meningkatkan akurasi dengan pra‑pemrosesan gambar (meningkatkan kontras, meluruskan) atau dengan secara eksplisit mengatur bahasa menggunakan `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`. + +## Pertanyaan Umum & Hal-hal yang Perlu Diwaspadai + +| Question | Answer | +|----------|--------| +| **Bisakah saya mengekstrak teks biasa alih-alih PDF?** | Yes. Use `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **Bagaimana jika saya perlu memproses PNG?** | The same API works; just change the file extension in `fromFile`. | +| **Apakah PDF yang dihasilkan benar‑benar dapat dicari di semua penampil?** | Modern viewers (Adobe Reader, Foxit, Chrome) honor the hidden text layer. Older tools might ignore it. | +| **Bagaimana cara mengontrol ukuran halaman PDF?** | Aspose OCR uses the image dimensions by default. For custom sizing, generate a PDF manually and overlay the OCR text layer—this is an advanced scenario. | + +## Tips Kinerja + +* **Batch processing:** Gunakan kembali satu instance `OcrEngine` untuk banyak gambar agar menghindari pemuatan perpustakaan native berulang. +* **Thread safety:** Mesin **tidak** thread‑safe; buat satu per thread jika Anda memparallelkan. +* **Memory usage:** Gambar besar dapat mengonsumsi banyak RAM. Jika Anda mengalami `OutOfMemoryError`, perkecil skala gambar sebelum memberikannya ke mesin. + +## Langkah Selanjutnya + +Sekarang Anda tahu cara **create searchable PDF**, Anda mungkin ingin menjelajahi tugas terkait: + +* **Convert jpg to pdf** tanpa OCR (gunakan perpustakaan Aspose PDF untuk PDF gambar biasa). +* **Extract text from jpg** ke file `.txt` untuk pengindeksan. +* **Combine multiple searchable PDFs** menjadi satu dokumen menggunakan `PdfFileEditor` dari Aspose PDF. + +Semua ini dibangun di atas fondasi yang baru saja Anda siapkan. + +--- + +### Ringkasan Cepat + +* Kami **membuat PDF yang dapat dicari** dari JPG menggunakan Aspose OCR untuk Java. +* Proses mencakup memuat gambar, mengenali teks, dan menyimpan sebagai PDF yang dapat dicari. +* Anda kini memiliki pola yang dapat digunakan kembali untuk **image to searchable PDF**, **recognize text from image**, **extract text from jpg**, dan **convert jpg to pdf**. + +Cobalah dengan dokumen Anda sendiri, sesuaikan pengaturan bahasa jika diperlukan, dan biarkan OCR melakukan pekerjaan berat untuk Anda. Selamat coding! + +![Create searchable PDF example](placeholder.png){alt="Contoh PDF yang dapat dicari"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/indonesian/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..28f4a9215 --- /dev/null +++ b/ocr/indonesian/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,173 @@ +--- +category: general +date: 2026-02-19 +description: Pelajari cara mengoreksi kemiringan gambar dan menghilangkan noise untuk + OCR. Tutorial ini menunjukkan cara mengenali gambar teks, memperbaiki rotasi gambar, + dan melakukan pra‑pemrosesan gambar OCR dengan Aspose OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: id +og_description: Cara mengoreksi kemiringan gambar dan membersihkan noise sehingga + Anda dapat mengenali teks gambar dengan cepat. Ikuti panduan ini untuk memperbaiki + rotasi gambar dan memproses pra‑OCR gambar dengan Aspose. +og_title: Cara Meluruskan Gambar – Tutorial Lengkap Pra‑Pemrosesan OCR +tags: +- OCR +- Java +- Image Processing +title: Cara Mengoreksi Kemiringan Gambar — Panduan Pra‑Pemrosesan OCR Langkah demi + Langkah +url: /id/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara Mengoreksi Kemiringan Gambar — Tutorial Lengkap Pra‑Pemrosesan OCR + +Pernah bertanya‑tanya **bagaimana cara mengoreksi kemiringan gambar** sebelum memberi makan ke mesin OCR? Mungkin Anda telah memindai sekumpulan kwitansi, dan halamannya tampak miring sedikit, atau hasil scan dipenuhi titik‑titik acak. Itu adalah masalah umum—gambar yang miring dan berisik membuat pengenalan teks terhambat. + +Kabar baik? Anda dapat meluruskan (mengoreksi rotasi gambar) dan menghilangkan noise (cara menghapus noise) hanya dengan beberapa baris Java menggunakan Aspose.OCR. Dalam panduan ini kami akan menelusuri seluruh alur: mulai dari memuat PNG yang berisik‑mirir, menerapkan deskew + median denoise, hingga **recognize text image** dan mencetak hasilnya. Pada akhir tutorial Anda akan memiliki potongan kode yang dapat dipakai ulang di proyek Java mana pun. + +## Apa yang Anda Butuhkan + +- **Java 17** atau lebih baru (kode dapat dikompilasi dengan versi lebih lama, tetapi 17 adalah pilihan ideal). +- **Aspose.OCR untuk Java** – Anda dapat mengambil JAR terbaru dari Maven Central (`com.aspose:aspose-ocr`). +- Sebuah file gambar yang sekaligus miring dan berisik (misalnya `noisy-rotated.png`). +- IDE sederhana (IntelliJ, Eclipse, atau bahkan VS Code). + +Tidak diperlukan alat build yang rumit; cukup menjalankan `javac` + `java` sudah cukup. + +--- + +## Langkah 1 – Buat Instance OCR Engine + +Hal pertama yang Anda lakukan adalah memulai sebuah `OcrEngine`. Anggap saja ini sebagai otak yang nanti akan membaca karakter untuk Anda. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Tip profesional:** Simpan engine sebagai singleton jika Anda memproses banyak gambar; ini akan menggunakan kembali buffer internal dan mempercepat proses. + +## Langkah 2 – Aktifkan Deskew dan Median Denoise (Cara Menghapus Noise) + +Sekarang kita memberi tahu engine untuk **mengoreksi rotasi gambar** dan **cara menghapus noise**. Kedua filter bersifat opsional, tetapi bila digabungkan secara signifikan meningkatkan akurasi. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Mengapa median denoise? Karena ia mempertahankan tepi (garis yang mendefinisikan karakter) sambil menghilangkan piksel terisolasi—tepat apa yang dibutuhkan untuk OCR yang bersih. + +## Langkah 3 – Muat Gambar yang Ingin Diproses + +Di sini kita menunjuk engine ke file yang perlu dibersihkan. `ImageStream.fromFile` membaca PNG ke dalam memori. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Jika gambar Anda berada di server remote, cukup berikan sebuah `InputStream` saja—Aspose akan menanganinya dengan baik. + +## Langkah 4 – Jalankan OCR dan Tangkap Teks yang Diakui + +Dengan pra‑pemrosesan diaktifkan, engine kini membaca gambar yang telah dikoreksi. Pemanggilan `recognize()` mengembalikan sebuah `RecognitionResult` yang berisi string hasil ekstraksi. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +Anda akan melihat teks yang bersih dan dapat dibaca di konsol, meskipun gambar asli miring dan berbutir. + +## Langkah 5 – Verifikasi Hasil (Apa yang Diharapkan) + +Ketika semuanya berjalan lancar, konsol akan mencetak sesuatu seperti: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Jika output masih berisi karakter yang kacau, periksa kembali: + +- Resolusi gambar (≥ 300 dpi ideal). +- Apakah jalur file sudah benar. +- Apakah filter tambahan (misalnya `setContrastStretch`) dapat membantu. + +--- + +## Opsional: Konfirmasi Visual dengan Contoh Gambar + +Berikut adalah pratinjau kecil dari kwitansi yang miring dan berisik. Perhatikan kemiringannya—kode kami akan meluruskannya untuk Anda. + +![how to deskew image example](deskew-demo.png "how to deskew image") + +*Alt text: how to deskew image – before and after processing.* + +--- + +## Pertanyaan yang Sering Diajukan + +### Apakah ini bekerja dengan PDF atau hanya PNG/JPEG? +Aspose.OCR dapat membaca PDF secara langsung; cukup ganti `ImageStream.fromFile` dengan `ImageStream.fromPdf`. Flag pra‑pemrosesan yang sama tetap berlaku, sehingga Anda tetap mendapatkan **how to deskew image** dan **how to remove noise**. + +### Bagaimana jika saya perlu mempertahankan orientasi asli untuk langkah selanjutnya? +Anda dapat mengkloning gambar sebelum pra‑pemrosesan: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Bisakah saya mengubah sudut deskew secara manual? +Ya—`setDeskewAngle(double degrees)` memungkinkan Anda menimpa algoritma deteksi otomatis. Berguna ketika deteksi otomatis gagal pada rotasi ekstrem. + +### Bagaimana median denoise berbeda dari Gaussian blur? +Filter median menggantikan setiap piksel dengan nilai median dari tetangganya, yang mempertahankan tepi. Gaussian blur menghaluskan semuanya, berpotensi mengaburkan goresan karakter—sehingga median lebih aman untuk OCR. + +--- + +## Penutup + +Dalam tutorial ini kami membahas **how to deskew image**, mendemonstrasikan **how to remove noise**, dan menunjukkan cara **recognize text image** menggunakan pra‑pemrosesan bawaan Aspose OCR. Dengan mengaktifkan `setDeskew(true)` dan `setMedianDenoise(true)`, Anda secara otomatis **mengoreksi rotasi gambar** dan membersihkan bintik‑bintik, mengubah scan berantakan menjadi string teks yang bersih. + +Silakan bereksperimen: coba strategi denoise lain, proses PDF, atau rangkaian beberapa gambar dalam loop. Pola yang sama—engine → preprocess → recognize—berlaku untuk setiap skenario, menjadikannya fondasi yang solid untuk pipeline OCR apa pun. + +**Langkah selanjutnya** yang dapat Anda jelajahi: + +- **Pemrosesan batch** – iterasi melalui folder gambar dan tulis setiap hasil ke file `.txt`. +- **Paket bahasa** – muat kamus bahasa tertentu untuk meningkatkan akurasi teks non‑Inggris. +- **Filter lanjutan** – seperti `setContrastStretch` atau `setBinarization` untuk scan berkontras rendah. + +Punya pertanyaan lebih lanjut? Tinggalkan komentar, dan selamat coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/java/advanced-ocr-techniques/_index.md b/ocr/italian/java/advanced-ocr-techniques/_index.md index 7b7c848e6..196ca1d0a 100644 --- a/ocr/italian/java/advanced-ocr-techniques/_index.md +++ b/ocr/italian/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,14 @@ Sblocca la potenza del riconoscimento del testo con Aspose.OCR per Java. Segui l Potenzia le tue applicazioni Java con Aspose.OCR per un riconoscimento preciso del testo. Facile integrazione, alta precisione. ### [Specifica dei caratteri consentiti in Aspose.OCR](./specify-allowed-characters/) Sblocca l'estrazione del testo dalle immagini senza problemi con Aspose.OCR per Java. Segui la nostra guida passo passo per un'integrazione efficiente. +### [Come abilitare la GPU per l'OCR in Java – Guida completa](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Scopri come sfruttare la GPU per accelerare l'OCR con Aspose.OCR per Java, migliorando velocità e precisione. +### [Come eseguire l'OCR su un'immagine in Java – Note scritte a mano con correzione ortografica](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Scopri come riconoscere testo scritto a mano in Java con Aspose.OCR e correggere automaticamente gli errori ortografici. + {{< /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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/italian/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..6e789ef52 --- /dev/null +++ b/ocr/italian/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,209 @@ +--- +category: general +date: 2026-02-19 +description: Come abilitare la GPU per una rapida elaborazione OCR. Impara a caricare + immagini ad alta risoluzione, riconoscere il testo nell’immagine e estrarre il testo + utilizzando Aspose OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: it +og_description: Come abilitare la GPU per una rapida elaborazione OCR. Questa guida + mostra come caricare un'immagine ad alta risoluzione, riconoscere il testo nell'immagine + e estrarre il testo con Aspose OCR. +og_title: Come abilitare la GPU per l'OCR in Java – Guida completa +tags: +- OCR +- Java +- GPU +- Aspose +title: Come abilitare la GPU per l'OCR in Java – Guida completa +url: /it/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come abilitare GPU per OCR in Java – Guida completa + +Ti sei mai chiesto **come abilitare GPU** per la tua pipeline OCR e risparmiare secondi di tempo di elaborazione? Non sei solo. In molti progetti ricchi di immagini, il collo di bottiglia è la fase di estrazione del testo legata alla CPU, e passare a GPU può fare la differenza. + +In questo tutorial vedremo come caricare un **immagine ad alta risoluzione**, configurare Aspose OCR per l'esecuzione su GPU, e infine **riconoscere l'immagine di testo** e **estrarre il testo** con poche righe di Java. Alla fine avrai un programma pronto all'uso che dimostra **l'abilitazione dell'elaborazione GPU** end‑to‑end. + +## Cosa ti servirà + +- Java 17 o versioni successive (il codice utilizza il sistema di moduli ma funziona anche su JDK più vecchi con piccole modifiche) +- Aspose OCR per Java 23.10 (o l'ultima versione) – puoi prendere le coordinate Maven dal sito Aspose +- Una GPU NVIDIA con driver CUDA 12+ installati (altrimenti la libreria rifiuterà di avviarsi) +- Un'immagine di esempio ad alta risoluzione (PNG o JPEG) da cui vuoi leggere il testo + +È tutto. Nessun servizio esterno, nessun credito cloud, solo la tua macchina e lo stack di driver corretto. + +![Flusso di lavoro OCR GPU – come abilitare l'elaborazione GPU](gpu-ocr-workflow.png) + +*Testo alternativo dell'immagine: diagramma che illustra come abilitare GPU per l'elaborazione OCR in Java.* + +## Implementazione passo‑passo + +Di seguito suddividiamo la soluzione in blocchi logici. Ogni sezione contiene uno snippet di codice conciso, una spiegazione del **perché** il passaggio è importante e alcuni consigli pratici che probabilmente apprezzerai più tardi. + +### Come abilitare GPU per OCR – Passo 1: Installare le dipendenze e verificare CUDA + +Prima che venga eseguito qualsiasi codice Java, il runtime nativo CUDA deve essere rilevabile. Su Windows puoi verificare con: + +```bat +nvcc --version +``` + +Su Linux: + +```bash +nvidia-smi +``` + +Se il comando stampa la versione del driver e i dettagli della GPU, sei a posto. Altrimenti, vai sul sito di NVIDIA, scarica il driver appropriato e installa il toolkit CUDA (assicurati che la versione corrisponda ai requisiti di Aspose OCR – attualmente 12.x). + +**Suggerimento:** Mantieni il driver della GPU aggiornato ma evita le versioni “latest‑beta”; a volte rompono la compatibilità binaria con le librerie native di Aspose. + +### Come abilitare GPU per OCR – Passo 2: Aggiungere la dipendenza Maven di Aspose OCR + +Aggiungi quanto segue al tuo `pom.xml`. Questo includerà il motore OCR core e i binari GPU nativi per Windows, Linux e macOS. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Se preferisci Gradle, l'equivalente è: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Dopo aver aggiornato il progetto, le classi `OcrEngine`, `OcrDeviceType` e `ImageStream` saranno disponibili. + +### Come abilitare GPU per OCR – Passo 3: Creare il motore OCR e abilitare GPU + +Ora diciamo effettivamente ad Aspose di eseguire su GPU. L'`OcrEngine` espone un oggetto `Device` dove possiamo cambiare il tipo di dispositivo di elaborazione. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Perché è importante:** Impostare `OcrDeviceType.GPU` sostituisce il motore di inferenza sottostante da un'implementazione solo CPU a una accelerata da CUDA. La chiamata opzionale `setStreamCount` ti permette di controllare il parallelismo; due stream sono un valore predefinito sicuro sulla maggior parte delle schede consumer. + +### Come abilitare GPU per OCR – Passo 4: Caricare un'immagine ad alta risoluzione + +Le fonti ad alta risoluzione forniscono al modello OCR più dettagli visivi, il che si traduce in una maggiore precisione, specialmente per caratteri piccoli o script complessi. L'helper `ImageStream.fromFile` legge il file in un formato atteso dal motore. + +Se hai bisogno di **caricare un'immagine ad alta risoluzione** da un URL o da un array di byte in memoria, puoi usare: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Caso limite:** Alcune GPU hanno una dimensione massima della texture (spesso 16384 × 16384). Se la tua immagine supera questo limite, considera di ridimensionarla a una dimensione che mantenga la leggibilità (ad esempio, 3000 × 2000). Il motore OCR ridimensionerà automaticamente se chiami `ocrEngine.setResizeFactor(0.5)` prima del caricamento. + +### Come abilitare GPU per OCR – Passo 5: Riconoscere l'immagine di testo ed estrarre il testo + +Chiamare `ocrEngine.recognize()` avvia l'inferenza della rete neurale sulla GPU. Il metodo restituisce un oggetto `OcrResult`; `getText()` estrae la stringa semplice. Puoi anche recuperare le bounding box, i punteggi di confidenza o il JSON grezzo se ti servono dati più ricchi. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Perché potresti volere questo:** Il passaggio `recognize text image` è dove la GPU brilla—immagini grandi che richiederebbero secondi sulla CPU vengono elaborate in una frazione di quel tempo. I punteggi di confidenza ti permettono di filtrare i risultati di bassa qualità, un trucco utile quando in seguito **estrai il testo** per analisi successive. + +### Consigli professionali e problemi comuni + +| Situazione | Cosa fare | +|-----------|------------| +| **Errori Out‑of‑memory** sulla GPU | Riduci `setStreamCount` a 1, o ridimensiona l'immagine prima di passarla al motore. | +| **Caratteri non riconosciuti** nonostante l'alta risoluzione | Assicurati che il modello linguistico (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) corrisponda alla lingua del testo. | +| **Mancata corrispondenza della versione CUDA** | Allinea la versione del toolkit CUDA a quella inclusa in Aspose OCR (controlla le note di rilascio). | +| **GPU multiple** | Usa `ocrEngine.getDevice().setDeviceId(1)` per selezionare la seconda GPU se la prima è occupata. | +| **Esecuzione su server headless** | Nessun passaggio aggiuntivo necessario; il driver GPU funziona senza display. | + +## Come estrarre il testo – Verifica dell'output + +Quando esegui la classe sopra, dovresti vedere qualcosa di simile: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Se l'output appare confuso, verifica che l'immagine sia davvero ad alta risoluzione e che il driver GPU sia correttamente installato. Puoi anche abilitare il logging dettagliato: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +I log mostreranno se i kernel CUDA nativi sono stati caricati correttamente. + +## Prossimi passi e argomenti correlati + +- **Elaborazione batch:** Inserisci l'`OcrEngine` in un ciclo e fornisci un elenco di percorsi immagine. Ricorda di riutilizzare la stessa istanza del motore per evitare il sovraccarico di inizializzazioni GPU ripetute. +- **Rilevamento della lingua:** Aspose OCR supporta oltre 30 lingue. Cambia con `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Post‑processing:** Usa espressioni regolari per pulire la stringa estratta, o inviala a una pipeline NLP successiva. +- **Dispositivi alternativi:** Se non hai una GPU compatibile CUDA, puoi tornare a `OcrDeviceType.CPU`. Lo stesso codice funziona; basta cambiare il tipo di dispositivo. +- **Benchmark delle prestazioni:** Misura la differenza di tempo con `System.nanoTime()` prima e dopo `recognize()` per quantificare il guadagno dall'**abilitazione dell'elaborazione GPU**. + +--- + +### Conclusione + +Abbiamo coperto **come abilitare GPU** per Aspose OCR in Java, dall'installazione dei driver corretti al caricamento di un'**immagine ad alta risoluzione**, **riconoscere l'immagine di testo**, e infine **come estrarre il testo** dal risultato. L'esempio completo e eseguibile sopra dovrebbe funzionare subito su qualsiasi GPU NVIDIA moderna. + +Provalo, sperimenta con diverse dimensioni di immagine e osserva il tuo throughput OCR decollare. Se incontri problemi, ricontrolla la sezione dei consigli o consulta le note di rilascio di Aspose per le ultime raccomandazioni sull'**abilitazione dell'elaborazione GPU**. + +Buona programmazione, e che la tua GPU rimanga fresca mentre elabora il testo! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/italian/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..005e4e702 --- /dev/null +++ b/ocr/italian/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,264 @@ +--- +category: general +date: 2026-02-19 +description: Impara a eseguire l'OCR di un'immagine di appunti scritti a mano in Java + con Aspose OCR. Include il caricamento dell'immagine per l'OCR, la lettura degli + appunti scritti a mano e la conversione del testo dell'immagine. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: it +og_description: Come eseguire l'OCR di un'immagine di appunti scritti a mano in Java + con Aspose. Guida passo passo per caricare l'immagine per l'OCR, leggere gli appunti + scritti a mano e convertire il testo dell'immagine. +og_title: Come fare OCR di un'immagine in Java – Guida alle note scritte a mano +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Come eseguire l'OCR di un'immagine in Java – Note scritte a mano con correzione + ortografica +url: /it/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +ografica". Keep same heading level. + +Proceed section by section. + +Make sure to keep code block placeholders unchanged. + +Translate bullet points, paragraphs. + +Also translate table content. + +Let's craft. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come eseguire OCR su un'immagine in Java – Note scritte a mano con correzione ortografica + +Ti sei mai chiesto **come eseguire OCR su un'immagine** che contiene la tua lista della spesa scarabocchiata o i verbali di una riunione? Non sei l'unico. In molte applicazioni reali, gli sviluppatori devono leggere note scritte a mano e trasformarle in testo ricercabile—senza doverle digitare manualmente. + +In questo tutorial percorreremo un esempio completo, pronto per l'esecuzione, che mostra esattamente **come eseguire OCR su un'immagine** usando Aspose OCR per Java, come **caricare l'immagine per l'OCR** e come **leggere note scritte a mano** con correzione ortografica integrata. Alla fine, sarai in grado di **convertire il testo di un'immagine scritta a mano** in una stringa pulita che potrai memorizzare, indicizzare o visualizzare. + +## Cosa imparerai + +- I passaggi esatti per configurare un motore OCR che comprenda la scrittura a mano in inglese. +- Come **caricare l'immagine per l'OCR** dal disco e passarla al motore. +- Perché abilitare il correttore ortografico è importante quando si hanno scarabocchi confusi. +- Modi per gestire casi limite comuni, come immagini a basso contrasto o pacchetti linguistici mancanti. +- Un esempio di codice completo, eseguibile, che puoi incollare nel tuo IDE e vedere i risultati immediatamente. + +> **Prerequisiti**: Java 8+ installato, Maven o Gradle per la gestione delle dipendenze, e una licenza Aspose OCR per Java (la versione di prova gratuita è sufficiente per imparare). Non sono richieste altre librerie esterne. + +--- + +## Passo 1: Configura il progetto e aggiungi la dipendenza Aspose OCR + +Prima di tutto—il tuo progetto ha bisogno della libreria Aspose OCR. Se usi Maven, aggiungi questo al tuo `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Oppure con Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Consiglio**: Fai attenzione al numero di versione; le release più recenti migliorano il riconoscimento della scrittura a mano e aggiungono supporto linguistico. + +Una volta risolta la dipendenza, sei pronto per **caricare l'immagine per l'OCR**. + +## Passo 2: Crea l'istanza del motore OCR + +Per **come eseguire OCR su un'immagine** in modo efficace, ti serve un oggetto `OcrEngine`. Questo oggetto è il cuore del processo—contiene le impostazioni della lingua, i flag del correttore ortografico e l'immagine stessa. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Perché istanziamo prima il motore? Perché Aspose OCR è progettato per essere riutilizzabile; puoi elaborare più immagini con la stessa istanza, modificando le impostazioni tra un'esecuzione e l'altra se necessario. + +## Passo 3: Aggiungi il supporto per la lingua inglese e abilita la correzione ortografica + +Le note scritte a mano sono spesso piene di errori, lettere mancanti o abbreviazioni non convenzionali. Abilitare il correttore ortografico dà al motore la possibilità di pulire l'output. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **Perché abilitare la correzione ortografica?** +> Senza di essa, l'output grezzo dell'OCR potrebbe risultare “t0d@y” o “c0ffee”. Il correttore ortografico normalizza queste stranezze, rendendo il testo finale molto più utile per elaborazioni successive, come l'indicizzazione per la ricerca. + +## Passo 4: Carica l'immagine scritta a mano + +Ora **carichiamo l'immagine per l'OCR**. Aspose fornisce il comodo metodo `ImageStream.fromFile` che accetta qualsiasi formato raster comune (PNG, JPEG, BMP). + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Se la tua immagine si trova in una cartella delle risorse o la ricevi come array di byte (ad esempio da un upload web), puoi usare `ImageStream.fromBytes` al suo posto—basta sostituire la riga sopra con: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Passo 5: Esegui l'OCR e recupera il testo corretto + +Con il motore configurato e l'immagine caricata, la chiamata effettiva a **come eseguire OCR su un'immagine** è una singola riga: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +Il metodo `recognize()` restituisce un oggetto `OcrResult` che contiene non solo il testo semplice ma anche punteggi di confidenza, bounding box e altro. Per la maggior parte dei casi d'uso, il semplice `getText()` è sufficiente. + +## Passo 6: Stampa il risultato + +Infine, stampiamo la stringa pulita sulla console. In un'applicazione reale potresti memorizzarla in un database, passarla a un motore di ricerca o inviarla a un modello linguistico. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Output previsto + +Supponendo che la nota scritta a mano dica: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +Dovresti vedere qualcosa di simile: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Anche se lo scarabocchio originale era confuso—ad esempio “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”—il correttore ortografico di solito lo sistemerà. + +--- + +## Carica immagine per l'OCR – Consigli per una migliore precisione + +1. **La risoluzione conta** – Punta a almeno 300 dpi. Risoluzioni inferiori fanno perdere al motore i tratti più sottili. +2. **Il contrasto è fondamentale** – Se lo sfondo è colorato, converti prima l'immagine in scala di grigi. +3. **Ritaglia al contenuto** – Rimuovere i margini inutili riduce il rumore e velocizza l'elaborazione. + +Puoi pre‑elaborare le immagini con librerie come OpenCV o anche con la classe `BufferedImage` di Java prima di passarle ad Aspose. + +## Leggere note scritte a mano: gestione dei casi limite + +- **Parole a bassa confidenza**: `ocrEngine.getResult().getWords()` restituisce una lista dove ogni parola ha un valore di confidenza (0–100). Puoi filtrare le parole sotto una soglia e chiedere all'utente una revisione manuale. +- **Lingue multiple**: Se devi **leggere note scritte a mano** sia in inglese che in spagnolo, aggiungi entrambe le lingue prima di chiamare `recognize()`. +- **File di grandi dimensioni**: Per PDF o TIFF multi‑pagina, itera su ogni pagina con `ocrEngine.setImage(pageStream)` all'interno di un ciclo. + +## Convertire il testo di un'immagine scritta a mano in dati strutturati + +Spesso non ti basta una stringa grezza; potresti voler estrarre date, importi o voci di una checklist. Dopo aver ottenuto il testo corretto, espressioni regolari o librerie NLP (come Stanford CoreNLP) possono analizzare il contenuto: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +Questo snippet mostra quanto sia semplice passare da **convertire il testo di un'immagine scritta a mano** a dati azionabili. + +## Problemi comuni e come evitarli + +| Sintomo | Probabile causa | Soluzione | +|---------|-----------------|-----------| +| Output confuso, molti caratteri `?` | Immagine troppo scura o a basso contrasto | Aumenta la luminosità o pre‑elabora con equalizzazione dell'istogramma | +| Parole mancanti | Scrittura troppo corsiva | Abilita `ocrEngine.getSettings().setEnableCursive(true)` (se supportato) | +| Il correttore ortografico inserisce parole sbagliate | Modello linguistico non corrispondente | Aggiungi un dizionario personalizzato via `ocrEngine.getSpellChecker().addUserWords(...)` | +| Errore Out‑of‑memory su immagini grandi | Dimensione immagine > 10 MB | Ridimensiona prima del caricamento, oppure elabora a tasselli | + +## Esempio completo funzionante (pronto per il copia‑incolla) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Nota**: Se esegui il codice da un IDE, assicurati che la cartella `YOUR_DIRECTORY` sia nel classpath o utilizza un percorso assoluto. + +--- + +## Conclusione + +Abbiamo coperto **come eseguire OCR su un'immagine** in Java dall'inizio alla fine, mostrandoti come **caricare l'immagine per l'OCR**, **leggere note scritte a mano**, abilitare la correzione ortografica e infine **convertire il testo di un'immagine scritta a mano** in una stringa pulita. L'approccio è semplice, ma sufficientemente potente per applicazioni di livello produttivo. + +Pronto per la prossima sfida? Prova a sperimentare con PDF multi‑pagina, aggiungi dizionari personalizzati per termini specifici del settore, o invia l'output OCR a un modello di machine learning per l'analisi del sentiment. Il cielo è il limite quando combini l'accuratezza di Aspose OCR con la flessibilità di Java. + +Hai domande su un caso limite particolare, o vuoi condividere come hai integrato questo in un'app mobile? Lascia un commento qui sotto—buon coding! + +--- + +![how to OCR image example](/images/ocr-handwritten-example.png "how to OCR image of handwritten notes") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/italian/java/ocr-basics/_index.md index 9cda394b6..e84969bec 100644 --- a/ocr/italian/java/ocr-basics/_index.md +++ b/ocr/italian/java/ocr-basics/_index.md @@ -105,6 +105,14 @@ Migliora la precisione OCR con Aspose.OCR per Java. Impara a calcolare gli angol ### [Ottenere Rettangoli con Aree di Testo in Aspose.OCR](./get-rectangles-with-text-areas/) Sblocca la potenza di Aspose.OCR per Java. Scopri come estrarre testo dalle immagini in modo fluido in questa guida passo‑passo. Scarica ora per un riconoscimento del testo efficiente. +### [Riconoscere testo da PNG in Java – Aspose OCR](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) + +### [Estrai testo da immagine – converti PNG in testo in Java](./extract-text-from-image-convert-png-to-text-in-java/) + +### [Estrai testo da immagine in Java – Esempio OCR completo](./extract-text-from-image-in-java-complete-ocr-example/) + +### [Estrai testo da immagine con Aspose OCR – Guida rapida Java](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) + --- **Ultimo aggiornamento:** 2025-12-08 @@ -116,4 +124,4 @@ Sblocca la potenza di Aspose.OCR per Java. Scopri come estrarre testo dalle imma {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/italian/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..557f86427 --- /dev/null +++ b/ocr/italian/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,215 @@ +--- +category: general +date: 2026-02-19 +description: estrai testo da un'immagine usando Aspose OCR Java – impara a convertire + PNG in testo, caricare l’immagine per OCR e segui un tutorial OCR Java. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: it +og_description: estrai il testo da un'immagine con Aspose OCR Java. Segui questo tutorial + passo‑a‑passo di OCR Java per convertire PNG in testo e caricare l'immagine per + l'OCR. +og_title: estrarre testo da immagine – Guida OCR Java +tags: +- OCR +- Java +- Aspose +- Image Processing +title: estrarre testo da immagine – convertire PNG in testo in Java +url: /it/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +Proceed to produce final markdown. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# estrarre testo da immagine – Tutorial OCR Java + +Hai mai avuto bisogno di **estrarre testo da immagine** ma non sapevi quale libreria usare senza dover fare mille giri? Non sei l'unico: gli sviluppatori chiedono continuamente “Come posso convertire un PNG in testo in Java?”. La buona notizia è che Aspose OCR rende l'intero processo un gioco da ragazzi. In questa guida percorreremo un **java ocr tutorial** completo, ti mostreremo come **caricare immagine per OCR**, e otterremo testo pulito e ricercabile. + +Copriamo tutto, dall'impostazione del motore alla gestione di contenuti multilingue, così alla fine potrai **estrarre testo da immagine** da file di qualsiasi dimensione, formato o lingua. Nessun servizio esterno, nessuna chiave API—solo un unico JAR e poche righe di codice. + +## Cosa ti serve + +Prima di iniziare, assicurati di avere: + +- JDK 8 o superiore installato (il codice funziona anche su JDK 11+). +- Maven o Gradle per scaricare la libreria Aspose OCR, oppure puoi scaricare il JAR manualmente dal sito Aspose. +- Un'immagine PNG che contenga del testo leggibile (per il nostro esempio useremo `khmer-sign.png`). +- Un IDE o un editor di testo con cui ti trovi a tuo agio—IntelliJ IDEA, Eclipse, VS Code, qualsiasi vada bene. + +Tutto qui. Nessun framework pesante, nessuna credenziale cloud. Pronto? Iniziamo a estrarre testo da file immagine. + +## Passo 1: Aggiungi Aspose OCR al tuo progetto + +Prima di tutto—devi avere il motore OCR nel classpath. Se usi Maven, aggiungi questa dipendenza a `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Oppure con Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Se preferisci la via manuale, scarica il JAR dalla pagina di download di Aspose e inseriscilo nella cartella `libs` del tuo progetto, poi aggiungilo al percorso di compilazione. + +> **Pro tip:** scegli sempre l'ultima versione stabile; le versioni più vecchie potrebbero non includere i language pack o le correzioni di bug. + +## Passo 2: Crea l'istanza del motore OCR + +Ora che la libreria è disponibile, possiamo istanziare un `OcrEngine`. Pensa al motore come al cervello che leggerà i pixel e li trasformerà in caratteri. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Perché creiamo un nuovo motore ogni volta? Il motore mantiene buffer interni e dati linguistici; partire da zero garantisce risultati deterministici, soprattutto quando si cambiano le lingue in seguito. + +## Passo 3: Abilita la lingua desiderata (Opzionale ma consigliato) + +Aspose OCR include decine di language pack. Se conosci la lingua dell'immagine di origine, abilitala esplicitamente; questo velocizza il riconoscimento e ne migliora l'accuratezza. Nel nostro esempio abiliteremo il Khmer (`khm`), ma puoi sostituirlo con `ENG` per l'inglese, `CHN` per il cinese, ecc. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Perché è importante:** Quando **carichi immagine per OCR**, il motore cercherà solo nei dizionari delle lingue abilitate. Lasciare tutte le lingue attive può rallentare il processo e aumentare i falsi positivi. + +## Passo 4: Carica immagine per OCR – Convertire PNG in testo + +Qui avviene il passo **carica immagine per OCR**. Aspose fornisce il comodo helper `ImageStream.fromFile` che astrae le operazioni di I/O a basso livello. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +Se la tua immagine è in un altro formato (JPEG, BMP, TIFF), lo stesso metodo funziona—Aspose rileva automaticamente il formato. Assicurati solo che il percorso del file sia corretto; altrimenti otterrai una `FileNotFoundException`. + +## Passo 5: Esegui il processo OCR e converti PNG in testo + +Con il motore pronto e l'immagine caricata, il riconoscimento vero e proprio è una singola chiamata di metodo. L'oggetto risultato ti fornisce la stringa grezza e i punteggi di confidenza. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Fatto—hai appena **convertito PNG in testo**. La stringa restituita può contenere interruzioni di riga e spazi bianchi esattamente come li ha visti il motore. Puoi post‑processarla con `trim()`, `replaceAll("\\s+", " ")` o qualsiasi altra pulizia necessaria. + +## Passo 6: Stampa il risultato (o salvalo) + +Per un rapido controllo di coerenza, stampa il risultato sulla console. In un'applicazione reale probabilmente lo scriverai su un file, in un database, o lo passerai a un altro servizio. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Output previsto** (per il segno Khmer fornito) potrebbe apparire così: + +``` +សួស្តី +Welcome +``` + +Se l'output è illeggibile, ricontrolla di aver abilitato la lingua corretta al Passo 3 e che l'immagine non sia troppo sfocata. Incrementare la risoluzione dell'immagine (ad esempio, usando una scansione a 300 dpi) spesso aiuta. + +## Esempio completo funzionante + +Riunendo tutti i pezzi, ecco un programma autonomo che puoi copiare‑incollare in `ExtractTextExample.java` ed eseguire: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Esegui il programma con: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +oppure, se usi Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +Dovresti vedere il testo estratto stampato sulla console, confermando che hai **estratto testo da immagine** con successo usando Aspose OCR. + +## Problemi comuni e come risolverli + +| Sintomo | Probabile causa | Soluzione | +|---------|----------------|-----------| +| Stringa vuota restituita | Nessuna lingua abilitata o codice lingua errato | Aggiungi il `OcrLanguage` appropriato (es. `ENG` per l'inglese). | +| Caratteri illeggibili | Risoluzione immagine troppo bassa o sfondo rumoroso | Usa una sorgente ad alta risoluzione, oppure pre‑processa con un filtro di nitidezza. | +| `OutOfMemoryError` | Immagine molto grande caricata a dimensione intera | Ridimensiona l'immagine prima di passarla al motore (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Percorso errato | Verifica il percorso assoluto o relativo; usa `Paths.get(...).toAbsolutePath()`. | + +> **Ricorda:** l'OCR è un processo probabilistico. Anche con impostazioni perfette potresti dover correggere manualmente qualche carattere, specialmente per script corsivi. + +## Estendere il tutorial – Prossimi passi + +- **Elaborazione batch:** cicla su una directory di file PNG, chiamando la stessa logica per ogni immagine. +- **Output PDF:** usa Aspose PDF per incorporare il testo estratto in un PDF ricercabile. +- **Rilevamento lingua:** chiama `ocrEngine.detectLanguage()` prima di impostare una lingua per far indovinare automaticamente al motore. +- **Integrazione cloud:** se devi scalare, avvolgi il codice in un endpoint REST e lascia che i micro‑servizi lo chiamino. + +Tutti questi argomenti si basano naturalmente sul **java ocr tutorial** appena completato, e mostrano quanto sia versatile l'API Aspose OCR. + +## Conclusione + +Abbiamo percorso un **java ocr tutorial** completo che ti permette di **estrarre testo da immagine**, **convertire PNG in testo**, e **caricare immagine per OCR** usando Aspose OCR. I passaggi sono semplici: aggiungi la libreria, crea un motore, abilita la lingua giusta, carica il PNG, esegui `recognize()`, e gestisci l'output. Con questa base puoi automatizzare l'inserimento dati, creare archivi ricercabili, o alimentare qualsiasi applicazione che necessiti di testo leggibile da immagini. + +Provalo con le tue immagini—magari uno screenshot di una ricevuta o un contratto scansionato. Sperimenta con le impostazioni linguistiche, gioca con la risoluzione, e vedrai quanto sia flessibile la soluzione. Se incontri difficoltà, ricontrolla la tabella dei problemi o consulta la documentazione ufficiale di Aspose; è completa e costantemente aggiornata. + +Buon coding, e che il tuo prossimo progetto sia ricco di testo pulito e ricercabile! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/italian/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..3c4f75fd9 --- /dev/null +++ b/ocr/italian/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,149 @@ +--- +category: general +date: 2026-02-19 +description: Estrai il testo da un'immagine usando Java OCR. Scopri un esempio di + OCR in Java che carica un'immagine per l'OCR ed estrae il testo da file di fatture + in pochi passaggi. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: it +og_description: Estrai il testo da un'immagine usando Java OCR. Questa guida mostra + come caricare l'immagine per l'OCR ed estrarre il testo dalle fatture con un semplice + esempio di OCR in Java. +og_title: Estrai testo da un'immagine in Java – Esempio completo di OCR +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Estrai testo da immagine in Java – Esempio completo di OCR +url: /it/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Estrai testo da immagine in Java – Esempio OCR completo + +Hai mai avuto bisogno di **estrarre testo da un'immagine** ma non eri sicuro quale libreria scegliere? Non sei solo—molti sviluppatori si trovano di fronte a questo ostacolo quando automatizzano l'elaborazione delle fatture o creano archivi ricercabili. La buona notizia? Con poche righe di Java puoi caricare un'immagine per l'OCR, definire una regione di interesse e ottenere il testo esatto di cui hai bisogno. + +In questo tutorial percorreremo un **java ocr example** che mostra esattamente come **load image for OCR**, impostare una ROI e **extract text from invoice** file usando Aspose.OCR. Alla fine avrai un programma eseguibile da inserire in qualsiasi progetto Java. + +## Cosa imparerai + +- Come creare un'istanza di `OcrEngine` e perché è importante. +- Il modo corretto per **load image for OCR** con `ImageStream` di Aspose. +- Impostare una **region of interest (ROI)** così elabori solo la parte dell'immagine che contiene l'importo della fattura. +- Estrarre il testo riconosciuto e stamparlo sulla console. +- Problemi comuni (ad esempio coordinate del rettangolo errate) e soluzioni rapide. + +**Prerequisiti** + +- Java 8 o versioni successive installate. +- Maven o Gradle per scaricare la libreria Aspose.OCR (`com.aspose:aspose-ocr`). +- Un'immagine di fattura di esempio (`invoice.png`) posizionata in una directory nota. + +Hai tutto questo? Ottimo—tuffiamoci. + +![Estrai testo da immagine usando Java OCR](/images/extract-text-from-image-java.png "estrai testo da immagine esempio") + +## Estrai testo da immagine – Esempio OCR Java passo‑per‑passo + +Di seguito trovi il codice sorgente completo. Sentiti libero di copiarlo e incollarlo in `RoiOcrExample.java` ed eseguirlo direttamente. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Perché ogni passaggio è importante + +1. **Creare il motore OCR** – senza un motore non c'è contesto per l'elaborazione delle immagini. L'oggetto ti permette anche di regolare i language pack in seguito se hai bisogno di supporto multilingua. +2. **Caricare l'immagine** – `ImageStream.fromFile` astrae il formato del file, garantendo che il motore legga i byte correttamente. Se lo salti, otterrai un `NullPointerException`. +3. **Impostare la ROI** – elaborare l'intera pagina può essere inefficiente. Restringendo il rettangolo all'area del totale della fattura, acceleri il riconoscimento e riduci il rumore. +4. **Chiamare `recognize()`** – qui avviene la magia. Il metodo esegue l'algoritmo OCR sulla ROI e produce un oggetto risultato. +5. **Stampare l'output** – nei progetti reali probabilmente memorizzeresti il testo in un database, ma `System.out.println` è perfetto per una demo rapida. + +## Carica immagine per OCR + +Se ti chiedi se il percorso debba essere assoluto o relativo, la risposta è che entrambi funzionano—basta assicurarsi che il processo Java possa leggere il file. Su Windows, le barre rovesciate devono essere escape (`C:\\images\\invoice.png`) oppure puoi usare le barre normali (`C:/images/invoice.png`). + +**Suggerimento professionale:** Se elabori molte fatture in un ciclo, riutilizza la stessa istanza di `OcrEngine`; essa memorizza nella cache le risorse interne e migliora il throughput. + +## Definisci la Region of Interest (ROI) + +Scegliere il rettangolo giusto può richiedere qualche tentativo. Un modo pratico per trovare le coordinate è aprire l'immagine in un editor grafico (come GIMP o Paint.NET) e posizionare il cursore sull'area—vedrai i valori X/Y nella barra di stato. + +Caso limite: alcune fatture hanno layout variabili. In tal caso potresti eseguire una rapida pre‑scansione sull'intera immagine, individuare parole chiave come “Total:” con una regex, quindi regolare dinamicamente la ROI. + +## Esegui OCR e ottieni il testo + +La chiamata `recognize()` è sincrona—il tuo thread resta bloccato finché il motore non termina. Per grandi lotti potresti voler avviare un pool di thread e processare le immagini in parallelo. Ricorda solo che ogni thread ha bisogno della propria istanza di `OcrEngine`; non sono thread‑safe. + +## Esegui e verifica l'output + +Compila ed esegui: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +Dovresti vedere qualcosa di simile: + +``` +ROI text: $1,254.00 +``` + +Se l'output appare illeggibile, ricontrolla le coordinate della ROI e assicurati che la qualità dell'immagine sia alta (300 dpi o più è l'ideale). + +### Problemi comuni e come risolverli + +| Sintomo | Probabile causa | Risoluzione | +|---------|----------------|-------------| +| Stringa vuota | ROI fuori dai limiti dell'immagine | Verifica i valori del rettangolo rispetto alle dimensioni dell'immagine | +| Parole errate | Bassa risoluzione | Usa una sorgente a più alta risoluzione o applica pre‑elaborazione dell'immagine (ad es., binarizzazione) | +| `java.lang.NoClassDefFoundError` | JAR Aspose mancante nel classpath | Aggiungi `aspose-ocr.jar` a `-cp` o usa la gestione delle dipendenze di Maven/Gradle | + +## Conclusione + +Ora sai come **extract text from image** in Java usando un conciso **java ocr example**. Caricando correttamente l'immagine, definendo una ROI mirata e chiamando `recognize()`, puoi affidabilmente **extract text from invoice** file e alimentare quei dati nei sistemi a valle. + +Cosa fare dopo? Prova a sostituire la ROI per campi diversi (data, nome del fornitore), sperimenta con i language pack per fatture multilingua, o integra il passaggio OCR in un microservizio Spring Boot. Lo stesso schema funziona per ricevute, passaporti o qualsiasi documento in cui è necessaria un'estrazione precisa del testo. + +Se hai domande su come scalare questa soluzione o gestire scansioni rumorose, lascia un commento qui sotto—buona programmazione! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/italian/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..418bc2b71 --- /dev/null +++ b/ocr/italian/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-02-19 +description: Estrai il testo da un'immagine in Java usando Aspose OCR. Scopri come + riconoscere il testo da PNG, convertire l'immagine in stringa e leggere il testo + da una scansione in pochi semplici passaggi. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: it +og_description: Estrai rapidamente il testo da un'immagine. Questo tutorial mostra + come riconoscere il testo da un PNG, convertire l'immagine in stringa e leggere + il testo da una scansione usando Aspose OCR. +og_title: Estrai testo da immagine con Aspose OCR – Guida Java +tags: +- Java +- OCR +- Aspose +title: Estrai testo da immagine con Aspose OCR – Guida rapida Java +url: /it/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Estrai testo da immagine – Tutorial Java completo + +Hai mai avuto bisogno di **estrarre testo da immagine** ma non sapevi quale libreria scegliere? Forse hai una ricevuta scansionata in formato PNG e vuoi il testo come una stringa semplice per ulteriori elaborazioni. Secondo la mia esperienza, la libreria Aspose OCR rende questo compito un gioco da ragazzi, soprattutto quando lavori con Java. + +In questa guida percorreremo tutto ciò che devi sapere: dall'installazione della dipendenza Aspose OCR, al caricamento di un file PNG, **recognize text from png**, fino a trasformare il risultato in una `String` Java utilizzabile. Alla fine sarai in grado di **convertire immagine in stringa**, e vedrai anche come **leggere testo da file di scansione** senza sforzo. + +## Cosa imparerai + +- Come aggiungere Aspose OCR a un progetto Maven o Gradle. +- Il codice esatto necessario per **extract text from image** usando una singola chiamata di metodo. +- Perché la classe `ImageStream` è il modo preferito per fornire dati al motore. +- Suggerimenti per gestire scansioni di grandi dimensioni, PDF multi‑pagina e problemi comuni. + +Non è necessaria alcuna esperienza pregressa con l'OCR, basta una comprensione di base di Java e un PNG che desideri elaborare. + +## Prerequisiti + +| Requisito | Motivo | +|-----------|--------| +| Java 8 or newer | Aspose OCR targets Java 8+. | +| Maven or Gradle (optional) | Semplifica la gestione delle dipendenze. | +| A PNG image (e.g., `quick.png`) | La sorgente su cui eseguiremo l'OCR. | +| Internet access (first run) | La libreria può scaricare automaticamente i pacchetti lingua. | + +Se hai già un IDE Java come IntelliJ IDEA o Eclipse, sei pronto per iniziare. + +--- + +## Passo 1: Configura Aspose OCR nel tuo progetto + +### Maven + +Aggiungi la seguente dipendenza al tuo `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Consiglio professionale:** Se utilizzi un proxy aziendale, assicurati che Maven/Gradle possa raggiungere `repo.maven.apache.org`. Altrimenti la compilazione fallirà prima ancora di scrivere una riga di codice. + +--- + +## Passo 2: Carica l'immagine PNG + +La classe `ImageStream` astrae i dettagli del file‑system e funziona con stream, URL o array di byte. Ecco come caricare un PNG locale: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Perché è importante:** Usare `ImageStream.fromFile` garantisce che il motore OCR riceva l'immagine in un formato che comprende pienamente, migliorando l'accuratezza del riconoscimento rispetto al fornire array di byte grezzi. + +--- + +## Passo 3: Riconosci testo da PNG + +Aspose OCR espone un unico metodo statico che fa il lavoro pesante: `OcrEngine.recognize`. Restituisce una semplice `String` Java, che è esattamente ciò di cui hai bisogno quando vuoi **convertire immagine in stringa**. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### Cosa succede dietro le quinte? + +1. **Pre‑processing:** Il motore corregge automaticamente l'inclinazione dell'immagine e normalizza il contrasto. +2. **Language Detection:** Se non specifichi una lingua, Aspose tenta di inferirla, utile per scansioni rapide. +3. **Recognition:** Il motore OCR centrale esegue un modello di rete neurale addestrato su milioni di caratteri. + +Poiché tutto ciò è incapsulato in una singola chiamata, non devi armeggiare con impostazioni di basso livello a meno che tu non abbia un caso d'uso molto specializzato. + +--- + +## Passo 4: Visualizza e utilizza la stringa estratta + +Ora che hai il testo, puoi stamparlo, memorizzarlo in un database o inviarlo a un'altra API. Ecco il modo più semplice—basta `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Output previsto + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Nota:** L'output esatto dipende dal contenuto di `quick.png`. Se l'immagine contiene una nota scritta a mano, potresti vedere alcune errate riconoscenze—nulla che un po' di post‑processing non possa correggere. + +--- + +## Passo 5: Gestire casi limite comuni + +### Scansioni grandi o PDF multi‑pagina + +Se devi **read text from scan** file più grandi di un PNG tipico, considera: + +- Dividere l'immagine in tasselli (`ImageStream.fromRegion`). +- Usare `OcrEngine.recognizeMultiplePages` per input PDF. + +### Lingue non‑inglesi + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Suggerimenti sulle prestazioni + +- Riutilizza la stessa istanza `OcrEngine` per più immagini per evitare inizializzazioni ripetute. +- Per l'elaborazione batch, abilita il multi‑threading ma limita i thread al numero di core CPU per evitare sovraccarico di memoria. + +--- + +## Esempio completo funzionante + +Di seguito trovi la classe Java completa, pronta per l'esecuzione. Copiala e incollala nel tuo IDE, regola il percorso dell'immagine e premi **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +Eseguendo questo programma stampa il risultato OCR sulla console, convertendo efficacemente **immagine in stringa** in poche righe di codice. + +--- + +## Conclusione + +Ora sai come **extract text from image** file in Java usando Aspose OCR. Il processo si riduce a tre semplici passaggi: caricare il PNG, chiamare `OcrEngine.recognize` e utilizzare la stringa risultante. Che tu stia cercando di **recognize text from png**, **convertire immagine in stringa**, o semplicemente **read text from scan** documenti, questo approccio ti offre una soluzione affidabile e pronta per la produzione. + +Pronto per la prossima sfida? Prova a far scorrere una cartella di ricevute scansionate in un ciclo, salva ogni risultato in un CSV, o sperimenta le impostazioni specifiche per lingua per migliorare l'accuratezza su testi non‑inglesi. Il cielo è il limite, e il codice che hai appena scritto è una solida base. + +Buon coding, e sentiti libero di lasciare domande nei commenti—sarò felice di aiutare! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/italian/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..88ea4154c --- /dev/null +++ b/ocr/italian/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-02-19 +description: Riconoscere il testo da PNG in Java usando Aspose OCR – impara come estrarre + il testo da un'immagine Java e processare l'immagine con OCR in modo efficiente. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: it +og_description: Riconosci il testo da PNG in Java con Aspose OCR. Questo tutorial + mostra come estrarre il testo da un'immagine in Java e processare l'immagine con + OCR passo‑passo. +og_title: Riconoscere il testo da PNG in Java – Guida completa ad Aspose OCR +tags: +- OCR +- Java +- Image Processing +title: Riconoscere il testo da PNG in Java – tutorial OCR di Aspose +url: /it/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +content.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# riconoscere testo da png in Java – Guida completa Aspose OCR + +Ti è mai capitato di dover **recognize text from png** ma non eri sicuro quale libreria scegliere? Non sei solo—molti sviluppatori Java incontrano questo ostacolo quando affrontano per la prima volta l'estrazione di dati basata su immagini. La buona notizia è che Aspose OCR rende l'intero processo quasi indolore, e in questa guida vedrai esattamente come **extract text from image java** progetti mentre **process image with OCR** in modo thread‑safe. + +Nei prossimi minuti creeremo un piccolo programma Java che carica un PNG, esegue OCR sulla CPU usando fino a otto thread, e stampa la stringa riconosciuta sulla console. Nessun servizio esterno, nessuna chiave API segreta—solo puro codice Java che puoi copiare‑incollare ed eseguire oggi. + +## Cosa ti serve + +- **Java 17** o versioni successive (il codice si compila con versioni precedenti, ma 17 è il punto ideale). +- **Aspose.OCR for Java** JAR (scaricalo dal sito Aspose o ottienilo tramite Maven). +- Un'immagine PNG che vuoi leggere—ad esempio `document-page1.png` memorizzata da qualche parte sul disco. +- Il tuo IDE preferito o un semplice editor di testo e un terminale. + +È tutto. Se hai tutto questo, possiamo immergerci direttamente nella soluzione. + +![Codice Java per riconoscere testo da png usando Aspose OCR](image-placeholder.png "esempio Java per riconoscere testo da png"){alt="Codice Java per riconoscere testo da png usando Aspose OCR"} + +## Passo‑per‑passo: riconoscere testo da png + +Di seguito suddividiamo l'implementazione in blocchi chiari e gestibili. Ogni blocco è un'intestazione H2, così puoi saltare direttamente alla parte di tuo interesse. + +### 1. Aggiungi Aspose OCR al tuo progetto + +**Perché?** Il motore OCR risiede all'interno della libreria Aspose; senza di esso il compilatore non avrà idea di cosa sia `OcrEngine`. + +Se usi Maven, inserisci questo frammento nel tuo `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Per Gradle, appare così: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Suggerimento:** Verifica sempre il numero di versione più recente; le versioni più recenti spesso introducono miglioramenti delle prestazioni per l'elaborazione multi‑thread. + +### 2. Crea e configura il motore OCR + +**Perché?** L'istanziazione di `OcrEngine` ti fornisce un oggetto pronto all'uso, e modificare le impostazioni del dispositivo ti consente di sfruttare tutti i core CPU a tua disposizione. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Qui impostiamo esplicitamente il dispositivo su `CPU`. Se in seguito passi a un ambiente abilitato GPU, basta scambiare il valore dell'enum—non sono necessarie altre modifiche al codice. + +### 3. Carica l'immagine PNG + +**Perché?** OCR funziona su uno stream di immagine, non direttamente su un percorso file. Convertire il file in un `ImageStream` astrae il formato sottostante. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Sostituisci `YOUR_DIRECTORY` con la cartella reale. Se il file non viene trovato, il motore lancia un `IOException`, che cattureremo più tardi. + +### 4. Esegui il riconoscimento e cattura il risultato + +**Perché?** Il metodo `recognize()` fa il lavoro pesante—rileva caratteri, linee e layout. L'`OcrResult` restituito contiene il testo semplice. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Puoi anche richiedere un risultato `Pdf` o `Html`, ma per lo scopo di **extract text from image java** ci limitiamo al testo semplice. + +### 5. Stampa il testo e pulisci + +**Perché?** Un semplice `System.out.println` è sufficiente per la dimostrazione, ma in un'app reale probabilmente scriveresti su un file o su un database. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +Poiché `OcrEngine` implementa `AutoCloseable`, è buona pratica avvolgere tutto in un blocco try‑with‑resources. Questo garantisce che le risorse native vengano rilasciate prontamente. + +### 6. Esempio completo e eseguibile + +Mettendo tutto insieme, ecco il programma completo che puoi compilare ed eseguire: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Output previsto** (supponendo che il PNG contenga “Hello World”): + +``` +=== OCR Result === +Hello World +``` + +Se l'immagine è più complessa—più linee, tabelle o note scritte a mano—l'output rifletterà esattamente ciò che Aspose OCR rileva, preservando le interruzioni di riga dove opportuno. + +## Domande comuni e casi limite + +### E se il PNG è enorme? + +Le immagini grandi possono consumare molta memoria. Una soluzione pratica è **ridimensionare** l'immagine prima di passarla al motore: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +Il ridimensionamento riduce il carico CPU senza sacrificare l'accuratezza OCR per la maggior parte del testo stampato. + +### Posso eseguire OCR su un PDF invece di un PNG? + +Assolutamente. Aspose OCR accetta anche PDF tramite oggetti `PdfDocument`. La stessa chiamata `recognize()` funziona, così puoi **process image with OCR** indipendentemente dal formato di origine. + +### Come migliorare l'accuratezza per script non latini? + +Imposta la lingua prima del riconoscimento: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose fornisce decine di pacchetti linguistici; scegli semplicemente quello che corrisponde al contenuto della tua immagine. + +### Il numero di thread è sempre vantaggioso? + +Più thread accelerano l'elaborazione su CPU multi‑core, ma oltre il numero di core fisici i benefici diminuiscono. Se noti un uso della CPU più alto senza un guadagno di velocità proporzionale, riduci il conteggio a `Runtime.getRuntime().availableProcessors()`. + +## Conclusione: cosa abbiamo ottenuto + +Abbiamo appena **recognize text from png** usando un conciso programma Java, dimostrato come **extract text from image java** con Aspose OCR, e coperto i passaggi essenziali per **process image with OCR** in modo pronto per la produzione. Il codice è autonomo, le spiegazioni rispondono sia al “come” sia al “perché”, e i consigli affrontano le tipiche insidie che potresti incontrare. + +## Cosa c'è dopo? + +- **Elaborazione batch:** Scorri una directory di PNG e scrivi ogni risultato in un file `.txt`. +- **Generazione PDF:** Invia l'output OCR a Aspose.PDF per creare PDF ricercabili. +- **Scalabilità cloud:** Distribuisci lo stesso codice in un container orchestrato da Kubernetes e lascia che il pool di thread si adatti alle risorse del pod. + +Sentiti libero di sperimentare—cambia l'immagine, modifica il conteggio dei thread o cambia lingua. Il motore OCR è sufficientemente flessibile da gestire la maggior parte degli scenari, e con la base che ora hai, estenderlo è un gioco da ragazzi. + +Hai domande o hai scoperto un'ottimizzazione intelligente? Lascia un commento qui sotto, e buona programmazione! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/java/ocr-operations/_index.md b/ocr/italian/java/ocr-operations/_index.md index 204630598..c9197a767 100644 --- a/ocr/italian/java/ocr-operations/_index.md +++ b/ocr/italian/java/ocr-operations/_index.md @@ -81,6 +81,10 @@ Sblocca il potere dell'OCR in Java con Aspose.OCR. Riconosci il testo nei docume Sblocca un potente riconoscimento del testo in Java con Aspose.OCR. Riconosci il testo nelle immagini TIFF senza sforzo. Scarica ora per un'esperienza OCR fluida. ### [Riconoscere il testo di un'immagine con Aspose OCR – Tutorial Java OCR completo](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Scopri come eseguire l'OCR completo su immagini con Aspose OCR in Java, passo‑passo per risultati accurati e rapidi. +### [Creare PDF Ricercabile da JPG – Guida Java per Immagine a PDF Ricercabile](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Sblocca il potere di trasformare immagini JPG in PDF ricercabili con Aspose.OCR per Java. Guida passo‑passo per risultati rapidi. +### [Come raddrizzare un'immagine — Guida passo‑passo alla pre‑elaborazione OCR](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +Scopri come raddrizzare le immagini prima dell'OCR per migliorare la precisione, con esempi passo‑passo in Java. ## Domande Frequenti diff --git a/ocr/italian/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/italian/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..c0a9cf5a1 --- /dev/null +++ b/ocr/italian/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,185 @@ +--- +category: general +date: 2026-02-19 +description: Crea PDF ricercabile da un'immagine JPG con Aspose OCR in Java. Converti + JPG in PDF e riconosci rapidamente il testo dall'immagine. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: it +og_description: Crea PDF ricercabile da un'immagine JPG con Aspose OCR. Scopri come + convertire JPG in PDF e riconoscere il testo dall'immagine in Java. +og_title: Crea PDF ricercabile da JPG – Tutorial OCR Java +tags: +- aspose-ocr +- java +- pdf +- ocr +title: 'Crea PDF Ricercabile da JPG – Guida Java: da Immagine a PDF Ricercabile' +url: /it/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Crea PDF Ricercabile da JPG – Guida Java per Immagine a PDF Ricercabile + +Hai mai avuto bisogno di **creare PDF ricercabile** da un'immagine scansionata ma non sapevi da dove cominciare? Non sei l'unico—molti sviluppatori si trovano nella stessa situazione quando hanno un JPG che deve essere ricercabile. La buona notizia è che con Aspose OCR for Java puoi trasformare quell'immagine in un PDF completamente ricercabile in poche righe di codice. + +In questo tutorial percorreremo l'intero processo: caricare un JPG, riconoscere il testo e salvare il risultato come PDF ricercabile. Alla fine saprai come **convertire jpg in pdf**, come **estrarre testo da jpg** e perché questo approccio è spesso più affidabile rispetto a provare a fare OCR sul PDF dopo che è stato creato. + +## Cosa Ti Serve + +* **Java Development Kit (JDK) 8 o più recente** – il codice utilizza le API standard di Java. +* **Libreria Aspose OCR for Java** – puoi ottenerla da Maven Central o scaricare il JAR dal sito di Aspose. +* Un **JPG di esempio** che contenga testo leggibile (ad es. una fattura scansionata o uno screenshot di un documento). + +Non sono richiesti framework aggiuntivi; l'esempio funziona con un semplice progetto Java. + +## Passo 1 – Configura il Progetto e Aggiungi Aspose OCR + +Per prima cosa, crea un nuovo progetto Maven (oppure una cartella con il JAR nel classpath). Se usi Maven, aggiungi questa dipendenza al tuo `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Consiglio:** Verifica sempre l'ultima versione nel repository Maven di Aspose; le versioni più recenti includono ottimizzazioni delle prestazioni e correzioni di bug. + +Una volta risolta la dipendenza, sei pronto a scrivere il codice Java che **creerà PDF ricercabile**. + +## Passo 2 – Carica l'Immagine (immagine a PDF ricercabile) + +Il primo vero passo è puntare il motore OCR verso l'immagine di origine. È qui che inizia davvero la trasformazione **immagine a PDF ricercabile**. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Perché è importante:** `setImage` indica ad Aspose quale bitmap analizzare. Se fornisci un'immagine a bassa risoluzione, la qualità dell'OCR ne risentirà, quindi assicurati che il JPG sia almeno a 300 dpi per ottenere i migliori risultati. + +## Passo 3 – Riconosci il Testo dall'Immagine + +Ora che il motore sa quale immagine elaborare, possiamo chiedergli di **riconoscere il testo dall'immagine**. Aspose OCR si occupa del lavoro pesante in background, gestendo il rilevamento della lingua, la segmentazione dei caratteri e il punteggio di confidenza. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +La chiamata `recognize()` restituisce un'interfaccia fluida, permettendoci di concatenare il metodo `save`. Specificando `OcrOutputFormat.SEARCHABLE_PDF`, la libreria incorpora uno strato di testo invisibile all'interno del PDF mantenendo l'aspetto originale dell'immagine. + +> **Caso limite:** Se il tuo JPG contiene più pagine (ad es. un TIFF multi‑pagina salvato come JPG separati), dovrai iterare su ciascun file e unire i PDF risultanti in un secondo momento. Lo stesso motore OCR può essere riutilizzato per ogni iterazione. + +## Passo 4 – Verifica il Risultato + +Dopo il completamento dell'operazione di salvataggio, un semplice messaggio sulla console ti informa che tutto è andato a buon fine. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +Quando apri `output-searchable.pdf` in un visualizzatore come Adobe Acrobat, dovresti poter selezionare il testo nascosto, copiarlo o effettuare una ricerca—esattamente ciò che ti aspetti da un **PDF ricercabile**. + +### Output Atteso + +Eseguendo il programma stampa: + +``` +Searchable PDF created. +``` + +E il PDF generato mostrerà il JPG originale consentendo la selezione del testo. Se apri le “Proprietà → Descrizione → PDF Producer” del PDF, vedrai qualcosa come `Aspose.OCR for Java`. + +## Esempio Completo Funzionante + +Di seguito trovi il file sorgente completo, pronto per l'esecuzione. Copialo e incollalo nel tuo IDE, regola i percorsi dei file e avvia l'esecuzione. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **Cosa succede se l'OCR fallisce?** +> * Di solito accade perché l'immagine è troppo rumorosa o la lingua non è supportata nativamente. Puoi migliorare l'accuratezza pre‑processando l'immagine (aumentare il contrasto, raddrizzare) o impostando esplicitamente la lingua con `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`. + +## Domande Frequenti e Trappole + +| Domanda | Risposta | +|----------|--------| +| **Posso estrarre il testo semplice invece di un PDF?** | Sì. Usa `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **E se devo elaborare un PNG?** | La stessa API funziona; basta cambiare l'estensione del file in `fromFile`. | +| **Il PDF risultante è davvero ricercabile su tutti i visualizzatori?** | I visualizzatori moderni (Adobe Reader, Foxit, Chrome) rispettano lo strato di testo nascosto. Gli strumenti più vecchi potrebbero ignorarlo. | +| **Come controllo le dimensioni della pagina PDF?** | Aspose OCR utilizza le dimensioni dell'immagine per impostazione predefinita. Per dimensioni personalizzate, genera un PDF manualmente e sovrapponi lo strato di testo OCR—si tratta di uno scenario avanzato. | + +## Suggerimenti sulle Prestazioni + +* **Elaborazione batch:** Riutilizza una singola istanza di `OcrEngine` per molte immagini per evitare il caricamento ripetuto della libreria nativa. +* **Sicurezza dei thread:** Il motore **non** è thread‑safe; crea un'istanza per thread se parallelizzi. +* **Utilizzo della memoria:** Le immagini grandi possono consumare molta RAM. Se incontri `OutOfMemoryError`, ridimensiona l'immagine prima di passarla al motore. + +## Prossimi Passi + +Ora che sai come **creare PDF ricercabile**, potresti voler esplorare attività correlate: + +* **Convertire jpg in pdf** senza OCR (usa la libreria Aspose PDF per un PDF immagine semplice). +* **Estrarre testo da jpg** in un file `.txt` per l'indicizzazione. +* **Unire più PDF ricercabili** in un unico documento usando `PdfFileEditor` di Aspose PDF. + +Tutte queste operazioni si basano sulla stessa fondazione che hai appena impostato. + +--- + +### Riepilogo Rapido + +* Abbiamo **creato un PDF ricercabile** da un JPG usando Aspose OCR for Java. +* Il processo ha coperto il caricamento dell'immagine, il riconoscimento del testo e il salvataggio come PDF ricercabile. +* Ora disponi di un modello riutilizzabile per **immagine a PDF ricercabile**, **riconoscere testo dall'immagine**, **estrarre testo da jpg** e **convertire jpg in pdf**. + +Provalo con i tuoi documenti, regola le impostazioni della lingua se necessario e lascia che l'OCR faccia il lavoro pesante per te. Buon coding! + +![Create searchable PDF example](placeholder.png){alt="Esempio di PDF ricercabile"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/italian/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..8f73d3f6b --- /dev/null +++ b/ocr/italian/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,202 @@ +--- +category: general +date: 2026-02-19 +description: Impara a raddrizzare l'immagine e rimuovere il rumore per l'OCR. Questo + tutorial mostra come riconoscere il testo nell'immagine, correggere la rotazione + dell'immagine e pre‑elaborare l'immagine per l'OCR con Aspose OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: it +og_description: Come raddrizzare l'immagine e rimuovere il rumore per riconoscere + rapidamente il testo nell'immagine. Segui questa guida per correggere la rotazione + dell'immagine e pre‑elaborare l'OCR dell'immagine con Aspose. +og_title: Come raddrizzare l'immagine – Tutorial completo di pre‑elaborazione OCR +tags: +- OCR +- Java +- Image Processing +title: Come raddrizzare l'immagine — Guida passo passo alla pre‑elaborazione OCR +url: /it/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +of markdown, we can translate the title string. Keep the URL unchanged. + +Also headings and list items need translation. + +We must keep code block placeholders unchanged. + +Also there are bold text like **how to deskew image** etc. Should translate but keep the bold markup. + +Also there are inline code like `OcrEngine` etc - keep as is. + +Also there are bullet points with file paths etc. + +We need to be careful with "step-by-step in order". We'll translate each section. + +Let's produce the final content. + +Start with the three opening shortcodes lines unchanged. + +Then heading "# How to Deskew Image — Complete OCR Pre‑Processing Tutorial" translate to Italian: "# Come correggere l'inclinazione di un'immagine — Tutorial completo di pre‑elaborazione OCR". Keep the dash and spacing. + +Then paragraph. + +We'll translate. + +Let's write. + +Be careful to preserve markdown formatting. + +Proceed. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come correggere l'inclinazione di un'immagine — Tutorial completo di pre‑elaborazione OCR + +Ti sei mai chiesto **come correggere l'inclinazione di un'immagine** prima di passarla a un motore OCR? Forse hai scansionato un lotto di ricevute e le pagine sembrano leggermente inclinate, oppure la scansione è piena di punti casuali. È un problema comune: immagini inclinate e rumorose ostacolano il riconoscimento del testo. + +La buona notizia? Puoi raddrizzare (correggere la rotazione dell'immagine) e denoisare (come rimuovere il rumore) in poche righe di Java usando Aspose.OCR. In questa guida percorreremo l’intero flusso: dal caricamento di un PNG ruotato e rumoroso, all’applicazione di deskew + denoise mediano, fino al **riconoscimento del testo nell'immagine** e alla stampa del risultato. Alla fine avrai uno snippet riutilizzabile da inserire in qualsiasi progetto Java. + +## Cosa ti serve + +- **Java 17** o versioni successive (il codice compila anche con versioni più vecchie, ma 17 è l’ideale). +- **Aspose.OCR per Java** – puoi scaricare l’ultimo JAR da Maven Central (`com.aspose:aspose-ocr`). +- Un file immagine sia ruotato sia rumoroso (ad es. `noisy-rotated.png`). +- Un IDE modesto (IntelliJ, Eclipse o anche VS Code). + +Non servono strumenti di build sofisticati; un semplice `javac` + `java` funziona benissimo. + +--- + +## Passo 1 – Creare l'istanza del motore OCR + +La prima cosa da fare è istanziare un `OcrEngine`. Pensalo come il cervello che più tardi leggerà i caratteri per te. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Consiglio:** Mantieni il motore come singleton se elabori molte immagini; riutilizza buffer interni e velocizza il processo. + +## Passo 2 – Abilitare Deskew e Denoise mediano (Come rimuovere il rumore) + +Ora diciamo al motore di **correggere la rotazione dell'immagine** e di **come rimuovere il rumore**. Entrambi i filtri sono opzionali, ma insieme migliorano drasticamente l’accuratezza. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Perché il denoise mediano? Preserva i bordi (le linee che definiscono i caratteri) mentre elimina i pixel isolati—esattamente ciò che serve per un OCR pulito. + +## Passo 3 – Caricare l'immagine da elaborare + +Qui puntiamo il motore al file che necessita di pulizia. `ImageStream.fromFile` legge il PNG in memoria. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Se la tua immagine si trova su un server remoto, basta fornire un `InputStream`—Aspose lo gestisce senza problemi. + +## Passo 4 – Eseguire l'OCR e catturare il testo riconosciuto + +Con la pre‑elaborazione attiva, il motore ora legge l’immagine corretta. La chiamata `recognize()` restituisce un `RecognitionResult` che contiene la stringa estratta. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +Dovresti vedere testo pulito e leggibile nella console, anche se l’immagine originale era inclinata e granulosa. + +## Passo 5 – Verificare il risultato (Cosa aspettarsi) + +Quando tutto funziona, la console stampa qualcosa del genere: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Se l'output contiene ancora caratteri illeggibili, ricontrolla: + +- La risoluzione dell'immagine (≥ 300 dpi è l’ideale). +- Che il percorso del file sia corretto. +- Se filtri aggiuntivi (ad es. `setContrastStretch`) potrebbero aiutare. + +--- + +## Opzionale: Conferma visiva con un’immagine di esempio + +Di seguito trovi un piccolo anteprima di una ricevuta ruotata e rumorosa. Nota l’inclinazione—il nostro codice la raddrizzerà per te. + +![come correggere l'inclinazione di un'immagine – prima e dopo l'elaborazione](deskew-demo.png "come correggere l'inclinazione di un'immagine") + +*Testo alternativo: come correggere l'inclinazione di un'immagine – prima e dopo l'elaborazione.* + +--- + +## Domande frequenti + +### Funziona con PDF o solo PNG/JPEG? +Aspose.OCR può leggere PDF direttamente; basta sostituire `ImageStream.fromFile` con `ImageStream.fromPdf`. Gli stessi flag di pre‑elaborazione si applicano, così otterrai comunque **come correggere l'inclinazione di un'immagine** e **come rimuovere il rumore**. + +### E se devo mantenere l'orientamento originale per passaggi successivi? +Puoi clonare l'immagine prima della pre‑elaborazione: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Posso cambiare manualmente l'angolo di deskew? +Sì—`setDeskewAngle(double degrees)` ti permette di sovrascrivere l'algoritmo di auto‑rilevamento. Utile quando l'auto‑rilevamento fallisce su rotazioni estreme. + +### In che cosa il denoise mediano differisce dal blur gaussiano? +I filtri mediani sostituiscono ogni pixel con la mediana dei suoi vicini, preservando i bordi. Il blur gaussiano sfuma tutto, potenzialmente smussando i tratti dei caratteri—perciò il filtro mediano è la scelta più sicura per l'OCR. + +--- + +## Conclusioni + +In questo tutorial abbiamo trattato **come correggere l'inclinazione di un'immagine**, dimostrato **come rimuovere il rumore**, e mostrato come **riconoscere il testo nell'immagine** usando la pre‑elaborazione integrata di Aspose OCR. Abilitando `setDeskew(true)` e `setMedianDenoise(true)`, correggi automaticamente la rotazione dell’immagine e rimuovi i punti, trasformando una scansione confusa in una stringa di testo pulita. + +Sentiti libero di sperimentare: prova diverse strategie di denoise, elabora PDF, o concatenare più immagini in un ciclo. Lo stesso schema—motore → pre‑elaborazione → riconoscimento—vale per ogni scenario, fornendo una solida base per qualsiasi pipeline OCR. + +**Passi successivi** da esplorare: + +- **Elaborazione batch** – itera su una cartella di immagini e scrivi ogni risultato in un file `.txt`. +- **Pacchetti linguistici** – carica un dizionario specifico per migliorare l'accuratezza su testi non‑inglesi. +- **Filtri avanzati** – come `setContrastStretch` o `setBinarization` per scansioni a basso contrasto. + +Hai altre domande? Lascia un commento, e buona programmazione! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/java/advanced-ocr-techniques/_index.md b/ocr/japanese/java/advanced-ocr-techniques/_index.md index 426421afe..8d1f9b496 100644 --- a/ocr/japanese/java/advanced-ocr-techniques/_index.md +++ b/ocr/japanese/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,13 @@ Aspose.OCR for Java でテキスト認識の能力を解放します。シーム Aspose.OCR を使用して Java アプリケーションを強化し、正確なテキスト認識を実現します。簡単な統合、高精度。 ### [Aspose.OCR で許可される文字を指定する](./specify-allowed-characters/) Aspose.OCR for Java を使用して、画像からのテキスト抽出をシームレスに解除します。効率的に統合するには、ステップバイステップのガイドに従ってください。 +### [Java で OCR 用 GPU を有効にする完全ガイド](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Java アプリで GPU を活用し、高速かつ高精度な OCR を実現する手順を詳しく解説します。 +### [Java で画像を OCR する – 手書きメモのスペルチェック付き](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) + {{< /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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/japanese/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..d97bb499b --- /dev/null +++ b/ocr/japanese/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-02-19 +description: 高速OCR処理のためにGPUを有効にする方法。高解像度画像の読み込み、テキスト画像の認識、そしてAspose OCRを使用したテキスト抽出を学びましょう。 +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: ja +og_description: 高速OCR処理のためにGPUを有効にする方法。このガイドでは、高解像度画像の読み込み、テキスト画像の認識、そしてAspose OCRを使用したテキスト抽出の手順を示します。 +og_title: JavaでOCRにGPUを有効にする方法 – 完全ガイド +tags: +- OCR +- Java +- GPU +- Aspose +title: JavaでOCRにGPUを有効にする方法 – 完全ガイド +url: /ja/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java で OCR の GPU を有効化する方法 – 完全ガイド + +OCR パイプラインで **GPU を有効化** し、処理時間を数秒短縮したいと思ったことはありませんか? 多くの画像中心のプロジェクトで、ボトルネックは CPU に依存した文字抽出ステップです。GPU に切り替えることで、状況が一変します。 + +このチュートリアルでは、**高解像度画像** の読み込み、Aspose OCR を GPU 上で動作させる設定、そして数行の Java コードだけで **テキスト画像を認識** し **テキストを抽出** する手順を解説します。最後まで読めば、**GPU 処理を有効化** したエンドツーエンドのサンプルプログラムが完成します。 + +## 必要なもの + +- Java 17 以上(コードはモジュールシステムを使用していますが、若干の調整で古い JDK でも動作します) +- Aspose OCR for Java 23.10(または最新バージョン) – Maven の座標は Aspose のサイトから取得できます +- CUDA 12+ ドライバがインストールされた NVIDIA GPU(ライブラリはこれが無いと起動しません) +- テキストを読み取りたい **高解像度サンプル画像**(PNG または JPEG) + +以上です。外部サービスやクラウドクレジットは不要で、必要なのはマシンと正しいドライバスタックだけです。 + +![GPU OCR workflow – how to enable GPU processing](gpu-ocr-workflow.png) + +*画像代替テキスト: Java で OCR 処理の GPU を有効化するフロー図。* + +## ステップバイステップ実装 + +以下で解決策を論理的なチャンクに分けて説明します。各セクションには簡潔なコードスニペット、**なぜ** そのステップが重要かの解説、そして後で役立つ実用的なヒントを掲載しています。 + +### GPU を有効化する手順 1: 依存関係のインストールと CUDA の確認 + +Java コードを実行する前に、ネイティブ CUDA ランタイムが検出可能である必要があります。Windows では次のコマンドで確認できます: + +```bat +nvcc --version +``` + +Linux の場合は: + +```bash +nvidia-smi +``` + +コマンドがドライババージョンと GPU の詳細を表示すれば OK です。表示されない場合は NVIDIA のサイトから適切なドライバをダウンロードし、CUDA ツールキットをインストールしてください(バージョンは Aspose OCR の要件(現在は 12.x)と合わせる必要があります)。 + +**Tip:** GPU ドライバは最新に保ちつつ、**ベータ版**は避けましょう。ベータ版は Aspose のネイティブライブラリとのバイナリ互換性を壊すことがあります。 + +### GPU を有効化する手順 2: Aspose OCR の Maven 依存関係を追加 + +`pom.xml` に以下を追加します。これにより、コア OCR エンジンと Windows、Linux、macOS 用のネイティブ GPU バイナリが取得されます。 + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Gradle を使用する場合は次のようになります: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +プロジェクトをリフレッシュすると、`OcrEngine`、`OcrDeviceType`、`ImageStream` クラスが利用可能になります。 + +### GPU を有効化する手順 3: OCR エンジンを作成し GPU を有効化 + +ここで実際に Aspose に GPU での実行を指示します。`OcrEngine` は `Device` オブジェクトを公開しており、そこで処理デバイスの種類を切り替えられます。 + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Why this matters:** `OcrDeviceType.GPU` を設定すると、基盤となる推論エンジンが CPU のみ実装から CUDA 加速版に切り替わります。オプションの `setStreamCount` 呼び出しで並列度を制御でき、ほとんどのコンシューマ向け GPU では 2 ストリームが安全なデフォルトです。 + +### GPU を有効化する手順 4: 高解像度画像をロード + +高解像度の入力は OCR モデルにより多くの視覚情報を提供し、特に小さなフォントや複雑な文字体系で精度が向上します。`ImageStream.fromFile` ヘルパーはエンジンが期待する形式でファイルを読み込みます。 + +URL からまたはメモリ上のバイト配列から **高解像度画像をロード** したい場合は次を使用できます: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Edge case:** 一部の GPU には最大テクスチャサイズ(多くは 16384 × 16384)が設定されています。画像がそれを超える場合は、可読性を保てるサイズ(例: 3000 × 2000)にダウンサンプリングしてください。`ocrEngine.setResizeFactor(0.5)` をロード前に呼び出すと、OCR エンジンが自動的にリサイズします。 + +### GPU を有効化する手順 5: テキスト画像を認識しテキストを抽出 + +`ocrEngine.recognize()` を呼び出すと、GPU 上でニューラルネットワークの推論が実行されます。戻り値は `OcrResult` オブジェクトで、`getText()` でプレーン文字列を取得できます。必要に応じてバウンディングボックスや信頼度スコア、あるいは生の JSON も取得可能です。 + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Why you might want this:** `recognize text image` のステップが GPU の真価です。CPU で数秒かかる大きな画像も、GPU ならその一部の時間で処理できます。信頼度スコアを使えば低品質な結果を除外でき、後続の **テキスト抽出**(how to extract text)での分析が楽になります。 + +### プロのコツ & よくある落とし穴 + +| 状況 | 対処方法 | +|-----------|------------| +| GPU の **Out‑of‑memory エラー** | `setStreamCount` を 1 に減らすか、エンジンに渡す前に画像をダウンサンプリングする | +| 高解像度でも **文字が認識されない** | 言語モデル(`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`)がテキストの言語と一致しているか確認 | +| **CUDA バージョン不一致** | Aspose OCR に同梱されている CUDA バージョンとツールキットのバージョンを合わせる(リリースノート参照) | +| **複数 GPU** がある場合 | `ocrEngine.getDevice().setDeviceId(1)` で 2 番目の GPU を選択(1 が最初の GPU) | +| **ヘッドレスサーバ** で実行 | 追加手順不要。GPU ドライバはディスプレイが無くても動作します | + +## テキスト抽出の確認 – 出力を検証する + +上記クラスを実行すると、次のような出力が得られるはずです: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +出力が文字化けしている場合は、画像が本当に高解像度か、GPU ドライバが正しくインストールされているかを再確認してください。詳細ログを有効にすることもできます: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +ログにはネイティブ CUDA カーネルが正常にロードされたかどうかが表示されます。 + +## 次のステップ & 関連トピック + +- **バッチ処理:** `OcrEngine` をループで回し、画像パスのリストを順次処理します。同じエンジンインスタンスを再利用すれば GPU 初期化のオーバーヘッドを削減できます。 +- **言語検出:** Aspose OCR は 30 以上の言語に対応しています。`ocrEngine.setLanguage(OcrLanguage.FRENCH)` のように切り替えてください。 +- **ポストプロセッシング:** 正規表現で抽出文字列を整形したり、下流の NLP パイプラインに渡したりします。 +- **代替デバイス:** CUDA 対応 GPU が無い場合は `OcrDeviceType.CPU` にフォールバックできます。コードは同じで、デバイスタイプだけ変更すれば OK です。 +- **パフォーマンスベンチマーク:** `recognize()` 前後で `System.nanoTime()` を測定し、**GPU 処理を有効化** した際の時間差を定量化しましょう。 + +--- + +### まとめ + +Java で Aspose OCR の **GPU を有効化** する方法を、ドライバのインストールから **高解像度画像** のロード、**テキスト画像の認識**、そして最終的な **テキスト抽出** まで網羅しました。上記の完全なサンプルは、最新の NVIDIA GPU が搭載された環境でそのまま動作します。 + +ぜひ試してみて、画像サイズを変えて OCR スループットの向上を実感してください。問題が発生したら、上記のヒントセクションや Aspose のリリースノートで最新の **GPU 処理を有効化** 推奨事項を確認しましょう。 + +Happy coding, and may your GPU stay cool while it crunches text! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/japanese/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..dc7f5af95 --- /dev/null +++ b/ocr/japanese/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR を使用して Java で手書きメモの画像を OCR する方法を学びます。OCR 用画像の読み込み、手書きメモの読み取り、手書き画像テキストへの変換が含まれます。 +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: ja +og_description: Aspose を使用して Java で手書きノートの画像を OCR する方法。OCR 用に画像を読み込む手順、手書きノートを読み取る方法、手書き画像のテキストに変換するステップバイステップガイド。 +og_title: Javaで画像をOCRする方法 – 手書きノートガイド +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Javaで画像をOCRする方法 – 手書きノートとスペルチェック +url: /ja/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +. But must preserve the URL unchanged. So alt text becomes Japanese translation. Title also "how to OCR image of handwritten notes". Translate title. + +Also translate shortcodes content? The shortcodes are just wrappers; they have no inner text. Keep them unchanged. + +Proceed to translate. + +Let's produce final content. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java で画像から OCR – 手書きメモとスペルチェック + +手書きの買い物リストや会議の議事録を **画像から OCR** したいと思ったことはありませんか? あなただけではありません。実際のアプリでは、開発者が手書きメモを読み取り、手動で再入力することなく検索可能なテキストに変換する必要があります。 + +このチュートリアルでは、Aspose OCR for Java を使用して **画像から OCR** する方法、**OCR 用に画像を読み込む** 方法、そして組み込みのスペル補正で **手書きメモを読み取る** 方法を、実行可能なサンプルを通して詳しく解説します。最後まで読めば、**手書き画像テキストを変換** して、保存・インデックス化・表示できるクリーンな文字列を取得できるようになります。 + +## 学べること + +- 英語手書き文字を認識できる OCR エンジンの正確なセットアップ手順 +- ディスクから **OCR 用に画像を読み込む** 方法とエンジンへの渡し方 +- 雑多な文字に対してスペルチェッカーを有効にする重要性 +- 低コントラスト画像や言語パックが不足している場合など、一般的なエッジケースへの対処法 +- IDE に貼り付けてすぐに結果が確認できる、完全な実行可能コードサンプル + +> **前提条件**: Java 8+ がインストールされていること、依存関係管理に Maven または Gradle が使用できること、そして Aspose OCR for Java のライセンス(学習目的なら無料トライアルで可)。他の外部ライブラリは不要です。 + +--- + +## 手順 1: プロジェクトを作成し Aspose OCR の依存関係を追加 + +まずは Aspose OCR ライブラリをプロジェクトに組み込みます。Maven を使用している場合は `pom.xml` に以下を追加してください。 + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Gradle を使用する場合は次の通りです。 + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **プロのコツ**: バージョン番号に注意してください。新しいリリースほど手書き認識が向上し、言語サポートが追加されています。 + +依存関係が解決したら、**OCR 用に画像を読み込む** 準備が整います。 + +## 手順 2: OCR エンジンインスタンスを作成 + +**画像から OCR** を効果的に行うには、`OcrEngine` オブジェクトが必要です。このオブジェクトがプロセスの中心となり、言語設定・スペルチェックフラグ・画像自体を保持します。 + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +なぜ最初にエンジンをインスタンス化するかというと、Aspose OCR は再利用を前提に設計されているためです。同じインスタンスで複数画像を処理し、必要に応じて設定を変更できます。 + +## 手順 3: 英語言語サポートを追加しスペル補正を有効化 + +手書きメモは綴りミスや文字抜け、独自の略語が多く出やすいです。スペルチェッカーを有効にすると、エンジンが出力をクリーンアップできるようになります。 + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **なぜスペル補正を有効にするのか?** +> これを無効にすると、OCR の生データは “t0d@y” や “c0ffee” のように見えることがあります。スペルチェッカーはこうした奇抜な表記を正規化し、検索インデックス化などの下流処理で有用なテキストに変換します。 + +## 手順 4: 手書き画像を読み込む + +ここで **OCR 用に画像を読み込む** 作業です。Aspose は任意の一般的なラスタ形式(PNG、JPEG、BMP)を受け付ける便利な `ImageStream.fromFile` メソッドを提供しています。 + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +画像がリソースフォルダーにある場合や、Web アップロードでバイト配列として受け取った場合は、次のように `ImageStream.fromBytes` を使用できます。上記行を以下に置き換えてください。 + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## 手順 5: OCR を実行し補正済みテキストを取得 + +エンジンの設定と画像のロードが完了したら、実際の **画像から OCR** 呼び出しはたった一行です。 + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +`recognize()` メソッドは `OcrResult` オブジェクトを返し、プレーンテキストだけでなく信頼度スコアやバウンディングボックスなども含まれます。多くのユースケースでは `getText()` のみで十分です。 + +## 手順 6: 結果を出力 + +最後に、クリーンアップされた文字列をコンソールに出力します。実際のアプリではデータベースに保存したり、検索エンジンに渡したり、言語モデルに入力したりすることが考えられます。 + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### 期待される出力 + +手書きメモが次のような内容だったとします。 + +``` +Buy milk, eggs, and bread tomorrow. +``` + +以下のような結果が得られるはずです。 + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +たとえ元の文字が “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w” のように乱雑でも、スペルチェッカーが通常は正しく整形してくれます。 + +--- + +## OCR 用に画像を読み込む – 精度向上のヒント + +1. **解像度は重要** – 最低でも 300 dpi を目指しましょう。解像度が低いと細かい筆跡が抜け落ちます。 +2. **コントラストが鍵** – 背景がカラーの場合は、まずグレースケールに変換してください。 +3. **内容だけを切り抜く** – 不要な余白を除去するとノイズが減り、処理速度も向上します。 + +画像の前処理は OpenCV や Java 標準の `BufferedImage` などで行い、Aspose に渡す前に最適化できます。 + +## 手書きメモを読む – エッジケースの取り扱い + +- **低信頼度の単語**: `ocrEngine.getResult().getWords()` は各単語と信頼度 (0–100) のリストを返します。閾値以下の単語は除外し、ユーザーに手動確認を促すことが可能です。 +- **複数言語**: 英語とスペイン語の両方で **手書きメモを読む** 必要がある場合は、`recognize()` を呼び出す前に両言語を追加してください。 +- **大容量ファイル**: 複数ページの PDF や TIFF では、ループ内で `ocrEngine.setImage(pageStream)` を呼び出し、各ページを順に処理します。 + +## 手書き画像テキストを構造化データに変換 + +単なる文字列だけでなく、日付・金額・チェックリスト項目などを抽出したいこともあります。補正済みテキストを取得したら、正規表現や Stanford CoreNLP などの NLP ライブラリで内容を解析できます。 + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +このスニペットは **手書き画像テキストを変換** して実用的なデータにする手順をシンプルに示しています。 + +## よくある落とし穴と回避策 + +| 症状 | 考えられる原因 | 対策 | +|---------|--------------|-----| +| 文字化けや `?` が多数 | 画像が暗すぎる・コントラスト不足 | 明るさを上げるか、ヒストグラム均等化で前処理 | +| 単語が抜ける | 手書きがあまりにも筆記体 | `ocrEngine.getSettings().setEnableCursive(true)` を有効化(対応している場合) | +| スペルチェッカーが誤変換 | 言語モデルが合っていない | `ocrEngine.getSpellChecker().addUserWords(...)` でカスタム辞書を追加 | +| 大画像で Out‑of‑Memory エラー | 画像サイズ > 10 MB | 読み込む前に縮小、またはタイル単位で処理 | + +## 完全動作サンプル(コピー&ペースト可) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **注意**: IDE からコードを実行する場合、`YOUR_DIRECTORY` フォルダーがクラスパスに含まれているか、絶対パスを使用してください。 + +--- + +## まとめ + +Java で **画像から OCR** する方法を、**OCR 用に画像を読み込む**、**手書きメモを読む**、スペル補正の有効化、そして最終的に **手書き画像テキストを変換** してクリーンな文字列にする手順まで網羅しました。この手法はシンプルながら、プロダクションレベルのアプリにも十分対応できるパワフルさがあります。 + +次のステップに挑戦してみませんか? 複数ページの PDF に対応したり、業界固有用語のカスタム辞書を追加したり、OCR 出力を機械学習モデルに渡して感情分析を行ったり。Aspose OCR の高精度と Java の柔軟性を組み合わせれば、可能性は無限です。 + +特定のエッジケースについて質問がある、あるいはモバイルアプリへの組み込み事例を共有したい方は、ぜひコメントで教えてください。ハッピーコーディング! + +--- + +![手書きメモの OCR 例](/images/ocr-handwritten-example.png "手書きメモの OCR 例") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/java/ocr-basics/_index.md b/ocr/japanese/java/ocr-basics/_index.md index c21721186..17f249104 100644 --- a/ocr/japanese/java/ocr-basics/_index.md +++ b/ocr/japanese/java/ocr-basics/_index.md @@ -105,6 +105,17 @@ Aspose.OCR for Java で OCR の精度を向上させます。傾き角度の計 ### [Getting Rectangles with Text Areas in Aspose.OCR](./get-rectangles-with-text-areas/) Aspose.OCR for Java の力を引き出します。このステップバイステップガイドで画像からテキストをシームレスに抽出する方法を学び、効率的なテキスト認識のために今すぐダウンロードしてください。 +### [Java で PNG からテキストを認識する – Aspose OCR チュートリアル](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Java を使用して PNG 画像からテキストを抽出する手順を解説し、Aspose OCR の設定と実装方法を紹介します。 + +### [Java で PNG からテキストを抽出 – 画像をテキストに変換](./extract-text-from-image-convert-png-to-text-in-java/) +Java を使用して PNG 画像からテキストを抽出し、文字列に変換する手順を解説します。 + +### [Java で画像からテキストを抽出 – 完全 OCR 例](./extract-text-from-image-in-java-complete-ocr-example/) +Java を使用して画像からテキストを抽出する完全な OCR 実装手順をステップバイステップで解説します。 + +### [Aspose OCR を使用した画像からのテキスト抽出 – Java クイックガイド](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) + --- **Last Updated:** 2025-12-08 @@ -116,4 +127,4 @@ Aspose.OCR for Java の力を引き出します。このステップバイステ {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/japanese/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..9c4bd2a9b --- /dev/null +++ b/ocr/japanese/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,211 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR Java を使用して画像からテキストを抽出する – PNG をテキストに変換する方法、OCR 用に画像を読み込む方法、そして + Java OCR チュートリアルに従う方法を学びましょう。 +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: ja +og_description: Aspose OCR Javaで画像からテキストを抽出します。ステップバイステップのJava OCRチュートリアルに従って、PNGをテキストに変換し、OCR用に画像を読み込みます。 +og_title: 画像からテキストを抽出 – Java OCRガイド +tags: +- OCR +- Java +- Aspose +- Image Processing +title: 画像からテキストを抽出 – JavaでPNGをテキストに変換 +url: /ja/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 画像からテキストを抽出 – Java OCR チュートリアル + +画像からテキストを**抽出**したいと思ったことはありませんか、しかし手間のかかるライブラリ選びに悩んでいませんか? あなただけではありません—開発者は常に「Java で PNG をテキストに変換するにはどうすればいいのか?」と質問します。 良いニュースは、Aspose OCR を使えば、全工程がまるで散歩のように簡単になることです。このガイドでは、完全な**java ocr tutorial**を順に解説し、**OCR 用に画像を読み込む**方法を示し、最終的にクリーンで検索可能なテキストを取得します。 + +エンジンの設定から多言語コンテンツの処理まで網羅しますので、最後にはサイズ・フォーマット・言語を問わず**画像からテキストを抽出**できるようになります。外部サービスや API キーは不要—JAR ファイル一つと数行のコードだけです。 + +## 必要なもの + +始める前に、以下が揃っていることを確認してください。 + +- JDK 8 以上がインストール済み(コードは JDK 11+ でも動作します)。 +- Maven または Gradle で Aspose OCR ライブラリを取得するか、Aspose の公式サイトから JAR を手動でダウンロード。 +- 読み取り可能なテキストを含む PNG 画像(例として `khmer-sign.png` を使用)。 +- お好みの IDE またはテキストエディタ—IntelliJ IDEA、Eclipse、VS Code など、どれでも構いません。 + +以上です。重いフレームワークやクラウド認証情報は不要です。準備はできましたか? 画像ファイルからテキストを抽出しましょう。 + +## 手順 1: Aspose OCR をプロジェクトに追加 + +まずは OCR エンジンをクラスパスに配置します。Maven を使う場合は `pom.xml` に次の依存関係を追加してください。 + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Gradle を使う場合は次のように記述します。 + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +手動で追加したい場合は、Aspose のダウンロードページから JAR を取得し、プロジェクトの `libs` フォルダに入れたうえでビルドパスに追加してください。 + +> **プロのコツ:** 常に最新の安定版を選びましょう。古いリリースは言語パックやバグ修正が欠けていることがあります。 + +## 手順 2: OCR エンジンのインスタンスを作成 + +ライブラリが利用可能になったら、`OcrEngine` を生成します。エンジンはピクセルを文字に変換する「脳」のようなものです。 + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +なぜ毎回新しいエンジンを作成するのか? エンジンは内部バッファや言語データを保持しているため、クリーンな状態から開始することで、特に後で言語を切り替える場合に決定的な結果が得られます。 + +## 手順 3: 必要な言語を有効化(任意だが推奨) + +Aspose OCR には多数の言語パックが同梱されています。画像の言語が分かっている場合は明示的に有効化しましょう。これにより認識速度と精度が向上します。サンプルではクメール語 (`khm`) を有効化しますが、英語なら `ENG`、中国語なら `CHN` などに置き換えてください。 + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **なぜ重要か:** **OCR 用に画像を読み込む**際、エンジンは有効化された言語辞書だけを検索します。すべての言語をオンにしたままにすると処理が遅くなり、誤認識が増える可能性があります。 + +## 手順 4: OCR 用に画像を読み込む – PNG をテキストに変換 + +ここで**OCR 用に画像を読み込む**処理が行われます。Aspose は低レベルの I/O を抽象化した便利な `ImageStream.fromFile` ヘルパーを提供しています。 + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +画像が JPEG、BMP、TIFF など別のフォーマットでも同じメソッドが機能します—Aspose が自動で形式を検出します。ファイルパスが正しいことを確認してください。間違っていると `FileNotFoundException` が発生します。 + +## 手順 5: OCR 処理を実行し PNG をテキストに変換 + +エンジンが準備でき、画像が読み込まれたら、認識は単一メソッド呼び出しで完了します。結果オブジェクトは生の文字列と信頼度スコアを提供します。 + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +これで**PNG をテキストに変換**しました。返された文字列はエンジンが見た通りの改行や空白を含んでいます。`trim()`、`replaceAll("\\s+", " ")`、または必要なクリーンアップ処理を施してください。 + +## 手順 6: 結果を出力(または保存) + +簡単な動作確認として、コンソールに結果を出力します。実際のアプリケーションではファイルやデータベースに書き込んだり、別サービスに渡したりすることが多いでしょう。 + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**期待される出力**(サンプルのクメール文字列)は次のようになります: + +``` +សួស្តី +Welcome +``` + +出力が文字化けしている場合は、手順 3 で正しい言語を有効化したか、画像がぼやけていないか確認してください。解像度を 300 dpi 以上に上げると改善することが多いです。 + +## 完全動作サンプル + +すべてを組み合わせた、`ExtractTextExample.java` に貼り付けて実行できる自己完結型プログラムは以下の通りです。 + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +プログラムの実行は次のコマンドで行います。 + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +Gradle を使用する場合は次のように実行してください。 + +```bash +./gradlew run --args='ExtractTextExample' +``` + +コンソールに抽出されたテキストが表示されれば、Aspose OCR を使って**画像からテキストを抽出**できたことになります。 + +## よくある落とし穴と対処法 + +| 症状 | 想定原因 | 対処 | +|------|----------|------| +| 空文字列が返る | 言語が有効化されていない、または誤った言語コード | 適切な `OcrLanguage`(例: 英語なら `ENG`)を追加 | +| 文字化け | 画像解像度が低すぎる、または背景がノイズ | 高解像度の画像を使用、またはシャープフィルタで前処理 | +| `OutOfMemoryError` | 非常に大きな画像をフルサイズで読み込んでいる | エンジンに渡す前に `ImageStream.fromFile(...).scale(0.5)` で縮小 | +| `FileNotFoundException` | パスが間違っている | 絶対パスまたは相対パスを確認し、`Paths.get(...).toAbsolutePath()` を使用 | + +> **覚えておくべきこと:** OCR は確率的プロセスです。完璧な設定でも、特に手書きや筆記体のスクリプトでは手動で数文字修正する必要がある場合があります。 + +## チュートリアルの拡張 – 次のステップ + +- **バッチ処理:** ディレクトリ内の PNG ファイルをループし、同じロジックを各画像に適用。 +- **PDF 出力:** Aspose PDF を使って抽出テキストを検索可能な PDF に埋め込む。 +- **言語検出:** `ocrEngine.detectLanguage()` を呼び出して、エンジンに自動で言語を推測させる。 +- **クラウド統合:** スケールが必要な場合はコードを REST エンドポイントでラップし、マイクロサービスから呼び出す。 + +これらすべては、今回完了した**java ocr tutorial**を基礎に構築でき、Aspose OCR API の汎用性の高さを実感できるでしょう。 + +## 結論 + +本稿では、Aspose OCR を利用して**画像からテキストを抽出**し、**PNG をテキストに変換**し、正しく**OCR 用に画像を読み込む**手順を一通り解説しました。手順はシンプルです:ライブラリを追加、エンジンを作成、適切な言語を有効化、PNG を読み込み、`recognize()` を実行し、出力を処理する。これを基にデータ入力の自動化や検索可能アーカイブの構築、画像から機械可読テキストが必要なあらゆるアプリケーションを実装できます。 + +ぜひ自分の画像で試してみてください—領収書のスクリーンショットやスキャンした契約書など。言語設定や解像度を調整すれば、ソリューションの柔軟性をすぐに実感できるはずです。問題が発生したら、上記の落とし穴表や Aspose の公式ドキュメント(常に最新)を参照してください。 + +Happy coding, and may your next project be full of clean, searchable text! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/japanese/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..10d026a97 --- /dev/null +++ b/ocr/japanese/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,147 @@ +--- +category: general +date: 2026-02-19 +description: Java OCR を使用して画像からテキストを抽出します。画像を OCR に読み込み、請求書ファイルからテキストを抽出する Java OCR + の例を、数ステップで学びましょう。 +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: ja +og_description: Java OCR を使用して画像からテキストを抽出します。このガイドでは、OCR 用に画像を読み込む方法と、シンプルな Java OCR + の例で請求書からテキストを取得する方法を示します。 +og_title: Javaで画像からテキストを抽出 – 完全なOCR例 +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Javaで画像からテキストを抽出 – 完全なOCR例 +url: /ja/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Javaで画像からテキストを抽出 – 完全OCR例 + +画像から **テキストを抽出** したいけど、どのライブラリを選べばいいか分からないことはありませんか? あなたは一人ではありません。請求書処理の自動化や検索可能なアーカイブ構築で、多くの開発者が同じ壁にぶつかります。良いニュースは、数行の Java コードで OCR 用に画像を読み込み、関心領域(ROI)を定義し、必要なテキストを正確に取得できることです。 + +このチュートリアルでは、Aspose.OCR を使用して **java ocr example** を実演し、**load image for OCR** の方法、ROI の設定、そして **extract text from invoice** ファイルの手順を詳しく解説します。最後まで読めば、任意の Java プロジェクトに組み込める実行可能なプログラムが手に入ります。 + +## 学べること + +- `OcrEngine` インスタンスの作成方法とその重要性 +- Aspose の `ImageStream` を使った **load image for OCR** の正しい手順 +- **region of interest (ROI)** を設定して、請求書の金額が含まれる画像部分だけを処理する方法 +- 認識されたテキストを取得し、コンソールに出力する方法 +- よくある落とし穴(例:矩形座標の誤り)とその迅速な対処法 + +**前提条件** + +- Java 8 以上がインストールされていること +- Maven または Gradle で Aspose.OCR ライブラリ(`com.aspose:aspose-ocr`)を取得できること +- `invoice.png` というサンプル請求書画像が既知のディレクトリに配置されていること + +すべて揃いましたか? では、始めましょう。 + +![Extract text from image using Java OCR](/images/extract-text-from-image-java.png "extract text from image example") + +## 画像からテキストを抽出 – ステップバイステップ Java OCR 例 + +以下に完全なソースコードを示します。`RoiOcrExample.java` にコピー&ペーストしてそのまま実行してください。 + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### 各ステップが重要な理由 + +1. **OCR エンジンの作成** – エンジンがなければ画像処理のコンテキストがありません。オブジェクトは後で多言語サポートが必要な場合に言語パックを調整することも可能です。 +2. **画像の読み込み** – `ImageStream.fromFile` はファイル形式を抽象化し、エンジンがバイト列を正しく読み取れるようにします。これを省略すると `NullPointerException` が発生します。 +3. **ROI の設定** – ページ全体を処理すると無駄が大きくなります。矩形を請求書の合計金額エリアに絞ることで認識速度が向上し、ノイズも減ります。 +4. **`recognize()` の呼び出し** – ここで魔法が起きます。メソッドは ROI 上で OCR アルゴリズムを実行し、結果オブジェクトを生成します。 +5. **出力の表示** – 実際のプロジェクトではデータベースに保存することが多いですが、デモとしては `System.out.println` が最適です。 + +## Load Image for OCR + +パスは絶対でも相対でも構いませんが、Java プロセスがファイルを読み取れることを確認してください。Windows ではバックスラッシュをエスケープする必要があります(`C:\\images\\invoice.png`)またはスラッシュ表記(`C:/images/invoice.png`)でも構いません。 + +**プロチップ:** 多数の請求書をループ処理する場合は、同じ `OcrEngine` インスタンスを再利用すると内部リソースがキャッシュされ、スループットが向上します。 + +## Define Region of Interest (ROI) + +適切な矩形を決めるには試行錯誤が必要です。画像を GIMP や Paint.NET などのエディタで開き、対象領域上にカーソルを合わせるとステータスバーに X/Y 座標が表示されます。 + +エッジケース: 請求書のレイアウトが可変の場合、まず画像全体をざっくりスキャンし、正規表現で “Total:” などのキーワードを検出してから ROI を動的に調整する方法があります。 + +## Perform OCR and Get Text + +`recognize()` 呼び出しは同期的に動作し、エンジンが処理を完了するまでスレッドがブロックされます。大量バッチを処理する場合はスレッドプールを使って並列処理すると良いでしょう。ただし、各スレッドは独自の `OcrEngine` インスタンスを持つ必要があり、エンジンはスレッドセーフではありません。 + +## Run and Verify Output + +コンパイルして実行: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +以下のような出力が得られるはずです: + +``` +ROI text: $1,254.00 +``` + +出力が文字化けしている場合は、ROI の座標を再確認し、画像品質(300 dpi 以上がベスト)を確保してください。 + +### よくある落とし穴と対処法 + +| 症状 | 考えられる原因 | 対策 | +|------|----------------|------| +| 空文字列 | ROI が画像範囲外 | 矩形の値を画像サイズと照らし合わせて確認 | +| 誤認識された単語 | 解像度が低い | 高解像度の画像を使用するか、二値化などの前処理を適用 | +| `java.lang.NoClassDefFoundError` | クラスパスに Aspose JAR が無い | `aspose-ocr.jar` を `-cp` に追加するか、Maven/Gradle で依存管理 | + +## Conclusion + +これで、Java で **extract text from image** を実現する簡潔な **java ocr example** が完成しました。画像を正しく読み込み、焦点を絞った ROI を定義し、`recognize()` を呼び出すだけで、請求書ファイルから確実に **extract text from invoice** でき、下流システムへデータを流し込むことができます。 + +次は何をしますか? ROI を日付やベンダー名など別フィールドに変更したり、言語パックを導入して多言語請求書に対応したり、OCR 処理を Spring Boot のマイクロサービスに組み込んでみてください。同様のパターンはレシート、パスポート、その他テキスト抽出が必要なドキュメントでも有効です。 + +このソリューションのスケーリングやノイズが多いスキャンの扱いについて質問があれば、下のコメント欄にどうぞ。ハッピーコーディング! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/japanese/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..8715cb276 --- /dev/null +++ b/ocr/japanese/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,219 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR を使用して Java で画像からテキストを抽出します。png からテキストを認識し、画像を文字列に変換し、スキャンからテキストを読み取る方法を数ステップで学びましょう。 +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: ja +og_description: 画像からテキストを素早く抽出します。このチュートリアルでは、png からテキストを認識し、画像を文字列に変換し、Aspose OCR + を使用してスキャンからテキストを読み取る方法を示します。 +og_title: Aspose OCR を使用した画像からのテキスト抽出 – Java ガイド +tags: +- Java +- OCR +- Aspose +title: Aspose OCR を使用した画像からテキスト抽出 – Java クイックガイド +url: /ja/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 画像からテキストを抽出 – 完全な Java チュートリアル + +画像からテキストを抽出する必要があったことはありませんか?どのライブラリを選べばよいか迷っているかもしれません。たとえば PNG 形式のスキャンした領収書があり、テキストをプレーンな文字列としてさらに処理したいとします。私の経験では、Aspose OCR ライブラリを使えばこの作業はとても簡単です。特に Java で作業している場合はなおさらです。 + +このガイドでは、Aspose OCR の依存関係の設定、PNG ファイルの読み込み、**recognize text from png**、結果を使える Java `String` に変換するまでのすべてを順を追って説明します。最後まで読めば **convert image to string** ができるようになり、**read text from scan** ファイルを手間なく処理できるようになります。 + +## 学べること + +- Maven または Gradle プロジェクトに Aspose OCR を追加する方法。 +- 単一のメソッド呼び出しで **extract text from image** を行うために必要な正確なコード。 +- `ImageStream` クラスがエンジンにデータを供給する際に推奨される理由。 +- 大きなスキャン、マルチページ PDF、一般的な落とし穴を扱うためのヒント。 + +OCR の経験は不要です。Java の基本的な知識と処理したい PNG があれば始められます。 + +## 前提条件 + +| 要件 | 理由 | +|-------------|--------| +| Java 8 以上 | Aspose OCR は Java 8+ を対象としています。 | +| Maven または Gradle(任意) | 依存関係管理が簡素化されます。 | +| PNG 画像(例: `quick.png`) | OCR を実行するソース画像です。 | +| インターネット接続(初回実行時) | ライブラリが言語パックを自動でダウンロードする場合があります。 | + +IntelliJ IDEA や Eclipse などの Java IDE がすでにある場合はそのまま進められます。 + +--- + +## Step 1: Set Up Aspose OCR in Your Project + +### Maven + +`pom.xml` に以下の依存関係を追加してください: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro tip:** 社内プロキシを使用している場合は、Maven/Gradle が `repo.maven.apache.org` に到達できることを確認してください。到達できないと、コードを書き始める前にビルドが失敗します。 + +--- + +## Step 2: Load the PNG Image + +`ImageStream` クラスはファイルシステムの詳細を抽象化し、ストリーム、URL、バイト配列のいずれでも扱えます。ローカル PNG を読み込む方法は次の通りです: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Why this matters:** `ImageStream.fromFile` を使用すると、OCR エンジンが画像を完全に理解できる形式で受け取ることが保証され、単なるバイト配列を渡す場合に比べて認識精度が向上します。 + +--- + +## Step 3: Recognize Text from PNG + +Aspose OCR は重い処理を行う単一の静的メソッド `OcrEngine.recognize` を提供します。このメソッドはプレーンな Java `String` を返すため、**convert image to string** が必要なときに最適です。 + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### What Happens Under the Hood? + +1. **Pre‑processing:** エンジンは自動的に画像の傾きを補正し、コントラストを正規化します。 +2. **Language Detection:** 言語を指定しない場合、Aspose が自動で推測します。これによりクイックスキャンが便利になります。 +3. **Recognition:** コア OCR エンジンは何百万もの文字で学習したニューラルネットワークモデルを実行します。 + +このすべてが一度の呼び出しにカプセル化されているため、特別なケースでない限り低レベル設定をいじる必要はありません。 + +--- + +## Step 4: Display and Use the Extracted String + +テキストが取得できたら、コンソールに出力したり、データベースに保存したり、別の API に渡したりできます。最もシンプルな方法は `System.out.println` です: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Expected Output + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Note:** 正確な出力は `quick.png` の内容に依存します。手書きのメモが含まれている場合、認識ミスが出ることがありますが、簡単な後処理で改善できます。 + +--- + +## Step 5: Handling Common Edge Cases + +### Large Scans or Multi‑Page PDFs + +**read text from scan** ファイルが典型的な PNG より大きい場合は、次の点を検討してください: + +- 画像をタイルに分割する (`ImageStream.fromRegion`)。 +- PDF 入力の場合は `OcrEngine.recognizeMultiplePages` を使用する。 + +### Non‑English Languages + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Performance Tips + +- 複数画像を処理する際は同じ `OcrEngine` インスタンスを再利用して初期化コストを削減します。 +- バッチ処理ではマルチスレッド化を有効にしますが、CPU コア数以上のスレッドはメモリ過負荷を招くため制限してください。 + +--- + +## Complete Working Example + +以下はフルで実行可能な Java クラスです。IDE にコピー&ペーストし、画像パスを調整して **Run** をクリックしてください。 + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +このプログラムを実行するとコンソールに OCR 結果が出力され、数行のコードだけで **converting image to string** が実現できます。 + +--- + +## Conclusion + +これで Aspose OCR を使って Java で **extract text from image** ファイルを処理する方法が分かりました。手順はシンプルに 3 つ:PNG をロードし、`OcrEngine.recognize` を呼び出し、得られた文字列を利用するだけです。**recognize text from png**、**convert image to string**、あるいは単に **read text from scan** ドキュメントを処理したい場合でも、このアプローチは信頼性の高い本番対応ソリューションを提供します。 + +次のステップに挑戦してみませんか?スキャンした領収書が入ったフォルダをループで処理し、結果を CSV に保存したり、非英語テキストの精度向上のために言語別設定を試したりしてください。可能性は無限大です。今回書いたコードはその土台となります。 + +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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/japanese/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..c2f48bc39 --- /dev/null +++ b/ocr/japanese/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR を使用して Java で PNG からテキストを認識する – 画像からテキストを抽出し、OCR で効率的に画像を処理する方法を学びましょう。 +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: ja +og_description: JavaでAspose OCRを使用してPNGからテキストを認識します。このチュートリアルでは、画像からテキストを抽出し、OCRで画像をステップバイステップで処理する方法を示します。 +og_title: JavaでPNG画像からテキストを認識する – 完全なAspose OCRガイド +tags: +- OCR +- Java +- Image Processing +title: JavaでPNGからテキストを認識する – Aspose OCRチュートリアル +url: /ja/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNG からテキストを認識する Java – 完全 Aspose OCR ガイド + +PNG から **テキストを認識** したいけど、どのライブラリを選べばいいか分からないことはありませんか?同じ壁にぶつかる Java 開発者は多いです。朗報は、Aspose OCR を使えばプロセスがほぼ手間なく進み、このガイドでは **image java からテキストを抽出** しながら **OCR で画像を処理** する方法をスレッドセーフに実装する手順を紹介します。 + +この数分で、PNG を読み込み、CPU 上で最大 8 スレッドを使って OCR を実行し、認識された文字列をコンソールに出力する小さな Java プログラムを作成します。外部サービスや秘密の API キーは不要です。すぐにコピー&ペーストして実行できる純粋な Java コードだけです。 + +## 必要なもの + +- **Java 17** 以上(コードは以前のバージョンでもコンパイルできますが、17 が最適です)。 +- **Aspose.OCR for Java** JAR(Aspose のウェブサイトからダウンロードするか、Maven で取得)。 +- 読み取りたい PNG 画像(例: `document-page1.png` をディスク上の任意の場所に保存)。 +- お好みの IDE、またはシンプルなテキストエディタとターミナル。 + +以上です。これらが揃ったら、すぐに解決策に取り掛かれます。 + +![Java code to recognize text from png using Aspose OCR](image-placeholder.png "recognize text from png Java example"){alt="Aspose OCR を使用した PNG からテキストを認識する Java コード"} + +## 手順別: PNG からテキストを認識する + +以下では実装を明確で管理しやすいチャンクに分割しています。各チャンクは H2 見出しなので、必要な部分にすぐジャンプできます。 + +### 1. Aspose OCR をプロジェクトに追加 + +**なぜ必要?** OCR エンジンは Aspose ライブラリ内にあり、`OcrEngine` が何か分からなければコンパイラはエラーになります。 + +Maven を使う場合は、`pom.xml` に次のスニペットを追加してください: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Gradle を使う場合は次のようになります: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **プロのコツ:** 常に最新バージョン番号を確認してください。新しいリリースはマルチスレッド処理向けのパフォーマンス改善が含まれていることが多いです。 + +### 2. OCR エンジンを作成・設定 + +**なぜ必要?** `OcrEngine` をインスタンス化するとすぐに使えるオブジェクトが得られ、デバイス設定を調整することで利用可能なすべての CPU コアを活用できます。 + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +ここではデバイスを明示的に `CPU` に設定しています。後で GPU 対応環境に移行する場合は、列挙型の値を入れ替えるだけで、他のコードは変更不要です。 + +### 3. PNG 画像を読み込む + +**なぜ必要?** OCR はファイルパスではなく画像ストリーム上で動作します。ファイルを `ImageStream` に変換することで、基になるフォーマットを抽象化します。 + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +`YOUR_DIRECTORY` を実際のフォルダーに置き換えてください。ファイルが見つからない場合、エンジンは `IOException` をスローし、後で捕捉します。 + +### 4. 認識を実行し結果を取得 + +**なぜ必要?** `recognize()` メソッドが文字・行・レイアウトの検出という重い処理を行います。返される `OcrResult` にプレーンテキストが格納されます。 + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +`Pdf` や `Html` の結果を要求することもできますが、**image java からテキストを抽出** する目的ではプレーンテキストに留めておきます。 + +### 5. テキストを出力しクリーンアップ + +**なぜ必要?** デモとしては `System.out.println` で十分ですが、実際のアプリではファイルやデータベースに書き込むことが多いでしょう。 + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +`OcrEngine` は `AutoCloseable` を実装しているため、`try‑with‑resources` ブロックで全体を囲むのがベストプラクティスです。これによりネイティブリソースが速やかに解放されます。 + +### 6. 完全な実行可能サンプル + +すべてをまとめた、コンパイルしてすぐに実行できるプログラムは以下の通りです: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**期待される出力**(PNG に “Hello World” が含まれている場合): + +``` +=== OCR Result === +Hello World +``` + +画像が複数行、テーブル、手書きメモなど複雑な場合でも、Aspose OCR が検出した内容がそのまま出力され、適切に改行が保持されます。 + +## よくある質問とエッジケース + +### PNG が非常に大きい場合は? + +大きな画像はメモリを大量に消費します。実用的な回避策として、エンジンに渡す前に **ダウンサンプリング** することが推奨されます: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +ダウンサンプリングは CPU 負荷を減らしつつ、印刷されたテキストの OCR 精度をほとんど損なわないことが多いです。 + +### PDF で OCR を実行できる? + +もちろん可能です。Aspose OCR は `PdfDocument` オブジェクトを介して PDF も受け付けます。同じ `recognize()` 呼び出しで **OCR で画像を処理** できるので、ソースフォーマットに関係なく利用できます。 + +### ラテン文字以外のスクリプトの精度を上げるには? + +認識前に言語を設定します: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose には多数の言語パックが同梱されているので、画像の内容に合ったものを選択してください。 + +### スレッド数を増やすだけで効果はある? + +マルチコア CPU ではスレッド数を増やすことで処理速度は向上しますが、物理コア数を超えると効果は減少します。CPU 使用率が上がっても速度向上が見られない場合は、`Runtime.getRuntime().availableProcessors()` で取得できるコア数に戻すことを検討してください。 + +## まとめ: 達成したこと + +- 簡潔な Java プログラムで **PNG からテキストを認識** しました。 +- Aspose OCR を使って **image java からテキストを抽出** する方法を実演し、**OCR で画像を処理** するための本番レベルの手順を網羅しました。 +- コードは自己完結型で、解説は「やり方」だけでなく「なぜそうするのか」も説明し、典型的な落とし穴への対策も提供しています。 + +## 次のステップは? + +- **バッチ処理:** ディレクトリ内の PNG をループし、各結果を `.txt` ファイルに書き出す。 +- **PDF 生成:** OCR 出力を Aspose.PDF に渡して検索可能な PDF を作成。 +- **クラウドスケーリング:** 同じコードを Kubernetes でオーケストレーションされたコンテナにデプロイし、スレッドプールをポッドリソースに合わせて自動調整。 + +ぜひ実験してみてください。画像を差し替えたり、スレッド数を調整したり、言語を変えたりしてみましょう。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/java/ocr-operations/_index.md b/ocr/japanese/java/ocr-operations/_index.md index 8ef234c98..6a449edc6 100644 --- a/ocr/japanese/java/ocr-operations/_index.md +++ b/ocr/japanese/java/ocr-operations/_index.md @@ -80,6 +80,10 @@ Aspose.OCR を使用した Java での OCR の力を解き放ちます。PDF 文 Aspose.OCR を使用した Java での強力なテキスト認識を実現します。TIFF 画像内のテキストを手間なく認識し、シームレスな OCR 体験を提供します。 ### [Aspose OCR で画像テキストを認識 – 完全 Java OCR チュートリアル](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Aspose OCR を使用して画像からテキストを認識する完全な Java チュートリアルです。ステップバイステップで実装方法を解説します。 +### [JPG から検索可能な PDF を作成 – 画像から検索可能 PDF への Java ガイド](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +JPG 画像を検索可能な PDF に変換する手順を、Aspose.OCR for Java を使って詳しく解説します。 +### [画像の傾き補正方法 — ステップバイステップ OCR 前処理ガイド](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +画像の傾きを自動で補正し、OCR 精度を向上させる手順を詳しく解説します。 ## よくある質問 diff --git a/ocr/japanese/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/japanese/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..756ed1df2 --- /dev/null +++ b/ocr/japanese/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,183 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR を使用して Java で JPG 画像から検索可能な PDF を作成します。JPG を PDF に変換し、画像からテキストを高速に認識します。 +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: ja +og_description: Aspose OCR を使用して JPG 画像から検索可能な PDF を作成します。Java で JPG を PDF に変換し、画像からテキストを認識する方法を学びましょう。 +og_title: JPGから検索可能なPDFを作成 – Java OCRチュートリアル +tags: +- aspose-ocr +- java +- pdf +- ocr +title: JPGから検索可能なPDFを作成 – 画像から検索可能なPDFへのJavaガイド +url: /ja/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# JPG から検索可能な PDF を作成 – 画像から検索可能な PDF の Java ガイド + +スキャンした画像から **検索可能な PDF** を作成したいと思ったことはありませんか?その方法が分からずに戸惑うのはあなただけではありません。JPG を検索可能にしたい開発者は多く、同じ壁にぶつかります。良いニュースは、Aspose OCR for Java を使えば、数行のコードで画像を完全な検索可能 PDF に変換できることです。 + +このチュートリアルでは、JPG の読み込み、テキスト認識、検索可能 PDF としての保存という一連の手順を解説します。最後まで読むと、**convert jpg to pdf** の方法、**extract text from jpg** の方法、そして作成後に PDF に OCR をかけるよりもこのアプローチの方が信頼性が高い理由が分かります。 + +## 必要なもの + +* **Java Development Kit (JDK) 8 以上** – コードは標準の Java API を使用します。 +* **Aspose OCR for Java** ライブラリ – Maven Central から取得するか、Aspose のサイトから JAR をダウンロードできます。 +* 読み取り可能なテキストを含む **サンプル JPG**(例: スキャンした請求書や文書のスクリーンショット)。 + +追加のフレームワークは不要です。この例はプレーンな Java プロジェクトで動作します。 + +## Step 1 – プロジェクトのセットアップと Aspose OCR の追加 + +まず、Maven プロジェクトを新規作成します(または JAR をクラスパスに置いたフォルダーでも構いません)。Maven を使用している場合は、`pom.xml` に以下の依存関係を追加してください: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** 常に Aspose Maven リポジトリで最新バージョンを確認してください。新しいリリースにはパフォーマンスの改善やバグ修正が含まれています。 + +依存関係が解決したら、**検索可能な PDF を作成**する Java コードを書き始める準備が整います。 + +## Step 2 – 画像の読み込み(image to searchable pdf) + +最初の本格的なステップは、OCR エンジンにソース画像を指定することです。ここから **image to searchable pdf** の変換が本格的に始まります。 + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Why this matters:** `setImage` は Aspose にどのビットマップを解析するかを指示します。低解像度の画像を使用すると OCR の精度が低下するため、ベストな結果を得るには JPG が少なくとも 300 dpi であることを確認してください。 + +## Step 3 – 画像からテキストを認識 + +エンジンが対象画像を認識したら、**recognize text from image** を実行できます。Aspose OCR は内部で言語検出、文字分割、信頼度スコアリングなどの重い処理を行います。 + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +`recognize()` 呼び出しはフルエントインターフェイスを返し、`save` メソッドをチェーンできます。`OcrOutputFormat.SEARCHABLE_PDF` を指定すると、ライブラリは元の画像外観を保ちつつ、PDF 内に不可視のテキスト層を埋め込みます。 + +> **Edge case:** JPG が複数ページを含む場合(例: 複数ページの TIFF を個別の JPG として保存した場合)、各ファイルをループ処理し、後で生成された PDF を結合する必要があります。同じ OCR エンジンを各イテレーションで再利用できます。 + +## Step 4 – 結果の検証 + +保存処理が完了すると、シンプルなコンソールメッセージで正常に完了したことが通知されます。 + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +`output-searchable.pdf` を Adobe Acrobat などのビューアで開くと、隠れたテキストを選択したりコピーしたり検索したりできるはずです—これが **searchable PDF** に期待される動作です。 + +### 期待される出力 + +プログラムを実行すると次が出力されます: + +``` +Searchable PDF created. +``` + +生成された PDF は元の JPG を表示しつつ、テキスト選択が可能です。PDF の「Properties → Description → PDF Producer」を開くと、`Aspose.OCR for Java` のような情報が表示されます。 + +## 完全な動作例 + +以下に、完全で実行可能なソースファイルを示します。IDE にコピー&ペーストし、ファイルパスを調整して実行してください。 + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **What if the OCR fails?** +> * 通常、画像がノイズが多すぎるか、言語がデフォルトでサポートされていない場合に発生します。画像の前処理(コントラスト増加、傾き補正)や、`ocrEngine.getLanguage().setLanguage(OcrLanguage.English);` で言語を明示的に設定することで精度を向上させられます。 + +## よくある質問と落とし穴 + +| Question | Answer | +|----------|--------| +| **PDF の代わりにプレーンテキストを抽出できますか?** | はい。`ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` を使用してください。 | +| **PNG を処理したい場合はどうすればいいですか?** | 同じ API が使用できます。`fromFile` のファイル拡張子を変更するだけです。 | +| **生成された PDF はすべてのビューアで本当に検索可能ですか?** | 最新のビューア(Adobe Reader、Foxit、Chrome)は隠しテキスト層を認識します。古いツールでは無視される可能性があります。 | +| **PDF のページサイズはどうやって制御しますか?** | Aspose OCR はデフォルトで画像のサイズを使用します。カスタムサイズが必要な場合は、PDF を手動で生成し、OCR テキスト層をオーバーレイしてください—高度なシナリオです。 | + +## パフォーマンスのヒント + +* **Batch processing:** 多数の画像に対して単一の `OcrEngine` インスタンスを再利用し、ネイティブライブラリのロードを繰り返さないようにします。 +* **Thread safety:** エンジンは **スレッドセーフではありません**。並列処理する場合はスレッドごとにインスタンスを作成してください。 +* **Memory usage:** 大きな画像は大量の RAM を消費します。`OutOfMemoryError` が発生した場合は、エンジンに渡す前に画像を縮小してください。 + +## 次のステップ + +**検索可能な PDF を作成**する方法が分かったので、関連タスクを検討したくなるでしょう: + +* **Convert jpg to pdf**(OCR なし): プレーンな画像 PDF を作成するには Aspose PDF ライブラリを使用します。 +* **Extract text from jpg**: インデックス用に `.txt` ファイルへテキストを抽出します。 +* **Combine multiple searchable PDFs**: Aspose PDF の `PdfFileEditor` を使用して単一のドキュメントに結合します。 + +これらはすべて、先ほど設定した基盤の上に構築されています。 + +--- + +### クイックまとめ + +* Aspose OCR for Java を使用して JPG から **検索可能な PDF** を作成しました。 +* 手順は画像の読み込み、テキスト認識、検索可能 PDF としての保存でした。 +* これで **image to searchable PDF**、**recognize text from image**、**extract text from jpg**、**convert jpg to pdf** の再利用可能なパターンが手に入りました。 + +自分のドキュメントで試してみて、必要に応じて言語設定を調整し、OCR に重い処理を任せましょう。コーディングを楽しんでください! + +![Create searchable PDF example](placeholder.png){alt="検索可能な PDF の例"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/japanese/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..9c16758d8 --- /dev/null +++ b/ocr/japanese/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,167 @@ +--- +category: general +date: 2026-02-19 +description: OCR のために画像の傾きを補正し、ノイズを除去する方法を学びます。このチュートリアルでは、テキスト画像の認識、画像の回転補正、そして Aspose + OCR を使用した画像の前処理方法を示します。 +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: ja +og_description: 画像の傾きを補正し、ノイズを除去してテキスト画像を高速に認識する方法。Aspose を使用して画像の回転を修正し、OCR 前処理を行うガイドです。 +og_title: 画像の傾き補正方法 – 完全OCR前処理チュートリアル +tags: +- OCR +- Java +- Image Processing +title: 画像の傾き補正方法 — ステップバイステップ OCR 前処理ガイド +url: /ja/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +. So fine. + +Now produce final content.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 画像の傾き補正方法 — 完全OCR前処理チュートリアル + +OCRエンジンに渡す前に、画像の傾き補正(**how to deskew image**)を行う方法を考えたことはありますか? 例えば、領収書の束をスキャンしたときに、ページが少し傾いていたり、ランダムなドットが散らばっていたりするかもしれません。これは一般的な悩みで、傾いたりノイズの多い画像は文字認識を妨げます。 + +良いニュースです。Aspose.OCR を使えば、数行の Java コードで画像の回転補正(correct image rotation)とノイズ除去(how to remove noise)を行うことができます。このガイドでは、ノイズがあり回転した PNG を読み込み、deskew と median denoise を適用し、**recognize text image** して結果を出力するまでの全工程を解説します。最後まで読めば、任意の Java プロジェクトに組み込める再利用可能なスニペットが手に入ります。 + +## 必要なもの + +- **Java 17** 以上(コードは古いバージョンでもコンパイルできますが、17 が最適です)。 +- **Aspose.OCR for Java** – 最新の JAR は Maven Central(`com.aspose:aspose-ocr`)から取得できます。 +- 回転とノイズが混在した画像ファイル(例:`noisy-rotated.png`)。 +- 軽量な IDE(IntelliJ、Eclipse、あるいは VS Code でも可)。 + +特別なビルドツールは不要です。シンプルに `javac` + `java` で実行すれば問題ありません。 + +## ステップ 1 – OCR エンジンインスタンスの作成 + +最初に行うのは `OcrEngine` のインスタンス化です。これは後で文字を読み取る脳のようなものと考えてください。 + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **プロのコツ:** 多数の画像を処理する場合はエンジンをシングルトンとして保持すると、内部バッファが再利用され、処理が高速化します。 + +## ステップ 2 – Deskew と Median Denoise の有効化(How to Remove Noise) + +ここでエンジンに **correct image rotation** と **how to remove noise** を指示します。どちらのフィルタもオプションですが、組み合わせることで精度が大幅に向上します。 + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +なぜ median denoise かというと、文字を構成するエッジ(線)を保持しつつ、孤立したピクセルを除去するからです。これがクリーンな OCR に必要な要素です。 + +## ステップ 3 – 処理対象画像の読み込み + +ここでは、エンジンにクリーニング対象のファイルを指定します。`ImageStream.fromFile` は PNG をメモリに読み込みます。 + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +画像がリモートサーバ上にある場合は、代わりに `InputStream` を渡すだけです—Aspose がスムーズに処理します。 + +## ステップ 4 – OCR を実行し、認識テキストを取得 + +前処理が有効になっているので、エンジンは補正された画像を読み取ります。`recognize()` 呼び出しは抽出された文字列を含む `RecognitionResult` を返します。 + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +元の画像が傾いていたり粒状であっても、コンソールにクリーンで読みやすいテキストが表示されるはずです。 + +## ステップ 5 – 結果の検証(期待される出力) + +すべてが正常に動作すると、コンソールには次のような出力が表示されます。 + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +出力にまだ文字化けがある場合は、以下を再確認してください。 + +- 画像の解像度(理想は ≥ 300 dpi)。 +- ファイルパスが正しいか。 +- 追加のフィルタ(例:`setContrastStretch`)が有効かどうか。 + +## オプション: 例画像で視覚的に確認 + +以下は、傾いてノイズのある領収書の小さなプレビューです。傾きに注目してください—このコードが自動で補正します。 + +![画像の傾き補正方法の例](deskew-demo.png "画像の傾き補正方法") + +*Alt text: 画像の傾き補正方法 – 前後の処理* + +## よくある質問 + +### PDF でも動作しますか、それとも PNG/JPEG のみですか? + +Aspose.OCR は PDF を直接読み取れます。`ImageStream.fromFile` を `ImageStream.fromPdf` に置き換えるだけです。同じ前処理フラグが適用されるので、**how to deskew image** と **how to remove noise** が引き続き利用できます。 + +### 後続の処理で元の向きを保持したい場合は? + +前処理を行う前に画像をクローンすることができます。 + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### デスクュー角度を手動で変更できますか? + +はい。`setDeskewAngle(double degrees)` を使用すれば、オートデテクトアルゴリズムを上書きして角度を手動で設定できます。極端な回転でオートデテクトが失敗する場合に便利です。 + +### Median Denoise は Gaussian Blur とどう違うのですか? + +Median フィルタは各ピクセルを周囲の中央値に置き換えるため、エッジを保持します。Gaussian Blur はすべてを平滑化し、文字のストロークまでぼやけさせる可能性があるため、OCR では median の方が安全です。 + +## まとめ + +このチュートリアルでは **how to deskew image** ファイルの方法を解説し、**how to remove noise** を実演し、Aspose OCR の組み込み前処理を使って **recognize text image** を行う方法を示しました。`setDeskew(true)` と `setMedianDenoise(true)` を有効にするだけで、**correct image rotation** とノイズ除去が自動的に行われ、乱雑なスキャンがクリーンなテキスト文字列に変換されます。 + +自由に試してみてください。異なるノイズ除去手法を試したり、PDF を入力したり、ループで複数画像を連結したりできます。同じパターン(engine → preprocess → recognize)はすべてのシナリオで機能し、あらゆる OCR パイプラインの堅実な基盤となります。 + +**次のステップ** として以下を検討できます: + +- **バッチ処理** – 画像フォルダを走査し、各結果を `.txt` ファイルに書き出す。 +- **言語パック** – 特定の言語辞書をロードして、英語以外のテキストの精度を向上させる。 +- **高度なフィルタ** – 低コントラストスキャン向けに `setContrastStretch` や `setBinarization` など。 + +他に質問がありますか? コメントを残してください。コーディングを楽しんで! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/_index.md b/ocr/korean/java/advanced-ocr-techniques/_index.md index fb7e0f2eb..3a9f82cfd 100644 --- a/ocr/korean/java/advanced-ocr-techniques/_index.md +++ b/ocr/korean/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,14 @@ Java용 Aspose.OCR을 사용하여 텍스트 인식 기능을 활용하세요. 정확한 텍스트 인식을 위해 Aspose.OCR로 Java 애플리케이션을 강화하세요. 통합이 쉽고 정확도가 높습니다. ### [Aspose.OCR에서 허용되는 문자 지정](./specify-allowed-characters/) Java용 Aspose.OCR을 사용하여 이미지에서 텍스트 추출을 원활하게 잠금 해제하세요. 효율적인 통합을 위한 단계별 가이드를 따르세요. +### [Java에서 OCR을 위한 GPU 활성화 방법 – 완전 가이드](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +GPU를 활용해 Java OCR 성능을 크게 향상시키는 단계별 가이드입니다. 빠른 텍스트 추출을 경험하세요. +### [Java에서 이미지 OCR 수행 – 손글씨 메모와 맞춤법 검사](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Java에서 손글씨 메모 이미지를 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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/korean/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..6725cae9e --- /dev/null +++ b/ocr/korean/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-02-19 +description: GPU를 사용하여 빠른 OCR 처리를 활성화하는 방법. 고해상도 이미지를 로드하고, 텍스트 이미지를 인식하며, Aspose + OCR을 사용하여 텍스트를 추출하는 방법을 배웁니다. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: ko +og_description: GPU를 활성화하여 빠른 OCR 처리를 수행하는 방법. 이 가이드는 고해상도 이미지를 로드하고, 텍스트 이미지를 인식하며, + Aspose OCR을 사용하여 텍스트를 추출하는 방법을 보여줍니다. +og_title: Java에서 OCR을 위해 GPU를 활성화하는 방법 – 완전 가이드 +tags: +- OCR +- Java +- GPU +- Aspose +title: Java에서 OCR을 위한 GPU 활성화 방법 – 완전 가이드 +url: /ko/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java에서 OCR을 위한 GPU 활성화 방법 – 완전 가이드 + +OCR 파이프라인에서 **GPU를 활성화하는 방법**을 궁금해 본 적 있나요? 처리 시간을 몇 초 단축시킬 수 있습니다. 혼자가 아닙니다. 이미지가 많은 프로젝트에서는 CPU에 의존하는 텍스트 추출 단계가 병목이 되며, GPU로 전환하면 게임 체인저가 될 수 있습니다. + +이 튜토리얼에서는 **고해상도 이미지**를 로드하고, Aspose OCR을 GPU에서 실행하도록 구성하며, 마지막으로 **텍스트 이미지 인식** 및 **텍스트 추출**을 Java 몇 줄로 수행하는 과정을 안내합니다. 끝까지 진행하면 **GPU 처리 활성화**를 엔드‑투‑엔드로 보여주는 실행 가능한 프로그램을 얻게 됩니다. + +## 필요 사항 + +- Java 17 또는 그 이상(코드는 모듈 시스템을 사용하지만 약간의 수정으로 이전 JDK에서도 작동) +- Aspose OCR for Java 23.10(또는 최신 버전) – Maven 좌표는 Aspose 사이트에서 확인 가능 +- CUDA 12+ 드라이버가 설치된 NVIDIA GPU(라이브러리가 시작되지 않음) +- 텍스트를 읽고 싶은 고해상도 샘플 이미지(PNG 또는 JPEG) + +그게 전부입니다. 외부 서비스나 클라우드 크레딧 없이, 여러분의 머신과 올바른 드라이버 스택만 있으면 됩니다. + +![GPU OCR 워크플로 – GPU 처리 활성화 방법](gpu-ocr-workflow.png) + +*이미지 대체 텍스트: Java에서 OCR 처리를 위한 GPU 활성화 방법을 보여주는 다이어그램.* + +## 단계별 구현 + +아래에서는 솔루션을 논리적인 청크로 나눕니다. 각 섹션에는 간결한 코드 스니펫, 단계가 중요한 **이유**에 대한 설명, 그리고 나중에 유용하게 사용할 몇 가지 실용적인 팁이 포함됩니다. + +### GPU를 활성화하는 방법 – 단계 1: 종속성 설치 및 CUDA 확인 + +Java 코드가 실행되기 전에, 네이티브 CUDA 런타임을 찾을 수 있어야 합니다. Windows에서는 다음 명령으로 확인할 수 있습니다: + +```bat +nvcc --version +``` + +Linux에서는: + +```bash +nvidia-smi +``` + +명령이 드라이버 버전과 GPU 정보를 출력하면 준비된 것입니다. 그렇지 않다면 NVIDIA 웹사이트로 이동해 적절한 드라이버를 다운로드하고 CUDA 툴킷을 설치하세요(버전이 Aspose OCR 요구 사항(현재 12.x)과 일치하는지 확인). + +**팁:** GPU 드라이버를 최신 상태로 유지하되 “latest‑beta” 릴리스는 피하세요; 때때로 Aspose 네이티브 라이브러리와의 바이너리 호환성을 깨뜨릴 수 있습니다. + +### GPU를 활성화하는 방법 – 단계 2: Aspose OCR Maven 종속성 추가 + +`pom.xml`에 다음을 추가하세요. 이렇게 하면 핵심 OCR 엔진과 Windows, Linux, macOS용 네이티브 GPU 바이너리가 포함됩니다. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Gradle을 선호한다면 동등한 내용은: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +프로젝트를 새로 고친 후, `OcrEngine`, `OcrDeviceType`, `ImageStream` 클래스가 사용 가능해집니다. + +### GPU를 활성화하는 방법 – 단계 3: OCR 엔진 생성 및 GPU 활성화 + +이제 실제로 Aspose에 GPU에서 실행하도록 지시합니다. `OcrEngine`은 처리 장치 유형을 전환할 수 있는 `Device` 객체를 노출합니다. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**왜 중요한가:** `OcrDeviceType.GPU`를 설정하면 기본 추론 엔진이 CPU 전용 구현에서 CUDA 가속 구현으로 전환됩니다. 선택적인 `setStreamCount` 호출을 통해 병렬성을 제어할 수 있으며, 대부분의 소비자용 카드에서는 두 개의 스트림이 안전한 기본값입니다. + +### GPU를 활성화하는 방법 – 단계 4: 고해상도 이미지 로드 + +고해상도 소스는 OCR 모델에 더 많은 시각적 디테일을 제공하여, 특히 작은 글꼴이나 복잡한 스크립트에서 정확도가 높아집니다. `ImageStream.fromFile` 헬퍼는 파일을 엔진이 기대하는 형식으로 읽어들입니다. + +URL이나 메모리 내 바이트 배열에서 **고해상도 이미지 로드**가 필요하면 다음을 사용할 수 있습니다: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**예외 상황:** 일부 GPU는 최대 텍스처 크기가 제한되어 있습니다(보통 16384 × 16384). 이미지가 이를 초과하면 가독성을 유지할 수 있는 크기로 다운스케일을 고려하세요(예: 3000 × 2000). 로드하기 전에 `ocrEngine.setResizeFactor(0.5)`를 호출하면 OCR 엔진이 자동으로 크기를 조정합니다. + +### GPU를 활성화하는 방법 – 단계 5: 텍스트 이미지 인식 및 텍스트 추출 + +`ocrEngine.recognize()`를 호출하면 GPU에서 신경망 추론이 시작됩니다. 이 메서드는 `OcrResult` 객체를 반환하며, `getText()`는 순수 문자열을 추출합니다. 필요에 따라 경계 상자, 신뢰도 점수, 혹은 원시 JSON도 가져올 수 있습니다. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**왜 이렇게 할까:** `텍스트 이미지 인식` 단계는 GPU가 빛을 발하는 부분입니다—CPU에서 몇 초가 걸리던 대형 이미지도 훨씬 짧은 시간에 처리됩니다. 신뢰도 점수를 사용하면 저품질 결과를 필터링할 수 있어, 이후 **텍스트 추출 방법**을 통해 하위 분석에 활용할 때 유용합니다. + +### 전문가 팁 및 일반적인 함정 + +| Situation | What to Do | +|-----------|------------| +| **GPU에서 메모리 부족 오류** | `setStreamCount`를 1로 줄이거나, 엔진에 전달하기 전에 이미지를 다운스케일하세요. | +| **고해상도에도 인식되지 않는 문자** | 언어 모델(`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`)이 텍스트 언어와 일치하는지 확인하세요. | +| **CUDA 버전 불일치** | CUDA 툴킷 버전을 Aspose OCR에 포함된 버전과 맞추세요(릴리즈 노트를 확인). | +| **다중 GPU** | 첫 번째 GPU가 바쁠 경우 `ocrEngine.getDevice().setDeviceId(1)`을 사용해 두 번째 GPU를 선택하세요. | +| **헤드리스 서버에서 실행** | 추가 단계가 필요 없습니다; GPU 드라이버는 디스플레이 없이도 작동합니다. | + +## 텍스트 추출 방법 – 출력 검증 + +위 클래스를 실행하면 다음과 같은 결과가 표시됩니다: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +출력이 깨져 보이면 이미지가 실제로 고해상도인지, GPU 드라이버가 올바르게 설치되었는지 다시 확인하세요. 또한 자세한 로깅을 활성화할 수 있습니다: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +## 다음 단계 및 관련 주제 + +- **배치 처리:** `OcrEngine`을 루프에 감싸고 이미지 경로 목록을 전달하세요. 동일한 엔진 인스턴스를 재사용하면 GPU 초기화 오버헤드를 반복하지 않아도 됩니다. +- **언어 감지:** Aspose OCR은 30개 이상의 언어를 지원합니다. `ocrEngine.setLanguage(OcrLanguage.FRENCH)`로 전환하세요. +- **후처리:** 정규식을 사용해 추출된 문자열을 정리하거나, 하위 NLP 파이프라인에 전달하세요. +- **대체 장치:** CUDA 지원 GPU가 없으면 `OcrDeviceType.CPU`로 대체할 수 있습니다. 동일한 코드가 작동하므로 장치 유형만 변경하면 됩니다. +- **성능 벤치마킹:** `recognize()` 전후에 `System.nanoTime()`으로 시간 차이를 측정하여 **GPU 처리 활성화**로 얻은 이득을 정량화하세요. + +### 정리 + +우리는 Java에서 Aspose OCR을 위한 **GPU 활성화 방법**을 다루었습니다. 올바른 드라이버 설치부터 **고해상도 이미지** 로드, **텍스트 이미지 인식**, 그리고 최종적으로 결과에서 **텍스트 추출 방법**까지. 위의 완전한 실행 예제는 최신 NVIDIA GPU에서 바로 작동합니다. + +한 번 실행해 보고, 다양한 이미지 크기로 실험해 보세요. OCR 처리량이 급상승하는 것을 확인할 수 있을 겁니다. 문제가 발생하면 팁 섹션을 다시 확인하거나 Aspose 릴리즈 노트를 살펴봐 최신 **GPU 처리 활성화** 권장 사항을 확인하세요. + +코딩 즐겁게 하시고, 텍스트를 처리하는 동안 GPU가 시원하게 유지되길 바랍니다! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/korean/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..bc2120eac --- /dev/null +++ b/ocr/korean/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,251 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR을 사용하여 Java에서 손글씨 메모 이미지를 OCR하는 방법을 배웁니다. OCR을 위한 이미지 로드, 손글씨 + 메모 읽기 및 손글씨 이미지 텍스트 변환을 포함합니다. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: ko +og_description: Aspose를 사용하여 Java에서 손글씨 메모 이미지에 OCR을 적용하는 방법. OCR을 위해 이미지를 로드하고, 손글씨 + 메모를 읽으며, 손글씨 이미지 텍스트를 변환하는 단계별 가이드. +og_title: Java에서 이미지 OCR하는 방법 – 손글씨 노트 가이드 +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Java에서 이미지 OCR하는 방법 – 맞춤법 검사가 포함된 손글씨 메모 +url: /ko/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +>}} + +All unchanged. + +Now produce final content with translated Korean text. + +Check for any missed bold phrases: **load image for OCR**, **read handwritten notes**, **convert handwritten image text**. Keep them unchanged. + +Also ensure we didn't translate code block placeholders. + +Now produce final answer.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java에서 이미지 OCR하기 – 손글씨 메모와 맞춤법 검사 + +당신은 손으로 적은 장보기 목록이나 회의록을 포함한 **how to OCR image**가 궁금했던 적이 있나요? 당신만 그런 것이 아닙니다. 실제 애플리케이션에서는 개발자들이 손글씨 메모를 읽어 검색 가능한 텍스트로 변환해야 합니다—수동으로 다시 입력할 필요가 없습니다. + +이번 튜토리얼에서는 Aspose OCR for Java를 사용하여 **how to OCR image**를 수행하고, **load image for OCR**를 로드하는 방법과 내장 맞춤법 교정 기능이 포함된 **read handwritten notes** 방법을 보여주는 완전한 실행 가능한 예제를 단계별로 살펴보겠습니다. 마지막까지 진행하면 **convert handwritten image text**를 깨끗한 문자열로 변환하여 저장, 인덱싱 또는 표시할 수 있게 됩니다. + +## 배울 내용 + +- 영어 손글씨를 인식할 수 있는 OCR 엔진을 설정하는 정확한 단계. +- 디스크에서 **load image for OCR**를 로드하고 엔진에 전달하는 방법. +- 지저분한 필기에서 맞춤법 검사기를 활성화하는 것이 중요한 이유. +- 저대비 이미지나 언어 팩이 없는 경우와 같은 일반적인 엣지 케이스를 처리하는 방법. +- IDE에 붙여넣고 즉시 결과를 확인할 수 있는 완전한 실행 가능한 코드 샘플. + +> **Prerequisites**: Java 8+ 설치, Maven 또는 Gradle을 통한 의존성 관리, 그리고 Aspose OCR for Java 라이선스(무료 체험판으로 학습 가능). 다른 외부 라이브러리는 필요하지 않습니다. + +## 단계 1: 프로젝트 설정 및 Aspose OCR 의존성 추가 + +우선, 프로젝트에 Aspose OCR 라이브러리가 필요합니다. Maven을 사용하는 경우 `pom.xml`에 다음을 추가하세요: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Gradle을 사용하는 경우: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **팁**: 버전 번호를 확인하세요; 최신 릴리스는 손글씨 인식이 향상되고 언어 지원이 추가됩니다. + +의존성이 해결되면 **load image for OCR**를 수행할 준비가 됩니다. + +## 단계 2: OCR 엔진 인스턴스 생성 + +**how to OCR image**를 효과적으로 수행하려면 `OcrEngine` 객체가 필요합니다. 이 객체는 프로세스의 핵심으로, 언어 설정, 맞춤법 검사 플래그 및 이미지를 보유합니다. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +왜 먼저 엔진을 인스턴스화할까요? Aspose OCR은 재사용 가능하도록 설계되었기 때문에, 필요에 따라 설정을 조정하면서 동일한 인스턴스로 여러 이미지를 처리할 수 있습니다. + +## 단계 3: 영어 언어 지원 추가 및 맞춤법 교정 활성화 + +손글씨 메모는 종종 철자 오류, 누락된 문자 또는 비표준 약어가 섞여 있습니다. 맞춤법 검사기를 활성화하면 엔진이 출력 결과를 정리할 수 있습니다. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **왜 맞춤법 교정을 활성화하나요?** +> 활성화하지 않으면 원시 OCR 출력이 “t0d@y” 또는 “c0ffee”와 같이 나타날 수 있습니다. 맞춤법 검사기는 이러한 이상을 정상화하여 최종 텍스트를 검색 인덱싱과 같은 후속 처리에 훨씬 유용하게 만듭니다. + +## 단계 4: 손글씨 이미지 로드 + +이제 **load image for OCR**를 수행합니다. Aspose는 PNG, JPEG, BMP와 같은 일반 래스터 형식을 받아들이는 편리한 `ImageStream.fromFile` 메서드를 제공합니다. + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +이미지가 리소스 폴더에 있거나 바이트 배열(예: 웹 업로드)로 전달되는 경우 `ImageStream.fromBytes`를 사용할 수 있습니다—위 줄을 다음과 교체하면 됩니다: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## 단계 5: OCR 수행 및 교정된 텍스트 가져오기 + +엔진이 구성되고 이미지가 로드되면 실제 **how to OCR image** 호출은 한 줄로 이루어집니다: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +`recognize()` 메서드는 일반 텍스트뿐만 아니라 신뢰도 점수, 경계 상자 등을 포함하는 `OcrResult` 객체를 반환합니다. 대부분의 경우 일반 `getText()`만으로 충분합니다. + +## 단계 6: 결과 출력 + +마지막으로 정리된 문자열을 콘솔에 출력합니다. 실제 애플리케이션에서는 이를 데이터베이스에 저장하거나 검색 엔진에 전달하거나 언어 모델에 넘길 수 있습니다. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### 예상 출력 + +손글씨 메모가 다음과 같다고 가정하면: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +다음과 같은 결과가 표시됩니다: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +원본 필기가 지저분했더라도—예: “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”—맞춤법 검사기가 보통 이를 바로잡아 줍니다. + +## OCR 이미지 로드 – 정확도 향상을 위한 팁 + +1. **해상도가 중요합니다** – 최소 300 dpi를 목표로 하세요. 낮은 해상도는 엔진이 작은 획을 놓치게 합니다. +2. **대비가 핵심** – 배경이 색상이 있으면 먼저 이미지를 그레이스케일로 변환하세요. +3. **내용에 맞게 자르기** – 불필요한 여백을 제거하면 노이즈가 감소하고 처리 속도가 빨라집니다. + +Aspose에 전달하기 전에 OpenCV와 같은 라이브러리나 Java 내장 `BufferedImage`를 사용해 이미지를 전처리할 수 있습니다. + +## 손글씨 메모 읽기: 엣지 케이스 처리 + +- **신뢰도가 낮은 단어**: `ocrEngine.getResult().getWords()`는 각 단어에 신뢰도 값(0–100)이 있는 리스트를 반환합니다. 임계값 이하의 단어를 필터링하고 사용자가 수동 검토하도록 요청할 수 있습니다. +- **다중 언어**: 영어와 스페인어 두 언어의 **read handwritten notes**가 필요하면 `recognize()` 호출 전에 두 언어를 모두 추가하세요. +- **대용량 파일**: 다중 페이지 PDF나 TIFF의 경우 루프 안에서 `ocrEngine.setImage(pageStream)`을 사용해 각 페이지를 순회합니다. + +## 손글씨 이미지 텍스트를 구조화된 데이터로 변환 + +대부분 원시 문자열만으로는 부족하고 날짜, 금액, 체크리스트 항목 등을 추출하고 싶을 수 있습니다. 교정된 텍스트를 얻은 후 정규식이나 NLP 라이브러리(예: Stanford CoreNLP)를 사용해 내용을 파싱할 수 있습니다: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +이 스니펫은 **convert handwritten image text**를 실행 가능한 데이터로 변환하는 것이 얼마나 쉬운지 보여줍니다. + +## 흔히 발생하는 문제와 회피 방법 + +| 증상 | 가능한 원인 | 해결 방법 | +|---------|--------------|-----| +| 깨진 출력, `?` 문자 다수 | 이미지가 너무 어둡거나 대비가 낮음 | 밝기를 높이거나 히스토그램 평활화로 전처리 | +| 단어 누락 | 필기체가 너무 흐름 | `ocrEngine.getSettings().setEnableCursive(true)` 활성화 (지원되는 경우) | +| 맞춤법 검사기가 잘못된 단어를 삽입 | 언어 모델 불일치 | `ocrEngine.getSpellChecker().addUserWords(...)` 로 사용자 사전 추가 | +| 대용량 이미지에서 메모리 부족 오류 | 이미지 크기 > 10 MB | 로드 전에 축소하거나 타일 단위로 처리 | + +## 전체 작업 예제 (복사‑붙여넣기 준비) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **참고**: IDE에서 코드를 실행하는 경우 `YOUR_DIRECTORY` 폴더가 클래스패스에 포함되어 있거나 절대 경로를 사용하십시오. + +## 결론 + +우리는 Java에서 **how to OCR image**를 처음부터 끝까지 다루었으며, **load image for OCR**, **read handwritten notes** 방법, 맞춤법 교정 활성화, 그리고 최종적으로 **convert handwritten image text**를 깨끗한 문자열로 변환하는 과정을 보여주었습니다. 이 접근 방식은 간단하면서도 프로덕션 수준 애플리케이션에 충분히 강력합니다. + +다음 도전에 준비가 되었나요? 다중 페이지 PDF를 실험해 보거나, 산업 특화 용어를 위한 사용자 사전을 추가하거나, OCR 출력을 감성 분석을 위한 머신러닝 모델에 전달해 보세요. Aspose OCR의 정확도와 Java의 유연성을 결합하면 무한한 가능성이 열립니다. + +특정 엣지 케이스에 대한 질문이 있거나 모바일 앱에 통합한 경험을 공유하고 싶다면 아래에 댓글을 남겨 주세요—코딩 즐겁게! + +![how to OCR image example](/images/ocr-handwritten-example.png "how to OCR image of handwritten notes") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/korean/java/ocr-basics/_index.md index 60fb6c015..1a586b180 100644 --- a/ocr/korean/java/ocr-basics/_index.md +++ b/ocr/korean/java/ocr-basics/_index.md @@ -104,15 +104,17 @@ A: 영어, 스페인어, 중국어, 아라비아어 등을 포함해 30개 이 ### [Java에서 Aspose.OCR 라이선스 설정 방법](./set-license/) -이 단계별 가이드를 통해 Aspose.OCR for Java의 잠재력을 활용하십시오. 라이선스를 손쉽게 설정하고 OCR 기능을 강화하세요. - ### [Java에서 Aspose.OCR로 기울기 각도 계산](./calculate-skew-angle/) -Aspose.OCR for Java로 OCR 정확도를 향상시키세요. 단계별로 기울기 각도 계산 방법을 배우고 문서 처리를 손쉽게 개선하십시오. - ### [Aspose.OCR에서 텍스트 영역 사각형 얻기](./get-rectangles-with-text-areas/) -Aspose.OCR for Java의 강력함을 활용하십시오. 이 단계별 가이드에서 이미지에서 텍스트를 원활히 추출하는 방법을 배우세요. 효율적인 텍스트 인식을 위해 지금 다운로드하십시오. +### [Java에서 PNG 이미지의 텍스트 인식 – Aspose OCR 튜토리얼](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) + +### [이미지에서 텍스트 추출 – Java에서 PNG를 텍스트로 변환](./extract-text-from-image-convert-png-to-text-in-java/) + +### [Java에서 이미지에서 텍스트 추출 – 완전 OCR 예제](./extract-text-from-image-in-java-complete-ocr-example/) + +### [Aspose OCR로 이미지에서 텍스트 추출 – Java 빠른 가이드](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) --- @@ -125,4 +127,4 @@ Aspose.OCR for Java의 강력함을 활용하십시오. 이 단계별 가이드 {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/korean/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..b34ce35ad --- /dev/null +++ b/ocr/korean/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR Java를 사용하여 이미지에서 텍스트 추출 – PNG를 텍스트로 변환하는 방법, OCR을 위한 이미지 로드 + 방법, 그리고 Java OCR 튜토리얼을 따라해 보세요. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: ko +og_description: Aspose OCR Java를 사용하여 이미지에서 텍스트를 추출합니다. PNG를 텍스트로 변환하고 OCR을 위해 이미지를 + 로드하는 단계별 Java OCR 튜토리얼을 따라보세요. +og_title: 이미지에서 텍스트 추출 – Java OCR 가이드 +tags: +- OCR +- Java +- Aspose +- Image Processing +title: 이미지에서 텍스트 추출 – Java로 PNG를 텍스트로 변환 +url: /ko/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 이미지에서 텍스트 추출 – Java OCR 튜토리얼 + +Ever needed to **extract text from image** but weren't sure which library would let you do it without jumping through hoops? You're not the only one—developers constantly ask, “How can I convert a PNG to text in Java?” The good news is that Aspose OCR makes the whole process feel like a walk in the park. In this guide we'll walk through a complete **java ocr tutorial**, show you how to **load image for OCR**, and end up with clean, searchable text. + +우리는 엔진 설정부터 다국어 콘텐츠 처리까지 모든 것을 다룰 것이며, 끝까지 진행하면 어떤 크기, 형식, 언어의 **extract text from image** 파일도 처리할 수 있게 됩니다. 외부 서비스도, API 키도 필요 없습니다—단일 JAR 파일과 몇 줄의 코드만 있으면 됩니다. + +## 필요 사항 + +- JDK 8 이상 설치 (코드는 JDK 11+에서도 작동합니다). +- Maven 또는 Gradle을 사용해 Aspose OCR 라이브러리를 가져오거나, Aspose 웹사이트에서 JAR를 직접 다운로드할 수 있습니다. +- 읽을 수 있는 텍스트가 포함된 PNG 이미지 (`khmer-sign.png`를 예제로 사용합니다). +- 익숙한 IDE 또는 텍스트 편집기—IntelliJ IDEA, Eclipse, VS Code 등 어느 것이든 괜찮습니다. + +이것만 있으면 됩니다. 무거운 프레임워크도, 클라우드 자격 증명도 필요 없습니다. 준비되셨나요? 이미지 파일에서 텍스트 추출을 시작해봅시다. + +## Step 1: 프로젝트에 Aspose OCR 추가 + +우선 먼저—OCR 엔진을 클래스패스에 추가해야 합니다. Maven을 사용한다면 `pom.xml`에 다음 의존성을 추가하세요: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Gradle을 사용할 경우: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +수동으로 진행하고 싶다면 Aspose 다운로드 페이지에서 JAR를 받아 프로젝트의 `libs` 폴더에 넣고, 빌드 경로에 추가하세요. + +> **Pro tip:** 항상 최신 안정 버전을 선택하세요; 오래된 릴리스는 언어 팩이나 버그 수정이 누락될 수 있습니다. + +## Step 2: OCR 엔진 인스턴스 생성 + +라이브러리를 사용할 수 있게 되었으니 `OcrEngine`을 생성할 수 있습니다. 엔진은 픽셀을 읽어 문자로 변환하는 두뇌와 같습니다. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +왜 매번 새로운 엔진을 생성할까요? 엔진은 내부 버퍼와 언어 데이터를 보유하고 있기 때문에, 초기화된 상태에서 시작하면 특히 나중에 언어를 전환할 때 결정적인 결과를 보장합니다. + +## Step 3: 원하는 언어 활성화 (선택 사항이지만 권장됨) + +Aspose OCR은 수십 개의 언어 팩을 제공합니다. 원본 이미지의 언어를 알고 있다면 명시적으로 활성화하세요; 이렇게 하면 인식 속도가 빨라지고 정확도가 향상됩니다. 예제에서는 Khmer(`khm`)를 활성화하지만, `ENG`(영어), `CHN`(중국어) 등으로 교체할 수 있습니다. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Why this matters:** **load image for OCR**를 수행하면 엔진은 활성화된 언어 사전만 검색합니다. 모든 언어를 켜두면 속도가 느려지고 오탐이 증가할 수 있습니다. + +## Step 4: OCR용 이미지 로드 – PNG를 텍스트로 변환 + +여기서 **load image for OCR** 단계가 수행됩니다. Aspose는 저수준 I/O를 추상화한 편리한 `ImageStream.fromFile` 헬퍼를 제공합니다. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +이미지가 다른 형식(JPEG, BMP, TIFF)이라면 동일한 메서드가 작동합니다—Aspose가 자동으로 형식을 감지합니다. 파일 경로가 정확한지 확인하세요; 그렇지 않으면 `FileNotFoundException`이 발생합니다. + +## Step 5: OCR 프로세스 실행 및 PNG를 텍스트로 변환 + +엔진이 준비되고 이미지가 로드되면 실제 인식은 단일 메서드 호출로 이루어집니다. 결과 객체는 원시 문자열과 신뢰도 점수를 제공합니다. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +이것으로 끝—방금 **convert PNG to text**를 수행했습니다. 반환된 문자열은 엔진이 본 그대로 줄 바꿈과 공백을 포함할 수 있습니다. 필요에 따라 `trim()`, `replaceAll("\\s+", " ")` 등으로 후처리할 수 있습니다. + +## Step 6: 결과 출력 (또는 저장) + +간단히 확인하려면 결과를 콘솔에 출력하세요. 실제 애플리케이션에서는 파일, 데이터베이스에 저장하거나 다른 서비스에 전달할 것입니다. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Expected output** (제공된 Khmer 사인에 대한) 예시는 다음과 같습니다: + +``` +សួស្តី +Welcome +``` + +출력이 깨진 경우 Step 3에서 올바른 언어를 활성화했는지, 이미지가 너무 흐릿하지 않은지 다시 확인하세요. 이미지 해상도를 높이면(예: 300 dpi 스캔) 도움이 되는 경우가 많습니다. + +## 전체 작업 예제 + +모든 부분을 합치면, `ExtractTextExample.java`에 복사·붙여넣기하여 실행할 수 있는 독립형 프로그램이 다음과 같습니다: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +프로그램을 실행하려면: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +Gradle을 사용하는 경우: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +콘솔에 추출된 텍스트가 출력될 것이며, Aspose OCR을 사용해 **extract text from image**에 성공했음을 확인할 수 있습니다. + +## 일반적인 문제점 및 해결 방법 + +| 증상 | 가능한 원인 | 해결 방법 | +|---------|--------------|-----| +| 빈 문자열 반환 | 언어가 활성화되지 않았거나 잘못된 언어 코드 | 적절한 `OcrLanguage`를 추가하세요(예: 영어는 `ENG`). | +| 깨진 문자 | 이미지 해상도가 낮거나 배경이 잡음 | 고해상도 소스를 사용하거나 샤프닝 필터로 전처리하세요. | +| `OutOfMemoryError` | 전체 크기의 매우 큰 이미지를 로드 | 엔진에 전달하기 전에 이미지를 축소하세요(`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | 잘못된 경로 | 절대 경로나 상대 경로를 확인하고, `Paths.get(...).toAbsolutePath()`를 사용하세요. | + +> **Remember:** OCR은 확률적 프로세스입니다. 완벽한 설정이라도 특히 필기체 스크립트의 경우 몇몇 문자를 수동으로 교정해야 할 수도 있습니다. + +## 튜토리얼 확장 – 다음 단계 + +- **Batch processing:** PNG 파일이 들어 있는 디렉터리를 순회하며 각 이미지에 동일한 로직을 적용합니다. +- **PDF output:** Aspose PDF를 사용해 추출된 텍스트를 검색 가능한 PDF에 삽입합니다. +- **Language detection:** 언어를 설정하기 전에 `ocrEngine.detectLanguage()`를 호출해 엔진이 자동으로 추측하도록 합니다. +- **Cloud integration:** 확장이 필요하면 코드를 REST 엔드포인트로 감싸 마이크로서비스가 호출하도록 합니다. + +이 모든 주제는 방금 완료한 **java ocr tutorial**을 기반으로 하며, Aspose OCR API가 얼마나 다재다능한지 보여줍니다. + +## 결론 + +우리는 Aspose OCR을 사용해 **extract text from image** 파일을 처리하고, **convert PNG to text**를 수행하며, **load image for OCR**를 올바르게 수행하는 완전한 **java ocr tutorial**을 진행했습니다. 단계는 간단합니다: 라이브러리를 추가하고, 엔진을 생성하고, 올바른 언어를 활성화하고, PNG를 로드하고, `recognize()`를 실행하고, 출력을 처리합니다. 이 기반을 통해 데이터 입력을 자동화하고, 검색 가능한 아카이브를 구축하거나, 사진에서 기계가 읽을 수 있는 텍스트가 필요한 모든 애플리케이션을 구동할 수 있습니다. + +직접 이미지를 사용해 시도해 보세요—예를 들어 영수증 스크린샷이나 스캔한 계약서 등. 언어 설정을 조정하고 해상도를 실험하면 솔루션이 얼마나 유연한지 금방 알 수 있습니다. 문제가 발생하면 문제점 표를 다시 확인하거나 Aspose 공식 문서를 참고하세요; 문서는 상세하고 최신 상태로 유지됩니다. + +코딩을 즐기세요, 그리고 다음 프로젝트가 깨끗하고 검색 가능한 텍스트로 가득하길 바랍니다! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/korean/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..5a16a6681 --- /dev/null +++ b/ocr/korean/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,145 @@ +--- +category: general +date: 2026-02-19 +description: Java OCR을 사용하여 이미지에서 텍스트를 추출합니다. 몇 단계만으로 OCR용 이미지를 로드하고 청구서 파일에서 텍스트를 + 추출하는 Java OCR 예제를 배워보세요. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: ko +og_description: Java OCR을 사용하여 이미지에서 텍스트를 추출합니다. 이 가이드는 OCR을 위해 이미지를 로드하고 간단한 Java + OCR 예제로 청구서에서 텍스트를 추출하는 방법을 보여줍니다. +og_title: Java에서 이미지 텍스트 추출 – 완전한 OCR 예제 +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Java에서 이미지에서 텍스트 추출 – 완전한 OCR 예제 +url: /ko/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java에서 이미지에서 텍스트 추출 – 완전 OCR 예제 + +이미지에서 **텍스트를 추출**해야 할 때, 어떤 라이브러리를 선택해야 할지 몰라 고민한 적 있나요? 혼자가 아닙니다—많은 개발자들이 청구서 처리 자동화나 검색 가능한 아카이브 구축 시 이 문제에 부딪힙니다. 좋은 소식은? 몇 줄의 Java 코드만으로 OCR용 이미지를 로드하고, 관심 영역을 정의하며, 필요한 정확한 텍스트를 추출할 수 있다는 것입니다. + +이 튜토리얼에서는 Aspose.OCR을 사용하여 **java ocr example**을 단계별로 살펴보며, **load image for OCR** 방법, ROI 설정, 그리고 **extract text from invoice** 파일을 추출하는 과정을 보여드립니다. 끝까지 따라오시면 어떤 Java 프로젝트에도 넣어 실행할 수 있는 프로그램을 얻게 됩니다. + +## 배울 내용 + +- `OcrEngine` 인스턴스를 생성하는 방법과 그 중요성. +- Aspose의 `ImageStream`을 사용한 **load image for OCR**의 올바른 방법. +- **region of interest (ROI)** 설정 방법으로, 청구서 금액이 포함된 이미지 부분만 처리하도록 합니다. +- 인식된 텍스트를 추출하고 콘솔에 출력하기. +- 일반적인 함정(예: 잘못된 사각형 좌표)과 빠른 해결 방법. + +**필수 조건** + +- Java 8 이상이 설치되어 있어야 합니다. +- Aspose.OCR 라이브러리(`com.aspose:aspose-ocr`)를 가져오기 위한 Maven 또는 Gradle. +- 알려진 디렉터리에 위치한 샘플 청구서 이미지(`invoice.png`). + +다 준비되셨나요? 좋습니다—시작해 봅시다. + +![Extract text from image using Java OCR](/images/extract-text-from-image-java.png "extract text from image example") + +## 이미지에서 텍스트 추출 – 단계별 Java OCR 예제 + +아래는 전체 소스 코드입니다. `RoiOcrExample.java`에 복사‑붙여넣기하고 바로 실행해 보세요. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### 각 단계가 중요한 이유 + +1. **Creating the OCR engine** – 엔진이 없으면 이미지 처리 컨텍스트가 없습니다. 이 객체를 통해 나중에 다국어 지원이 필요할 경우 언어 팩을 조정할 수 있습니다. +2. **Loading the image** – `ImageStream.fromFile`은 파일 형식을 추상화하여 엔진이 바이트를 올바르게 읽도록 합니다. 이를 생략하면 `NullPointerException`이 발생합니다. +3. **Setting the ROI** – 전체 페이지를 처리하면 비효율적입니다. 사각형을 청구서 총액 영역으로 좁히면 인식 속도가 빨라지고 잡음이 감소합니다. +4. **Calling `recognize()`** – 바로 여기서 마법이 일어납니다. 이 메서드는 ROI에 대해 OCR 알고리즘을 실행하고 결과 객체를 반환합니다. +5. **Printing the output** – 실제 프로젝트에서는 텍스트를 데이터베이스에 저장할 가능성이 높지만, `System.out.println`은 빠른 데모에 적합합니다. + +## OCR용 이미지 로드 + +경로를 절대 경로나 상대 경로로 지정해야 하는지 궁금하다면, 두 방식 모두 작동합니다—단지 Java 프로세스가 파일을 읽을 수 있도록 하면 됩니다. Windows에서는 백슬래시를 이스케이프해야 합니다(`C:\\images\\invoice.png`) 혹은 슬래시(`/`)를 사용할 수도 있습니다(`C:/images/invoice.png`). + +**Pro tip:** 루프에서 많은 청구서를 처리한다면 동일한 `OcrEngine` 인스턴스를 재사용하세요; 내부 리소스를 캐시하여 처리량을 향상시킵니다. + +## 관심 영역 (ROI) 정의 + +올바른 사각형을 선택하는 것은 약간의 시행착오가 필요할 수 있습니다. 좌표를 찾는 편리한 방법은 이미지를 GIMP나 Paint.NET 같은 그래픽 편집기에서 열고 영역 위에 마우스를 올리는 것입니다—상태 표시줄에 X/Y 값이 표시됩니다. + +예외 상황: 일부 청구서는 레이아웃이 가변적입니다. 이 경우 전체 이미지를 빠르게 사전 스캔하여 “Total:”과 같은 키워드를 정규식으로 찾은 뒤, ROI를 동적으로 조정할 수 있습니다. + +## OCR 수행 및 텍스트 가져오기 + +`recognize()` 호출은 동기식이며, 엔진이 완료될 때까지 스레드가 차단됩니다. 대량 배치 처리 시 스레드 풀을 생성해 이미지를 병렬 처리할 수 있습니다. 단, 각 스레드마다 별도의 `OcrEngine` 인스턴스가 필요합니다; 이 객체는 스레드 안전하지 않습니다. + +## 실행 및 출력 확인 + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +You should see something like: + +``` +ROI text: $1,254.00 +``` + +출력이 깨져 보인다면 ROI 좌표를 다시 확인하고 이미지 품질이 높은지 확인하세요(300 dpi 이상이 가장 좋습니다). + +### 일반적인 함정 및 해결 방법 + +| 증상 | 가능한 원인 | 해결 방법 | +|---------|--------------|-----| +| 빈 문자열 | ROI가 이미지 범위 밖에 있음 | 이미지 크기에 맞게 사각형 값을 확인 | +| 잘못 인식된 단어 | 해상도 낮음 | 고해상도 소스를 사용하거나 이미지 전처리(예: 이진화)를 적용 | +| `java.lang.NoClassDefFoundError` | 클래스패스에 Aspose JAR 누락 | `aspose-ocr.jar`를 `-cp`에 추가하거나 Maven/Gradle 의존성 관리 사용 | + +## 결론 + +이제 Java에서 간결한 **java ocr example**을 사용해 **이미지에서 텍스트를 추출**하는 방법을 알게 되었습니다. 이미지를 올바르게 로드하고, 집중된 ROI를 정의하며, `recognize()`를 호출함으로써 청구서 파일에서 텍스트를 안정적으로 **추출**하고 해당 데이터를 하위 시스템에 전달할 수 있습니다. + +다음은? ROI를 다른 필드(날짜, 공급업체명)로 교체해 보거나, 다국어 청구서를 위해 언어 팩을 실험하거나, OCR 단계를 Spring Boot 마이크로서비스에 통합해 보세요. 동일한 패턴은 영수증, 여권 또는 정밀 텍스트 추출이 필요한 모든 문서에 적용됩니다. + +이 솔루션을 확장하거나 노이즈가 많은 스캔을 처리하는 방법에 대한 질문이 있으면 아래에 댓글을 남겨 주세요—코딩 즐겁게! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/korean/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..671f32b07 --- /dev/null +++ b/ocr/korean/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR을 사용하여 Java에서 이미지의 텍스트를 추출합니다. PNG에서 텍스트를 인식하고, 이미지를 문자열로 변환하며, + 스캔에서 텍스트를 읽는 방법을 몇 단계만에 배워보세요. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: ko +og_description: 이미지에서 텍스트를 빠르게 추출합니다. 이 튜토리얼에서는 PNG에서 텍스트를 인식하고, 이미지를 문자열로 변환하며, Aspose + OCR을 사용하여 스캔된 텍스트를 읽는 방법을 보여줍니다. +og_title: Aspose OCR을 사용하여 이미지에서 텍스트 추출 – Java 가이드 +tags: +- Java +- OCR +- Aspose +title: Aspose OCR로 이미지에서 텍스트 추출 – Java 빠른 가이드 +url: /ko/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 이미지에서 텍스트 추출 – 완전한 Java 튜토리얼 + +이미지에서 **텍스트를 추출**해야 할 때가 있었지만 어떤 라이브러리를 선택해야 할지 몰랐던 적이 있나요? PNG 형식의 스캔 영수증이 있고, 그 텍스트를 순수 문자열로 가져와서 추가 처리하고 싶을 수도 있습니다. 제 경험에 따르면 Aspose OCR 라이브러리는 특히 Java와 함께 사용할 때 이 작업을 아주 쉽게 해줍니다. + +이 가이드에서는 알아야 할 모든 내용을 단계별로 살펴보겠습니다: Aspose OCR 의존성을 설정하고, PNG 파일을 로드하고, **png에서 텍스트 인식**, 결과를 사용 가능한 Java `String`으로 변환하는 과정까지. 마지막까지 하면 **이미지를 문자열로 변환**할 수 있게 되고, **스캔에서 텍스트 읽기** 파일도 손쉽게 처리하는 방법을 확인할 수 있습니다. + +## 배우게 될 내용 + +- Maven 또는 Gradle 프로젝트에 Aspose OCR을 추가하는 방법. +- 단일 메서드 호출로 **이미지에서 텍스트 추출**에 필요한 정확한 코드. +- `ImageStream` 클래스가 엔진에 데이터를 공급하는 선호되는 방법인 이유. +- 대용량 스캔, 다중 페이지 PDF 및 일반적인 함정 처리 팁. + +OCR 경험이 없어도 괜찮으며, Java에 대한 기본적인 이해와 처리하려는 PNG 파일만 있으면 됩니다. + +## 필수 조건 + +| 요구 사항 | 이유 | +|-------------|--------| +| Java 8 이상 | Aspose OCR은 Java 8+을 대상으로 합니다. | +| Maven 또는 Gradle (선택 사항) | 의존성 관리를 단순화합니다. | +| PNG 이미지 (예: `quick.png`) | OCR을 수행할 소스 이미지입니다. | +| 인터넷 연결 (첫 실행 시) | 라이브러리가 언어 팩을 자동으로 다운로드할 수 있습니다. | + +IntelliJ IDEA 또는 Eclipse와 같은 Java IDE가 이미 있다면 바로 시작할 수 있습니다. + +--- + +## 1단계: 프로젝트에 Aspose OCR 설정하기 + +### Maven + +`pom.xml`에 다음 의존성을 추가하세요: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro tip:** 기업 프록시를 사용하는 경우 Maven/Gradle이 `repo.maven.apache.org`에 접근할 수 있는지 확인하세요. 그렇지 않으면 코드를 한 줄도 작성하기 전에 빌드가 실패합니다. + +--- + +## 2단계: PNG 이미지 로드하기 + +`ImageStream` 클래스는 파일 시스템 세부 정보를 추상화하고 스트림, URL 또는 바이트 배열과 함께 작동합니다. 로컬 PNG를 로드하는 방법은 다음과 같습니다: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Why this matters:** `ImageStream.fromFile`을 사용하면 OCR 엔진이 완전히 이해할 수 있는 형식으로 이미지를 전달하게 되어, 원시 바이트 배열을 직접 전달하는 경우보다 인식 정확도가 향상됩니다. + +--- + +## 3단계: PNG에서 텍스트 인식 + +Aspose OCR은 핵심 작업을 수행하는 단일 정적 메서드 `OcrEngine.recognize`를 제공합니다. 이 메서드는 순수 Java `String`을 반환하며, **이미지를 문자열로 변환**하려는 경우 정확히 필요한 형태입니다. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### 내부에서 일어나는 일 + +1. **Pre‑processing:** 엔진은 이미지를 자동으로 기울기를 보정하고 대비를 정규화합니다. +2. **Language Detection:** 언어를 지정하지 않으면 Aspose가 자동으로 추론합니다. 이는 빠른 스캔에 편리합니다. +3. **Recognition:** 핵심 OCR 엔진은 수백만 문자로 학습된 신경망 모델을 실행합니다. + +이 모든 작업이 하나의 호출에 캡슐화되어 있기 때문에, 매우 특수한 사용 사례가 아닌 이상 저수준 설정을 조정할 필요가 없습니다. + +--- + +## 4단계: 추출된 문자열 표시 및 사용 + +텍스트를 얻었으니 이제 이를 출력하거나 데이터베이스에 저장하거나 다른 API에 전달할 수 있습니다. 가장 간단한 방법은 `System.out.println`을 사용하는 것입니다: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### 예상 출력 + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Note:** 정확한 출력은 `quick.png`의 내용에 따라 달라집니다. 이미지에 손글씨가 포함되어 있으면 일부 인식 오류가 발생할 수 있는데, 이는 약간의 후처리로 해결할 수 있습니다. + +--- + +## 5단계: 일반적인 엣지 케이스 처리 + +### 대용량 스캔 또는 다중 페이지 PDF + +일반 PNG보다 큰 **스캔에서 텍스트 읽기** 파일을 처리해야 한다면 다음을 고려하세요: + +- 이미지를 타일로 분할 (`ImageStream.fromRegion`). +- PDF 입력에 대해 `OcrEngine.recognizeMultiplePages` 사용. + +### 비영어 언어 + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### 성능 팁 + +- 여러 이미지에 대해 동일한 `OcrEngine` 인스턴스를 재사용하여 초기화를 반복하지 않도록 합니다. +- 배치 처리 시 멀티스레딩을 활성화하되, 메모리 과부하를 방지하기 위해 스레드 수를 CPU 코어 수로 제한합니다. + +--- + +## 완전한 작업 예제 + +아래는 완전한 실행 가능한 Java 클래스입니다. IDE에 복사·붙여넣기하고, 이미지 경로를 조정한 뒤 **Run**을 클릭하세요. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +이 프로그램을 실행하면 OCR 결과가 콘솔에 출력되며, 몇 줄의 코드만으로 **이미지를 문자열로 변환**하는 효과를 얻을 수 있습니다. + +--- + +## 결론 + +이제 Aspose OCR을 사용하여 Java에서 **이미지에서 텍스트 추출**하는 방법을 알게 되었습니다. 이 과정은 PNG를 로드하고, `OcrEngine.recognize`를 호출하고, 결과 문자열을 사용하는 세 단계로 요약됩니다. **png에서 텍스트 인식**, **이미지를 문자열로 변환**, 혹은 단순히 **스캔에서 텍스트 읽기** 문서를 처리하려는 경우에도 이 접근 방식은 신뢰할 수 있는 프로덕션 수준의 솔루션을 제공합니다. + +다음 도전에 준비가 되었나요? 스캔된 영수증이 들어 있는 폴더를 반복문으로 처리하고, 각 결과를 CSV에 저장하거나, 비영어 텍스트의 정확도를 높이기 위해 언어별 설정을 실험해 보세요. 가능성은 무한하며, 방금 작성한 코드는 견고한 기반이 됩니다. + +코딩을 즐기세요, 그리고 댓글에 질문을 남겨 주세요—기꺼이 도와드리겠습니다! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/korean/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..3f3306e4e --- /dev/null +++ b/ocr/korean/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR을 사용하여 Java에서 PNG 텍스트를 인식 – 이미지에서 텍스트를 추출하고 OCR로 효율적으로 처리하는 + 방법을 배워보세요. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: ko +og_description: Aspose OCR을 사용하여 Java에서 PNG 텍스트를 인식합니다. 이 튜토리얼에서는 Java 이미지에서 텍스트를 + 추출하고 OCR로 이미지를 단계별로 처리하는 방법을 보여줍니다. +og_title: Java에서 PNG 이미지의 텍스트 인식 – 완전한 Aspose OCR 가이드 +tags: +- OCR +- Java +- Image Processing +title: Java에서 PNG 이미지의 텍스트 인식 – Aspose OCR 튜토리얼 +url: /ko/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java에서 PNG 텍스트 인식 – 완전한 Aspose OCR 가이드 + +이미 **png에서 텍스트를 인식**해야 하는데 어떤 라이브러리를 골라야 할지 몰라 고민한 적 있나요? 혼자가 아닙니다—이미지 기반 데이터 추출을 처음 시도하는 많은 Java 개발자들이 같은 장벽에 부딪히곤 합니다. 좋은 소식은 Aspose OCR이 전체 과정을 거의 고통 없이 처리해 주며, 이 가이드에서는 **image java에서 텍스트를 추출**하면서 **스레드‑안전하게 OCR로 이미지 처리**하는 방법을 정확히 보여줍니다. + +다음 몇 분 안에 PNG를 로드하고, 최대 8개의 스레드를 사용해 CPU에서 OCR을 실행한 뒤, 인식된 문자열을 콘솔에 출력하는 작은 Java 프로그램을 만들어 보겠습니다. 외부 서비스도, 비밀 API 키도 필요 없습니다—그냥 바로 복사‑붙여넣기 해서 오늘 바로 실행할 수 있는 순수 Java 코드만 있으면 됩니다. + +## 필요 사항 + +- **Java 17** 이상 (코드는 이전 버전에서도 컴파일되지만 17이 가장 적합합니다). +- **Aspose.OCR for Java** JAR (Aspose 웹사이트에서 다운로드하거나 Maven으로 가져오기). +- 읽고 싶은 PNG 이미지—예를 들어 디스크 어딘가에 저장된 `document-page1.png`. +- 좋아하는 IDE 혹은 간단한 텍스트 편집기와 터미널. + +그게 전부입니다. 준비가 되었다면 바로 솔루션으로 들어갑니다. + +![Java code to recognize text from png using Aspose OCR](image-placeholder.png "PNG 텍스트 인식 Java 예제"){alt="Aspose OCR을 사용해 PNG에서 텍스트를 인식하는 Java 코드"} + +## 단계별 가이드: png에서 텍스트 인식 + +아래에서는 구현을 명확하고 관리하기 쉬운 청크로 나눕니다. 각 청크는 H2 헤딩이므로, 필요한 부분으로 바로 이동할 수 있습니다. + +### 1. 프로젝트에 Aspose OCR 추가 + +**왜?** OCR 엔진은 Aspose 라이브러리 안에 포함되어 있습니다; 없으면 컴파일러가 `OcrEngine`이 무엇인지 전혀 알 수 없습니다. + +Maven을 사용한다면 `pom.xml`에 다음 스니펫을 넣으세요: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Gradle을 사용할 경우는 다음과 같습니다: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **프로 팁:** 항상 최신 버전 번호를 확인하세요; 최신 릴리스는 종종 멀티‑스레드 처리 성능을 개선합니다. + +### 2. OCR 엔진 생성 및 구성 + +**왜?** `OcrEngine`을 인스턴스화하면 바로 사용할 수 있는 객체가 생기고, 디바이스 설정을 조정하면 보유하고 있는 모든 CPU 코어를 활용할 수 있습니다. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +여기서는 디바이스를 명시적으로 `CPU`로 설정합니다. 나중에 GPU‑지원 환경으로 옮기면 enum 값만 교체하면 되며, 다른 코드는 변경할 필요가 없습니다. + +### 3. PNG 이미지 로드 + +**왜?** OCR은 파일 경로가 아니라 이미지 스트림에서 작동합니다. 파일을 `ImageStream`으로 변환하면 기본 포맷에 구애받지 않고 처리할 수 있습니다. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +`YOUR_DIRECTORY`를 실제 폴더 경로로 바꾸세요. 파일을 찾지 못하면 엔진이 `IOException`을 발생시키며, 이는 이후에 잡아 처리합니다. + +### 4. 인식 실행 및 결과 캡처 + +**왜?** `recognize()` 메서드가 핵심 작업을 수행합니다—문자, 라인, 레이아웃을 감지합니다. 반환된 `OcrResult`에는 순수 텍스트가 들어 있습니다. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +`Pdf`나 `Html` 결과를 요청할 수도 있지만, **image java에서 텍스트를 추출**하는 목적에 맞게 여기서는 순수 텍스트만 사용합니다. + +### 5. 텍스트 출력 및 정리 + +**왜?** 데모 목적이라면 간단히 `System.out.println`이면 충분하지만, 실제 애플리케이션에서는 파일이나 데이터베이스에 기록할 가능성이 높습니다. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +`OcrEngine`은 `AutoCloseable`을 구현하므로, try‑with‑resources 블록으로 전체를 감싸는 것이 좋은 습관입니다. 이렇게 하면 네이티브 리소스가 즉시 해제됩니다. + +### 6. 전체 실행 가능한 예제 + +모든 부분을 합치면 다음과 같은 완전한 프로그램이 됩니다. 컴파일하고 바로 실행해 보세요: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**예상 출력** (PNG에 “Hello World”가 들어 있다고 가정): + +``` +=== OCR Result === +Hello World +``` + +이미지가 더 복잡하고—여러 줄, 표, 손글씨 등—경우, 출력은 Aspose OCR이 감지한 그대로 표시되며, 적절한 줄 바꿈을 유지합니다. + +## 흔히 묻는 질문 및 예외 상황 + +### PNG가 너무 크면 어떻게 하나요? + +큰 이미지는 메모리를 많이 차지합니다. 실용적인 해결책은 엔진에 전달하기 전에 **이미지를 다운스케일**하는 것입니다: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +다운스케일은 대부분 인쇄된 텍스트에 대해 OCR 정확도를 크게 떨어뜨리지 않으면서 CPU 부하를 줄여줍니다. + +### PNG 대신 PDF에서 OCR을 실행할 수 있나요? + +물론 가능합니다. Aspose OCR은 `PdfDocument` 객체를 통해 PDF도 받아들입니다. 동일한 `recognize()` 호출이 작동하므로, **OCR로 이미지 처리**는 소스 포맷에 구애받지 않습니다. + +### 비라틴 문자(Non‑Latin) 정확도를 높이려면? + +인식 전에 언어를 설정하세요: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose는 수십 개의 언어 팩을 제공하므로, 이미지 내용에 맞는 언어를 선택하면 됩니다. + +### 스레드 수가 항상 유리한가요? + +멀티코어 CPU에서는 스레드 수를 늘리면 처리 속도가 빨라지지만, 물리적 코어 수를 초과하면 수익이 급격히 감소합니다. CPU 사용량이 높아도 속도 향상이 비례하지 않으면 `Runtime.getRuntime().availableProcessors()` 정도로 스레드 수를 낮추세요. + +## 정리: 우리가 이룬 것 + +우리는 간결한 Java 프로그램을 사용해 **png에서 텍스트를 인식**했고, Aspose OCR로 **image java에서 텍스트를 추출**하는 방법을 시연했으며, **OCR로 이미지 처리**를 프로덕션 수준으로 구현하는 핵심 단계를 모두 다뤘습니다. 코드는 독립적이며, 설명은 “어떻게”와 “왜”를 모두 답변하고, 팁은 일반적인 함정들을 예방하도록 돕습니다. + +## 다음 단계는? + +- **배치 처리:** 디렉터리의 PNG들을 순회하면서 각 결과를 `.txt` 파일에 기록합니다. +- **PDF 생성:** OCR 결과를 Aspose.PDF에 전달해 검색 가능한 PDF를 만듭니다. +- **클라우드 확장:** 같은 코드를 Kubernetes가 오케스트레이션하는 컨테이너에 배포하고, 스레드 풀을 포드 리소스에 맞게 자동 조정합니다. + +이미지를 바꾸거나, 스레드 수를 조정하거나, 언어를 바꾸는 등 자유롭게 실험해 보세요. 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/java/ocr-operations/_index.md b/ocr/korean/java/ocr-operations/_index.md index 339c6eca7..20a21b781 100644 --- a/ocr/korean/java/ocr-operations/_index.md +++ b/ocr/korean/java/ocr-operations/_index.md @@ -80,6 +80,10 @@ Aspose.OCR 로 Java에서 OCR의 힘을 활용하세요. PDF 문서의 텍스트 Aspose.OCR 로 Java에서 강력한 텍스트 인식을 구현하세요. TIFF 이미지의 텍스트를 손쉽게 인식하고, 원활한 OCR 경험을 위해 지금 다운로드하세요. ### [Aspose OCR을 사용한 텍스트 이미지 인식 – 전체 Java OCR 튜토리얼](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Aspose OCR을 활용해 Java에서 텍스트 이미지 전체 인식 과정을 단계별로 안내합니다. +### [JPG에서 검색 가능한 PDF 만들기 – 이미지에서 검색 가능한 PDF Java 가이드](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +JPG 이미지를 OCR로 처리하여 검색 가능한 PDF로 변환하는 단계별 Java 구현 방법을 안내합니다. +### [이미지 기울기 보정 방법 — 단계별 OCR 전처리 가이드](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +이미지 기울기를 교정하여 OCR 정확도를 높이는 방법을 단계별로 안내합니다. ## 자주 묻는 질문 diff --git a/ocr/korean/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/korean/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..36d9f83cd --- /dev/null +++ b/ocr/korean/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,187 @@ +--- +category: general +date: 2026-02-19 +description: Java에서 Aspose OCR을 사용하여 JPG 이미지에서 검색 가능한 PDF를 생성합니다. JPG를 PDF로 변환하고 이미지에서 + 텍스트를 빠르게 인식합니다. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: ko +og_description: Aspose OCR을 사용하여 JPG 이미지에서 검색 가능한 PDF를 만들고, Java에서 jpg를 pdf로 변환하고 + 이미지의 텍스트를 인식하는 방법을 배워보세요. +og_title: JPG에서 검색 가능한 PDF 만들기 – Java OCR 튜토리얼 +tags: +- aspose-ocr +- java +- pdf +- ocr +title: JPG에서 검색 가능한 PDF 만들기 – 이미지에서 검색 가능한 PDF Java 가이드 +url: /ko/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# JPG에서 검색 가능한 PDF 만들기 – Image to Searchable PDF Java 가이드 + +스캔한 사진에서 **검색 가능한 PDF**를 만들어야 하는데 어디서 시작해야 할지 몰랐던 적이 있나요? 당신만 그런 것이 아닙니다—JPG 파일을 검색 가능하게 만들고자 하는 개발자들이 많이 겪는 문제입니다. 좋은 소식은 Aspose OCR for Java를 사용하면 몇 줄의 코드만으로 이미지를 완전한 검색 가능한 PDF로 변환할 수 있다는 점입니다. + +이 튜토리얼에서는 전체 과정을 단계별로 살펴보겠습니다: JPG 로드, 텍스트 인식, 그리고 결과를 검색 가능한 PDF로 저장하기. 끝까지 따라오시면 **jpg를 pdf로 변환**하는 방법, **jpg에서 텍스트를 추출**하는 방법, 그리고 PDF를 만든 뒤에 OCR을 적용하는 것보다 이 접근 방식이 왜 더 신뢰성이 높은지 알게 됩니다. + +## 준비물 + +시작하기 전에 아래 항목들이 머신에 준비되어 있는지 확인하세요: + +* **Java Development Kit (JDK) 8 이상** – 코드는 표준 Java API를 사용합니다. +* **Aspose OCR for Java** 라이브러리 – Maven Central에서 가져오거나 Aspose 사이트에서 JAR를 다운로드하세요. +* 텍스트가 포함된 **샘플 JPG** (예: 스캔한 청구서 또는 문서 스크린샷). + +추가 프레임워크는 필요하지 않으며, 예제는 순수 Java 프로젝트에서도 동작합니다. + +## 1단계 – 프로젝트 설정 및 Aspose OCR 추가 + +먼저 새로운 Maven 프로젝트를 만들거나 JAR를 클래스패스에 두고 폴더만 생성합니다. Maven을 사용한다면 `pom.xml`에 다음 의존성을 추가하세요: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** 최신 버전은 Aspose Maven 저장소에서 확인하세요; 최신 릴리스에는 성능 개선 및 버그 수정이 포함됩니다. + +의존성이 해결되면 **검색 가능한 PDF 만들기**를 위한 Java 코드를 작성할 준비가 된 것입니다. + +## 2단계 – 이미지 로드 (image to searchable pdf) + +첫 번째 실제 단계는 OCR 엔진에 원본 이미지를 지정하는 것입니다. 여기서 **image to searchable pdf** 변환이 본격적으로 시작됩니다. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Why this matters:** `setImage`는 Aspose에 분석할 비트맵을 알려줍니다. 해상도가 낮은 이미지를 제공하면 OCR 품질이 떨어지므로 최적 결과를 위해 JPG가 최소 300 dpi인지 확인하세요. + +## 3단계 – 이미지에서 텍스트 인식 + +엔진이 작업할 이미지를 알게 되었으니 이제 **recognize text from image**를 요청할 수 있습니다. Aspose OCR은 언어 감지, 문자 분할, 신뢰도 점수 계산 등을 내부에서 수행합니다. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +`recognize()` 호출은 플루언트 인터페이스를 반환하여 `save` 메서드를 체인할 수 있게 합니다. `OcrOutputFormat.SEARCHABLE_PDF`를 지정하면 라이브러리가 원본 이미지 외관을 유지하면서 PDF 내부에 보이지 않는 텍스트 레이어를 삽입합니다. + +> **Edge case:** JPG가 여러 페이지(예: 개별 JPG로 저장된 다중 페이지 TIFF)로 구성된 경우 각 파일을 순회하면서 결과 PDF를 나중에 병합해야 합니다. 동일한 OCR 엔진을 각 반복에 재사용할 수 있습니다. + +## 4단계 – 결과 확인 + +저장 작업이 완료되면 간단한 콘솔 메시지가 정상 수행을 알려줍니다. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +Adobe Acrobat과 같은 뷰어에서 `output-searchable.pdf`를 열면 숨겨진 텍스트를 선택·복사하거나 검색할 수 있습니다—바로 **검색 가능한 PDF**가 제공하는 기능입니다. + +### 예상 출력 + +프로그램 실행 시 다음과 같이 출력됩니다: + +``` +Searchable PDF created. +``` + +생성된 PDF는 원본 JPG를 그대로 보여주면서 텍스트 선택이 가능하게 됩니다. PDF의 “Properties → Description → PDF Producer”를 확인하면 `Aspose.OCR for Java`와 같은 문자열이 표시됩니다. + +## 전체 작업 예제 + +아래는 바로 실행 가능한 전체 소스 파일입니다. IDE에 복사·붙여넣기하고 파일 경로만 수정한 뒤 실행하세요. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **What if the OCR fails?** +> * 보통 이미지에 노이즈가 많거나 지원되지 않는 언어일 때 발생합니다. 대비를 높이거나 기울기를 교정하는 전처리 작업을 수행하거나 `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`와 같이 언어를 명시적으로 설정하면 정확도를 높일 수 있습니다. + +## 자주 묻는 질문 및 주의사항 + +| Question | Answer | +|----------|--------| +| **Can I extract the plain text instead of a PDF?** | Yes. Use `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **What if I need to process a PNG?** | The same API works; just change the file extension in `fromFile`. | +| **Is the resulting PDF truly searchable on all viewers?** | Modern viewers (Adobe Reader, Foxit, Chrome) honor the hidden text layer. Older tools might ignore it. | +| **How do I control the PDF page size?** | Aspose OCR uses the image dimensions by default. For custom sizing, generate a PDF manually and overlay the OCR text layer—this is an advanced scenario. | + +## 성능 팁 + +* **배치 처리:** 많은 이미지를 처리할 때는 단일 `OcrEngine` 인스턴스를 재사용해 네이티브 라이브러리 로딩을 최소화하세요. +* **스레드 안전성:** 엔진은 **스레드‑안전하지 않으므로** 병렬 처리 시 스레드당 하나씩 생성해야 합니다. +* **메모리 사용량:** 큰 이미지는 많은 RAM을 차지합니다. `OutOfMemoryError`가 발생하면 엔진에 전달하기 전에 이미지를 축소하세요. + +## 다음 단계 + +이제 **검색 가능한 PDF 만들기** 방법을 알았으니 관련 작업도 살펴볼 수 있습니다: + +* OCR 없이 **jpg를 pdf로 변환**하려면 Aspose PDF 라이브러리를 사용해 순수 이미지 PDF를 만들 수 있습니다. +* **jpg에서 텍스트를 추출**해 `.txt` 파일로 저장하고 인덱싱에 활용하세요. +* Aspose PDF의 `PdfFileEditor`를 이용해 **여러 검색 가능한 PDF를 하나의 문서로 결합**하세요. + +이 모든 작업은 방금 설정한 기반 위에서 이루어집니다. + +--- + +### 빠른 요약 + +* Aspose OCR for Java를 사용해 JPG에서 **검색 가능한 PDF**를 만들었습니다. +* 이미지 로드, 텍스트 인식, 검색 가능한 PDF 저장 과정을 다루었습니다. +* 이제 **image to searchable PDF**, **recognize text from image**, **extract text from jpg**, **convert jpg to pdf**에 대한 재사용 가능한 패턴을 갖추었습니다. + +직접 문서로 테스트해 보고, 필요에 따라 언어 설정을 조정해 보세요. OCR이 무거운 작업을 대신해 줄 것입니다. 즐거운 코딩 되세요! + +![Create searchable PDF example](placeholder.png){alt="검색 가능한 PDF 예시"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/korean/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..c524643eb --- /dev/null +++ b/ocr/korean/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,170 @@ +--- +category: general +date: 2026-02-19 +description: OCR을 위해 이미지의 기울기를 보정하고 노이즈를 제거하는 방법을 배웁니다. 이 튜토리얼에서는 텍스트 이미지를 인식하고, 이미지 + 회전을 교정하며, Aspose OCR을 사용하여 이미지 OCR을 전처리하는 방법을 보여줍니다. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: ko +og_description: 이미지를 기울임 보정하고 노이즈를 제거하여 텍스트 이미지를 빠르게 인식하는 방법. 이 가이드를 따라 이미지 회전을 교정하고 + Aspose로 이미지 OCR을 전처리하세요. +og_title: 이미지 기울기 보정 방법 – 완전한 OCR 전처리 튜토리얼 +tags: +- OCR +- Java +- Image Processing +title: 이미지 기울기 보정 방법 — 단계별 OCR 전처리 가이드 +url: /ko/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 이미지 기울기 보정 방법 — 완전한 OCR 전처리 튜토리얼 + +OCR 엔진에 넣기 전에 **이미지 기울기 보정** 방법이 궁금하셨나요? 영수증을 여러 장 스캔했는데 페이지가 약간 기울어 보이거나 스캔에 무작위 점이 섞여 있는 경우가 있을 겁니다. 이것은 흔한 문제로, 기울어지고 노이즈가 있는 사진은 텍스트 인식을 방해합니다. + +좋은 소식은 Aspose.OCR을 사용하면 Java 몇 줄만으로 이미지 회전 보정(기울기 보정)과 노이즈 제거(노이즈 제거 방법)를 할 수 있다는 것입니다. 이 가이드에서는 회전·노이즈가 섞인 PNG를 로드하고, 기울기 보정 + 중간값 노이즈 제거를 적용한 뒤, **텍스트 이미지 인식**을 수행하고 결과를 출력하는 전체 흐름을 단계별로 살펴봅니다. 마지막에는 어느 Java 프로젝트에든 삽입할 수 있는 재사용 가능한 코드 조각을 얻을 수 있습니다. + +## 준비물 + +- **Java 17** 이상 (코드는 이전 버전에서도 컴파일되지만 17이 가장 적합합니다). +- **Aspose.OCR for Java** – 최신 JAR 파일은 Maven Central(`com.aspose:aspose-ocr`)에서 받을 수 있습니다. +- 회전과 노이즈가 동시에 섞인 이미지 파일(예: `noisy-rotated.png`). +- 가벼운 IDE(IntelliJ, Eclipse, 혹은 VS Code). + +특별한 빌드 도구는 필요 없으며, 간단히 `javac` + `java` 로 실행하면 됩니다. + +--- + +## Step 1 – OCR 엔진 인스턴스 생성 + +먼저 `OcrEngine`을 생성합니다. 이는 나중에 문자 인식을 수행할 두뇌 역할을 합니다. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Pro tip:** 많은 이미지를 처리한다면 엔진을 싱글톤으로 유지하세요. 내부 버퍼를 재사용해 속도가 빨라집니다. + +## Step 2 – 기울기 보정 및 중간값 노이즈 제거 활성화 (노이즈 제거 방법) + +이제 엔진에 **이미지 회전 보정**과 **노이즈 제거**를 지시합니다. 두 필터 모두 선택 사항이지만, 함께 사용하면 정확도가 크게 향상됩니다. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +왜 중간값 노이즈 제거인가요? 문자 형태를 정의하는 가장자리를 보존하면서 고립된 픽셀을 제거하기 때문입니다—깨끗한 OCR에 딱 맞는 방법입니다. + +## Step 3 – 처리할 이미지 로드 + +여기서는 정리할 파일을 엔진에 지정합니다. `ImageStream.fromFile`은 PNG를 메모리로 읽어들입니다. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +이미지가 원격 서버에 있다면 `InputStream`을 전달하면 됩니다—Aspose가 이를 부드럽게 처리합니다. + +## Step 4 – OCR 실행 및 인식된 텍스트 캡처 + +전처리가 활성화된 상태에서 엔진이 보정된 이미지를 읽습니다. `recognize()` 호출은 추출된 문자열을 포함한 `RecognitionResult`를 반환합니다. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +원본 사진이 기울어지고 거칠었더라도 콘솔에 깔끔하고 읽기 쉬운 텍스트가 출력될 것입니다. + +## Step 5 – 결과 확인 (예상 결과) + +모든 것이 정상적으로 동작하면 콘솔에 다음과 같은 내용이 표시됩니다: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +출력에 여전히 깨진 문자가 보인다면 다음을 다시 확인하세요: + +- 이미지 해상도(≥ 300 dpi 권장). +- 파일 경로가 정확한지. +- 추가 필터(`setContrastStretch` 등) 적용이 도움이 될지. + +--- + +## 선택 사항: 예시 이미지로 시각적 확인 + +아래는 회전되고 노이즈가 섞인 영수증의 작은 미리보기입니다. 기울기가 보이죠—코드가 이를 바로 잡아 줍니다. + +![how to deskew image example](deskew-demo.png "how to deskew image") + +*Alt text: 이미지 기울기 보정 전후 비교.* + +--- + +## 자주 묻는 질문 + +### PDF에서도 작동하나요, 아니면 PNG/JPEG만 지원하나요? +Aspose.OCR은 PDF를 직접 읽을 수 있습니다; `ImageStream.fromFile` 대신 `ImageStream.fromPdf`를 사용하면 됩니다. 동일한 전처리 플래그가 적용되므로 **이미지 기울기 보정**과 **노이즈 제거**를 그대로 사용할 수 있습니다. + +### 이후 단계에서 원본 방향을 유지해야 하면 어떻게 하나요? +전처리 전에 이미지를 복제할 수 있습니다: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### 기울기 보정 각도를 수동으로 지정할 수 있나요? +예—`setDeskewAngle(double degrees)`를 사용하면 자동 감지 알고리즘을 무시하고 각도를 직접 설정할 수 있습니다. 극단적인 회전에서 자동 감지가 실패할 때 유용합니다. + +### 중간값 노이즈 제거와 가우시안 블러의 차이는 무엇인가요? +중간값 필터는 각 픽셀을 주변 픽셀의 중간값으로 교체해 가장자를 보존합니다. 가우시안 블러는 모든 것을 부드럽게 만들어 문자 획까지 흐려질 수 있으므로 OCR에는 중간값 필터가 더 안전합니다. + +--- + +## 마무리 + +이 튜토리얼에서는 **이미지 기울기 보정** 방법을 다루고, **노이즈 제거**를 시연했으며, Aspose OCR의 내장 전처리를 활용해 **텍스트 이미지 인식**을 수행하는 방법을 보여드렸습니다. `setDeskew(true)`와 `setMedianDenoise(true)`를 활성화하면 자동으로 **이미지 회전 보정**과 스팍을 제거해 지저분한 스캔을 깨끗한 텍스트 문자열로 변환합니다. + +다양한 실험을 해보세요: 다른 노이즈 제거 전략을 시도하거나 PDF를 입력하거나 여러 이미지를 루프에서 처리해 보세요. 엔진 → 전처리 → 인식이라는 동일한 패턴은 모든 시나리오에 적용되므로 OCR 파이프라인의 견고한 기반이 됩니다. + +**다음 단계**로 고려해볼 내용: + +- **배치 처리** – 폴더에 있는 이미지들을 순회하며 각 결과를 `.txt` 파일로 저장. +- **언어 팩** – 비영어 텍스트에 대한 정확도를 높이기 위해 특정 언어 사전을 로드. +- **고급 필터** – `setContrastStretch` 혹은 `setBinarization` 같은 저대비 스캔용 필터 적용. + +추가 질문이 있으면 댓글로 남겨 주세요. 즐거운 코딩 되세요! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/_index.md b/ocr/polish/java/advanced-ocr-techniques/_index.md index 22b1b6739..ba00983c2 100644 --- a/ocr/polish/java/advanced-ocr-techniques/_index.md +++ b/ocr/polish/java/advanced-ocr-techniques/_index.md @@ -43,27 +43,17 @@ Wzmocnij swoje aplikacje Java za pomocą Aspose.OCR w celu precyzyjnego rozpozna ## [Określanie dozwolonych znaków w Aspose.OCR](./specify-allowed-characters/) -Bez wysiłku wyodrębniaj tekst z obrazów, określając dozwolone znaki za pomocą Aspose.OCR dla Java. Postępuj zgodnie z naszym przewodnikiem krok po kroku, aby uzyskać efektywną integrację i zapewnić płynne rozpoznawanie tekstu. Ulepsz swoje aplikacje Java dzięki możliwościom Aspose.OCR. - -## Wniosek - -Dzięki Aspose.OCR dla Java opanowanie zaawansowanych technik OCR nigdy nie było łatwiejsze. Zapoznaj się z tymi samouczkami i odblokuj pełny potencjał rozpoznawania tekstu w swoich projektach Java. Ulepsz swoje aplikacje dzięki płynnej integracji, wysokiej dokładności i wszechstronnym możliwościom wyodrębniania tekstu. Pobierz teraz i zrób pierwszy krok w kierunku doskonałości OCR dzięki Aspose.OCR dla Java! -## Zaawansowane samouczki dotyczące technik OCR -### [Wykonywanie OCR na BufferedImage w Aspose.OCR dla Java](./perform-ocr-buffered-image/) -Wykonuj OCR na BufferedImage bez wysiłku dzięki Aspose.OCR dla Java. Płynnie wyodrębniaj tekst z obrazów. Pobierz teraz, aby uzyskać wszechstronne możliwości rozpoznawania tekstu. -### [Wykonywanie OCR na obrazie z adresu URL w Aspose.OCR dla Java](./perform-ocr-image-from-url/) -Odblokuj płynną ekstrakcję tekstu obrazu w Javie za pomocą Aspose.OCR. Wysoka dokładność OCR z łatwą integracją. -### [Wykonywanie OCR na określonej stronie w Aspose.OCR](./perform-ocr-on-page/) -Odblokuj moc Aspose.OCR dla Java, korzystając z naszego przewodnika krok po kroku dotyczącego wykonywania OCR na określonych stronach. Wyodrębnij tekst z obrazów bez wysiłku i ulepsz swoje projekty Java. -### [Przygotowanie prostokątów do OCR w Aspose.OCR](./prepare-rectangles-for-ocr/) -Odblokuj moc rozpoznawania tekstu dzięki Aspose.OCR dla Java. Postępuj zgodnie z naszym przewodnikiem krok po kroku, aby zapewnić bezproblemową integrację. Ulepsz swoje aplikacje Java dzięki wydajnym funkcjom OCR. -### [Rozpoznawanie linii w Aspose.OCR dla Java](./recognize-lines/) -Wzmocnij swoje aplikacje Java za pomocą Aspose.OCR w celu precyzyjnego rozpoznawania tekstu. Łatwa integracja, wysoka dokładność. -### [Określanie dozwolonych znaków w Aspose.OCR](./specify-allowed-characters/) -Odblokuj płynnie wyodrębnianie tekstu z obrazów za pomocą Aspose.OCR dla Java. Postępuj zgodnie z naszym przewodnikiem krok po kroku, aby zapewnić skuteczną integrację. +Odblokuj płynnie wyodrębnianie tekstu z obrazów za pomocą Aspose.OCR dla Java. Postępuj zgodnie z naszym przewodnikiem krok po kroku, aby zapewnić skuteczną integrację. Ulepsz swoje aplikacje Java dzięki możliwościom Aspose.OCR. + +### [Jak wykonać OCR obrazu w Javie – Notatki odręczne z korektą pisowni](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Dowiedz się, jak przetwarzać odręczne notatki w Javie przy użyciu Aspose.OCR i wbudowanej korekty pisowni. + +### [Jak włączyć GPU dla OCR w Javie – Kompletny przewodnik](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Dowiedz się, jak skonfigurować GPU, aby przyspieszyć OCR w Javie przy użyciu Aspose.OCR, zwiększając 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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/polish/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..2bef66598 --- /dev/null +++ b/ocr/polish/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,207 @@ +--- +category: general +date: 2026-02-19 +description: Jak włączyć GPU dla szybkiego przetwarzania OCR. Dowiedz się, jak załadować + obraz o wysokiej rozdzielczości, rozpoznać tekst na obrazie i wyodrębnić tekst przy + użyciu Aspose OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: pl +og_description: Jak włączyć GPU dla szybkiego przetwarzania OCR. Ten przewodnik pokazuje, + jak załadować obraz w wysokiej rozdzielczości, rozpoznać tekst na obrazie i wyodrębnić + tekst za pomocą Aspose OCR. +og_title: Jak włączyć GPU dla OCR w Javie – Kompletny przewodnik +tags: +- OCR +- Java +- GPU +- Aspose +title: Jak włączyć GPU dla OCR w Javie – Kompletny przewodnik +url: /pl/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak włączyć GPU dla OCR w Javie – Kompletny przewodnik + +Zastanawiałeś się kiedyś **jak włączyć GPU** dla swojego potoku OCR i zaoszczędzić sekundy czasu przetwarzania? Nie jesteś sam. W wielu projektach z dużą ilością obrazów wąskim gardłem jest krok ekstrakcji tekstu zależny od CPU, a przejście na GPU może być przełomem. + +W tym samouczku przeprowadzimy Cię przez ładowanie **obrazu wysokiej rozdzielczości**, konfigurowanie Aspose OCR do działania na GPU oraz w końcu **rozpoznawanie obrazu tekstowego** i **wyodrębnianie tekstu** przy użyciu kilku linii Javy. Po zakończeniu będziesz mieć gotowy do uruchomienia program, który demonstruje **włączanie przetwarzania GPU** od początku do końca. + +## Czego będziesz potrzebować + +- Java 17 lub nowszy (kod używa systemu modułów, ale działa na starszych JDK z drobnymi poprawkami) +- Aspose OCR for Java 23.10 (lub najnowsza wersja) – możesz pobrać współrzędne Maven ze strony Aspose +- Karta graficzna NVIDIA z zainstalowanymi sterownikami CUDA 12+ (biblioteka odmówi uruchomienia w przeciwnym razie) +- Próbka obrazu wysokiej rozdzielczości (PNG lub JPEG), z którego chcesz odczytać tekst + +To wszystko. Bez zewnętrznych usług, bez kredytów w chmurze, tylko Twój komputer i odpowiedni stos sterowników. + +![Przebieg OCR na GPU – jak włączyć przetwarzanie GPU](gpu-ocr-workflow.png) + +*Tekst alternatywny obrazu: diagram ilustrujący, jak włączyć przetwarzanie GPU dla OCR w Javie.* + +## Implementacja krok po kroku + +Poniżej dzielimy rozwiązanie na logiczne fragmenty. Każda sekcja zawiera zwięzły fragment kodu, wyjaśnienie **dlaczego** dany krok jest ważny oraz kilka praktycznych wskazówek, które prawdopodobnie docenisz później. + +### Jak włączyć GPU dla OCR – Krok 1: Zainstaluj zależności i zweryfikuj CUDA + +Zanim uruchomiony zostanie jakikolwiek kod Java, natywne środowisko uruchomieniowe CUDA musi być wykrywalne. W systemie Windows możesz to zweryfikować za pomocą: + +```bat +nvcc --version +``` + +W systemie Linux: + +```bash +nvidia-smi +``` + +Jeśli polecenie wyświetli wersję sterownika i szczegóły GPU, wszystko jest gotowe. W przeciwnym razie przejdź na stronę NVIDIA, pobierz odpowiedni sterownik i zainstaluj zestaw narzędzi CUDA (upewnij się, że wersja pasuje do wymagań Aspose OCR – obecnie 12.x). + +**Wskazówka:** Utrzymuj sterownik GPU w najnowszej wersji, ale unikaj wydań „latest‑beta”; czasami łamią one kompatybilność binarną z natywnymi bibliotekami Aspose. + +### Jak włączyć GPU dla OCR – Krok 2: Dodaj zależność Aspose OCR Maven + +Dodaj poniższy fragment do swojego `pom.xml`. Pobierze on rdzeniowy silnik OCR oraz natywne pliki binarne GPU dla Windows, Linux i macOS. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Jeśli wolisz Gradle, odpowiednik wygląda tak: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Po odświeżeniu projektu klasy `OcrEngine`, `OcrDeviceType` i `ImageStream` będą dostępne. + +### Jak włączyć GPU dla OCR – Krok 3: Utwórz silnik OCR i włącz GPU + +Teraz faktycznie informujemy Aspose, aby działał na GPU. `OcrEngine` udostępnia obiekt `Device`, w którym możemy przełączyć typ urządzenia przetwarzającego. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Dlaczego to ważne:** Ustawienie `OcrDeviceType.GPU` zamienia podstawowy silnik wnioskowania z implementacji wyłącznie CPU na przyspieszony CUDA. Opcjonalne wywołanie `setStreamCount` pozwala kontrolować równoległość; dwa strumienie to bezpieczna domyślna wartość na większości kart konsumenckich. + +### Jak włączyć GPU dla OCR – Krok 4: Załaduj obraz wysokiej rozdzielczości + +Źródła wysokiej rozdzielczości dostarczają modelowi OCR więcej szczegółów wizualnych, co przekłada się na wyższą dokładność, szczególnie przy małych czcionkach lub skomplikowanych skryptach. Pomocnicza metoda `ImageStream.fromFile` odczytuje plik w formacie oczekiwanym przez silnik. + +Jeśli potrzebujesz **załadować obraz wysokiej rozdzielczości** z URL lub z tablicy bajtów w pamięci, możesz użyć: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Przypadek brzegowy:** Niektóre GPU mają maksymalny rozmiar tekstury (często 16384 × 16384). Jeśli Twój obraz przekracza tę wielkość, rozważ zmniejszenie go do rozmiaru, który nadal zachowuje czytelność (np. 3000 × 2000). Silnik OCR automatycznie zmieni rozmiar, jeśli przed załadowaniem wywołasz `ocrEngine.setResizeFactor(0.5)`. + +### Jak włączyć GPU dla OCR – Krok 5: Rozpoznaj obraz tekstowy i wyodrębnij tekst + +Wywołanie `ocrEngine.recognize()` uruchamia wnioskowanie sieci neuronowej na GPU. Metoda zwraca obiekt `OcrResult`; `getText()` wyodrębnia zwykły ciąg znaków. Możesz także pobrać ramki ograniczające, wyniki pewności lub surowy JSON, jeśli potrzebujesz bardziej szczegółowych danych. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Dlaczego możesz tego chcieć:** Krok `recognize text image` to miejsce, w którym GPU błyszczy — duże obrazy, które zajęłyby sekundy na CPU, są przetwarzane w ułamku tego czasu. Wyniki pewności pozwalają filtrować wyniki niskiej jakości, co jest przydatnym trikiem, gdy później **wyodrębniasz tekst** do dalszej analizy. + +### Profesjonalne wskazówki i typowe pułapki + +| Sytuacja | Co zrobić | +|-----------|------------| +| **Błędy Out‑of‑memory** na GPU | Zredukuj `setStreamCount` do 1, lub zmniejsz rozmiar obrazu przed przekazaniem go do silnika. | +| **Nierozpoznane znaki** pomimo wysokiej rozdzielczości | Upewnij się, że model językowy (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) odpowiada językowi tekstu. | +| **Niezgodność wersji CUDA** | Dopasuj wersję zestawu narzędzi CUDA do tej zawartej w Aspose OCR (sprawdź notatki wydania). | +| **Wiele GPU** | Użyj `ocrEngine.getDevice().setDeviceId(1)`, aby wybrać drugie GPU, jeśli pierwsze jest zajęte. | +| **Uruchamianie na serwerze bez ekranu** | Nie są potrzebne dodatkowe kroki; sterownik GPU działa bez wyświetlacza. | + +## Jak wyodrębnić tekst – weryfikacja wyniku + +Gdy uruchomisz powyższą klasę, powinieneś zobaczyć coś podobnego do: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Jeśli wynik wygląda na zniekształcony, sprawdź ponownie, czy obraz jest naprawdę wysokiej rozdzielczości i czy sterownik GPU jest poprawnie zainstalowany. Możesz także włączyć szczegółowe logowanie: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +Logi pokażą, czy natywne jądra CUDA zostały załadowane pomyślnie. + +## Kolejne kroki i powiązane tematy + +- **Przetwarzanie wsadowe:** Umieść `OcrEngine` w pętli i podawaj listę ścieżek do obrazów. Pamiętaj, aby ponownie używać tej samej instancji silnika, aby uniknąć powtarzającego się kosztu inicjalizacji GPU. +- **Wykrywanie języka:** Aspose OCR obsługuje ponad 30 języków. Przełącz za pomocą `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Post‑processing:** Użyj wyrażeń regularnych, aby oczyścić wyodrębniony ciąg, lub przekaż go do dalszego potoku NLP. +- **Alternatywne urządzenia:** Jeśli nie masz GPU obsługującego CUDA, możesz przejść na `OcrDeviceType.CPU`. Ten sam kod działa; wystarczy zmienić typ urządzenia. +- **Benchmark wydajności:** Zmierz różnicę czasu przy użyciu `System.nanoTime()` przed i po wywołaniu `recognize()`, aby określić zysk z **włączania przetwarzania GPU**. + +### Podsumowanie + +Omówiliśmy **jak włączyć GPU** dla Aspose OCR w Javie, od instalacji odpowiednich sterowników po załadowanie **obrazu wysokiej rozdzielczości**, **rozpoznanie obrazu tekstowego** i w końcu **jak wyodrębnić tekst** z wyniku. Pełny, gotowy do uruchomienia przykład powyżej powinien działać od razu na dowolnym nowoczesnym GPU NVIDIA. + +Wypróbuj go, eksperymentuj z różnymi rozmiarami obrazów i obserwuj, jak rośnie wydajność OCR. Jeśli napotkasz problemy, wróć do sekcji wskazówek lub sprawdź notatki wydania Aspose pod kątem najnowszych rekomendacji dotyczących **włączania przetwarzania GPU**. + +Szczęśliwego kodowania i niech Twoje GPU pozostaje chłodne, gdy przetwarza tekst! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/polish/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..407194aab --- /dev/null +++ b/ocr/polish/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,256 @@ +--- +category: general +date: 2026-02-19 +description: Dowiedz się, jak przeprowadzić OCR obrazu odręcznych notatek w Javie + przy użyciu Aspose OCR. Zawiera ładowanie obrazu do OCR, odczyt odręcznych notatek + oraz konwersję tekstu z obrazu odręcznego. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: pl +og_description: Jak wykonać OCR obrazu odręcznych notatek w Javie przy użyciu Aspose. + Przewodnik krok po kroku, jak załadować obraz do OCR, odczytać odręczne notatki + i przekształcić tekst z obrazu odręcznego. +og_title: Jak wykonać OCR obrazu w Javie – Poradnik odręcznych notatek +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Jak wykonać OCR obrazu w Javie – odręczne notatki z sprawdzaniem pisowni +url: /pl/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +translations. + +Check we didn't translate code block placeholders. + +Also ensure we kept all markdown formatting. + +Proceed to final.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak wykonać OCR obrazu w Javie – odręczne notatki z korektą pisowni + +Zastanawiałeś się kiedyś **jak wykonać OCR obrazu**, który zawiera twoją zakreślone listę zakupów lub notatki ze spotkania? Nie jesteś jedyny. W wielu rzeczywistych aplikacjach programiści muszą odczytywać odręczne notatki i przekształcać je w przeszukiwalny tekst — bez ręcznego przepisywania. + +W tym tutorialu przeprowadzimy cię przez kompletny, gotowy do uruchomienia przykład, który dokładnie pokaże **jak wykonać OCR obrazu** przy użyciu Aspose OCR for Java, jak **załadować obraz do OCR**, oraz jak **odczytać odręczne notatki** z wbudowaną korektą pisowni. Po zakończeniu będziesz w stanie **przekształcić tekst z odręcznego obrazu** w czysty ciąg znaków, który możesz przechowywać, indeksować lub wyświetlać. + +## Czego się nauczysz + +- Dokładne kroki, aby skonfigurować silnik OCR rozumiejący odręczne pismo po angielsku. +- Jak **załadować obraz do OCR** z dysku i przekazać go silnikowi. +- Dlaczego włączenie korektora pisowni ma znaczenie przy radzeniu sobie z niechlujnymi notatkami. +- Sposoby obsługi typowych przypadków brzegowych, takich jak obrazy o niskim kontraście lub brakujące pakiety językowe. +- Pełny, uruchamialny przykład kodu, który możesz wkleić do swojego IDE i od razu zobaczyć wyniki. + +> **Wymagania wstępne**: zainstalowany Java 8+, Maven lub Gradle do zarządzania zależnościami oraz licencja Aspose OCR for Java (bezpłatna wersja próbna wystarczy do nauki). Nie są wymagane żadne inne zewnętrzne biblioteki. + +--- + +## Krok 1: Skonfiguruj projekt i dodaj zależność Aspose OCR + +Na początek — twój projekt potrzebuje biblioteki Aspose OCR. Jeśli używasz Maven, dodaj to do swojego `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Lub z Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Wskazówka**: Zwracaj uwagę na numer wersji; nowsze wydania poprawiają rozpoznawanie odręcznego pisma i dodają wsparcie językowe. + +Po rozwiązaniu zależności, jesteś gotowy, aby **załadować obraz do OCR**. + +## Krok 2: Utwórz instancję silnika OCR + +Aby **skutecznie wykonać OCR obrazu**, potrzebujesz obiektu `OcrEngine`. Ten obiekt jest sercem procesu — przechowuje ustawienia języka, flagi korekty pisowni oraz sam obraz. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Dlaczego najpierw tworzymy instancję silnika? Ponieważ Aspose OCR jest zaprojektowany jako wielokrotnego użytku; możesz przetwarzać wiele obrazów przy użyciu tej samej instancji, dostosowując ustawienia między kolejnymi uruchomieniami w razie potrzeby. + +## Krok 3: Dodaj wsparcie języka angielskiego i włącz korektę pisowni + +Odręczne notatki często są pełne literówek, brakujących liter lub niekonwencjonalnych skrótów. Włączenie korektora pisowni daje silnikowi szansę na oczyszczenie wyniku. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **Dlaczego włączyć korektę pisowni?** +> Bez niej surowy wynik OCR może wyglądać jak „t0d@y” lub „c0ffee”. Korektor pisowni normalizuje takie nieprawidłowości, czyniąc ostateczny tekst znacznie bardziej użytecznym w dalszym przetwarzaniu, takim jak indeksowanie wyszukiwania. + +## Krok 4: Załaduj odręczny obraz + +Teraz **ładujemy obraz do OCR**. Aspose udostępnia wygodną metodę `ImageStream.fromFile`, która akceptuje dowolny popularny format rastrowy (PNG, JPEG, BMP). + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Jeśli twój obraz znajduje się w folderze zasobów lub otrzymujesz go jako tablicę bajtów (np. z przesyłania przez sieć), możesz użyć `ImageStream.fromBytes` — po prostu zamień powyższą linię na: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Krok 5: Wykonaj OCR i pobierz poprawiony tekst + +Po skonfigurowaniu silnika i załadowaniu obrazu, rzeczywiste wywołanie **jak wykonać OCR obrazu** to pojedyncza linia: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +Metoda `recognize()` zwraca obiekt `OcrResult`, który zawiera nie tylko czysty tekst, ale także wyniki pewności, ramki ograniczające i więcej. Dla większości przypadków użycia wystarczy zwykłe `getText()`. + +## Krok 6: Wyświetl wynik + +Na koniec drukujemy oczyszczony ciąg znaków w konsoli. W prawdziwej aplikacji możesz go przechowywać w bazie danych, przekazać do silnika wyszukiwania lub podać modelowi językowemu. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Oczekiwany wynik + +Zakładając, że odręczna notatka brzmi: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +Powinieneś zobaczyć coś takiego: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Nawet jeśli oryginalna notatka była niechlujna — np. „B u y m i l k , e g g s , a n d B r e a d t o m o r r o w” — korektor pisowni zazwyczaj ją uporządkuje. + +--- + +## Ładowanie obrazu do OCR – wskazówki dla lepszej dokładności + +1. **Rozdzielczość ma znaczenie** – Celuj w co najmniej 300 dpi. Niższe rozdzielczości powodują, że silnik pomija drobne kreski. +2. **Kontrast jest kluczowy** – Jeśli tło jest kolorowe, najpierw skonwertuj obraz do odcieni szarości. +3. **Przytnij do treści** – Usunięcie niepotrzebnych marginesów zmniejsza szumy i przyspiesza przetwarzanie. + +Możesz wstępnie przetwarzać obrazy przy użyciu bibliotek takich jak OpenCV lub nawet wbudowanego w Javę `BufferedImage` przed przekazaniem ich do Aspose. + +## Odczytywanie odręcznych notatek: obsługa przypadków brzegowych + +- **Słowa o niskiej pewności**: `ocrEngine.getResult().getWords()` zwraca listę, w której każde słowo ma wartość pewności (0–100). Możesz odfiltrować słowa poniżej progu i poprosić użytkownika o ręczną weryfikację. +- **Wiele języków**: Jeśli potrzebujesz **odczytać odręczne notatki** zarówno po angielsku, jak i po hiszpańsku, dodaj oba języki przed wywołaniem `recognize()`. +- **Duże pliki**: Dla wielostronicowych PDF‑ów lub TIFF‑ów, iteruj po każdej stronie przy użyciu `ocrEngine.setImage(pageStream)` w pętli. + +## Konwersja tekstu z odręcznego obrazu do danych strukturalnych + +Często nie potrzebujesz tylko surowego ciągu znaków; możesz chcieć wyodrębnić daty, kwoty lub pozycje listy kontrolnej. Po uzyskaniu poprawionego tekstu, wyrażenia regularne lub biblioteki NLP (np. Stanford CoreNLP) mogą przetworzyć zawartość: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +Ten fragment pokazuje, jak łatwo przejść od **konwersji tekstu z odręcznego obrazu** do danych użytecznych. + +## Typowe pułapki i jak ich unikać + +| Zniekształcony wynik, wiele znaków `?` | Obraz zbyt ciemny lub o niskim kontraście | Zwiększ jasność lub wstępnie przetwórz za pomocą wyrównywania histogramu | +|------------------------------------------|-------------------------------------------|--------------------------------------------------------------------------| +| Pominięte słowa | Zbyt płynne pismo ręczne | Włącz `ocrEngine.getSettings().setEnableCursive(true)` (jeśli jest wspierane) | +| Korektor pisowni wprowadza błędne słowa | Niezgodność modelu językowego | Dodaj własny słownik za pomocą `ocrEngine.getSpellChecker().addUserWords(...)` | +| Błąd braku pamięci przy dużych obrazach | Rozmiar obrazu > 10 MB | Zredukuj rozmiar przed załadowaniem lub przetwarzaj w kafelkach | + +## Pełny działający przykład (gotowy do kopiowania i wklejenia) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Uwaga**: Jeśli uruchamiasz kod z IDE, upewnij się, że folder **YOUR_DIRECTORY** znajduje się na classpath lub użyj ścieżki bezwzględnej. + +--- + +## Podsumowanie + +Omówiliśmy **jak wykonać OCR obrazu** w Javie od początku do końca, pokazując jak **załadować obraz do OCR**, **odczytać odręczne notatki**, włączyć korektę pisowni i w końcu **przekształcić tekst z odręcznego obrazu** w czysty ciąg znaków. Podejście jest proste, a jednocześnie wystarczająco potężne dla aplikacji produkcyjnych. + +Gotowy na kolejne wyzwanie? Spróbuj eksperymentować z wielostronicowymi PDF‑ami, dodaj własne słowniki dla terminów specyficznych dla branży lub podaj wynik OCR do modelu uczenia maszynowego w celu analizy sentymentu. Nie ma ograniczeń, gdy połączysz dokładność Aspose OCR z elastycznością Javy. + +Masz pytania dotyczące konkretnego przypadku brzegowego lub chcesz podzielić się, jak zintegrowałeś to w aplikacji mobilnej? Dodaj komentarz poniżej — szczęśliwego kodowania! + +--- + +![przykład OCR obrazu](/images/ocr-handwritten-example.png "OCR obrazu odręcznych notatek") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/polish/java/ocr-basics/_index.md index a6cc9390c..3c02318cf 100644 --- a/ocr/polish/java/ocr-basics/_index.md +++ b/ocr/polish/java/ocr-basics/_index.md @@ -116,6 +116,16 @@ Zwiększ dokładność OCR przy użyciu Aspose.OCR for Java. Naucz się krok po ### [Uzyskiwanie prostokątów z obszarami tekstu w Aspose.OCR](./get-rectangles-with-text-areas/) Odkryj moc Aspose.OCR for Java. Dowiedz się, jak płynnie wyodrębniać tekst z obrazów w tym przewodniku krok po kroku. Pobierz teraz, aby uzyskać efektywne rozpoznawanie tekstu. +### [Rozpoznawanie tekstu z PNG w Javie – samouczek Aspose OCR](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) + +### [Wyodrębnianie tekstu z obrazu – konwersja PNG na tekst w Javie](./extract-text-from-image-convert-png-to-text-in-java/) + +### [Wyodrębnianie tekstu z obrazu w Javie – Kompletny przykład OCR](./extract-text-from-image-in-java-complete-ocr-example/) +Pełny przykład użycia Aspose.OCR w Javie do wyodrębniania tekstu z obrazów, obejmujący licencję, korekcję pochylenia i zapis wyników. + +### [Wyodrębnianie tekstu z obrazu – szybki przewodnik Java z Aspose OCR](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) +Szybki samouczek pokazujący, jak w kilku krokach wyodrębnić tekst z obrazu w Javie przy użyciu biblioteki Aspose OCR. + --- **Last Updated:** 2025-12-08 @@ -127,4 +137,4 @@ Odkryj moc Aspose.OCR for Java. Dowiedz się, jak płynnie wyodrębniać tekst z {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/polish/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..0c1725984 --- /dev/null +++ b/ocr/polish/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,214 @@ +--- +category: general +date: 2026-02-19 +description: wyodrębniaj tekst z obrazu przy użyciu Aspose OCR Java – dowiedz się, + jak konwertować PNG na tekst, ładować obraz do OCR i korzystać z samouczka OCR w + Javie. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: pl +og_description: Wyodrębnij tekst z obrazu za pomocą Aspose OCR Java. Postępuj zgodnie + z tym szczegółowym samouczkiem Java OCR, aby przekonwertować PNG na tekst i wczytać + obraz do OCR. +og_title: wyodrębnij tekst z obrazu – przewodnik Java OCR +tags: +- OCR +- Java +- Aspose +- Image Processing +title: wyodrębnij tekst z obrazu – konwertuj PNG na tekst w Javie +url: /pl/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# wyodrębnianie tekstu z obrazu – Java OCR Tutorial + +Kiedykolwiek potrzebowałeś **wyodrębnić tekst z obrazu**, ale nie wiedziałeś, która biblioteka pozwoli Ci to zrobić bez zbędnych komplikacji? Nie jesteś sam — programiści często pytają: „Jak mogę przekonwertować PNG na tekst w Javie?” Dobra wiadomość jest taka, że Aspose OCR sprawia, że cały proces jest jak spacer po parku. W tym przewodniku przeprowadzimy Cię przez kompletny **java ocr tutorial**, pokażemy, jak **load image for OCR**, i zakończymy czystym, przeszukiwalnym tekstem. + +Omówimy wszystko, od konfiguracji silnika po obsługę treści wielojęzycznych, więc pod koniec będziesz w stanie **extract text from image** z plików dowolnego rozmiaru, formatu i języka. Bez zewnętrznych usług, bez kluczy API — tylko jeden JAR i kilka linii kodu. + +## What You’ll Need + +Zanim zaczniemy, upewnij się, że masz: + +- JDK 8 lub nowszy (kod działa także na JDK 11+). +- Maven lub Gradle, aby pobrać bibliotekę Aspose OCR, albo możesz ręcznie pobrać JAR ze strony Aspose. +- Obraz PNG zawierający czytelny tekst (w naszym przykładzie użyjemy `khmer-sign.png`). +- IDE lub edytor tekstu, w którym czujesz się komfortowo — IntelliJ IDEA, Eclipse, VS Code, dowolny będzie odpowiedni. + +To wszystko. Bez ciężkich frameworków, bez poświadczeń chmurowych. Gotowy? Zaczynamy wyodrębniać tekst z plików obrazów. + +## Step 1: Add Aspose OCR to Your Project + +First things first—you need the OCR engine on your classpath. If you use Maven, add this dependency to `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Or with Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +If you prefer the manual route, download the JAR from the Aspose download page and drop it into your project's `libs` folder, then add it to the build path. + +> **Pro tip:** Always pick the newest stable version; older releases may miss language packs or bug‑fixes. + +## Step 2: Create the OCR Engine Instance + +Now that the library is available, we can spin up an `OcrEngine`. Think of the engine as the brain that will read the pixels and turn them into characters. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Why do we create a fresh engine every time? The engine holds internal buffers and language data; starting clean guarantees deterministic results, especially when you switch languages later on. + +## Step 3: Enable the Desired Language (Optional but Recommended) + +Aspose OCR ships with dozens of language packs. If you know the language of your source image, enable it explicitly; this speeds up recognition and improves accuracy. In our sample we’ll enable Khmer (`khm`), but you can replace it with `ENG` for English, `CHN` for Chinese, etc. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Why this matters:** When you **load image for OCR**, the engine will only search the enabled language dictionaries. Leaving all languages on can slow things down and increase false positives. + +## Step 4: Load Image for OCR – Converting PNG to Text + +Here’s where the **load image for OCR** step happens. Aspose provides a convenient `ImageStream.fromFile` helper that abstracts away the low‑level I/O. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +If your image is in another format (JPEG, BMP, TIFF), the same method works—Aspose automatically detects the format. Just make sure the file path is correct; otherwise you’ll hit a `FileNotFoundException`. + +## Step 5: Run the OCR Process and Convert PNG to Text + +With the engine ready and the image loaded, the actual recognition is a single method call. The result object gives you the raw string as well as confidence scores. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +That’s it—you’ve just **convert PNG to text**. The returned string may contain line breaks and whitespace exactly as the engine saw them. You can post‑process it with `trim()`, `replaceAll("\\s+", " ")`, or any other cleanup you need. + +## Step 6: Output the Result (or Store It) + +For a quick sanity check, print the result to the console. In a real application you’d probably write it to a file, a database, or pass it to another service. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Expected output** (for the provided Khmer sign) might look like: + +``` +សួស្តី +Welcome +``` + +If the output is garbled, double‑check that you enabled the correct language in Step 3 and that the image isn’t too blurry. Increasing the image resolution (e.g., using a 300 dpi scan) often helps. + +## Full Working Example + +Putting all the pieces together, here’s a self‑contained program you can copy‑paste into `ExtractTextExample.java` and run: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Run the program with: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +or, if you’re using Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +You should see the extracted text printed to the console, confirming that you’ve successfully **extract text from image** using Aspose OCR. + +## Common Pitfalls & How to Fix Them + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Empty string returned | No language enabled or wrong language code | Add the appropriate `OcrLanguage` (e.g., `ENG` for English). | +| Garbled characters | Image resolution too low or noisy background | Use a higher‑resolution source, or pre‑process with a sharpening filter. | +| `OutOfMemoryError` | Very large image loaded whole‑size | Downscale the image before feeding it to the engine (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Incorrect path | Verify the absolute or relative path; use `Paths.get(...).toAbsolutePath()`. | + +> **Remember:** OCR is a probabilistic process. Even with perfect settings you might need to manually correct a few characters, especially for cursive scripts. + +## Extending the Tutorial – Next Steps + +- **Batch processing:** Loop over a directory of PNG files, calling the same logic for each image. +- **PDF output:** Use Aspose PDF to embed the extracted text back into a searchable PDF. +- **Language detection:** Call `ocrEngine.detectLanguage()` before setting a language to let the engine guess automatically. +- **Cloud integration:** If you need to scale, wrap the code in a REST endpoint and let micro‑services call it. + +All of these topics naturally build on the **java ocr tutorial** we just completed, and they showcase how versatile the Aspose OCR API really is. + +## Conclusion + +We’ve walked through a complete **java ocr tutorial** that lets you **extract text from image** files, **convert PNG to text**, and correctly **load image for OCR** using Aspose OCR. The steps are straightforward: add the library, create an engine, enable the right language, load the PNG, run `recognize()`, and handle the output. With this foundation you can automate data entry, build searchable archives, or power any application that needs machine‑readable text from pictures. + +Give it a try with your own images—maybe a screenshot of a receipt or a scanned contract. Tweak the language settings, experiment with resolution, and you’ll quickly see how flexible the solution is. If you run into trouble, revisit the pitfalls table or check Aspose’s official documentation; it’s thorough and kept up‑to‑date. + +Happy coding, and may your next project be full of clean, searchable text! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/polish/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..a1b15859f --- /dev/null +++ b/ocr/polish/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,149 @@ +--- +category: general +date: 2026-02-19 +description: Wyodrębnij tekst z obrazu przy użyciu Java OCR. Poznaj przykład Java + OCR, który ładuje obraz do OCR i wyodrębnia tekst z plików faktur w kilku prostych + krokach. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: pl +og_description: Wyodrębnij tekst z obrazu przy użyciu Java OCR. Ten przewodnik pokazuje, + jak załadować obraz do OCR i pobrać tekst z faktur przy użyciu prostego przykładu + Java OCR. +og_title: Wyodrębnianie tekstu z obrazu w Javie – kompletny przykład OCR +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Wyodrębnianie tekstu z obrazu w Javie – kompletny przykład OCR +url: /pl/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wyodrębnianie tekstu z obrazu w Javie – kompletny przykład OCR + +Kiedykolwiek potrzebowałeś **wyodrębnić tekst z obrazu**, ale nie wiedziałeś, którą bibliotekę wybrać? Nie jesteś sam — wielu programistów napotyka ten problem przy automatyzacji przetwarzania faktur lub budowaniu przeszukiwalnych archiwów. Dobra wiadomość? Kilka linijek Javy wystarczy, aby wczytać obraz do OCR, określić obszar zainteresowania i pobrać dokładnie ten tekst, którego potrzebujesz. + +W tym tutorialu przejdziemy przez **przykład java ocr**, który pokazuje, jak **wczytać obraz do OCR**, ustawić ROI i **wyodrębnić tekst z faktur** przy użyciu Aspose.OCR. Po zakończeniu będziesz mieć działający program, który możesz wstawić do dowolnego projektu Java. + +## Czego się nauczysz + +- Jak utworzyć instancję `OcrEngine` i dlaczego jest to ważne. +- Prawidłowy sposób **wczytania obrazu do OCR** przy użyciu `ImageStream` Aspose. +- Ustawianie **obszaru zainteresowania (ROI)**, aby przetwarzać tylko część obrazu zawierającą kwotę faktury. +- Wyodrębnianie rozpoznanego tekstu i wyświetlanie go w konsoli. +- Typowe pułapki (np. nieprawidłowe współrzędne prostokąta) oraz szybkie rozwiązania. + +**Wymagania wstępne** + +- Java 8 lub nowsza. +- Maven lub Gradle do pobrania biblioteki Aspose.OCR (`com.aspose:aspose-ocr`). +- Przykładowy obraz faktury (`invoice.png`) umieszczony w znanym katalogu. + +Masz wszystko? Świetnie — zanurzmy się. + +![Wyodrębnianie tekstu z obrazu przy użyciu Java OCR](/images/extract-text-from-image-java.png "przykład wyodrębniania tekstu z obrazu") + +## Wyodrębnianie tekstu z obrazu – krok po kroku przykład Java OCR + +Poniżej pełny kod źródłowy. Skopiuj‑wklej go do pliku `RoiOcrExample.java` i uruchom od razu. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Dlaczego każdy krok jest ważny + +1. **Tworzenie silnika OCR** – bez silnika nie ma kontekstu dla przetwarzania obrazu. Obiekt pozwala także później dostosować pakiety językowe, jeśli potrzebujesz obsługi wielu języków. +2. **Wczytywanie obrazu** – `ImageStream.fromFile` ukrywa szczegóły formatu pliku, zapewniając, że silnik odczyta bajty poprawnie. Pominięcie tego spowoduje `NullPointerException`. +3. **Ustawianie ROI** – przetwarzanie całej strony może być nieefektywne. Ograniczając prostokąt do obszaru z sumą faktury, przyspieszasz rozpoznawanie i redukujesz szumy. +4. **Wywołanie `recognize()`** – tutaj dzieje się magia. Metoda uruchamia algorytm OCR na ROI i zwraca obiekt wyniku. +5. **Wyświetlanie wyniku** – w prawdziwych projektach prawdopodobnie zapiszesz tekst w bazie danych, ale `System.out.println` jest idealny do szybkiej demonstracji. + +## Wczytywanie obrazu do OCR + +Jeśli zastanawiasz się, czy ścieżka ma być bezwzględna czy względna, odpowiedź brzmi: oba rozwiązania działają — ważne, aby proces Java mógł odczytać plik. W systemie Windows odwrotny ukośnik trzeba podwoić (`C:\\images\\invoice.png`) lub użyć ukośników (`C:/images/invoice.png`). + +**Wskazówka:** Jeśli przetwarzasz wiele faktur w pętli, używaj tej samej instancji `OcrEngine`; buforuje ona zasoby wewnętrzne i zwiększa wydajność. + +## Definiowanie obszaru zainteresowania (ROI) + +Dobór odpowiedniego prostokąta może wymagać kilku prób. Wygodny sposób na uzyskanie współrzędnych to otworzyć obraz w dowolnym edytorze graficznym (np. GIMP lub Paint.NET) i najechać kursorem na interesujący obszar — wartości X/Y pojawią się na pasku statusu. + +Przypadek brzegowy: niektóre faktury mają zmienny układ. W takiej sytuacji możesz najpierw wykonać szybkie skanowanie całego obrazu, znaleźć słowa kluczowe takie jak „Total:” przy pomocy wyrażenia regularnego, a następnie dynamicznie dopasować ROI. + +## Wykonanie OCR i pobranie tekstu + +Wywołanie `recognize()` jest synchroniczne — wątek blokuje się, dopóki silnik nie zakończy pracy. Przy dużych partiach warto uruchomić pulę wątków i przetwarzać obrazy równolegle. Pamiętaj, że każdy wątek potrzebuje własnej instancji `OcrEngine`; nie są one bezpieczne wątkowo. + +## Uruchomienie i weryfikacja wyniku + +Kompiluj i uruchom: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +Powinieneś zobaczyć coś w stylu: + +``` +ROI text: $1,254.00 +``` + +Jeśli wynik jest nieczytelny, sprawdź ponownie współrzędne ROI i upewnij się, że jakość obrazu jest wysoka (300 dpi lub więcej daje najlepsze rezultaty). + +### Typowe problemy i ich rozwiązania + +| Objaw | Prawdopodobna przyczyna | Rozwiązanie | +|---------|--------------|-----| +| Pusty ciąg | ROI poza granicami obrazu | Zweryfikuj wartości prostokąta względem wymiarów obrazu | +| Błędne słowa | Niska rozdzielczość | Użyj obrazu o wyższej rozdzielczości lub zastosuj wstępne przetwarzanie (np. binaryzację) | +| `java.lang.NoClassDefFoundError` | Brak JAR‑a Aspose w classpath | Dodaj `aspose-ocr.jar` do `-cp` lub użyj zarządzania zależnościami Maven/Gradle | + +## Podsumowanie + +Teraz wiesz, jak **wyodrębnić tekst z obrazu** w Javie, korzystając z zwięzłego **przykładu java ocr**. Poprzez prawidłowe wczytanie obrazu, zdefiniowanie skoncentrowanego ROI i wywołanie `recognize()`, możesz niezawodnie **wyodrębniać tekst z faktur** i przekazywać te dane do dalszych systemów. + +Co dalej? Spróbuj zmienić ROI na inne pola (data, nazwa dostawcy), poeksperymentuj z pakietami językowymi dla wielojęzycznych faktur lub zintegrować krok OCR z mikrousługą Spring Boot. Ten sam wzorzec sprawdzi się przy paragonach, paszportach czy każdym dokumencie, w którym potrzebne jest precyzyjne wyodrębnianie tekstu. + +Masz pytania dotyczące skalowania tego rozwiązania lub obsługi zaszumionych skanów? zostaw komentarz poniżej — 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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/polish/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..4bd2cf2cc --- /dev/null +++ b/ocr/polish/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-02-19 +description: Wyodrębnij tekst z obrazu w Javie przy użyciu Aspose OCR. Dowiedz się, + jak rozpoznawać tekst z plików PNG, konwertować obraz na ciąg znaków i odczytywać + tekst ze skanu w kilku prostych krokach. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: pl +og_description: Szybko wyodrębnij tekst z obrazu. Ten samouczek pokazuje, jak rozpoznać + tekst z pliku PNG, przekształcić obraz w ciąg znaków i odczytać tekst ze skanu przy + użyciu Aspose OCR. +og_title: Wyodrębnianie tekstu z obrazu przy użyciu Aspose OCR – przewodnik Java +tags: +- Java +- OCR +- Aspose +title: Wyodrębnianie tekstu z obrazu przy użyciu Aspose OCR – szybki przewodnik Java +url: /pl/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wyodrębnianie tekstu z obrazu – kompletny samouczek Java + +Kiedykolwiek potrzebowałeś **wyodrębnić tekst z obrazu**, ale nie wiedziałeś, którą bibliotekę wybrać? Może masz zeskanowany paragon w formacie PNG i chcesz uzyskać tekst jako zwykły ciąg znaków do dalszego przetwarzania. Z mojego doświadczenia biblioteka Aspose OCR radzi sobie z tym zadaniem jak bułka z masłem, szczególnie w środowisku Java. + +W tym przewodniku przejdziemy przez wszystko, co musisz wiedzieć: od dodania zależności Aspose OCR, przez wczytanie pliku PNG, **rozpoznawanie tekstu z png**, aż po przekształcenie wyniku w użyteczny w Javie `String`. Po zakończeniu będziesz potrafił **konwertować obraz na ciąg znaków**, a także zobaczysz, jak **czytać tekst ze skanów** bez większego wysiłku. + +## Czego się nauczysz + +- Jak dodać Aspose OCR do projektu Maven lub Gradle. +- Dokładny kod potrzebny do **wyodrębnienia tekstu z obrazu** przy użyciu jednego wywołania metody. +- Dlaczego klasa `ImageStream` jest preferowanym sposobem dostarczania danych do silnika. +- Wskazówki dotyczące obsługi dużych skanów, wielostronicowych PDF‑ów i typowych pułapek. + +Wcześniejsze doświadczenie z OCR nie jest wymagane, wystarczy podstawowa znajomość Javy i plik PNG, który chcesz przetworzyć. + +## Wymagania wstępne + +| Wymaganie | Powód | +|-----------|-------| +| Java 8 lub nowsza | Aspose OCR obsługuje Java 8+. | +| Maven lub Gradle (opcjonalnie) | Ułatwia zarządzanie zależnościami. | +| Obraz PNG (np. `quick.png`) | Źródło, na którym wykonamy OCR. | +| Dostęp do Internetu (pierwsze uruchomienie) | Biblioteka może automatycznie pobrać pakiety językowe. | + +Jeśli masz już środowisko IDE, takie jak IntelliJ IDEA lub Eclipse, możesz od razu zaczynać. + +--- + +## Krok 1: Konfiguracja Aspose OCR w projekcie + +### Maven + +Dodaj następującą zależność do swojego `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro tip:** Jeśli korzystasz z firmowego proxy, upewnij się, że Maven/Gradle może dotrzeć do `repo.maven.apache.org`. W przeciwnym razie kompilacja zakończy się niepowodzeniem, zanim napiszesz choćby jedną linijkę kodu. + +--- + +## Krok 2: Wczytanie obrazu PNG + +Klasa `ImageStream` ukrywa szczegóły systemu plików i działa ze strumieniami, URL‑ami lub tablicami bajtów. Oto jak wczytać lokalny plik PNG: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Dlaczego to ważne:** Użycie `ImageStream.fromFile` gwarantuje, że silnik OCR otrzyma obraz w formacie, który w pełni rozumie, co zwiększa dokładność rozpoznawania w porównaniu z podawaniem surowych tablic bajtów. + +--- + +## Krok 3: Rozpoznawanie tekstu z PNG + +Aspose OCR udostępnia jedną statyczną metodę, która wykonuje całą ciężką pracę: `OcrEngine.recognize`. Zwraca ona zwykły `String` w Javie, czyli dokładnie to, czego potrzebujesz, gdy chcesz **konwertować obraz na ciąg znaków**. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### Co się dzieje „pod maską”? + +1. **Pre‑procesowanie:** Silnik automatycznie prostuje obraz i normalizuje kontrast. +2. **Wykrywanie języka:** Jeśli nie określisz języka, Aspose spróbuje go odgadnąć – przydatne przy szybkich skanach. +3. **Rozpoznawanie:** Rdzeń silnika OCR uruchamia model sieci neuronowej wytrenowany na milionach znaków. + +Ponieważ wszystko to jest zamknięte w jednym wywołaniu, nie musisz zagłębiać się w ustawienia niskiego poziomu, chyba że masz bardzo specjalistyczny przypadek użycia. + +--- + +## Krok 4: Wyświetlenie i użycie wyodrębnionego ciągu + +Teraz, gdy masz już tekst, możesz go wydrukować, zapisać w bazie danych lub przekazać do innego API. Najprostszy sposób – po prostu `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Oczekiwany wynik + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Uwaga:** Dokładny wynik zależy od zawartości `quick.png`. Jeśli obraz zawiera odręczną notatkę, możesz zobaczyć pewne błędy rozpoznawania – nic, czego nie da się naprawić prostym przetwarzaniem po‑odczytowym. + +--- + +## Krok 5: Obsługa typowych przypadków brzegowych + +### Duże skany lub wielostronicowe PDF‑y + +Jeśli musisz **czytać tekst ze skanów**, które są większe niż typowy PNG, rozważ: + +- Podzielenie obrazu na kafelki (`ImageStream.fromRegion`). +- Użycie `OcrEngine.recognizeMultiplePages` dla wejść PDF. + +### Języki nie‑angielskie + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Wskazówki dotyczące wydajności + +- Ponownie używaj tej samej instancji `OcrEngine` dla wielu obrazów, aby uniknąć wielokrotnej inicjalizacji. +- Przy przetwarzaniu wsadowym włącz wielowątkowość, ale ogranicz liczbę wątków do liczby rdzeni CPU, aby zapobiec nadmiernemu zużyciu pamięci. + +--- + +## Kompletny działający przykład + +Poniżej znajduje się pełna, gotowa do uruchomienia klasa Java. Skopiuj‑wklej ją do swojego IDE, dostosuj ścieżkę do obrazu i naciśnij **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +Uruchomienie tego programu wypisze wynik OCR w konsoli, skutecznie **konwertując obraz na ciąg znaków** w zaledwie kilku linijkach kodu. + +--- + +## Zakończenie + +Teraz wiesz, jak **wyodrębnić tekst z obrazu** w Javie przy użyciu Aspose OCR. Proces sprowadza się do trzech prostych kroków: wczytaj PNG, wywołaj `OcrEngine.recognize` i użyj otrzymanego ciągu. Niezależnie od tego, czy chcesz **rozpoznać tekst z png**, **konwertować obraz na ciąg znaków**, czy po prostu **czytać tekst ze skanów**, to podejście zapewnia niezawodne, gotowe do produkcji rozwiązanie. + +Gotowy na kolejny wyzwanie? Spróbuj przetworzyć folder ze skanowanymi paragonami w pętli, zapisać każdy wynik w pliku CSV lub poeksperymentować z ustawieniami specyficznymi dla języka, aby poprawić dokładność w tekstach nie‑angielskich. Nie ma granic, a kod, który właśnie napisałeś, jest solidną podstawą. + +Miłego kodowania i śmiało zadawaj pytania w komentarzach – chętnie pomogę! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/polish/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..954d7737e --- /dev/null +++ b/ocr/polish/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,215 @@ +--- +category: general +date: 2026-02-19 +description: rozpoznawaj tekst z pliku PNG w Javie przy użyciu Aspose OCR – dowiedz + się, jak wyodrębnić tekst z obrazu w Javie i efektywnie przetwarzać obraz przy użyciu + OCR. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: pl +og_description: Rozpoznawaj tekst z pliku PNG w Javie przy użyciu Aspose OCR. Ten + samouczek pokazuje, jak wyodrębnić tekst z obrazu w Javie i przetworzyć obraz przy + użyciu OCR krok po kroku. +og_title: rozpoznawanie tekstu z pliku PNG w Javie – Kompletny przewodnik Aspose OCR +tags: +- OCR +- Java +- Image Processing +title: rozpoznawanie tekstu z pliku PNG w Javie – samouczek Aspose OCR +url: /pl/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# rozpoznawanie tekstu z png w Java – Kompletny przewodnik Aspose OCR + +Czy kiedykolwiek potrzebowałeś **recognize text from png**, ale nie wiedziałeś, którą bibliotekę wybrać? Nie jesteś sam — wielu programistów Java napotyka ten problem, gdy po raz pierwszy zajmują się ekstrakcją danych z obrazów. Dobrą wiadomością jest to, że Aspose OCR sprawia, że cały proces jest prawie bezbolesny, a w tym przewodniku zobaczysz dokładnie, jak **extract text from image java** projektów, jednocześnie **process image with OCR** w sposób wątkowo‑bezpieczny. + +W ciągu kilku minut uruchomimy mały program Java, który wczyta PNG, wykona OCR na CPU używając do ośmiu wątków i wypisze rozpoznany ciąg znaków na konsolę. Bez zewnętrznych usług, bez tajnych kluczy API — po prostu zwykły kod Java, który możesz skopiować i uruchomić już dziś. + +## Czego będziesz potrzebować + +- **Java 17** lub nowszy (kod kompiluje się również w starszych wersjach, ale 17 jest optymalnym wyborem). +- **Aspose.OCR for Java** JAR (pobierz ze strony Aspose lub pobierz przez Maven). +- Obraz PNG, który chcesz odczytać — na przykład `document-page1.png` zapisany gdzieś na dysku. +- Twoje ulubione IDE lub prosty edytor tekstu i terminal. + +To wszystko. Jeśli masz te elementy, możemy od razu przejść do rozwiązania. + +![Kod Java do rozpoznawania tekstu z png przy użyciu Aspose OCR](image-placeholder.png "przykład rozpoznawania tekstu z png w Java"){alt="Kod Java do rozpoznawania tekstu z png przy użyciu Aspose OCR"} + +## Krok po kroku: rozpoznawanie tekstu z png + +Poniżej dzielimy implementację na przejrzyste, łatwe do zarządzania fragmenty. Każdy fragment jest nagłówkiem H2, więc możesz od razu przejść do interesującej Cię części. + +### 1. Dodaj Aspose OCR do swojego projektu + +**Dlaczego?** Silnik OCR znajduje się w bibliotece Aspose; bez niego kompilator nie będzie wiedział, czym jest `OcrEngine`. + +Jeśli używasz Maven, wstaw ten fragment do swojego `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Dla Gradle wygląda to tak: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Porada:** Zawsze sprawdzaj najnowszy numer wersji; nowsze wydania często wprowadzają ulepszenia wydajności dla przetwarzania wielowątkowego. + +### 2. Utwórz i skonfiguruj silnik OCR + +**Dlaczego?** Tworzenie instancji `OcrEngine` daje gotowy do użycia obiekt, a dostosowanie ustawień urządzenia pozwala wykorzystać wszystkie dostępne rdzenie CPU. + +Tutaj wyraźnie ustawiamy urządzenie na `CPU`. Jeśli później przejdziesz do środowiska z obsługą GPU, po prostu zamień wartość wyliczenia — nie trzeba zmieniać żadnego innego kodu. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +### 3. Wczytaj obraz PNG + +**Dlaczego?** OCR działa na strumieniu obrazu, a nie bezpośrednio na ścieżce pliku. Konwersja pliku do `ImageStream` ukrywa szczegóły formatu. + +Zastąp `YOUR_DIRECTORY` rzeczywistym folderem. Jeśli plik nie zostanie znaleziony, silnik zgłosi `IOException`, które przechwycimy później. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +### 4. Uruchom rozpoznawanie i przechwyć wynik + +**Dlaczego?** Metoda `recognize()` wykonuje ciężką pracę — wykrywa znaki, linie i układ. Zwrócony `OcrResult` zawiera czysty tekst. + +Możesz także poprosić o wynik w formacie `Pdf` lub `Html`, ale w celu **extract text from image java** pozostajemy przy zwykłym tekście. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +### 5. Wyświetl tekst i posprzątaj + +**Dlaczego?** Proste `System.out.println` wystarczy do demonstracji, ale w rzeczywistej aplikacji prawdopodobnie zapiszesz wynik do pliku lub bazy danych. + +Ponieważ `OcrEngine` implementuje `AutoCloseable`, dobrą praktyką jest otoczenie wszystkiego blokiem try‑with‑resources. Dzięki temu natywne zasoby są zwalniane od razu. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +### 6. Pełny, gotowy do uruchomienia przykład + +Łącząc wszystko razem, oto kompletny program, który możesz skompilować i uruchomić: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Oczekiwany wynik** (zakładając, że PNG zawiera „Hello World”): + +``` +=== OCR Result === +Hello World +``` + +Jeśli obraz jest bardziej złożony — wiele linii, tabele lub odręczne notatki — wynik odzwierciedli dokładnie to, co wykryje Aspose OCR, zachowując podziały linii tam, gdzie to ma sens. + +## Częste pytania i przypadki brzegowe + +### Co zrobić, gdy PNG jest bardzo duży? + +Duże obrazy mogą pochłaniać dużo pamięci. Praktycznym obejściem jest **downscale** obrazu przed przekazaniem go do silnika: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +### Czy mogę uruchomić OCR na PDF zamiast PNG? + +Oczywiście. Aspose OCR akceptuje również PDF-y za pośrednictwem obiektów `PdfDocument`. To samo wywołanie `recognize()` działa, więc możesz **process image with OCR** niezależnie od formatu źródłowego. + +### Jak poprawić dokładność dla skryptów nie‑łacińskich? + +Ustaw język przed rozpoznawaniem: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +### Czy liczba wątków zawsze przynosi korzyści? + +Więcej wątków przyspiesza przetwarzanie na wielordzeniowych CPU, ale po przekroczeniu liczby fizycznych rdzeni zwrot z inwestycji maleje. Jeśli zauważysz wyższe zużycie CPU bez proporcjonalnego przyspieszenia, zmniejsz liczbę wątków do `Runtime.getRuntime().availableProcessors()`. + +## Podsumowanie: co osiągnęliśmy + +Właśnie **recognize text from png** przy użyciu zwięzłego programu Java, pokazaliśmy jak **extract text from image java** z Aspose OCR oraz omówiliśmy kluczowe kroki, aby **process image with OCR** w sposób gotowy do produkcji. Kod jest samodzielny, wyjaśnienia odpowiadają zarówno na „jak”, jak i „dlaczego”, a wskazówki dotyczą typowych pułapek, na które możesz natrafić. + +## Co dalej? + +- **Batch processing:** Przetwarzaj wsadowo: iteruj po katalogu PNG‑ów i zapisz każdy wynik do pliku `.txt`. +- **PDF generation:** Przekaż wynik OCR do Aspose.PDF, aby utworzyć przeszukiwalne PDF‑y. +- **Cloud scaling:** Wdroż ten sam kod w kontenerze zarządzanym przez Kubernetes i pozwól pulie wątków dostosować się do zasobów podu. + +Śmiało eksperymentuj — wymień obraz, zmień liczbę wątków lub przełącz języki. Silnik OCR jest wystarczająco elastyczny, aby obsłużyć większość scenariuszy, a dzięki solidnej bazie, którą teraz masz, jego rozbudowa to pestka. + +Masz pytania lub odkryłeś sprytną optymalizację? zostaw komentarz poniżej i powodzenia w kodowaniu! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/java/ocr-operations/_index.md b/ocr/polish/java/ocr-operations/_index.md index 8c31cecde..c46d8983f 100644 --- a/ocr/polish/java/ocr-operations/_index.md +++ b/ocr/polish/java/ocr-operations/_index.md @@ -81,6 +81,10 @@ Odblokuj moc OCR w Javie z Aspose.OCR. Rozpoznawaj tekst w dokumentach PDF bez w Odblokuj potężne rozpoznawanie tekstu w Javie z Aspose.OCR. Bez wysiłku rozpoznawaj tekst w obrazach TIFF. Pobierz już teraz, aby cieszyć się płynnym doświadczeniem OCR. ### [Rozpoznawanie tekstu na obrazie przy użyciu Aspose OCR – Pełny samouczek OCR w Javie](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Kompletny przewodnik po rozpoznawaniu tekstu na obrazach w Javie przy użyciu Aspose OCR, obejmujący wszystkie kluczowe kroki. +### [Utwórz przeszukiwalny PDF z JPG – Przewodnik Java: Obraz do przeszukiwalnego PDF](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Szybki tutorial, jak zamienić plik JPG w przeszukiwalny PDF przy użyciu Aspose.OCR w Javie. +### [Jak prostować obraz — Przewodnik krok po kroku przetwarzania wstępnego OCR](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +Odblokuj moc prostowania obrazów przed OCR, krok po kroku, aby poprawić dokładność i jakość rozpoznawania. ## Najczęściej zadawane pytania diff --git a/ocr/polish/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/polish/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..85e802473 --- /dev/null +++ b/ocr/polish/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,186 @@ +--- +category: general +date: 2026-02-19 +description: Utwórz przeszukiwalny PDF z obrazu JPG przy użyciu Aspose OCR w Javie. + Konwertuj JPG na PDF i szybko rozpoznaj tekst z obrazu. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: pl +og_description: Utwórz przeszukiwalny PDF z obrazu JPG przy użyciu Aspose OCR. Dowiedz + się, jak konwertować JPG na PDF i rozpoznawać tekst z obrazu w Javie. +og_title: Utwórz przeszukiwalny PDF z JPG – samouczek Java OCR +tags: +- aspose-ocr +- java +- pdf +- ocr +title: 'Utwórz przeszukiwalny PDF z JPG – Przewodnik Java: obraz na przeszukiwalny + PDF' +url: /pl/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Utwórz przeszukiwalny PDF z JPG – Przekształcenie obrazu w przeszukiwalny PDF w Javie + +Czy kiedykolwiek potrzebowałeś **utworzyć przeszukiwalny PDF** z zeskanowanego obrazu, ale nie wiedziałeś, od czego zacząć? Nie jesteś jedyny — wielu programistów napotyka ten sam problem, gdy mają JPG, który musi być przeszukiwalny. Dobrą wiadomością jest to, że dzięki Aspose OCR for Java możesz zamienić ten obraz w w pełni przeszukiwalny PDF w zaledwie kilku linijkach kodu. + +W tym samouczku przeprowadzimy Cię przez cały proces: wczytanie JPG, rozpoznanie tekstu i zapisanie wyniku jako przeszukiwalny PDF. Po zakończeniu będziesz wiedział, jak **konwertować jpg na pdf**, jak **wyodrębnić tekst z jpg**, oraz dlaczego to podejście jest często bardziej niezawodne niż próba OCR PDF po jego utworzeniu. + +## Czego będziesz potrzebował + +* **Java Development Kit (JDK) 8 lub nowszy** – kod używa standardowych API Javy. +* **Biblioteka Aspose OCR for Java** – możesz ją pobrać z Maven Central lub ściągnąć plik JAR ze strony Aspose. +* **Przykładowy JPG**, który zawiera czytelny tekst (np. zeskanowaną fakturę lub zrzut ekranu dokumentu). + +Nie są wymagane dodatkowe frameworki; przykład działa w zwykłym projekcie Java. + +## Krok 1 – Skonfiguruj projekt i dodaj Aspose OCR + +Najpierw utwórz nowy projekt Maven (lub po prostu folder z JAR-em na classpath). Jeśli używasz Maven, dodaj tę zależność do swojego `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Wskazówka:** Zawsze sprawdzaj najnowszą wersję w repozytorium Maven Aspose; nowsze wydania zawierają ulepszenia wydajności i poprawki błędów. + +Gdy zależność zostanie rozwiązana, możesz przystąpić do napisania kodu Java, który **utworzy przeszukiwalny PDF**. + +## Krok 2 – Wczytaj obraz (image to searchable pdf) + +Pierwszym rzeczywistym krokiem jest skierowanie silnika OCR na obraz źródłowy. To właśnie tutaj rozpoczyna się transformacja **image to searchable pdf**. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Dlaczego to ważne:** `setImage` informuje Aspose, który bitmap ma analizować. Jeśli dostarczysz obraz o niskiej rozdzielczości, jakość OCR ucierpi, więc upewnij się, że JPG ma co najmniej 300 dpi, aby uzyskać najlepsze wyniki. + +## Krok 3 – Rozpoznaj tekst z obrazu + +Teraz, gdy silnik wie, z którym obrazem pracować, możemy poprosić go o **rozpoznanie tekstu z obrazu**. Aspose OCR wykonuje ciężką pracę w tle, obsługując wykrywanie języka, segmentację znaków i ocenę pewności. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +Wywołanie `recognize()` zwraca interfejs fluent, pozwalając nam łańcuchowo wywołać metodę `save`. Poprzez określenie `OcrOutputFormat.SEARCHABLE_PDF` biblioteka osadza niewidzialną warstwę tekstu w PDF, zachowując jednocześnie wygląd oryginalnego obrazu. + +> **Przypadek brzegowy:** Jeśli Twój JPG zawiera wiele stron (np. wielostronicowy TIFF zapisany jako oddzielne JPG), będziesz musiał przeiterować po każdym pliku i później połączyć powstałe PDF‑y. Ten sam silnik OCR może być ponownie użyty w każdej iteracji. + +## Krok 4 – Zweryfikuj wynik + +Po zakończeniu operacji zapisu, prosty komunikat w konsoli informuje, że wszystko przebiegło pomyślnie. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +Gdy otworzysz `output-searchable.pdf` w przeglądarce takiej jak Adobe Acrobat, powinieneś móc zaznaczyć ukryty tekst, skopiować go lub wykonać wyszukiwanie — dokładnie to, czego oczekujesz od **przeszukiwalnego PDF**. + +### Oczekiwany wynik + +Uruchomienie programu wypisuje: + +``` +Searchable PDF created. +``` + +A wygenerowany PDF wyświetli oryginalny JPG, jednocześnie umożliwiając zaznaczanie tekstu. Jeśli otworzysz „Properties → Description → PDF Producer” w PDF, zobaczysz coś w stylu `Aspose.OCR for Java`. + +## Pełny działający przykład + +Poniżej znajduje się kompletny, gotowy do uruchomienia plik źródłowy. Skopiuj i wklej go do swojego IDE, dostosuj ścieżki plików i uruchom. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **Co jeśli OCR się nie powiedzie?** +> * Zwykle dzieje się tak, gdy obraz jest zbyt zaszumiony lub język nie jest obsługiwany domyślnie. Możesz poprawić dokładność, wstępnie przetwarzając obraz (zwiększ kontrast, prostuj) lub wyraźnie ustawiając język za pomocą `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`. + +## Częste pytania i pułapki + +| Question | Answer | +|----------|--------| +| **Can I extract the plain text instead of a PDF?** | Tak. Użyj `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **What if I need to process a PNG?** | To samo API działa; po prostu zmień rozszerzenie pliku w `fromFile`. | +| **Is the resulting PDF truly searchable on all viewers?** | Nowoczesne przeglądarki (Adobe Reader, Foxit, Chrome) respektują ukrytą warstwę tekstu. Starsze narzędzia mogą ją ignorować. | +| **How do I control the PDF page size?** | Aspose OCR domyślnie używa wymiarów obrazu. Aby uzyskać niestandardowy rozmiar, wygeneruj PDF ręcznie i nałóż warstwę tekstu OCR — to zaawansowany scenariusz. | + +## Wskazówki dotyczące wydajności + +* **Batch processing:** Ponowne użycie jednej instancji `OcrEngine` dla wielu obrazów, aby uniknąć wielokrotnego ładowania natywnej biblioteki. +* **Thread safety:** Silnik **nie** jest bezpieczny wątkowo; utwórz jedną instancję na wątek, jeśli równolegle przetwarzasz. +* **Memory usage:** Duże obrazy mogą zużywać dużo pamięci RAM. Jeśli napotkasz `OutOfMemoryError`, zmniejsz rozmiar obrazu przed przekazaniem go do silnika. + +## Kolejne kroki + +Teraz, gdy wiesz, jak **utworzyć przeszukiwalny PDF**, możesz chcieć zbadać powiązane zadania: + +* **Convert jpg to pdf** bez OCR (użyj biblioteki Aspose PDF do utworzenia zwykłego PDF‑a z obrazem). +* **Extract text from jpg** do pliku `.txt` w celu indeksacji. +* **Combine multiple searchable PDFs** w jeden dokument przy użyciu `PdfFileEditor` z Aspose PDF. + +Wszystkie te operacje opierają się na tej samej podstawie, którą właśnie zbudowałeś. + +--- + +### Szybkie podsumowanie + +* Utworzyliśmy **przeszukiwalny PDF** z JPG przy użyciu Aspose OCR for Java. +* Proces obejmował wczytanie obrazu, rozpoznanie tekstu i zapis jako przeszukiwalny PDF. +* Masz teraz wzorzec do ponownego użycia dla **image to searchable PDF**, **recognize text from image**, **extract text from jpg** oraz **convert jpg to pdf**. + +Wypróbuj to na własnych dokumentach, dostosuj ustawienia języka w razie potrzeby i pozwól OCR wykonać ciężką pracę za Ciebie. Szczęśliwego kodowania! + +![Create searchable PDF example](placeholder.png){alt="Utwórz przeszukiwalny PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/polish/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..0ba80cedf --- /dev/null +++ b/ocr/polish/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,177 @@ +--- +category: general +date: 2026-02-19 +description: Dowiedz się, jak prostować obraz i usuwać szumy dla OCR. Ten samouczek + pokazuje, jak rozpoznawać tekst na obrazie, korygować obrót obrazu oraz wstępnie + przetwarzać obraz do OCR przy użyciu Aspose OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: pl +og_description: Jak wyprostować obraz i usunąć szumy, aby szybko rozpoznawać tekst + na obrazie. Postępuj zgodnie z tym przewodnikiem, aby skorygować obrót obrazu i + wstępnie przetworzyć OCR obrazu za pomocą Aspose. +og_title: Jak prostować obraz – Kompletny poradnik wstępnego przetwarzania OCR +tags: +- OCR +- Java +- Image Processing +title: Jak wyprostować obraz — Przewodnik krok po kroku po przetwarzaniu wstępnym + OCR +url: /pl/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak prostować obraz — Kompletny tutorial przetwarzania wstępnego OCR + +Zastanawiałeś się kiedyś, **jak prostować obraz** przed przekazaniem go do silnika OCR? Być może zeskanowałeś partię paragonów i strony wyglądają, jakby były nieco przechylone, albo skan jest pokryty losowymi kropkami. To powszechny problem — przechylone, zaszumione obrazy utrudniają rozpoznawanie tekstu. + +Dobre wieści? Możesz wyprostować (skorygować obrót obrazu) i odszumować (jak usunąć szum) w zaledwie kilku linijkach Javy przy użyciu Aspose.OCR. W tym przewodniku przejdziemy przez cały proces: od wczytania zaszumionego i obróconego PNG, zastosowania prostowania + medianowego odszumiania, aż po **rozpoznanie tekstu obrazu** i wydrukowanie wyniku. Na końcu będziesz mieć wielokrotnego użytku fragment kodu, który możesz wstawić do dowolnego projektu Java. + +## Czego będziesz potrzebować + +- **Java 17** lub nowszy (kod kompiluje się ze starszymi wersjami, ale 17 jest optymalny). +- **Aspose.OCR for Java** – możesz pobrać najnowszy JAR z Maven Central (`com.aspose:aspose-ocr`). +- Plik obrazu, który jest zarówno obrócony, jak i zaszumiony (np. `noisy-rotated.png`). +- Skromne IDE (IntelliJ, Eclipse lub nawet VS Code). + +Nie są wymagane żadne zaawansowane narzędzia budowania; proste uruchomienie `javac` + `java` działa bez problemu. + +--- + +## Krok 1 – Utwórz instancję silnika OCR + +Pierwszą rzeczą, którą robisz, jest uruchomienie `OcrEngine`. Traktuj go jako mózg, który później odczyta znaki za Ciebie. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Wskazówka:** Trzymaj silnik jako singleton, jeśli przetwarzasz wiele obrazów; ponownie wykorzystuje wewnętrzne bufory i przyspiesza działanie. + +## Krok 2 – Włącz prostowanie i medianowe odszumianie (Jak usunąć szum) + +Teraz informujemy silnik, aby **skorygował obrót obrazu** i **jak usunąć szum**. Oba filtry są opcjonalne, ale razem znacząco poprawiają dokładność. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Dlaczego medianowe odszumianie? Zachowuje krawędzie (linie definiujące znaki), jednocześnie usuwając pojedyncze piksele — dokładnie to, czego potrzebujesz do czystego OCR. + +## Krok 3 – Wczytaj obraz, który chcesz przetworzyć + +Tutaj wskazujemy silnik na plik, który wymaga czyszczenia. `ImageStream.fromFile` wczytuje PNG do pamięci. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Jeśli Twój obraz znajduje się na zdalnym serwerze, po prostu podaj `InputStream` — Aspose obsługuje to płynnie. + +## Krok 4 – Uruchom OCR i przechwyć rozpoznany tekst + +Po włączeniu przetwarzania wstępnego silnik odczytuje teraz skorygowany obraz. Wywołanie `recognize()` zwraca `RecognitionResult`, który zawiera wyodrębniony ciąg znaków. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +Powinieneś zobaczyć czysty, czytelny tekst w konsoli, nawet jeśli oryginalny obraz był przechylony i ziarnisty. + +## Krok 5 – Zweryfikuj wynik (Czego się spodziewać) + +Gdy wszystko działa, konsola wypisuje coś w rodzaju: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Jeśli wynik nadal zawiera zniekształcone znaki, sprawdź ponownie: + +- Rozdzielczość obrazu (≥ 300 dpi jest idealna). +- Czy ścieżka do pliku jest poprawna. +- Czy dodatkowe filtry (np. `setContrastStretch`) mogą pomóc. + +--- + +## Opcjonalnie: Wizualne potwierdzenie przy użyciu przykładowego obrazu + +Poniżej znajduje się mały podgląd obróconego, zaszumionego paragonu. Zauważ przechylenie — nasz kod wyprostuje go dla Ciebie. + +![how to deskew image example](deskew-demo.png "how to deskew image") + +*Alt text: jak prostować obraz – przed i po przetworzeniu.* + +--- + +## Najczęściej zadawane pytania + +### Czy to działa z PDF‑ami, czy tylko z PNG/JPEG? + +Aspose.OCR może czytać PDF‑y bezpośrednio; wystarczy zamienić `ImageStream.fromFile` na `ImageStream.fromPdf`. Te same flagi przetwarzania wstępnego mają zastosowanie, więc nadal otrzymujesz **jak prostować obraz** i **jak usunąć szum**. + +### Co zrobić, jeśli muszę zachować oryginalną orientację na późniejsze kroki? + +Możesz sklonować obraz przed przetwarzaniem wstępnym: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Czy mogę ręcznie zmienić kąt prostowania? + +Tak — `setDeskewAngle(double degrees)` pozwala nadpisać algorytm automatycznego wykrywania. Przydatne, gdy auto‑detekcja zawodzi przy ekstremalnych obrotach. + +### Czym różni się medianowe odszumianie od rozmycia Gaussa? + +Filtry medianowe zastępują każdy piksel medianą jego sąsiadów, co zachowuje krawędzie. Rozmycie Gaussa wygładza wszystko, potencjalnie rozmywając kreski znaków — dlatego medianowe jest bezpieczniejszym wyborem dla OCR. + +--- + +## Podsumowanie + +W tym tutorialu omówiliśmy **jak prostować obraz** pliki, zademonstrowaliśmy **jak usunąć szum** i pokazaliśmy, jak **rozpoznawać tekst obrazu** przy użyciu wbudowanego przetwarzania wstępnego Aspose OCR. Włączając `setDeskew(true)` i `setMedianDenoise(true)`, automatycznie **korygujesz obrót obrazu** i usuwasz plamki, zamieniając niechlujny skan w czysty ciąg tekstowy. + +Śmiało eksperymentuj: wypróbuj różne strategie odszumiania, podawaj PDF‑y lub łańcuchuj wiele obrazów w pętli. Ten sam schemat — silnik → przetwarzanie wstępne → rozpoznawanie — działa w każdym scenariuszu, stanowiąc solidną podstawę dla dowolnego potoku OCR. + +**Kolejne kroki**, które możesz rozważyć: + +- **Przetwarzanie wsadowe** — iteruj po folderze obrazów i zapisz każdy wynik do pliku `.txt`. +- **Pakiety językowe** — wczytaj konkretny słownik językowy, aby zwiększyć dokładność dla tekstu nie‑angielskiego. +- **Zaawansowane filtry** — takie jak `setContrastStretch` lub `setBinarization` dla skanów o niskim kontraście. + +Masz więcej pytań? zostaw komentarz i powodzenia w kodowaniu! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/java/advanced-ocr-techniques/_index.md b/ocr/portuguese/java/advanced-ocr-techniques/_index.md index b736419f5..64353cfd8 100644 --- a/ocr/portuguese/java/advanced-ocr-techniques/_index.md +++ b/ocr/portuguese/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,14 @@ Desbloqueie o poder do reconhecimento de texto com Aspose.OCR para Java. Siga no Capacite seus aplicativos Java com Aspose.OCR para reconhecimento preciso de texto. Fácil integração, alta precisão. ### [Especificando caracteres permitidos em Aspose.OCR](./specify-allowed-characters/) Desbloqueie a extração de texto de imagens perfeitamente com Aspose.OCR para Java. Siga nosso guia passo a passo para uma integração eficiente. +### [Como habilitar GPU para OCR em Java – Guia completo](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Aprenda a ativar a aceleração GPU no Aspose.OCR para Java e melhorar o desempenho do reconhecimento de texto. +### [Como fazer OCR de imagem em Java – Notas manuscritas com verificação ortográfica](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Aprenda a reconhecer texto manuscrito em imagens Java usando OCR com correção ortográfica para melhorar a precisão. + {{< /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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/portuguese/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..38a8d5680 --- /dev/null +++ b/ocr/portuguese/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-02-19 +description: Como habilitar GPU para processamento rápido de OCR. Aprenda a carregar + imagens de alta resolução, reconhecer imagens de texto e extrair texto usando o + Aspose OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: pt +og_description: Como habilitar a GPU para um processamento rápido de OCR. Este guia + mostra como carregar imagens de alta resolução, reconhecer texto em imagens e extrair + texto com o Aspose OCR. +og_title: Como habilitar GPU para OCR em Java – Guia completo +tags: +- OCR +- Java +- GPU +- Aspose +title: Como habilitar GPU para OCR em Java – Guia completo +url: /pt/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +none. + +We must preserve the structure. + +Let's produce final content. + +We'll translate each paragraph. + +Be careful with bullet points: keep dash and spacing. + +Translate "How to Enable GPU for OCR in Java – Complete Guide" => "Como Habilitar GPU para OCR em Java – Guia Completo" + +Translate rest. + +Let's craft. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como Habilitar GPU para OCR em Java – Guia Completo + +Já se perguntou **como habilitar GPU** para seu pipeline de OCR e economizar segundos no tempo de processamento? Você não está sozinho. Em muitos projetos que lidam com imagens, o gargalo está na etapa de extração de texto limitada pela CPU, e mudar para GPU pode ser um divisor de águas. + +Neste tutorial vamos percorrer o carregamento de uma **imagem de alta resolução**, a configuração do Aspose OCR para rodar na GPU e, finalmente, **reconhecer a imagem de texto** e **extrair o texto** com apenas algumas linhas de Java. Ao final, você terá um programa pronto‑para‑executar que demonstra **habilitar o processamento por GPU** de ponta a ponta. + +## O Que Você Precisa + +- Java 17 ou superior (o código usa o sistema de módulos, mas funciona em JDKs mais antigos com pequenos ajustes) +- Aspose OCR for Java 23.10 (ou a versão mais recente) – você pode obter as coordenadas Maven no site da Aspose +- Uma GPU NVIDIA com drivers CUDA 12+ instalados (a biblioteca se recusa a iniciar caso contrário) +- Uma imagem de amostra de alta resolução (PNG ou JPEG) da qual você deseja ler texto + +É só isso. Sem serviços externos, sem créditos de nuvem, apenas sua máquina e a pilha de drivers correta. + +![Fluxo de trabalho de OCR com GPU – como habilitar o processamento por GPU](gpu-ocr-workflow.png) + +*Texto alternativo da imagem: diagrama ilustrando como habilitar GPU para processamento de OCR em Java.* + +## Implementação Passo a Passo + +A seguir dividimos a solução em blocos lógicos. Cada seção contém um trecho de código conciso, uma explicação do **porquê** da etapa e algumas dicas práticas que você provavelmente apreciará mais tarde. + +### Como Habilitar GPU para OCR – Passo 1: Instalar Dependências & Verificar CUDA + +Antes de qualquer código Java ser executado, o runtime nativo do CUDA deve ser detectável. No Windows você pode verificar com: + +```bat +nvcc --version +``` + +No Linux: + +```bash +nvidia-smi +``` + +Se o comando imprimir a versão do driver e os detalhes da GPU, está tudo pronto. Caso contrário, acesse o site da NVIDIA, baixe o driver apropriado e instale o toolkit CUDA (certifique‑se de que a versão corresponde aos requisitos do Aspose OCR – atualmente 12.x). + +**Dica:** Mantenha seu driver de GPU atualizado, mas evite versões “latest‑beta”; elas às vezes quebram a compatibilidade binária com as bibliotecas nativas da Aspose. + +### Como Habilitar GPU para OCR – Passo 2: Adicionar Dependência Maven do Aspose OCR + +Adicione o seguinte ao seu `pom.xml`. Isso traz o motor OCR core e os binários nativos para GPU no Windows, Linux e macOS. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Se preferir Gradle, o equivalente é: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Após atualizar seu projeto, as classes `OcrEngine`, `OcrDeviceType` e `ImageStream` ficam disponíveis. + +### Como Habilitar GPU para OCR – Passo 3: Criar o Motor OCR e Habilitar GPU + +Agora realmente instruímos o Aspose a rodar na GPU. O `OcrEngine` expõe um objeto `Device` onde podemos trocar o tipo de dispositivo de processamento. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Por que isso importa:** Definir `OcrDeviceType.GPU` troca o motor de inferência subjacente de uma implementação apenas‑CPU para uma acelerada por CUDA. A chamada opcional `setStreamCount` permite controlar o paralelismo; dois streams são um padrão seguro na maioria das placas de consumo. + +### Como Habilitar GPU para OCR – Passo 4: Carregar uma Imagem de Alta Resolução + +Fontes de alta resolução fornecem ao modelo OCR mais detalhes visuais, o que se traduz em maior precisão, especialmente para fontes pequenas ou scripts intrincados. O helper `ImageStream.fromFile` lê o arquivo para um formato que o motor espera. + +Se precisar **carregar imagem de alta resolução** a partir de uma URL ou de um array de bytes em memória, pode usar: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Caso limite:** Algumas GPUs têm um tamanho máximo de textura (geralmente 16384 × 16384). Se sua imagem exceder isso, considere redimensionar para um tamanho que ainda preserve a legibilidade (ex.: 3000 × 2000). O motor OCR redimensionará automaticamente se você chamar `ocrEngine.setResizeFactor(0.5)` antes do carregamento. + +### Como Habilitar GPU para OCR – Passo 5: Reconhecer Imagem de Texto e Extrair Texto + +Chamar `ocrEngine.recognize()` dispara a inferência da rede neural na GPU. O método retorna um objeto `OcrResult`; `getText()` extrai a string simples. Você também pode obter caixas delimitadoras, pontuações de confiança ou o JSON bruto se precisar de dados mais ricos. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Por que você pode querer isso:** A etapa **reconhecer imagem de texto** é onde a GPU brilha—imagens grandes que levariam segundos na CPU são processadas em uma fração desse tempo. As pontuações de confiança permitem filtrar resultados de baixa qualidade, um truque útil quando você posteriormente **como extrair texto** para análises downstream. + +### Dicas Profissionais & Armadilhas Comuns + +| Situação | O Que Fazer | +|-----------|------------| +| **Erros de falta de memória** na GPU | Reduza `setStreamCount` para 1, ou redimensione a imagem antes de enviá‑la ao motor. | +| **Caracteres não reconhecidos** apesar da alta resolução | Garanta que o modelo de idioma (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) corresponda ao idioma do texto. | +| **Incompatibilidade de versão CUDA** | Alinhe a versão do toolkit CUDA com a que vem embutida no Aspose OCR (verifique as notas de versão). | +| **Múltiplas GPUs** | Use `ocrEngine.getDevice().setDeviceId(1)` para escolher a segunda GPU se a primeira estiver ocupada. | +| **Executando em servidor headless** | Nenhum passo extra necessário; o driver GPU funciona sem exibição. | + +## Como Extrair Texto – Verificando a Saída + +Ao executar a classe acima, você deverá ver algo como: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Se a saída parecer corrompida, verifique novamente se a imagem é realmente de alta resolução e se o driver da GPU está corretamente instalado. Você também pode habilitar o log detalhado: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +Os logs mostrarão se os kernels nativos CUDA foram carregados com sucesso. + +## Próximos Passos & Tópicos Relacionados + +- **Processamento em lote:** Envolva o `OcrEngine` em um loop e alimente uma lista de caminhos de imagens. Lembre‑se de reutilizar a mesma instância do motor para evitar a sobrecarga de inicialização da GPU a cada iteração. +- **Detecção de idioma:** Aspose OCR suporta mais de 30 idiomas. Troque com `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Pós‑processamento:** Use expressões regulares para limpar a string extraída, ou encaminhe‑a para um pipeline NLP downstream. +- **Dispositivos alternativos:** Se você não possui uma GPU compatível com CUDA, pode voltar para `OcrDeviceType.CPU`. O mesmo código funciona; basta mudar o tipo de dispositivo. +- **Benchmark de desempenho:** Meça a diferença de tempo com `System.nanoTime()` antes e depois de `recognize()` para quantificar o ganho ao **habilitar o processamento por GPU**. + +--- + +### Conclusão + +Cobrimos **como habilitar GPU** para o Aspose OCR em Java, desde a instalação dos drivers corretos até o carregamento de uma **imagem de alta resolução**, **reconhecer a imagem de texto** e, finalmente, **como extrair texto** do resultado. O exemplo completo e executável acima deve funcionar imediatamente em qualquer GPU NVIDIA moderna. + +Teste, experimente diferentes tamanhos de imagem e veja seu throughput de OCR disparar. Se encontrar algum obstáculo, revise a seção de dicas ou consulte as notas de versão da Aspose para as recomendações mais recentes de **habilitar o processamento por GPU**. + +Boa codificação, e que sua GPU permaneça fria enquanto processa texto! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/portuguese/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..23ae19acb --- /dev/null +++ b/ocr/portuguese/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,253 @@ +--- +category: general +date: 2026-02-19 +description: Aprenda a fazer OCR de imagens de notas manuscritas em Java usando o + Aspose OCR. Inclui carregamento da imagem para OCR, leitura de notas manuscritas + e conversão do texto da imagem manuscrita. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: pt +og_description: Como fazer OCR de imagem de notas manuscritas em Java com Aspose. + Guia passo a passo para carregar a imagem para OCR, ler notas manuscritas e converter + o texto da imagem manuscrita. +og_title: Como fazer OCR de imagem em Java – Guia de notas manuscritas +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Como fazer OCR de imagem em Java – Notas manuscritas com verificação ortográfica +url: /pt/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +and bottom. + +Let's craft final output.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como fazer OCR de Imagem em Java – Notas Manuscritas com Verificação Ortográfica + +Já se perguntou **como fazer OCR de imagem** que contém sua lista de compras rabiscada ou atas de reunião? Você não está sozinho. Em muitos aplicativos do mundo real, desenvolvedores precisam ler notas manuscritas e transformá‑las em texto pesquisável — sem necessidade de digitação manual. + +Neste tutorial vamos percorrer um exemplo completo, pronto‑para‑executar, que mostra exatamente **como fazer OCR de imagem** usando Aspose OCR for Java, como **carregar imagem para OCR**, e como **ler notas manuscritas** com correção ortográfica integrada. Ao final, você será capaz de **converter texto de imagem manuscrita** em uma string limpa que pode ser armazenada, indexada ou exibida. + +## O que você vai aprender + +- Os passos exatos para configurar um motor de OCR que entende escrita à mão em inglês. +- Como **carregar imagem para OCR** a partir do disco e enviá‑la ao motor. +- Por que habilitar o corretor ortográfico é importante ao lidar com rabiscos confusos. +- Formas de tratar casos de borda comuns, como imagens de baixo contraste ou pacotes de idioma ausentes. +- Um exemplo completo e executável que você pode colar no seu IDE e ver os resultados instantaneamente. + +> **Pré‑requisitos**: Java 8+ instalado, Maven ou Gradle para gerenciamento de dependências, e uma licença do Aspose OCR for Java (a versão de avaliação gratuita serve para aprendizado). Nenhuma outra biblioteca externa é necessária. + +--- + +## Etapa 1: Configurar o Projeto e Adicionar a Dependência do Aspose OCR + +Primeiro de tudo — seu projeto precisa da biblioteca Aspose OCR. Se você usa Maven, adicione isto ao seu `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Ou com Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Dica profissional**: Fique de olho no número da versão; lançamentos mais recentes melhoram o reconhecimento de escrita à mão e adicionam suporte a idiomas. + +Depois que a dependência for resolvida, você está pronto para **carregar imagem para OCR**. + +## Etapa 2: Criar a Instância do Motor OCR + +Para **como fazer OCR de imagem** de forma eficaz, você precisa de um objeto `OcrEngine`. Esse objeto é o coração do processo — ele contém as configurações de idioma, flags de correção ortográfica e a própria imagem. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Por que instanciamos o motor primeiro? Porque o Aspose OCR foi projetado para ser reutilizável; você pode processar várias imagens com a mesma instância, ajustando as configurações entre as execuções, se necessário. + +## Etapa 3: Adicionar Suporte ao Idioma Inglês e Habilitar Correção Ortográfica + +Notas manuscritas costumam estar repletas de erros de ortografia, letras ausentes ou abreviações não convencionais. Habilitar o corretor ortográfico dá ao motor a chance de limpar a saída. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **Por que habilitar a correção ortográfica?** +> Sem ela, a saída bruta do OCR pode aparecer como “t0d@y” ou “c0ffee”. O corretor ortográfico normaliza essas peculiaridades, tornando o texto final muito mais útil para processos posteriores, como indexação de busca. + +## Etapa 4: Carregar a Imagem Manuscrita + +Agora vamos **carregar imagem para OCR**. O Aspose fornece o conveniente método `ImageStream.fromFile` que aceita qualquer formato raster comum (PNG, JPEG, BMP). + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Se sua imagem estiver em uma pasta de recursos ou você a receber como um array de bytes (por exemplo, de um upload web), pode usar `ImageStream.fromBytes` em vez disso — basta substituir a linha acima por: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Etapa 5: Executar OCR e Recuperar o Texto Corrigido + +Com o motor configurado e a imagem carregada, a chamada real de **como fazer OCR de imagem** é uma única linha: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +O método `recognize()` devolve um objeto `OcrResult` que contém não apenas o texto puro, mas também pontuações de confiança, caixas delimitadoras e mais. Para a maioria dos casos de uso, o simples `getText()` é suficiente. + +## Etapa 6: Exibir o Resultado + +Finalmente, imprimimos a string limpa no console. Em uma aplicação real você pode armazená‑la em um banco de dados, enviá‑la a um motor de busca ou passá‑la a um modelo de linguagem. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Saída Esperada + +Assumindo que a nota manuscrita diga: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +Você deverá ver algo como: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Mesmo que o rabisco original fosse bagunçado — por exemplo “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w” — o corretor ortográfico normalmente ajustará tudo. + +--- + +## Carregar Imagem para OCR – Dicas para Melhor Precisão + +1. **Resolução importa** – Almeje pelo menos 300 dpi. Resoluções menores fazem o motor perder traços finos. +2. **Contraste é rei** – Se o fundo for colorido, converta a imagem para escala de cinza primeiro. +3. **Corte ao conteúdo** – Remover margens desnecessárias reduz ruído e acelera o processamento. + +Você pode pré‑processar imagens com bibliotecas como OpenCV ou até mesmo com o `BufferedImage` nativo do Java antes de entregá‑las ao Aspose. + +## Ler Notas Manuscritas: Tratando Casos de Borda + +- **Palavras de baixa confiança**: `ocrEngine.getResult().getWords()` devolve uma lista onde cada palavra tem um valor de confiança (0–100). Você pode filtrar palavras abaixo de um limiar e solicitar revisão manual ao usuário. +- **Múltiplos idiomas**: Se precisar **ler notas manuscritas** em inglês e espanhol, adicione ambos os idiomas antes de chamar `recognize()`. +- **Arquivos grandes**: Para PDFs ou TIFFs de várias páginas, itere sobre cada página com `ocrEngine.setImage(pageStream)` dentro de um loop. + +## Converter Texto de Imagem Manuscrita em Dados Estruturados + +Frequentemente você não precisa apenas de uma string bruta; pode querer extrair datas, valores ou itens de lista. Depois de obter o texto corrigido, expressões regulares ou bibliotecas de NLP (como Stanford CoreNLP) podem analisar o conteúdo: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +Este trecho demonstra como é fácil passar de **converter texto de imagem manuscrita** para dados acionáveis. + +## Armadilhas Comuns e Como Evitá‑las + +| Sintoma | Causa Provável | Solução | +|---------|----------------|---------| +| Saída confusa, muitos caracteres `?` | Imagem muito escura ou de baixo contraste | Aumente o brilho ou pré‑procese com equalização de histograma | +| Palavras perdidas | Escrita muito cursiva | Habilite `ocrEngine.getSettings().setEnableCursive(true)` (se suportado) | +| Corretor ortográfico insere palavras erradas | Modelo de idioma incompatível | Adicione um dicionário personalizado via `ocrEngine.getSpellChecker().addUserWords(...)` | +| Erro de falta de memória em imagens grandes | Tamanho da imagem > 10 MB | Reduza a escala antes de carregar, ou processe em blocos (tiles) | + +## Exemplo Completo (Pronto para Copiar‑Colar) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Observação**: Se você estiver executando o código a partir de um IDE, certifique‑se de que a pasta `YOUR_DIRECTORY` esteja no classpath ou use um caminho absoluto. + +--- + +## Conclusão + +Cobrir‑mos **como fazer OCR de imagem** em Java do início ao fim, mostrando como **carregar imagem para OCR**, **ler notas manuscritas**, habilitar correção ortográfica e, finalmente, **converter texto de imagem manuscrita** em uma string limpa. A abordagem é simples, mas poderosa o suficiente para aplicativos de nível de produção. + +Pronto para o próximo desafio? Experimente trabalhar com PDFs de várias páginas, adicione dicionários personalizados para termos específicos da sua indústria, ou alimente a saída do OCR em um modelo de aprendizado de máquina para análise de sentimento. O céu é o limite quando você combina a precisão do Aspose OCR com a flexibilidade do Java. + +Tem dúvidas sobre algum caso de borda específico, ou quer compartilhar como integrou isso em um aplicativo móvel? Deixe um comentário abaixo — feliz codificação! + +--- + +![exemplo de como OCR imagem](/images/ocr-handwritten-example.png "exemplo de como OCR de notas manuscritas") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/portuguese/java/ocr-basics/_index.md index d5befd86c..4e26f36f8 100644 --- a/ocr/portuguese/java/ocr-basics/_index.md +++ b/ocr/portuguese/java/ocr-basics/_index.md @@ -48,7 +48,7 @@ Um ambiente licenciado remove limites de avaliação e maximiza o desempenho. Si [How to Set License for Aspose.OCR in Java](./set-license/) -> **Dica profissional:** Coloque o arquivo de licença na pasta `resources` do seu projeto e carregue‑o uma única vez na inicialização da aplicação. +> **Dica profissional:** Coloque o arquivo de licença na pasta `resources` do seu projeto e carregue‑lo uma única vez na inicialização da aplicação. ### Como calcular o ângulo de inclinação com Aspose.OCR Digitalizações inclinadas podem reduzir drasticamente a qualidade do OCR. Use o método embutido de cálculo de inclinação para detectar o ângulo e girar a imagem antes do reconhecimento: @@ -104,6 +104,17 @@ Melhore a precisão do OCR com Aspose.OCR para Java. Aprenda a calcular ângulos ### [Obtendo Retângulos com Áreas de Texto no Aspose.OCR](./get-rectangles-with-text-areas/) Desbloqueie o poder do Aspose.OCR para Java. Aprenda como extrair texto de imagens de forma fluida neste guia passo a passo. Baixe agora para um reconhecimento de texto eficiente. +### [Reconhecer texto de PNG em Java – tutorial Aspose OCR](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Aprenda a reconhecer texto em arquivos PNG usando Aspose.OCR para Java com este tutorial passo a passo. + +### [Extrair texto de imagem – converter PNG para texto em Java](./extract-text-from-image-convert-png-to-text-in-java/) +Aprenda a converter arquivos PNG em texto usando Aspose.OCR para Java neste tutorial passo a passo. + +### [Extrair Texto de Imagem em Java – Exemplo Completo de OCR](./extract-text-from-image-in-java-complete-ocr-example/) +Aprenda a extrair texto de imagens em Java com um exemplo completo de OCR usando Aspose.OCR. + +### [Extrair Texto de Imagem com Aspose OCR – Guia Rápido Java](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) + --- **Last Updated:** 2025-12-08 @@ -115,4 +126,4 @@ Desbloqueie o poder do Aspose.OCR para Java. Aprenda como extrair texto de image {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/portuguese/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..510929eff --- /dev/null +++ b/ocr/portuguese/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-02-19 +description: extrair texto de imagem usando Aspose OCR Java – aprenda como converter + PNG em texto, carregar a imagem para OCR e seguir um tutorial de OCR em Java. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: pt +og_description: extraia texto de imagem com Aspose OCR Java. siga este tutorial passo + a passo de OCR em java para converter png em texto e carregar a imagem para OCR. +og_title: Extrair texto de imagem – Guia OCR Java +tags: +- OCR +- Java +- Aspose +- Image Processing +title: extrair texto de imagem – converter PNG em texto em Java +url: /pt/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# extrair texto de imagem – Tutorial OCR Java + +Já precisou **extract text from image** mas não tinha certeza de qual biblioteca permitiria fazer isso sem complicações? Você não está sozinho—os desenvolvedores perguntam constantemente: “Como converter um PNG em texto em Java?” A boa notícia é que o Aspose OCR torna todo o processo tão simples quanto um passeio no parque. Neste guia, percorreremos um **java ocr tutorial** completo, mostraremos como **load image for OCR**, e terminaremos com texto limpo e pesquisável. + +Cobriremos tudo, desde a configuração do motor até o tratamento de conteúdo multilíngue, de modo que, ao final, você poderá **extract text from image** de arquivos de qualquer tamanho, formato ou idioma. Sem serviços externos, sem chaves de API—apenas um único JAR e algumas linhas de código. + +## O que você precisará + +- JDK 8 ou mais recente instalado (o código funciona também no JDK 11+). +- Maven ou Gradle para obter a biblioteca Aspose OCR, ou você pode baixar o JAR manualmente do site da Aspose. +- Uma imagem PNG que contenha texto legível (para o nosso exemplo usaremos `khmer-sign.png`). +- Uma IDE ou editor de texto com o qual você se sinta confortável—IntelliJ IDEA, Eclipse, VS Code, qualquer um serve. + +É isso. Sem frameworks pesados, sem credenciais de nuvem. Pronto? Vamos começar a extrair texto de arquivos de imagem. + +## Etapa 1: Adicionar Aspose OCR ao seu projeto + +Primeiro de tudo—você precisa do motor OCR no seu classpath. Se você usa Maven, adicione esta dependência ao `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Ou com Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Se preferir o caminho manual, baixe o JAR da página de download da Aspose e coloque‑o na pasta `libs` do seu projeto, então adicione‑o ao caminho de compilação. + +> **Dica profissional:** Sempre escolha a versão estável mais recente; versões mais antigas podem não incluir pacotes de idioma ou correções de bugs. + +## Etapa 2: Criar a Instância do Motor OCR + +Agora que a biblioteca está disponível, podemos iniciar um `OcrEngine`. Pense no motor como o cérebro que lerá os pixels e os transformará em caracteres. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Por que criamos um motor novo a cada vez? O motor mantém buffers internos e dados de idioma; iniciar limpo garante resultados determinísticos, especialmente quando você troca de idioma mais tarde. + +## Etapa 3: Habilitar o Idioma Desejado (Opcional, mas Recomendado) + +O Aspose OCR vem com dezenas de pacotes de idioma. Se você conhece o idioma da sua imagem de origem, habilite‑o explicitamente; isso acelera o reconhecimento e melhora a precisão. No nosso exemplo, habilitaremos Khmer (`khm`), mas você pode substituí‑lo por `ENG` para Inglês, `CHN` para Chinês, etc. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Por que isso importa:** Quando você **load image for OCR**, o motor buscará apenas nos dicionários de idioma habilitados. Deixar todos os idiomas ativados pode desacelerar e aumentar falsos positivos. + +## Etapa 4: Carregar Imagem para OCR – Convertendo PNG em Texto + +Aqui é onde a etapa **load image for OCR** ocorre. Aspose fornece um auxiliar conveniente `ImageStream.fromFile` que abstrai o I/O de baixo nível. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +Se sua imagem estiver em outro formato (JPEG, BMP, TIFF), o mesmo método funciona—Aspose detecta automaticamente o formato. Apenas certifique‑se de que o caminho do arquivo está correto; caso contrário, você receberá um `FileNotFoundException`. + +## Etapa 5: Executar o Processo OCR e Converter PNG em Texto + +Com o motor pronto e a imagem carregada, o reconhecimento real é uma única chamada de método. O objeto de resultado fornece a string bruta assim como as pontuações de confiança. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +É isso—você acabou de **convert PNG to text**. A string retornada pode conter quebras de linha e espaços em branco exatamente como o motor os viu. Você pode pós‑processá‑la com `trim()`, `replaceAll("\\s+", " ")`, ou qualquer outra limpeza que precisar. + +## Etapa 6: Exibir o Resultado (ou Armazená‑lo) + +Para uma verificação rápida, imprima o resultado no console. Em uma aplicação real, você provavelmente o gravará em um arquivo, banco de dados ou o enviará para outro serviço. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Saída esperada** (para o sinal Khmer fornecido) pode ser assim: + +``` +សួស្តី +Welcome +``` + +Se a saída estiver distorcida, verifique novamente se você habilitou o idioma correto na Etapa 3 e se a imagem não está muito borrada. Aumentar a resolução da imagem (por exemplo, usando uma digitalização de 300 dpi) costuma ajudar. + +## Exemplo Completo Funcionando + +Juntando todas as peças, aqui está um programa autônomo que você pode copiar e colar em `ExtractTextExample.java` e executar: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Execute o programa com: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +ou, se você estiver usando Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +Você deverá ver o texto extraído impresso no console, confirmando que você **extract text from image** com sucesso usando o Aspose OCR. + +## Armadilhas Comuns & Como Corrigi‑las + +| Sintoma | Causa Provável | Correção | +|---------|----------------|----------| +| Empty string returned | Nenhum idioma habilitado ou código de idioma errado | Adicione o `OcrLanguage` apropriado (ex.: `ENG` para English). | +| Garbled characters | Resolução da imagem muito baixa ou fundo ruidoso | Use uma fonte de maior resolução, ou pré‑processar com um filtro de nitidez. | +| `OutOfMemoryError` | Imagem muito grande carregada em tamanho total | Reduza a escala da imagem antes de enviá‑la ao motor (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Caminho incorreto | Verifique o caminho absoluto ou relativo; use `Paths.get(...).toAbsolutePath()`. | + +> **Lembre‑se:** OCR é um processo probabilístico. Mesmo com configurações perfeitas, pode ser necessário corrigir manualmente alguns caracteres, especialmente em scripts cursivos. + +## Expandindo o Tutorial – Próximos Passos + +- **Processamento em lote:** Percorra um diretório de arquivos PNG, chamando a mesma lógica para cada imagem. +- **Saída PDF:** Use Aspose PDF para incorporar o texto extraído de volta em um PDF pesquisável. +- **Detecção de idioma:** Chame `ocrEngine.detectLanguage()` antes de definir um idioma para que o motor adivinhe automaticamente. +- **Integração com nuvem:** Se precisar escalar, encapsule o código em um endpoint REST e deixe micro‑serviços chamá‑lo. + +Todos esses tópicos se baseiam naturalmente no **java ocr tutorial** que acabamos de concluir, e demonstram quão versátil a API Aspose OCR realmente é. + +## Conclusão + +Percorremos um **java ocr tutorial** completo que permite **extract text from image** de arquivos, **convert PNG to text**, e **load image for OCR** corretamente usando o Aspose OCR. As etapas são simples: adicione a biblioteca, crie um motor, habilite o idioma correto, carregue o PNG, execute `recognize()` e trate a saída. Com essa base, você pode automatizar a entrada de dados, criar arquivos pesquisáveis ou alimentar qualquer aplicação que precise de texto legível por máquina a partir de imagens. + +Experimente com suas próprias imagens—talvez uma captura de tela de um recibo ou um contrato escaneado. Ajuste as configurações de idioma, experimente a resolução, e você verá rapidamente quão flexível a solução é. Se encontrar problemas, consulte novamente a tabela de armadilhas ou verifique a documentação oficial da Aspose; ela é completa e mantida atualizada. + +Feliz codificação, e que seu próximo projeto esteja repleto de texto limpo e pesquisável! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/portuguese/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..d0e904701 --- /dev/null +++ b/ocr/portuguese/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,148 @@ +--- +category: general +date: 2026-02-19 +description: Extraia texto de imagem usando Java OCR. Aprenda um exemplo de OCR em + Java que carrega uma imagem para OCR e extrai texto de arquivos de fatura em apenas + alguns passos. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: pt +og_description: Extraia texto de imagem usando Java OCR. Este guia mostra como carregar + a imagem para OCR e extrair texto de faturas com um exemplo simples de OCR em Java. +og_title: Extrair Texto de Imagem em Java – Exemplo Completo de OCR +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Extrair Texto de Imagem em Java – Exemplo Completo de OCR +url: /pt/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrair Texto de Imagem em Java – Exemplo Completo de OCR + +Já precisou **extrair texto de imagem** mas não tinha certeza de qual biblioteca escolher? Você não está sozinho—muitos desenvolvedores enfrentam esse obstáculo ao automatizar o processamento de faturas ou ao criar arquivos pesquisáveis. A boa notícia? Com algumas linhas de Java você pode carregar uma imagem para OCR, definir uma região de interesse e obter o texto exato que precisa. + +Neste tutorial, vamos percorrer um **java ocr example** que mostra exatamente como **load image for OCR**, definir um ROI e **extract text from invoice** usando Aspose.OCR. Ao final, você terá um programa executável que pode inserir em qualquer projeto Java. + +## O que você aprenderá + +- Como criar uma instância `OcrEngine` e por que isso importa. +- A maneira correta de **load image for OCR** com `ImageStream` da Aspose. +- Definir uma **region of interest (ROI)** para que você processe apenas a parte da imagem que contém o valor da fatura. +- Extrair o texto reconhecido e imprimi-lo no console. +- Armadilhas comuns (por exemplo, coordenadas de retângulo incorretas) e correções rápidas. + +**Pré-requisitos** + +- Java 8 ou superior instalado. +- Maven ou Gradle para obter a biblioteca Aspose.OCR (`com.aspose:aspose-ocr`). +- Uma imagem de fatura de exemplo (`invoice.png`) colocada em um diretório conhecido. + +Tem tudo isso? Ótimo—vamos mergulhar. + +![Extrair texto de imagem usando Java OCR](/images/extract-text-from-image-java.png "exemplo de extração de texto de imagem") + +## Extrair Texto de Imagem – Exemplo de OCR Java passo a passo + +Abaixo está o código-fonte completo. Sinta-se à vontade para copiar e colar em `RoiOcrExample.java` e executá-lo diretamente. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Por que cada passo é importante + +1. **Creating the OCR engine** – sem um engine não há contexto para o processamento de imagens. O objeto também permite ajustar pacotes de idioma mais tarde, se precisar de suporte multilíngue. +2. **Loading the image** – `ImageStream.fromFile` abstrai o formato do arquivo, garantindo que o engine leia os bytes corretamente. Se você pular isso, receberá um `NullPointerException`. +3. **Setting the ROI** – processar a página inteira pode ser desperdiçador. Ao reduzir o retângulo para a área do total da fatura, você acelera o reconhecimento e reduz o ruído. +4. **Calling `recognize()`** – é aqui que a mágica acontece. O método executa o algoritmo OCR sobre a ROI e produz um objeto de resultado. +5. **Printing the output** – em projetos reais você provavelmente armazenaria o texto em um banco de dados, mas `System.out.println` é perfeito para uma demonstração rápida. + +## Carregar Imagem para OCR + +Se você está se perguntando se o caminho precisa ser absoluto ou relativo, a resposta é que ambos funcionam—basta garantir que o processo Java possa ler o arquivo. No Windows, as barras invertidas devem ser escapadas (`C:\\images\\invoice.png`) ou você pode usar barras normais (`C:/images/invoice.png`). + +**Dica profissional:** Se você estiver processando muitas faturas em um loop, reutilize a mesma instância `OcrEngine`; ela faz cache de recursos internos e melhora o rendimento. + +## Definir Região de Interesse (ROI) + +Escolher o retângulo correto pode ser um pouco de tentativa e erro. Uma maneira prática de encontrar as coordenadas é abrir a imagem em qualquer editor gráfico (como GIMP ou Paint.NET) e passar o mouse sobre a área—você verá os valores X/Y na barra de status. + +Caso extremo: algumas faturas têm layouts variáveis. Nesse cenário, você pode executar uma pré‑varredura rápida na imagem inteira, localizar palavras‑chave como “Total:” com uma expressão regular, e então ajustar a ROI dinamicamente. + +## Executar OCR e Obter Texto + +A chamada `recognize()` é síncrona—seu thread fica bloqueado até que o engine termine. Para lotes grandes, você pode querer criar um pool de threads e processar imagens em paralelo. Apenas lembre‑se de que cada thread precisa de sua própria instância `OcrEngine`; elas não são thread‑safe. + +## Executar e Verificar Saída + +Compile e execute: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +Você deve ver algo como: + +``` +ROI text: $1,254.00 +``` + +Se a saída parecer confusa, verifique novamente as coordenadas da ROI e assegure que a qualidade da imagem seja alta (300 dpi ou mais funciona melhor). + +### Armadilhas Comuns e Como Corrigi‑las + +| Sintoma | Causa provável | Correção | +|---------|----------------|----------| +| String vazia | ROI fora dos limites da imagem | Verifique os valores do retângulo em relação às dimensões da imagem | +| Palavras com erros | Baixa resolução | Use uma fonte de maior resolução ou aplique pré‑processamento de imagem (por exemplo, binarização) | +| `java.lang.NoClassDefFoundError` | JAR da Aspose ausente no classpath | Adicione `aspose-ocr.jar` ao `-cp` ou use o gerenciamento de dependências Maven/Gradle | + +## Conclusão + +Agora você sabe como **extract text from image** em Java usando um conciso **java ocr example**. Ao carregar a imagem corretamente, definir uma ROI focada e chamar `recognize()`, você pode **extract text from invoice** de forma confiável e alimentar esses dados em sistemas posteriores. + +O que vem a seguir? Experimente trocar a ROI por diferentes campos (data, nome do fornecedor), experimente pacotes de idioma para faturas multilíngues, ou integre a etapa de OCR em um microserviço Spring Boot. O mesmo padrão funciona para recibos, passaportes ou qualquer documento onde você precise de extração de texto precisa. + +Se você tem dúvidas sobre escalar esta solução ou lidar com digitalizações ruidosas, deixe um comentário abaixo—bom código! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/portuguese/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..8807f7aa1 --- /dev/null +++ b/ocr/portuguese/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-02-19 +description: Extraia texto de imagem em Java usando Aspose OCR. Aprenda como reconhecer + texto de PNG, converter a imagem em string e ler texto de digitalização em apenas + alguns passos. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: pt +og_description: Extraia texto de imagens rapidamente. Este tutorial mostra como reconhecer + texto de PNG, converter a imagem em string e ler texto de digitalizações usando + o Aspose OCR. +og_title: Extrair texto de imagem com Aspose OCR – Guia Java +tags: +- Java +- OCR +- Aspose +title: Extrair Texto de Imagem com Aspose OCR – Guia Rápido em Java +url: /pt/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrair Texto de Imagem – Tutorial Java Completo + +Já precisou **extrair texto de imagem** mas não tinha certeza de qual biblioteca escolher? Talvez você tenha um recibo escaneado em formato PNG e queira o texto como uma string simples para processamento adicional. Na minha experiência, a biblioteca Aspose OCR torna essa tarefa muito fácil, especialmente quando você está trabalhando com Java. + +Neste guia, vamos percorrer tudo o que você precisa saber: desde configurar a dependência Aspose OCR, carregar um arquivo PNG, **reconhecer texto de png**, até transformar o resultado em um `String` Java utilizável. Ao final, você será capaz de **converter imagem em string**, e também verá como **ler texto de scan** arquivos sem esforço. + +## O que você aprenderá + +- Como adicionar Aspose OCR a um projeto Maven ou Gradle. +- O código exato necessário para **extrair texto de imagem** usando uma única chamada de método. +- Por que a classe `ImageStream` é a forma preferida de alimentar dados no motor. +- Dicas para lidar com escaneamentos grandes, PDFs de várias páginas e armadilhas comuns. + +Nenhuma experiência prévia com OCR é necessária, apenas um entendimento básico de Java e um PNG que você deseja processar. + +## Pré-requisitos + +| Requisito | Motivo | +|-------------|--------| +| Java 8 ou superior | Aspose OCR tem como alvo Java 8+. | +| Maven ou Gradle (opcional) | Simplifica o gerenciamento de dependências. | +| Uma imagem PNG (ex., `quick.png`) | A fonte na qual executaremos OCR. | +| Acesso à internet (primeira execução) | A biblioteca pode baixar pacotes de idioma automaticamente. | + +Se você já tem uma IDE Java como IntelliJ IDEA ou Eclipse, está pronto para começar. + +--- + +## Etapa 1: Configurar Aspose OCR no seu Projeto + +### Maven + +Adicione a seguinte dependência ao seu `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Dica profissional:** Se você estiver usando um proxy corporativo, certifique‑se de que Maven/Gradle possa acessar `repo.maven.apache.org`. Caso contrário, a compilação falhará antes mesmo de você escrever uma linha de código. + +--- + +## Etapa 2: Carregar a Imagem PNG + +A classe `ImageStream` abstrai os detalhes do sistema de arquivos e funciona com streams, URLs ou arrays de bytes. Veja como carregar um PNG local: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Por que isso importa:** Usar `ImageStream.fromFile` garante que o motor OCR receba a imagem em um formato que ele compreende totalmente, o que melhora a precisão do reconhecimento em comparação a alimentar arrays de bytes brutos. + +--- + +## Etapa 3: Reconhecer Texto de PNG + +Aspose OCR expõe um único método estático que faz o trabalho pesado: `OcrEngine.recognize`. Ele retorna um `String` Java simples, que é exatamente o que você precisa quando deseja **converter imagem em string**. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### O que acontece nos bastidores? + +1. **Pré‑processamento:** O motor automaticamente corrige a inclinação da imagem e normaliza o contraste. +2. **Detecção de idioma:** Se você não especificar um idioma, Aspose tenta inferi‑lo, o que é útil para escaneamentos rápidos. +3. **Reconhecimento:** O motor OCR central executa um modelo de rede neural treinado com milhões de caracteres. + +Como tudo isso está encapsulado em uma única chamada, você não precisa mexer em configurações de baixo nível, a menos que tenha um caso de uso muito especializado. + +--- + +## Etapa 4: Exibir e Usar a String Extraída + +Agora que você tem o texto, pode imprimi‑lo, armazená‑lo em um banco de dados ou enviá‑lo para outra API. Aqui está a maneira mais simples—apenas `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Saída Esperada + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Nota:** A saída exata depende do conteúdo de `quick.png`. Se a imagem contiver uma nota manuscrita, você pode ver algumas falhas de reconhecimento—nada que um pouco de pós‑processamento não possa corrigir. + +--- + +## Etapa 5: Lidando com Casos Limítrofes Comuns + +### Escaneamentos Grandes ou PDFs de Múltiplas Páginas + +Se você precisar **ler texto de scan** arquivos que são maiores que um PNG típico, considere: + +- Dividir a imagem em blocos (`ImageStream.fromRegion`). +- Usar `OcrEngine.recognizeMultiplePages` para entradas PDF. + +### Idiomas Não‑Inglês + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Dicas de Performance + +- Reutilize a mesma instância `OcrEngine` para múltiplas imagens para evitar inicializações repetidas. +- Para processamento em lote, habilite multithreading, mas limite as threads ao número de núcleos da CPU para evitar sobrecarga de memória. + +--- + +## Exemplo Completo Funcional + +Abaixo está a classe Java completa, pronta para executar. Copie‑e‑cole no seu IDE, ajuste o caminho da imagem e pressione **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +Executar este programa imprime o resultado OCR no console, efetivamente **convertendo imagem em string** em apenas algumas linhas de código. + +--- + +## Conclusão + +Agora você sabe como **extrair texto de imagem** em arquivos Java usando Aspose OCR. O processo se resume a três etapas simples: carregar o PNG, chamar `OcrEngine.recognize` e usar a string resultante. Seja você tentando **reconhecer texto de png**, **converter imagem em string**, ou simplesmente **ler texto de scan** documentos, esta abordagem oferece uma solução confiável e pronta para produção. + +Pronto para o próximo desafio? Tente alimentar uma pasta de recibos escaneados em um loop, armazenar cada resultado em um CSV, ou experimentar configurações específicas de idioma para melhorar a precisão em textos não‑ingleses. O céu é o limite, e o código que você acabou de escrever é uma base sólida. + +Feliz codificação, e sinta‑se à vontade para deixar dúvidas nos comentários—terei prazer em ajudar! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/portuguese/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..09507017a --- /dev/null +++ b/ocr/portuguese/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-02-19 +description: reconhecer texto de PNG em Java usando Aspose OCR – aprenda como extrair + texto de imagens em Java e processar imagens com OCR de forma eficiente. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: pt +og_description: reconheça texto de PNG em Java com Aspose OCR. Este tutorial mostra + como extrair texto de uma imagem em Java e processar a imagem com OCR passo a passo. +og_title: reconhecer texto de png em Java – Guia completo de OCR Aspose +tags: +- OCR +- Java +- Image Processing +title: Reconhecer texto de PNG em Java – tutorial Aspose OCR +url: /pt/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# reconhecer texto de png em Java – Guia Completo de Aspose OCR + +Já precisou **reconhecer texto de png** mas não sabia qual biblioteca escolher? Você não está sozinho—muitos desenvolvedores Java encontram essa barreira ao primeiro contato com extração de dados baseada em imagens. A boa notícia é que o Aspose OCR torna todo o processo quase indolor, e neste guia você verá exatamente como **extrair texto de imagem java** enquanto **processa imagem com OCR** de forma thread‑safe. + +Nos próximos minutos vamos criar um pequeno programa Java que carrega um PNG, executa OCR na CPU usando até oito threads e imprime a string reconhecida no console. Sem serviços externos, sem chaves de API secretas—apenas código Java puro que você pode copiar‑colar e executar hoje. + +## O que você vai precisar + +- **Java 17** ou superior (o código compila em versões anteriores, mas 17 é o ponto ideal). +- **Aspose.OCR for Java** JAR (baixe no site da Aspose ou inclua via Maven). +- Uma imagem PNG que você queira ler—por exemplo `document-page1.png` armazenada em algum lugar no disco. +- Seu IDE favorito ou um editor de texto simples e um terminal. + +É só isso. Se você tem esses itens, podemos mergulhar direto na solução. + +![Código Java para reconhecer texto de png usando Aspose OCR](image-placeholder.png "exemplo de reconhecer texto de png Java"){alt="Código Java para reconhecer texto de png usando Aspose OCR"} + +## Passo a passo: reconhecer texto de png + +A seguir dividimos a implementação em blocos claros e manejáveis. Cada bloco tem um título H2, para que você possa pular diretamente para a parte que lhe interessa. + +### 1. Adicionar Aspose OCR ao seu projeto + +**Por quê?** O motor OCR está dentro da biblioteca Aspose; sem ele o compilador não saberá o que é `OcrEngine`. + +Se você usa Maven, adicione este trecho ao seu `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Para Gradle, fica assim: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Dica de especialista:** Sempre verifique o número da versão mais recente; lançamentos mais novos costumam trazer ajustes de desempenho para processamento multithread. + +### 2. Criar e configurar o motor OCR + +**Por quê?** Instanciar `OcrEngine` fornece um objeto pronto para uso, e ajustar as configurações do dispositivo permite aproveitar todos os núcleos de CPU disponíveis. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Aqui definimos explicitamente o dispositivo como `CPU`. Se mais tarde você migrar para um ambiente com GPU, basta trocar o valor do enum—nenhuma outra mudança de código será necessária. + +### 3. Carregar a imagem PNG + +**Por quê?** OCR funciona em um fluxo de imagem, não diretamente em um caminho de arquivo. Converter o arquivo para um `ImageStream` abstrai o formato subjacente. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Substitua `YOUR_DIRECTORY` pela pasta real. Se o arquivo não for encontrado, o motor lançará um `IOException`, que capturaremos mais adiante. + +### 4. Executar o reconhecimento e capturar o resultado + +**Por quê?** O método `recognize()` faz o trabalho pesado—detecta caracteres, linhas e layout. O `OcrResult` retornado contém o texto puro. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Você também pode solicitar um resultado em `Pdf` ou `Html`, mas para o propósito de **extrair texto de imagem java** permanecemos com texto simples. + +### 5. Exibir o texto e limpar recursos + +**Por quê?** Um simples `System.out.println` basta para demonstração, mas em uma aplicação real você provavelmente gravará em um arquivo ou banco de dados. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +Como `OcrEngine` implementa `AutoCloseable`, é uma boa prática envolver tudo em um bloco try‑with‑resources. Isso garante que recursos nativos sejam liberados rapidamente. + +### 6. Exemplo completo e executável + +Juntando tudo, aqui está o programa completo que você pode compilar e executar: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Saída esperada** (supondo que o PNG contenha “Hello World”): + +``` +=== OCR Result === +Hello World +``` + +Se a imagem for mais complexa—várias linhas, tabelas ou notas manuscritas—a saída refletirá exatamente o que o Aspose OCR detectar, preservando quebras de linha onde for adequado. + +## Perguntas frequentes e casos de borda + +### E se o PNG for muito grande? + +Imagens grandes podem consumir muita memória. Uma solução prática é **reduzir a escala** da imagem antes de enviá‑la ao motor: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +Reduzir a escala diminui a carga da CPU sem sacrificar a precisão do OCR para a maioria dos textos impressos. + +### Posso executar OCR em um PDF ao invés de um PNG? + +Com certeza. O Aspose OCR também aceita PDFs via objetos `PdfDocument`. A mesma chamada `recognize()` funciona, então você pode **processar imagem com OCR** independentemente do formato de origem. + +### Como melhorar a precisão para scripts não latinos? + +Defina o idioma antes do reconhecimento: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +A Aspose fornece dezenas de pacotes de idioma; basta escolher o que corresponde ao conteúdo da sua imagem. + +### O número de threads é sempre benéfico? + +Mais threads aceleram o processamento em CPUs com múltiplos núcleos, mas além do número de núcleos físicos você verá retornos decrescentes. Se notar alto uso de CPU sem ganho proporcional de velocidade, reduza a contagem para `Runtime.getRuntime().availableProcessors()`. + +## Conclusão: o que conseguimos + +Acabamos de **reconhecer texto de png** usando um programa Java conciso, demonstramos como **extrair texto de imagem java** com Aspose OCR e abordamos os passos essenciais para **processar imagem com OCR** de forma pronta para produção. O código é autocontido, as explicações respondem ao “como” e ao “por quê”, e as dicas tratam das armadilhas típicas que você pode encontrar. + +## O que vem a seguir? + +- **Processamento em lote:** Percorrer um diretório de PNGs e gravar cada resultado em um arquivo `.txt`. +- **Geração de PDF:** Alimentar a saída do OCR ao Aspose.PDF para criar PDFs pesquisáveis. +- **Escala na nuvem:** Implantar o mesmo código em um contêiner orquestrado por Kubernetes e deixar o pool de threads se adaptar aos recursos do pod. + +Sinta‑se à vontade para experimentar—troque a imagem, ajuste a contagem de threads ou altere o idioma. O motor OCR é flexível o suficiente para lidar com a maioria dos cenários, e com a base que você tem agora, estendê‑lo é muito fácil. + +Tem perguntas ou descobriu uma otimização inteligente? Deixe um comentário abaixo, e feliz codificação! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/java/ocr-operations/_index.md b/ocr/portuguese/java/ocr-operations/_index.md index e1b3ddd89..fb9c40f95 100644 --- a/ocr/portuguese/java/ocr-operations/_index.md +++ b/ocr/portuguese/java/ocr-operations/_index.md @@ -82,6 +82,10 @@ Desbloqueie o poder do OCR em Java com Aspose.OCR. Reconheça texto em documento Desbloqueie um poderoso reconhecimento de texto em Java com Aspose.OCR. Reconheça texto em imagens TIFF sem esforço. Baixe agora para uma experiência de OCR perfeita. ### [Reconhecer texto em imagem com Aspose OCR – Tutorial completo de OCR em Java](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Aprenda a reconhecer texto em imagens usando Aspose OCR com um tutorial completo em Java, cobrindo configuração e melhores práticas. +### [Criar PDF pesquisável a partir de JPG – Guia Java de Imagem para PDF pesquisável](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Aprenda a converter imagens JPG em PDFs pesquisáveis usando Aspose.OCR para Java, passo a passo. +### [Como Endireitar Imagem — Guia Passo a Passo de Pré‑Processamento OCR](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +Aprenda a corrigir a inclinação de imagens antes do OCR, melhorando a precisão com um guia passo a passo em Java. ## Perguntas Frequentes diff --git a/ocr/portuguese/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/portuguese/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..f26f8afff --- /dev/null +++ b/ocr/portuguese/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,207 @@ +--- +category: general +date: 2026-02-19 +description: Crie PDF pesquisável a partir de uma imagem JPG com Aspose OCR em Java. + Converta JPG para PDF e reconheça texto da imagem rapidamente. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: pt +og_description: Crie PDF pesquisável a partir de uma imagem JPG com Aspose OCR. Aprenda + como converter JPG para PDF e reconhecer texto da imagem em Java. +og_title: Criar PDF pesquisável a partir de JPG – Tutorial de OCR em Java +tags: +- aspose-ocr +- java +- pdf +- ocr +title: Criar PDF pesquisável a partir de JPG – Guia Java de Imagem para PDF pesquisável +url: /pt/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +start? ..." translate. + +We need to keep bold formatting. + +Proceed. + +Will need to translate bullet list under "What You’ll Need". Keep bold parts. + +Translate step headings. + +Code block placeholders remain unchanged. + +Translate table content. + +Translate other paragraphs. + +Make sure to keep markdown formatting. + +Let's produce final content. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Criar PDF pesquisável a partir de JPG – Guia Java de Imagem para PDF pesquisável + +Já precisou **criar PDF pesquisável** a partir de uma foto escaneada, mas não sabia por onde começar? Você não está sozinho — muitos desenvolvedores enfrentam o mesmo obstáculo quando têm um JPG que precisa ser pesquisável. A boa notícia é que, com o Aspose OCR para Java, você pode transformar essa imagem em um PDF totalmente pesquisável em apenas algumas linhas de código. + +Neste tutorial, percorreremos todo o processo: carregar um JPG, reconhecer o texto e salvar o resultado como um PDF pesquisável. Ao final, você saberá como **converter jpg para pdf**, como **extrair texto de jpg** e por que essa abordagem costuma ser mais confiável do que tentar fazer OCR no PDF depois de criado. + +## O que você precisará + +Antes de começarmos, certifique‑se de que tem o seguinte na sua máquina: + +* **Java Development Kit (JDK) 8 ou mais recente** – o código usa APIs padrão do Java. +* Biblioteca **Aspose OCR for Java** – você pode obtê‑la no Maven Central ou baixar o JAR no site da Aspose. +* Um **JPG de exemplo** que contenha texto legível (por exemplo, uma fatura escaneada ou uma captura de tela de um documento). + +Nenhum framework adicional é necessário; o exemplo funciona em um projeto Java simples. + +## Etapa 1 – Configurar o projeto e adicionar o Aspose OCR + +Primeiro, crie um novo projeto Maven (ou apenas uma pasta com o JAR no classpath). Se estiver usando Maven, adicione esta dependência ao seu `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Dica profissional:** Sempre verifique a versão mais recente no repositório Maven da Aspose; lançamentos mais novos incluem ajustes de desempenho e correções de bugs. + +Depois que a dependência for resolvida, você está pronto para escrever o código Java que **criará PDF pesquisável**. + +## Etapa 2 – Carregar a imagem (image to searchable pdf) + +O primeiro passo real é apontar o motor OCR para a imagem de origem. É aqui que a transformação **image to searchable pdf** realmente começa. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Por que isso importa:** `setImage` informa ao Aspose qual bitmap analisar. Se você fornecer uma imagem de baixa resolução, a qualidade do OCR sofrerá, portanto, certifique‑se de que o JPG tenha pelo menos 300 dpi para obter os melhores resultados. + +## Etapa 3 – Reconhecer texto da imagem + +Agora que o motor sabe qual imagem usar, podemos solicitar que ele **reconheça texto da imagem**. O Aspose OCR faz o trabalho pesado nos bastidores, lidando com detecção de idioma, segmentação de caracteres e pontuação de confiança. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +A chamada `recognize()` retorna uma interface fluente, permitindo encadear o método `save`. Ao especificar `OcrOutputFormat.SEARCHABLE_PDF`, a biblioteca incorpora uma camada de texto invisível dentro do PDF enquanto preserva a aparência original da imagem. + +> **Caso especial:** Se o seu JPG contiver várias páginas (por exemplo, um TIFF multipágina salvo como JPGs separados), será necessário percorrer cada arquivo e mesclar os PDFs resultantes posteriormente. O mesmo motor OCR pode ser reutilizado em cada iteração. + +## Etapa 4 – Verificar o resultado + +Após a operação de salvamento ser concluída, uma simples mensagem no console indica que tudo ocorreu sem problemas. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +Quando você abrir `output-searchable.pdf` em um visualizador como o Adobe Acrobat, deverá ser capaz de selecionar o texto oculto, copiá‑lo ou realizar uma busca — exatamente o que se espera de um **PDF pesquisável**. + +### Saída esperada + +Executando o programa, a impressão será: + +``` +Searchable PDF created. +``` + +E o PDF gerado exibirá o JPG original enquanto permite a seleção de texto. Se você abrir “Propriedades → Descrição → PDF Producer” do PDF, verá algo como `Aspose.OCR for Java`. + +## Exemplo completo funcional + +Abaixo está o arquivo fonte completo, pronto para ser executado. Copie‑e cole no seu IDE, ajuste os caminhos dos arquivos e execute. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **E se o OCR falhar?** +> * Normalmente isso ocorre porque a imagem está muito ruidosa ou o idioma não é suportado nativamente. Você pode melhorar a precisão pré‑processando a imagem (aumentar contraste, corrigir inclinação) ou definindo explicitamente o idioma com `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`. + +## Perguntas frequentes & Armadilhas + +| Pergunta | Resposta | +|----------|----------| +| **Posso extrair o texto puro em vez de um PDF?** | Sim. Use `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **E se eu precisar processar um PNG?** | A mesma API funciona; basta mudar a extensão do arquivo em `fromFile`. | +| **O PDF resultante é realmente pesquisável em todos os visualizadores?** | Visualizadores modernos (Adobe Reader, Foxit, Chrome) reconhecem a camada de texto oculto. Ferramentas mais antigas podem ignorá‑la. | +| **Como controlo o tamanho da página do PDF?** | O Aspose OCR usa as dimensões da imagem por padrão. Para tamanhos personalizados, gere um PDF manualmente e sobreponha a camada de texto OCR — cenário avançado. | + +## Dicas de desempenho + +* **Processamento em lote:** Reuse uma única instância de `OcrEngine` para muitas imagens, evitando carregamentos repetidos da biblioteca nativa. +* **Segurança de threads:** O motor **não** é thread‑safe; crie uma instância por thread se for paralelizar. +* **Uso de memória:** Imagens grandes podem consumir muita RAM. Se ocorrer `OutOfMemoryError`, reduza a escala da imagem antes de enviá‑la ao motor. + +## Próximos passos + +Agora que você sabe como **criar PDF pesquisável**, pode explorar tarefas relacionadas: + +* **Converter jpg para pdf** sem OCR (use a biblioteca Aspose PDF para um PDF de imagem simples). +* **Extrair texto de jpg** para um arquivo `.txt` para indexação. +* **Combinar vários PDFs pesquisáveis** em um único documento usando o `PdfFileEditor` da Aspose PDF. + +Todas essas funcionalidades se baseiam na mesma fundação que você acabou de montar. + +--- + +### Resumo rápido + +* Criamos um **PDF pesquisável** a partir de um JPG usando o Aspose OCR para Java. +* O processo incluiu carregar a imagem, reconhecer o texto e salvar como PDF pesquisável. +* Agora você tem um padrão reutilizável para **image to searchable PDF**, **recognize text from image**, **extract text from jpg** e **convert jpg to pdf**. + +Teste com seus próprios documentos, ajuste as configurações de idioma se necessário e deixe o OCR fazer o trabalho pesado por você. Boa codificação! + +![Create searchable PDF example](placeholder.png){alt="Create searchable PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/portuguese/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..ed38a7802 --- /dev/null +++ b/ocr/portuguese/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,174 @@ +--- +category: general +date: 2026-02-19 +description: Aprenda a corrigir a inclinação da imagem e remover ruído para OCR. Este + tutorial mostra como reconhecer texto em imagens, corrigir a rotação da imagem e + pré‑processar imagens para OCR com Aspose OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: pt +og_description: Como endireitar a imagem e remover ruído para reconhecer texto rapidamente. + Siga este guia para corrigir a rotação da imagem e pré‑processar OCR de imagem com + Aspose. +og_title: Como Corrigir a Inclinação de Imagem – Tutorial Completo de Pré‑Processamento + de OCR +tags: +- OCR +- Java +- Image Processing +title: Como Corrigir a Inclinação de Imagem — Guia de Pré‑Processamento OCR Passo + a Passo +url: /pt/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como Desinclinar Imagens — Tutorial Completo de Pré‑Processamento OCR + +Já se perguntou **como desinclinar imagens** antes de enviá‑las para um motor OCR? Talvez você tenha escaneado um lote de recibos e as páginas pareçam estar levemente inclinadas, ou o escaneamento esteja salpicado de pontos aleatórios. Esse é um ponto de dor comum—fotos inclinadas e ruidosas dificultam o reconhecimento de texto. + +A boa notícia? Você pode endireitar (corrigir rotação da imagem) e remover ruído (como remover ruído) em apenas algumas linhas de Java usando Aspose.OCR. Neste guia percorreremos todo o fluxo: desde o carregamento de um PNG ruidoso‑rotacionado, aplicando desinclinação + denoise mediano, até **reconhecer texto da imagem** e imprimir o resultado. Ao final, você terá um snippet reutilizável que pode ser inserido em qualquer projeto Java. + +## O Que Você Precisa + +- **Java 17** ou superior (o código compila em versões mais antigas, mas 17 é o ponto ideal). +- **Aspose.OCR for Java** – você pode obter o JAR mais recente no Maven Central (`com.aspose:aspose-ocr`). +- Um arquivo de imagem que esteja tanto rotacionado quanto ruidoso (por exemplo, `noisy-rotated.png`). +- Uma IDE modesta (IntelliJ, Eclipse ou até VS Code). + +Nenhuma ferramenta de build sofisticada é necessária; um simples `javac` + `java` funciona perfeitamente. + +--- + +## Etapa 1 – Criar a Instância do Motor OCR + +A primeira coisa a fazer é instanciar um `OcrEngine`. Pense nele como o cérebro que, mais tarde, lerá os caracteres para você. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Dica:** Mantenha o motor como singleton se você estiver processando muitas imagens; ele reutiliza buffers internos e acelera o processamento. + +## Etapa 2 – Habilitar Desinclinação e Denoise Mediano (Como Remover Ruído) + +Agora instruímos o motor a **corrigir rotação da imagem** e a **como remover ruído**. Ambos os filtros são opcionais, mas juntos melhoram drasticamente a precisão. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Por que denoise mediano? Ele preserva bordas (as linhas que definem os caracteres) enquanto elimina pixels isolados—exatamente o que você precisa para um OCR limpo. + +## Etapa 3 – Carregar a Imagem Que Você Deseja Processar + +Aqui apontamos o motor para o arquivo que precisa ser limpo. `ImageStream.fromFile` lê o PNG para a memória. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Se sua imagem estiver em um servidor remoto, basta fornecer um `InputStream`—Aspose lida com isso sem problemas. + +## Etapa 4 – Executar OCR e Capturar o Texto Reconhecido + +Com o pré‑processamento habilitado, o motor agora lê a imagem corrigida. A chamada `recognize()` devolve um `RecognitionResult` que contém a string extraída. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +Você deverá ver texto limpo e legível no console, mesmo que a foto original estivesse torta e granulada. + +## Etapa 5 – Verificar o Resultado (O Que Esperar) + +Quando tudo funciona, o console imprime algo como: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Se a saída ainda contiver caracteres estranhos, verifique: + +- A resolução da imagem (≥ 300 dpi é ideal). +- Se o caminho do arquivo está correto. +- Se filtros adicionais (por exemplo, `setContrastStretch`) podem ajudar. + +--- + +## Opcional: Confirmação Visual com uma Imagem de Exemplo + +Abaixo há uma pré‑visualização pequena de um recibo rotacionado e ruidoso. Observe a inclinação—nosso código o endireitará para você. + +![how to deskew image example](deskew-demo.png "how to deskew image") + +*Alt text: how to deskew image – before and after processing.* + +--- + +## Perguntas Frequentes + +### Isso funciona com PDFs ou apenas PNG/JPEG? +Aspose.OCR pode ler PDFs diretamente; basta substituir `ImageStream.fromFile` por `ImageStream.fromPdf`. As mesmas flags de pré‑processamento se aplicam, então você ainda obtém **como desinclinar imagem** e **como remover ruído**. + +### E se eu precisar manter a orientação original para etapas posteriores? +Você pode clonar a imagem antes do pré‑processamento: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Posso mudar o ângulo de desinclinação manualmente? +Sim—`setDeskewAngle(double degrees)` permite sobrescrever o algoritmo de detecção automática. Útil quando a detecção automática falha em rotações extremas. + +### Como o denoise mediano difere do desfoque Gaussiano? +Filtros medianos substituem cada pixel pela mediana de seus vizinhos, preservando bordas. O desfoque Gaussiano suaviza tudo, podendo borrar traços de caracteres—por isso o mediano é a escolha mais segura para OCR. + +--- + +## Conclusão + +Neste tutorial abordamos **como desinclinar imagens**, demonstramos **como remover ruído** e mostramos como **reconhecer texto da imagem** usando o pré‑processamento embutido do Aspose OCR. Ao habilitar `setDeskew(true)` e `setMedianDenoise(true)`, você corrige automaticamente a **rotação da imagem** e limpa manchas, transformando um escaneamento bagunçado em uma string de texto limpa. + +Sinta‑se à vontade para experimentar: teste diferentes estratégias de denoise, alimente PDFs ou encadeie múltiplas imagens em um loop. O mesmo padrão—engine → pré‑processamento → reconhecimento—vale para qualquer cenário, tornando esta uma base sólida para qualquer pipeline OCR. + +**Próximos passos** que você pode explorar: + +- **Processamento em lote** – iterar sobre uma pasta de imagens e gravar cada resultado em um arquivo `.txt`. +- **Pacotes de idioma** – carregar um dicionário de idioma específico para aumentar a precisão em textos não‑inglês. +- **Filtros avançados** – como `setContrastStretch` ou `setBinarization` para escaneamentos de baixo contraste. + +Tem mais dúvidas? Deixe um comentário, e feliz codificação! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/java/advanced-ocr-techniques/_index.md b/ocr/russian/java/advanced-ocr-techniques/_index.md index 863e08e89..87b9181c3 100644 --- a/ocr/russian/java/advanced-ocr-techniques/_index.md +++ b/ocr/russian/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,14 @@ Aspose.OCR для Java меняет правила игры, когда дело Расширьте возможности своих Java-приложений с помощью Aspose.OCR для точного распознавания текста. Простая интеграция, высокая точность. ### [Указание разрешенных символов в Aspose.OCR](./specify-allowed-characters/) Легко разблокируйте извлечение текста из изображений с помощью Aspose.OCR для Java. Следуйте нашему пошаговому руководству для эффективной интеграции. +### [Как включить GPU для OCR в Java – Полное руководство](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Узнайте, как активировать GPU для ускорения OCR в Java с помощью Aspose.OCR, следуя пошаговому полному руководству. +### [Как выполнить OCR изображения в Java – Рукописные заметки с проверкой орфографии](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Извлекайте текст из рукописных заметок в Java с помощью 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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/russian/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..eb4251f15 --- /dev/null +++ b/ocr/russian/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-02-19 +description: Как включить GPU для быстрой обработки OCR. Узнайте, как загрузить изображение + высокого разрешения, распознать текст на изображении и извлечь текст с помощью Aspose + OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: ru +og_description: Как включить GPU для быстрой обработки OCR. Это руководство показывает, + как загрузить изображение высокого разрешения, распознать текст на изображении и + извлечь текст с помощью Aspose OCR. +og_title: Как включить GPU для OCR в Java — Полное руководство +tags: +- OCR +- Java +- GPU +- Aspose +title: Как включить GPU для OCR в Java – Полное руководство +url: /ru/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +Also translate list items, headings. + +Let's produce final content. + +Be careful to keep markdown formatting. + +Proceed. + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как включить GPU для OCR в Java – Полное руководство + +Когда‑нибудь задавались вопросом **как включить GPU** для вашего OCR‑конвейера и сэкономить секунды на обработке? Вы не одиноки. Во многих проектах с большим количеством изображений узким местом является CPU‑зависимый шаг извлечения текста, а переход на GPU может стать переломным моментом. + +В этом руководстве мы пройдемся по загрузке **изображения высокого разрешения**, настройке Aspose OCR для работы на GPU и, наконец, **распознаванию текста на изображении** и **извлечению текста** всего несколькими строками Java. К концу вы получите готовую к запуску программу, демонстрирующую **включение обработки на GPU** от начала до конца. + +## Что вам понадобится + +- Java 17 или новее (код использует модульную систему, но работает и на более старых JDK с небольшими правками) +- Aspose OCR for Java 23.10 (или последняя версия) — координаты Maven можно взять с сайта Aspose +- NVIDIA GPU с установленными драйверами CUDA 12+ (в противном случае библиотека откажется запускаться) +- Пример изображения высокого разрешения (PNG или JPEG), из которого нужно считать текст + +Вот и всё. Никаких внешних сервисов, никаких облачных кредитов, только ваш компьютер и правильный набор драйверов. + +![GPU OCR workflow – как включить обработку на GPU](gpu-ocr-workflow.png) + +*Текст альтернативного изображения: схема, иллюстрирующая, как включить GPU для обработки OCR в Java.* + +## Пошаговая реализация + +Ниже мы разбиваем решение на логические блоки. Каждый раздел содержит лаконичный фрагмент кода, объяснение **почему** этот шаг важен, и несколько практических советов, которые вам пригодятся позже. + +### Как включить GPU для OCR – Шаг 1: Установить зависимости и проверить CUDA + +Прежде чем запустится любой Java‑код, нативная среда выполнения CUDA должна быть доступна. В Windows вы можете проверить это командой: + +```bat +nvcc --version +``` + +В Linux: + +```bash +nvidia-smi +``` + +Если команда выводит версию драйвера и детали GPU, всё готово. В противном случае зайдите на сайт NVIDIA, скачайте подходящий драйвер и установите набор инструментов CUDA (убедитесь, что версия соответствует требованиям Aspose OCR — в настоящее время 12.x). + +**Подсказка:** Держите драйвер GPU актуальным, но избегайте «latest‑beta» релизов; они иногда ломают бинарную совместимость с нативными библиотеками Aspose. + +### Как включить GPU для OCR – Шаг 2: Добавить Maven‑зависимость Aspose OCR + +Добавьте следующее в ваш `pom.xml`. Это подтянет ядро OCR‑движка и нативные GPU‑бинарники для Windows, Linux и macOS. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Если вы предпочитаете Gradle, эквивалент выглядит так: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +После обновления проекта классы `OcrEngine`, `OcrDeviceType` и `ImageStream` станут доступны. + +### Как включить GPU для OCR – Шаг 3: Создать OCR‑движок и включить GPU + +Теперь мы действительно указываем Aspose использовать GPU. Объект `OcrEngine` предоставляет `Device`, где можно переключить тип устройства обработки. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Почему это важно:** Установка `OcrDeviceType.GPU` заменяет базовый движок вывода с реализации только для CPU на ускоренную CUDA‑версию. Необязательный вызов `setStreamCount` позволяет контролировать параллелизм; два потока — безопасный вариант по умолчанию для большинства потребительских карт. + +### Как включить GPU для OCR – Шаг 4: Загрузить изображение высокого разрешения + +Изображения высокого разрешения дают OCR‑модели больше визуальной информации, что повышает точность, особенно для мелкого шрифта или сложных скриптов. Вспомогательная функция `ImageStream.fromFile` читает файл в формат, ожидаемый движком. + +Если нужно **загрузить изображение высокого разрешения** из URL или из массива байтов в памяти, можно использовать: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Особый случай:** У некоторых GPU есть максимальный размер текстуры (часто 16384 × 16384). Если ваше изображение превышает этот предел, рассмотрите возможность уменьшения до размеров, сохраняющих читаемость (например, 3000 × 2000). OCR‑движок автоматически изменит размер, если вызвать `ocrEngine.setResizeFactor(0.5)` перед загрузкой. + +### Как включить GPU для OCR – Шаг 5: Распознать текст на изображении и извлечь текст + +Вызов `ocrEngine.recognize()` запускает инференс нейронной сети на GPU. Метод возвращает объект `OcrResult`; `getText()` извлекает обычную строку. Вы также можете получить ограничивающие рамки, оценки уверенности или сырой JSON, если нужны более богатые данные. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Зачем это может понадобиться:** Шаг `recognize text image` — именно там GPU проявляет себя в полной мере: большие изображения, которые занимали бы секунды на CPU, обрабатываются за доли секунды. Оценки уверенности позволяют отфильтровать результаты низкого качества, что удобно, когда позже **извлекать текст** для последующего анализа. + +### Профессиональные советы и распространённые подводные камни + +| Ситуация | Что делать | +|-----------|------------| +| **Ошибки out‑of‑memory** на GPU | Уменьшить `setStreamCount` до 1 или уменьшить размер изображения перед передачей в движок. | +| **Не распознаются символы** несмотря на высокое разрешение | Убедитесь, что языковая модель (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) соответствует языку текста. | +| **Несоответствие версии CUDA** | Синхронизируйте версию набора инструментов CUDA с той, что включена в Aspose OCR (см. примечания к выпуску). | +| **Несколько GPU** | Используйте `ocrEngine.getDevice().setDeviceId(1)`, чтобы выбрать второй GPU, если первый занят. | +| **Запуск на безголовом сервере** | Дополнительные шаги не требуются; драйвер GPU работает без дисплея. | + +## Как извлечь текст – Проверка вывода + +При запуске класса выше вы должны увидеть что‑то вроде: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Если вывод выглядит искажённым, проверьте, действительно ли изображение высокого разрешения и правильно ли установлен драйвер GPU. Можно также включить подробное логирование: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +Логи покажут, были ли успешно загружены нативные CUDA‑ядра. + +## Следующие шаги и смежные темы + +- **Пакетная обработка:** Оберните `OcrEngine` в цикл и передавайте список путей к изображениям. Не забывайте переиспользовать один экземпляр движка, чтобы избежать повторных расходов на инициализацию GPU. +- **Определение языка:** Aspose OCR поддерживает более 30 языков. Переключите с помощью `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Постобработка:** Используйте регулярные выражения для очистки извлечённой строки или передайте её в последующий NLP‑конвейер. +- **Альтернативные устройства:** Если у вас нет GPU с поддержкой CUDA, можно откатиться к `OcrDeviceType.CPU`. Код останется тем же; просто измените тип устройства. +- **Бенчмарк производительности:** Замерьте разницу во времени с помощью `System.nanoTime()` до и после `recognize()`, чтобы количественно оценить выгоду от **включения обработки на GPU**. + +--- + +### Итоги + +Мы рассмотрели **как включить GPU** для Aspose OCR в Java: от установки нужных драйверов до загрузки **изображения высокого разрешения**, **распознавания текста на изображении** и, наконец, **как извлечь текст** из результата. Полный, готовый к запуску пример выше должен работать «из коробки» на любой современной NVIDIA GPU. + +Попробуйте, поэкспериментируйте с разными размерами изображений и наблюдайте, как растёт пропускная способность вашего OCR. Если возникнут проблемы, вернитесь к разделу советов или проверьте примечания к выпуску Aspose для последних рекомендаций по **включению обработки на GPU**. + +Счастливого кодинга, и пусть ваш GPU остаётся прохладным, пока он обрабатывает текст! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/russian/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..d293d45b2 --- /dev/null +++ b/ocr/russian/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,251 @@ +--- +category: general +date: 2026-02-19 +description: Узнайте, как выполнять OCR изображения рукописных заметок на Java с помощью + Aspose OCR. Включает загрузку изображения для OCR, чтение рукописных заметок и преобразование + текста с изображения. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: ru +og_description: Как выполнить OCR изображения с рукописными заметками в Java с помощью + Aspose. Пошаговое руководство по загрузке изображения для OCR, чтению рукописных + заметок и преобразованию текста рукописного изображения. +og_title: Как распознать изображение в Java – Руководство по рукописным заметкам +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Как распознавать изображение в Java – рукописные заметки с проверкой орфографии +url: /ru/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как выполнить OCR изображения в Java – Рукописные заметки с проверкой орфографии + +Когда‑нибудь задавались вопросом, **как выполнить OCR изображения**, которое содержит ваш неразборчивый список покупок или протокол встречи? Вы не одиноки. Во многих реальных приложениях разработчикам нужно считывать рукописные заметки и превращать их в поисковый текст — без ручного переписывания. + +В этом руководстве мы пройдем полный, готовый к запуску пример, который покажет вам точно **как выполнить OCR изображения** с помощью Aspose OCR for Java, как **загрузить изображение для OCR**, и как **читать рукописные заметки** со встроенной проверкой орфографии. К концу вы сможете **преобразовать текст рукописного изображения** в чистую строку, которую можно хранить, индексировать или отображать. + +## Что вы узнаете + +- Точные шаги по настройке OCR‑движка, который понимает английскую рукопись. +- Как **загрузить изображение для OCR** с диска и передать его движку. +- Почему включение проверяющего орфографии имеет значение при работе с неаккуратными надписями. +- Способы обработки распространённых граничных случаев, таких как изображения с низким контрастом или отсутствие языковых пакетов. +- Полный, исполняемый пример кода, который вы можете вставить в свою IDE и сразу увидеть результаты. + +> **Prerequisites**: Java 8+ установлен, Maven или Gradle для управления зависимостями, и лицензия Aspose OCR for Java (бесплатная trial‑версия подходит для обучения). Другие внешние библиотеки не требуются. + +--- + +## Шаг 1: Настройте проект и добавьте зависимость Aspose OCR + +Первое, что нужно сделать — подключить библиотеку Aspose OCR к вашему проекту. Если вы используете Maven, добавьте следующее в ваш `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Или с Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Pro tip**: Следите за номером версии; более новые релизы улучшают распознавание рукописного текста и добавляют поддержку новых языков. + +После того как зависимость будет разрешена, вы готовы **загрузить изображение для OCR**. + +## Шаг 2: Создайте экземпляр OCR‑движка + +Чтобы **как выполнить OCR изображения** эффективно, нужен объект `OcrEngine`. Этот объект — сердце процесса; он хранит настройки языка, флаги проверки орфографии и само изображение. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Зачем создавать движок сначала? Потому что Aspose OCR спроектирован для многократного использования; вы можете обрабатывать несколько изображений одним и тем же экземпляром, меняя настройки между запусками при необходимости. + +## Шаг 3: Добавьте поддержку английского языка и включите коррекцию орфографии + +Рукописные заметки часто полны опечаток, пропущенных букв или нестандартных сокращений. Включение проверяющего орфографии даёт движку шанс очистить вывод. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **Почему включать коррекцию орфографии?** +> Без неё «сырой» результат OCR может выглядеть как “t0d@y” или “c0ffee”. Проверяющий орфографии нормализует такие особенности, делая конечный текст гораздо более полезным для последующей обработки, например индексации поиска. + +## Шаг 4: Загрузите рукописное изображение + +Теперь мы **загружаем изображение для OCR**. Aspose предоставляет удобный метод `ImageStream.fromFile`, который принимает любой распространённый растровый формат (PNG, JPEG, BMP). + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Если ваше изображение находится в папке ресурсов или вы получаете его в виде массива байтов (например, из веб‑загрузки), используйте `ImageStream.fromBytes` — просто замените строку выше на: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Шаг 5: Выполните OCR и получите исправленный текст + +С настроенным движком и загруженным изображением фактический вызов **как выполнить OCR изображения** сводится к одной строке: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +Метод `recognize()` возвращает объект `OcrResult`, который содержит не только простой текст, но и оценки уверенности, ограничивающие рамки и многое другое. Для большинства сценариев достаточно обычного `getText()`. + +## Шаг 6: Выведите результат + +Наконец, мы печатаем очищенную строку в консоль. В реальном приложении вы можете сохранить её в базе данных, передать в поисковый движок или передать модели языка. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Ожидаемый вывод + +Предположим, рукописная заметка выглядит так: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +Вы должны увидеть нечто подобное: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Даже если оригинальная надпись была неаккуратной — скажем, “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w” — проверяющий орфографии обычно её «выпрямит». + +--- + +## Загрузка изображения для OCR — советы для повышения точности + +1. **Разрешение имеет значение** — стремитесь к минимуму 300 dpi. Низкое разрешение приводит к пропуску мелких штрихов. +2. **Контраст — король** — если фон цветной, сначала преобразуйте изображение в градации серого. +3. **Обрезайте до содержимого** — удаление лишних полей уменьшает шум и ускоряет обработку. + +Вы можете предварительно обрабатывать изображения с помощью библиотек вроде OpenCV или даже встроенного в Java `BufferedImage` перед передачей их в Aspose. + +## Чтение рукописных заметок: обработка граничных случаев + +- **Слова с низкой уверенностью**: `ocrEngine.getResult().getWords()` возвращает список, где у каждого слова есть значение уверенности (0–100). Вы можете отфильтровать слова ниже порога и запросить у пользователя ручную проверку. +- **Несколько языков**: если нужно **читать рукописные заметки** одновременно на английском и испанском, добавьте оба языка перед вызовом `recognize()`. +- **Большие файлы**: для многостраничных PDF или TIFF перебирайте каждую страницу с помощью `ocrEngine.setImage(pageStream)` внутри цикла. + +## Преобразование текста рукописного изображения в структурированные данные + +Часто нужен не просто сырой строковый вывод; требуется извлечь даты, суммы или пункты списка. После получения исправленного текста можно использовать регулярные выражения или NLP‑библиотеки (например, Stanford CoreNLP) для парсинга содержимого: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +Этот фрагмент показывает, как легко перейти от **преобразования текста рукописного изображения** к практическим данным. + +## Распространённые подводные камни и как их избежать + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Искажённый вывод, много символов `?` | Изображение слишком тёмное или с низким контрастом | Увеличьте яркость или предобработайте гистограммным выравниванием | +| Пропущенные слова | Почерк слишком курсивный | Включите `ocrEngine.getSettings().setEnableCursive(true)` (если поддерживается) | +| Проверяющий орфографии вставляет неправильные слова | Несоответствие языковой модели | Добавьте пользовательский словарь через `ocrEngine.getSpellChecker().addUserWords(...)` | +| Ошибка Out‑of‑memory при больших изображениях | Размер изображения > 10 MB | Уменьшите масштаб перед загрузкой или обрабатывайте по плиткам | + +## Полный рабочий пример (готов к копированию) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Note**: Если вы запускаете код из IDE, убедитесь, что папка `YOUR_DIRECTORY` находится в classpath или используйте абсолютный путь. + +--- + +## Заключение + +Мы рассмотрели **как выполнить OCR изображения** в Java от начала до конца, показали, как **загрузить изображение для OCR**, **читать рукописные заметки**, включить проверку орфографии и, наконец, **преобразовать текст рукописного изображения** в чистую строку. Подход прост, но достаточно мощный для production‑приложений. + +Готовы к следующему вызову? Попробуйте работать с многостраничными PDF, добавить пользовательские словари для отраслевых терминов или передать вывод OCR в модель машинного обучения для анализа настроения. Возможности безграничны, когда вы комбинируете точность Aspose OCR с гибкостью Java. + +Есть вопросы о конкретных граничных случаях или хотите поделиться, как вы интегрировали это в мобильное приложение? Оставляйте комментарий ниже — счастливого кодинга! + +--- + +![пример OCR изображения](/images/ocr-handwritten-example.png "пример OCR изображения рукописных заметок") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/java/ocr-basics/_index.md b/ocr/russian/java/ocr-basics/_index.md index 04b6a05c2..f8091c2cd 100644 --- a/ocr/russian/java/ocr-basics/_index.md +++ b/ocr/russian/java/ocr-basics/_index.md @@ -104,6 +104,18 @@ weight: 20 ### [Получение прямоугольников с текстовыми областями в Aspose.OCR](./get-rectangles-with-text-areas/) Разблокируйте мощь Aspose.OCR для Java. Узнайте, как без проблем извлекать текст из изображений в этом пошаговом руководстве. Скачайте сейчас для эффективного распознавания текста. +### [Распознавание текста из PNG в Java – руководство Aspose OCR](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Научитесь извлекать текст из PNG‑файлов в Java с помощью Aspose OCR, следуя пошаговым инструкциям. + +### [Извлечение текста из изображения – преобразование PNG в текст на Java](./extract-text-from-image-convert-png-to-text-in-java/) +Извлеките текст из PNG‑изображений в Java с помощью Aspose OCR, следуя пошаговым инструкциям. + +### [Извлечение текста из изображения в Java – полный пример OCR](./extract-text-from-image-in-java-complete-ocr-example/) +Полный пример OCR в Java: извлечение текста из изображения с использованием Aspose.OCR от начала до конца. + +### [Извлечение текста из изображения с Aspose OCR – Быстрое руководство для Java](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) +Быстрое руководство по извлечению текста из изображений с помощью Aspose OCR в Java. + --- **Последнее обновление:** 2025-12-08 @@ -115,4 +127,4 @@ weight: 20 {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/russian/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..490affb0f --- /dev/null +++ b/ocr/russian/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,212 @@ +--- +category: general +date: 2026-02-19 +description: Извлечение текста из изображения с помощью Aspose OCR Java — узнайте, + как преобразовать PNG в текст, загрузить изображение для OCR и следовать руководству + по Java OCR. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: ru +og_description: Извлекать текст из изображения с помощью Aspose OCR Java. Следуйте + этому пошаговому руководству по Java OCR, чтобы преобразовать PNG в текст и загрузить + изображение для OCR. +og_title: Извлечение текста из изображения – руководство по OCR в Java +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Извлечение текста из изображения – преобразование PNG в текст на Java +url: /ru/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# извлечение текста из изображения – Java OCR Tutorial + +Когда‑нибудь вам нужно было **extract text from image**, но вы не знали, какая библиотека позволит сделать это без лишних хлопот? Вы не одиноки — разработчики постоянно спрашивают: «Как конвертировать PNG в текст на Java?». Хорошая новость в том, что Aspose OCR делает весь процесс простым, как прогулка в парке. В этом руководстве мы пройдем полный **java ocr tutorial**, покажем, как **load image for OCR**, и получим чистый, индексируемый текст. + +Мы рассмотрим всё от настройки движка до работы с многоязычным контентом, так что к концу вы сможете **extract text from image** файлы любого размера, формата или языка. Без внешних сервисов, без API‑ключей — только один JAR и несколько строк кода. + +## Что понадобится + +- JDK 8 или новее, установленный (код также работает на JDK 11+). +- Maven или Gradle для получения библиотеки Aspose OCR, либо можно скачать JAR вручную с сайта Aspose. +- PNG‑изображение, содержащее читаемый текст (для примера мы используем `khmer-sign.png`). +- IDE или текстовый редактор, с которым вам удобно работать — IntelliJ IDEA, Eclipse, VS Code, любой подойдет. + +Вот и всё. Без тяжёлых фреймворков, без облачных учётных данных. Готовы? Давайте начнём извлекать текст из файлов изображений. + +## Шаг 1: Добавьте Aspose OCR в ваш проект + +Прежде всего — вам нужен OCR‑движок в classpath. Если вы используете Maven, добавьте эту зависимость в `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Или с Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Если вы предпочитаете ручной способ, скачайте JAR со страницы загрузки Aspose и поместите его в папку `libs` вашего проекта, затем добавьте в путь сборки. + +> **Pro tip:** Всегда выбирайте новейшую стабильную версию; старые релизы могут не включать языковые пакеты или исправления ошибок. + +## Шаг 2: Создайте экземпляр OCR Engine + +Теперь, когда библиотека доступна, мы можем создать `OcrEngine`. Считайте движок мозгом, который будет читать пиксели и преобразовывать их в символы. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Зачем каждый раз создавать новый движок? Движок хранит внутренние буферы и языковые данные; чистый старт гарантирует детерминированные результаты, особенно при переключении языков позже. + +## Шаг 3: Включите нужный язык (необязательно, но рекомендуется) + +Aspose OCR поставляется с десятками языковых пакетов. Если вы знаете язык исходного изображения, включите его явно; это ускорит распознавание и повысит точность. В нашем примере мы включим кхмерский (`khm`), но вы можете заменить его на `ENG` для английского, `CHN` для китайского и т.д. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Why this matters:** Когда вы **load image for OCR**, движок будет искать только в включённых словарях языков. Оставление всех языков включёнными может замедлить процесс и увеличить количество ложных срабатываний. + +## Шаг 4: Загрузите изображение для OCR – Конвертация PNG в текст + +Здесь происходит шаг **load image for OCR**. Aspose предоставляет удобный помощник `ImageStream.fromFile`, который скрывает низкоуровневый ввод‑вывод. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +Если ваше изображение в другом формате (JPEG, BMP, TIFF), тот же метод работает — Aspose автоматически определяет формат. Просто убедитесь, что путь к файлу правильный; иначе возникнет `FileNotFoundException`. + +## Шаг 5: Запустите процесс OCR и конвертируйте PNG в текст + +С готовым движком и загруженным изображением фактическое распознавание — это один вызов метода. Объект результата предоставляет вам исходную строку и оценки уверенности. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Вот и всё — вы только что **convert PNG to text**. Возвращённая строка может содержать разрывы строк и пробелы точно так, как их видел движок. Вы можете пост‑обработать её с помощью `trim()`, `replaceAll("\\s+", " ")` или любой другой необходимой очистки. + +## Шаг 6: Выведите результат (или сохраните его) + +Для быстрой проверки выведите результат в консоль. В реальном приложении вы, вероятно, запишете его в файл, базу данных или передадите другому сервису. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Expected output** (для предоставленного кхмерского знака) может выглядеть так: + +``` +សួស្តី +Welcome +``` + +Если вывод искажён, дважды проверьте, что вы включили правильный язык в Шаге 3 и что изображение не слишком размыто. Увеличение разрешения изображения (например, сканирование с 300 dpi) часто помогает. + +## Полный рабочий пример + +Собрав все части вместе, представляем автономную программу, которую можно скопировать в `ExtractTextExample.java` и запустить: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Запустите программу с помощью: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +или, если вы используете Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +Вы должны увидеть извлечённый текст, выведенный в консоль, подтверждая, что вы успешно **extract text from image** с помощью Aspose OCR. + +## Распространённые проблемы и способы их решения + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Возвращена пустая строка | Не включён язык или неверный код языка | Добавьте соответствующий `OcrLanguage` (например, `ENG` для английского). | +| Искажённые символы | Разрешение изображения слишком низкое или фон шумный | Используйте источник с более высоким разрешением или предварительно обработайте изображение фильтром резкости. | +| `OutOfMemoryError` | Очень большое изображение загружено в полном размере | Уменьшите масштаб изображения перед передачей в движок (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Неправильный путь | Проверьте абсолютный или относительный путь; используйте `Paths.get(...).toAbsolutePath()`. | + +> **Remember:** OCR — это вероятностный процесс. Даже при идеальных настройках вам может потребоваться вручную исправить несколько символов, особенно для курсивных шрифтов. + +## Расширение урока — дальнейшие шаги + +- **Batch processing:** Пройдите по каталогу PNG‑файлов, вызывая одну и ту же логику для каждого изображения. +- **PDF output:** Используйте Aspose PDF, чтобы встроить извлечённый текст обратно в индексируемый PDF. +- **Language detection:** Вызовите `ocrEngine.detectLanguage()` перед установкой языка, чтобы движок определил его автоматически. +- **Cloud integration:** Если требуется масштабирование, оберните код в REST‑endpoint и позвольте микросервисам вызывать его. + +Все эти темы естественно опираются на **java ocr tutorial**, который мы только что завершили, и демонстрируют, насколько универсален Aspose OCR API. + +## Заключение + +Мы прошли полный **java ocr tutorial**, который позволяет вам **extract text from image** файлы, **convert PNG to text**, и корректно **load image for OCR** с помощью Aspose OCR. Шаги просты: добавить библиотеку, создать движок, включить нужный язык, загрузить PNG, вызвать `recognize()`, и обработать вывод. С этой основой вы можете автоматизировать ввод данных, создавать индексируемые архивы или поддерживать любое приложение, которому нужен машинно‑читаемый текст из изображений. + +Попробуйте с вашими собственными изображениями — возможно, скриншотом чека или отсканированным контрактом. Настройте параметры языка, поэкспериментируйте с разрешением, и вы быстро увидите гибкость решения. Если возникнут проблемы, обратитесь к таблице проблем или проверьте официальную документацию Aspose; она подробна и актуальна. + +Удачной разработки, и пусть ваш следующий проект будет полон чистого, индексируемого текста! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/russian/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..a17298386 --- /dev/null +++ b/ocr/russian/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,149 @@ +--- +category: general +date: 2026-02-19 +description: Извлеките текст из изображения с помощью Java OCR. Ознакомьтесь с примером + Java OCR, который загружает изображение для OCR и извлекает текст из файлов счетов‑фактур + за несколько шагов. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: ru +og_description: Извлеките текст из изображения с помощью Java OCR. Это руководство + показывает, как загрузить изображение для OCR и извлечь текст из счетов с простым + примером Java OCR. +og_title: Извлечение текста из изображения в Java – Полный пример OCR +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Извлечение текста из изображения в Java – полный пример OCR +url: /ru/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Извлечение текста из изображения на Java – Полный пример OCR + +Когда‑то вам нужно было **извлечь текст из изображения**, но вы не знали, какую библиотеку выбрать? Вы не одиноки — многие разработчики сталкиваются с этой проблемой при автоматизации обработки счетов или создании поисковых архивов. Хорошая новость: с несколькими строками кода на Java вы можете загрузить изображение для OCR, задать область интереса и получить точный нужный текст. + +В этом руководстве мы пройдём через **java ocr example**, который показывает, как **загрузить изображение для OCR**, установить ROI и **извлечь текст из счета** с помощью Aspose.OCR. В конце у вас будет готовая к запуску программа, которую можно добавить в любой Java‑проект. + +## Что вы узнаете + +- Как создать экземпляр `OcrEngine` и почему это важно. +- Правильный способ **загрузить изображение для OCR** с помощью `ImageStream` от Aspose. +- Как задать **область интереса (ROI)**, чтобы обрабатывать только часть изображения, содержащую сумму счета. +- Как извлечь распознанный текст и вывести его в консоль. +- Распространённые подводные камни (например, неверные координаты прямоугольника) и быстрые решения. + +**Prerequisites** + +- Установлен Java 8 или новее. +- Maven или Gradle для получения библиотеки Aspose.OCR (`com.aspose:aspose-ocr`). +- Пример изображения счета (`invoice.png`) в известной директории. + +Всё готово? Отлично — приступаем. + +![Извлечение текста из изображения с помощью Java OCR](/images/extract-text-from-image-java.png "пример извлечения текста из изображения") + +## Извлечение текста из изображения – пошаговый пример Java OCR + +Ниже приведён полный исходный код. Скопируйте‑вставьте его в файл `RoiOcrExample.java` и запустите. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Почему каждый шаг важен + +1. **Создание OCR‑движка** — без движка нет контекста для обработки изображения. Объект также позволяет позже настраивать языковые пакеты, если нужна поддержка нескольких языков. +2. **Загрузка изображения** — `ImageStream.fromFile` абстрагирует формат файла, гарантируя, что движок правильно прочитает байты. Если пропустить этот шаг, вы получите `NullPointerException`. +3. **Установка ROI** — обработка всей страницы может быть неэффективной. Сузив прямоугольник до области с общей суммой счета, вы ускоряете распознавание и уменьшаете шум. +4. **Вызов `recognize()`** — здесь происходит магия. Метод запускает OCR‑алгоритм над ROI и возвращает объект результата. +5. **Вывод результата** — в реальных проектах текст обычно сохраняют в базе данных, но `System.out.println` отлично подходит для быстрой демонстрации. + +## Загрузка изображения для OCR + +Если задаётесь вопросом, нужен ли абсолютный или относительный путь, ответ: оба работают — просто убедитесь, что процесс Java может прочитать файл. В Windows обратные слеши нужно экранировать (`C:\\images\\invoice.png`) или использовать прямые слеши (`C:/images/invoice.png`). + +**Pro tip:** При обработке большого количества счетов в цикле переиспользуйте один экземпляр `OcrEngine`; он кэширует внутренние ресурсы и повышает пропускную способность. + +## Определение области интереса (ROI) + +Подбор правильного прямоугольника часто требует проб и ошибок. Удобный способ найти координаты — открыть изображение в любом графическом редакторе (например, GIMP или Paint.NET) и наведя курсор увидеть значения X/Y в строке состояния. + +Edge case: у некоторых счетов разный макет. В таком случае можно выполнить быструю предварительную проверку всего изображения, найти ключевые слова вроде «Total:» с помощью регулярного выражения, а затем динамически скорректировать ROI. + +## Выполнение OCR и получение текста + +Вызов `recognize()` синхронный — ваш поток блокируется, пока движок не завершит работу. Для больших пакетов можно создать пул потоков и обрабатывать изображения параллельно. Помните, что каждый поток должен иметь свой собственный экземпляр `OcrEngine`; они не являются потокобезопасными. + +## Сборка и проверка вывода + +Скомпилируйте и запустите: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +Вы должны увидеть что‑то вроде: + +``` +ROI text: $1,254.00 +``` + +Если вывод выглядит искажённым, ещё раз проверьте координаты ROI и убедитесь, что качество изображения высокое (300 dpi и более — оптимально). + +### Распространённые проблемы и способы их решения + +| Симптом | Возможная причина | Решение | +|---------|-------------------|---------| +| Пустая строка | ROI находится за пределами изображения | Проверьте значения прямоугольника относительно размеров изображения | +| Ошибки в словах | Низкое разрешение | Используйте изображение более высокого разрешения или примените предобработку (например, бинаризацию) | +| `java.lang.NoClassDefFoundError` | Отсутствует JAR Aspose в classpath | Добавьте `aspose-ocr.jar` в `-cp` или используйте управление зависимостями Maven/Gradle | + +## Заключение + +Теперь вы знаете, как **извлечь текст из изображения** на Java, используя лаконичный **java ocr example**. Правильно загрузив изображение, задав сфокусированный ROI и вызвав `recognize()`, вы сможете надёжно **извлекать текст из счетов** и передавать эти данные в downstream‑системы. + +Что дальше? Попробуйте менять ROI для разных полей (дата, название поставщика), поэкспериментируйте с языковыми пакетами для многоязычных счетов или интегрируйте шаг OCR в микросервис на Spring Boot. Та же схема подходит для чеков, паспортов и любых документов, где требуется точное извлечение текста. + +Если у вас есть вопросы по масштабированию решения или работе с шумными сканами, оставляйте комментарий ниже — 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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/russian/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..3e99244da --- /dev/null +++ b/ocr/russian/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-02-19 +description: Извлеките текст из изображения в Java с помощью Aspose OCR. Узнайте, + как распознавать текст из PNG, преобразовать изображение в строку и прочитать текст + со сканированного документа за несколько шагов. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: ru +og_description: Быстро извлекайте текст из изображения. Это руководство показывает, + как распознавать текст из PNG, преобразовать изображение в строку и читать текст + со сканирования с помощью Aspose OCR. +og_title: Извлечение текста из изображения с помощью Aspose OCR – руководство по Java +tags: +- Java +- OCR +- Aspose +title: Извлечение текста из изображения с помощью Aspose OCR – Быстрое руководство + по Java +url: /ru/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Извлечение текста из изображения – Полный Java‑урок + +Когда‑нибудь вам нужно было **извлечь текст из изображения**, но вы не знали, какую библиотеку выбрать? Возможно, у вас есть отсканированный чек в формате PNG, и вы хотите получить текст в виде обычной строки для дальнейшей обработки. По моему опыту, библиотека Aspose OCR делает эту задачу проще простого, особенно если вы работаете с Java. + +В этом руководстве мы пройдем всё, что вам нужно знать: от настройки зависимости Aspose OCR, загрузки PNG‑файла, **recognize text from png**, до преобразования результата в пригодную Java `String`. К концу вы сможете **convert image to string**, а также увидите, как **read text from scan** файлы без усилий. + +## Что вы узнаете + +- Как добавить Aspose OCR в проект Maven или Gradle. +- Точный код, необходимый для **extract text from image** с помощью единственного вызова метода. +- Почему класс `ImageStream` предпочтителен для передачи данных в движок. +- Советы по работе с большими сканами, многостраничными PDF и распространёнными подводными камнями. + +Опыт работы с OCR не требуется, достаточно базовых знаний Java и PNG‑изображения, которое вы хотите обработать. + +## Требования + +| Requirement | Reason | +|-------------|--------| +| Java 8 или новее | Aspose OCR поддерживает Java 8+. | +| Maven или Gradle (необязательно) | Упрощает управление зависимостями. | +| PNG‑изображение (например, `quick.png`) | Источник, на котором будет выполнен OCR. | +| Доступ в интернет (при первом запуске) | Библиотека может автоматически загружать языковые пакеты. | + +Если у вас уже есть IDE для Java, например IntelliJ IDEA или Eclipse, вы готовы к работе. + +--- + +## Шаг 1: Настройте Aspose OCR в вашем проекте + +### Maven + +Добавьте следующую зависимость в ваш `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro tip:** Если вы используете корпоративный прокси, убедитесь, что Maven/Gradle может достичь `repo.maven.apache.org`. В противном случае сборка завершится неудачей ещё до того, как вы напишете единую строку кода. + +--- + +## Шаг 2: Загрузите PNG‑изображение + +Класс `ImageStream` абстрагирует детали файловой системы и работает с потоками, URL‑адресами или массивами байтов. Вот как загрузить локальный PNG: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Why this matters:** Использование `ImageStream.fromFile` гарантирует, что OCR‑движок получит изображение в полностью понятном формате, что повышает точность распознавания по сравнению с передачей сырых массивов байтов. + +--- + +## Шаг 3: Распознать текст из PNG + +Aspose OCR предоставляет один статический метод, который делает всю тяжёлую работу: `OcrEngine.recognize`. Он возвращает обычный Java `String`, что именно то, что вам нужно, когда вы хотите **convert image to string**. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### Что происходит «под капотом»? + +1. **Pre‑processing:** Движок автоматически исправляет наклон изображения и нормализует контраст. +2. **Language Detection:** Если вы не указываете язык, Aspose пытается определить его автоматически, что удобно для быстрых сканов. +3. **Recognition:** Основной OCR‑движок использует нейронную сеть, обученную на миллионах символов. + +Поскольку всё это инкапсулировано в одном вызове, вам не придётся возиться с низкоуровневыми настройками, если только у вас нет очень специфического сценария. + +--- + +## Шаг 4: Отобразить и использовать извлечённую строку + +Now that you have the text, you can print it, store it in a database, or feed it to another API. Here’s the simplest way—just `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Ожидаемый вывод + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Note:** Точный вывод зависит от содержимого `quick.png`. Если изображение содержит рукописную заметку, вы можете увидеть некоторые ошибки распознавания — ничего, что нельзя исправить небольшим пост‑обработкой. + +--- + +## Шаг 5: Обработка распространённых граничных случаев + +### Большие сканы или многостраничные PDF + +Если вам нужно **read text from scan** файлы, которые больше типичного PNG, рассмотрите: + +- Разделение изображения на плитки (`ImageStream.fromRegion`). +- Использование `OcrEngine.recognizeMultiplePages` для PDF‑входов. + +### Языки, отличные от английского + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Советы по производительности + +- Повторно используйте один и тот же экземпляр `OcrEngine` для нескольких изображений, чтобы избежать повторной инициализации. +- Для пакетной обработки включайте многопоточность, но ограничьте количество потоков числом ядер процессора, чтобы избежать чрезмерного использования памяти. + +--- + +## Полный рабочий пример + +Ниже приведён полный готовый к запуску Java‑класс. Скопируйте‑вставьте его в вашу IDE, скорректируйте путь к изображению и нажмите **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +Запуск этой программы выводит результат OCR в консоль, эффективно **converting image to string** всего в несколько строк кода. + +--- + +## Заключение + +Теперь вы знаете, как **extract text from image** файлы в Java с помощью Aspose OCR. Процесс сводится к трем простым шагам: загрузить PNG, вызвать `OcrEngine.recognize` и использовать полученную строку. Независимо от того, пытаетесь ли вы **recognize text from png**, **convert image to string** или просто **read text from scan** документы, этот подход предоставляет надёжное решение, готовое к продакшн‑использованию. + +Готовы к следующему вызову? Попробуйте обработать папку со сканированными чеками в цикле, сохранять каждый результат в CSV, либо поэкспериментировать с настройками для конкретных языков, чтобы улучшить точность для неанглийских текстов. Возможности безграничны, а написанный вами код — надёжный фундамент. + +Удачной кодировки, и не стесняйтесь задавать вопросы в комментариях — я с радостью помогу! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/russian/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..b0976cc94 --- /dev/null +++ b/ocr/russian/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,219 @@ +--- +category: general +date: 2026-02-19 +description: распознавать текст из PNG в Java с помощью Aspose OCR – узнайте, как + извлекать текст из изображения в Java и эффективно обрабатывать изображение с помощью + OCR. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: ru +og_description: распознавание текста из PNG в Java с помощью Aspose OCR. Этот учебник + показывает, как извлечь текст из изображения в Java и обработать изображение с помощью + OCR шаг за шагом. +og_title: Распознавание текста из PNG в Java – Полное руководство по Aspose OCR +tags: +- OCR +- Java +- Image Processing +title: распознавание текста из PNG в Java – учебник по Aspose OCR +url: /ru/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# распознавание текста из png в Java – Полное руководство по Aspose OCR + +Когда‑нибудь вам нужно было **распознать текст из png**, но вы не знали, какую библиотеку выбрать? Вы не одиноки — многие Java‑разработчики сталкиваются с этой проблемой, когда впервые берутся за извлечение данных из изображений. Хорошая новость в том, что Aspose OCR делает весь процесс почти безболезненным, и в этом руководстве вы увидите, как **извлечь текст из image java** проектов, одновременно **обрабатывая изображение с OCR** потокобезопасным способом. + +В течение нескольких минут мы создадим небольшую Java‑программу, которая загрузит PNG, выполнит OCR на CPU, используя до восьми потоков, и выведет распознанную строку в консоль. Никаких внешних сервисов, никаких секретных API‑ключей — просто обычный Java‑код, который можно скопировать, вставить и запустить уже сегодня. + +## Что понадобится + +- **Java 17** или новее (код компилируется и в более ранних версиях, но 17 — оптимальный вариант). +- **Aspose.OCR for Java** JAR (скачайте с сайта Aspose или подключите через Maven). +- PNG‑изображение, которое вы хотите прочитать, например `document-page1.png`, хранящееся где‑то на диске. +- Ваш любимый IDE или простой текстовый редактор и терминал. + +Вот и всё. Если у вас есть всё перечисленное, мы можем сразу перейти к решению. + +![Java code to recognize text from png using Aspose OCR](image-placeholder.png "recognize text from png Java example"){alt="Java code to recognize text from png using Aspose OCR"} + +## Пошагово: распознавание текста из png + +Ниже мы разбиваем реализацию на понятные, управляемые части. Каждая часть — это заголовок уровня H2, поэтому вы можете сразу перейти к интересующему вас разделу. + +### 1. Добавьте Aspose OCR в ваш проект + +**Почему?** Движок OCR находится внутри библиотеки Aspose; без него компилятор не будет знать, что такое `OcrEngine`. + +If you use Maven, drop this snippet into your `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +For Gradle, it looks like: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Pro tip:** Всегда проверяйте номер последней версии; новые релизы часто содержат улучшения производительности для многопоточной обработки. + +### 2. Создайте и настройте OCR‑движок + +**Почему?** Создание экземпляра `OcrEngine` дает вам готовый к использованию объект, а настройка параметров устройства позволяет задействовать все доступные ядра CPU. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Здесь мы явно задаём устройство `CPU`. Если позже вы перейдёте в среду с поддержкой GPU, просто замените значение enum — других изменений кода не потребуется. + +### 3. Загрузите PNG‑изображение + +**Почему?** OCR работает со стримом изображения, а не с прямым путём к файлу. Преобразование файла в `ImageStream` абстрагирует от конкретного формата. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Замените `YOUR_DIRECTORY` на реальную папку. Если файл не найден, движок бросит `IOException`, который мы поймаем позже. + +### 4. Выполните распознавание и получите результат + +**Почему?** Метод `recognize()` делает всю тяжёлую работу — обнаруживает символы, строки и разметку. Возвращаемый `OcrResult` содержит чистый текст. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Вы также можете запросить результат в виде `Pdf` или `Html`, но для цели **извлечь текст из image java** мы оставляем только обычный текст. + +### 5. Выведите текст и выполните очистку + +**Почему?** Простой `System.out.println` достаточно для демонстрации, но в реальном приложении вы, вероятно, будете записывать результат в файл или базу данных. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +Поскольку `OcrEngine` реализует `AutoCloseable`, рекомендуется обернуть всё в блок `try‑with‑resources`. Это гарантирует своевременное освобождение нативных ресурсов. + +### 6. Полный, исполняемый пример + +Объединив всё вместе, получаем полностью готовую программу, которую можно скомпилировать и запустить: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Ожидаемый вывод** (при условии, что PNG содержит «Hello World»): + +``` +=== OCR Result === +Hello World +``` + +Если изображение более сложное — несколько строк, таблицы или рукописные заметки — вывод будет точно отражать то, что обнаружит Aspose OCR, сохраняя переносы строк там, где это уместно. + +## Часто задаваемые вопросы и особые случаи + +### Что делать, если PNG огромный? + +Большие изображения могут съедать много памяти. Практическое решение — **уменьшить масштаб** изображения перед передачей его в движок: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +Уменьшение масштаба снижает нагрузку на CPU без потери точности OCR для большинства печатных текстов. + +### Можно ли выполнять OCR на PDF вместо PNG? + +Конечно. Aspose OCR также принимает PDF‑файлы через объекты `PdfDocument`. Тот же вызов `recognize()` работает, так что вы можете **обрабатывать изображение с OCR** независимо от исходного формата. + +### Как улучшить точность для нелатинских скриптов? + +Установите язык перед распознаванием: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose поставляется с десятками языковых пакетов; просто выберите тот, который соответствует содержимому вашего изображения. + +### Всегда ли увеличение количества потоков полезно? + +Большее количество потоков ускоряет обработку на многопроцессорных CPU, но после превышения количества физических ядер отдача снижается. Если вы замечаете рост нагрузки на CPU без пропорционального ускорения, уменьшите количество потоков до `Runtime.getRuntime().availableProcessors()`. + +## Итоги: чего мы достигли + +Мы только что **распознали текст из png** с помощью лаконичной Java‑программы, продемонстрировали, как **извлечь текст из image java** с помощью Aspose OCR, и рассмотрели основные шаги для **обработки изображения с OCR** в готовом к продакшну виде. Код автономный, объяснения отвечают как на «как», так и на «почему», а советы помогают избежать типичных подводных камней. + +## Что дальше? + +- **Пакетная обработка:** Пройдитесь по каталогу PNG‑файлов и запишите каждый результат в файл `.txt`. +- **Генерация PDF:** Передайте результат OCR в Aspose.PDF для создания PDF‑файлов с возможностью поиска. +- **Масштабирование в облаке:** Разверните тот же код в контейнере, управляемом Kubernetes, и позвольте пулу потоков адаптироваться к ресурсам pod‑ов. + +Экспериментируйте — меняйте изображение, регулируйте количество потоков или переключайте языки. 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/java/ocr-operations/_index.md b/ocr/russian/java/ocr-operations/_index.md index d3f16f84f..b8328265f 100644 --- a/ocr/russian/java/ocr-operations/_index.md +++ b/ocr/russian/java/ocr-operations/_index.md @@ -81,6 +81,10 @@ weight: 21 Мощное распознавание текста в Java с Aspose.OCR. Легко распознавайте текст в TIFF‑изображениях. Скачайте сейчас для бесшовного OCR‑опыта. ### [Распознавание текста на изображении с Aspose OCR – Полный Java OCR туториал](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Полный пошаговый туториал по распознаванию текста на изображениях с использованием Aspose OCR в Java. +### [Создание поискового PDF из JPG – Руководство Java](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Создайте поисковый PDF из JPG‑изображения с помощью Java. Пошаговый гид по преобразованию изображений в searchable PDF. +### [Как выпрямить изображение — пошаговое руководство по предобработке OCR](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +Подробный гид по выравниванию изображений перед OCR, повышающий точность распознавания. ## Часто задаваемые вопросы diff --git a/ocr/russian/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/russian/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..2b18bef16 --- /dev/null +++ b/ocr/russian/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,186 @@ +--- +category: general +date: 2026-02-19 +description: Создайте поисковый PDF из JPG‑изображения с помощью Aspose OCR на Java. + Преобразуйте JPG в PDF и быстро распознавайте текст на изображении. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: ru +og_description: Создайте PDF с возможностью поиска из изображения JPG с помощью Aspose + OCR. Узнайте, как преобразовать JPG в PDF и распознать текст на изображении в Java. +og_title: Создать PDF с поисковым текстом из JPG – учебник по OCR на Java +tags: +- aspose-ocr +- java +- pdf +- ocr +title: 'Создание PDF с возможностью поиска из JPG – Руководство Java: преобразование + изображения в поисковый PDF' +url: /ru/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Создание поискового PDF из JPG – Руководство по Java: изображение в поисковый PDF + +Когда‑нибудь вам нужно было **создать поисковый PDF** из отсканированного изображения, но вы не знали, с чего начать? Вы не одиноки — многие разработчики сталкиваются с той же проблемой, когда у них есть JPG, который нужно сделать поисковым. Хорошая новость в том, что с Aspose OCR for Java вы можете превратить это изображение в полностью поисковый PDF всего за несколько строк кода. + +В этом руководстве мы пройдем весь процесс: загрузка JPG, распознавание текста и сохранение результата в виде поискового PDF. К концу вы узнаете, как **convert jpg to pdf**, как **extract text from jpg**, и почему этот подход часто надёжнее, чем попытка выполнить OCR уже созданного PDF. + +## Что понадобится + +* **Java Development Kit (JDK) 8 or newer** – код использует стандартные Java API. +* **Aspose OCR for Java** library – её можно получить из Maven Central или скачать JAR с сайта Aspose. +* **sample JPG** that contains readable text (например, отсканированный счёт или скриншот документа). + +Дополнительные фреймворки не требуются; пример работает в обычном Java‑проекте. + +## Шаг 1 – Настройка проекта и добавление Aspose OCR + +Сначала создайте новый Maven‑проект (или просто папку с JAR в classpath). Если вы используете Maven, добавьте эту зависимость в ваш `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** Всегда проверяйте последнюю версию в репозитории Aspose Maven; новые релизы включают улучшения производительности и исправления ошибок. + +После того как зависимость будет разрешена, вы готовы написать Java‑код, который **create searchable PDF**. + +## Шаг 2 – Загрузка изображения (image to searchable pdf) + +Первый реальный шаг — указать OCR‑движку исходное изображение. Здесь действительно начинается трансформация **image to searchable pdf**. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Why this matters:** `setImage` сообщает Aspose, какой bitmap анализировать. Если вы передадите изображение низкого разрешения, качество OCR пострадает, поэтому убедитесь, что JPG имеет как минимум 300 dpi для лучших результатов. + +## Шаг 3 – Распознавание текста с изображения + +Теперь, когда движок знает, с каким изображением работать, мы можем попросить его **recognize text from image**. Aspose OCR делает всю тяжёлую работу под капотом, обрабатывая определение языка, сегментацию символов и оценку уверенности. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +Вызов `recognize()` возвращает fluent‑интерфейс, позволяющий цепочкой вызвать метод `save`. Указав `OcrOutputFormat.SEARCHABLE_PDF`, библиотека встраивает невидимый слой текста в PDF, сохраняя оригинальный вид изображения. + +> **Edge case:** Если ваш JPG содержит несколько страниц (например, многостраничный TIFF, сохранённый как отдельные JPG), вам придётся перебрать каждый файл и позже объединить полученные PDF‑файлы. Один и тот же OCR‑движок можно переиспользовать для каждой итерации. + +## Шаг 4 – Проверка результата + +После завершения операции сохранения простое сообщение в консоли сообщает, что всё прошло гладко. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +Когда вы откроете `output-searchable.pdf` в просмотрщике, например Adobe Acrobat, вы сможете выделять скрытый текст, копировать его или выполнять поиск — именно то, что ожидается от **searchable PDF**. + +### Ожидаемый вывод + +Запуск программы выводит: + +``` +Searchable PDF created. +``` + +А сгенерированный PDF будет отображать оригинальный JPG, позволяя при этом выделять текст. Если открыть «Properties → Description → PDF Producer», вы увидите что‑то вроде `Aspose.OCR for Java`. + +## Полный рабочий пример + +Ниже приведён полностью готовый к запуску исходный файл. Скопируйте‑вставьте его в свою IDE, скорректируйте пути к файлам и запустите. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **What if the OCR fails?** +> * Обычно это происходит из‑за слишком шумного изображения или неподдерживаемого языка. Точность можно улучшить, предварительно обработав изображение (увеличить контраст, исправить наклон) или явно задав язык с помощью `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`. + +## Часто задаваемые вопросы и подводные камни + +| Question | Answer | +|----------|--------| +| **Can I extract the plain text instead of a PDF?** | Yes. Use `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **What if I need to process a PNG?** | The same API works; just change the file extension in `fromFile`. | +| **Is the resulting PDF truly searchable on all viewers?** | Modern viewers (Adobe Reader, Foxit, Chrome) honor the hidden text layer. Older tools might ignore it. | +| **How do I control the PDF page size?** | Aspose OCR uses the image dimensions by default. For custom sizing, generate a PDF manually and overlay the OCR text layer—this is an advanced scenario. | + +## Советы по производительности + +* **Batch processing:** Переиспользуйте один экземпляр `OcrEngine` для множества изображений, чтобы избежать повторной загрузки нативных библиотек. +* **Thread safety:** Движок **не** является потокобезопасным; создавайте отдельный экземпляр для каждого потока при параллельной обработке. +* **Memory usage:** Большие изображения могут потреблять много ОЗУ. Если возникнет `OutOfMemoryError`, уменьшите масштаб изображения перед передачей его движку. + +## Следующие шаги + +Теперь, когда вы знаете, как **create searchable PDF**, вы можете изучить связанные задачи: + +* **Convert jpg to pdf** без OCR (используйте библиотеку Aspose PDF для создания обычного PDF с изображением). +* **Extract text from jpg** в файл `.txt` для индексации. +* **Combine multiple searchable PDFs** в один документ с помощью `PdfFileEditor` из Aspose PDF. + +Все эти задачи опираются на ту же основу, которую вы только что создали. + +--- + +### Краткое резюме + +* Мы **created a searchable PDF** из JPG с помощью Aspose OCR for Java. +* Процесс включал загрузку изображения, распознавание текста и сохранение в виде поискового PDF. +* Теперь у вас есть переиспользуемый шаблон для **image to searchable PDF**, **recognize text from image**, **extract text from jpg** и **convert jpg to pdf**. + +Попробуйте на своих документах, при необходимости настройте параметры языка, и позвольте OCR выполнить всю тяжёлую работу за вас. Happy coding! + +![Пример создания поискового PDF](placeholder.png){alt="Пример создания поискового PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/russian/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..363183da8 --- /dev/null +++ b/ocr/russian/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,172 @@ +--- +category: general +date: 2026-02-19 +description: Узнайте, как исправлять наклон изображения и удалять шум для OCR. В этом + руководстве показано, как распознавать текст на изображении, корректировать вращение + изображения и предварительно обрабатывать изображение для OCR с помощью Aspose OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: ru +og_description: Как исправить наклон изображения и удалить шум, чтобы быстро распознавать + текст на изображении. Следуйте этому руководству, чтобы скорректировать вращение + изображения и предобработать его для OCR с помощью Aspose. +og_title: Как выпрямить изображение — Полный учебник по предобработке OCR +tags: +- OCR +- Java +- Image Processing +title: Как выпрямить изображение — пошаговое руководство по предобработке OCR +url: /ru/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как исправить наклон изображения — Полный учебник по предобработке OCR + +Когда‑нибудь задумывались **как исправить наклон изображения** перед передачей его в OCR‑движок? Возможно, вы отсканировали партию чеков, и страницы выглядят слегка наклонёнными, или скан содержит случайные точки. Это распространённая проблема — наклонные, шумные картинки мешают распознаванию текста. + +Хорошие новости? Вы можете выпрямить (correct image rotation) и избавиться от шума (how to remove noise) всего в несколько строк Java с помощью Aspose.OCR. В этом руководстве мы пройдём весь процесс: от загрузки шумного‑наклонного PNG, применения deskew + median denoise, до **recognize text image** и вывода результата. К концу у вас будет переиспользуемый фрагмент кода, который можно вставить в любой Java‑проект. + +## Что понадобится + +- **Java 17** или новее (код компилируется и в более старых версиях, но 17 — оптимальный вариант). +- **Aspose.OCR for Java** — скачайте последнюю JAR‑ку из Maven Central (`com.aspose:aspose-ocr`). +- Файл изображения, который одновременно наклонён и зашумлён (например, `noisy-rotated.png`). +- Любая удобная IDE (IntelliJ, Eclipse или даже VS Code). + +Никаких сложных систем сборки не требуется; простая команда `javac` + `java` работает отлично. + +--- + +## Шаг 1 — Создание экземпляра OCR‑движка + +Первое, что нужно сделать, — создать `OcrEngine`. Это как мозг, который позже будет читать символы за вас. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Совет:** Делайте движок синглтоном, если обрабатываете много изображений; он переиспользует внутренние буферы и ускоряет работу. + +## Шаг 2 — Включение Deskew и Median Denoise (Как удалить шум) + +Теперь мы говорим движку **correct image rotation** и **how to remove noise**. Оба фильтра необязательны, но вместе они значительно повышают точность. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Почему median denoise? Он сохраняет границы (линии, определяющие символы), одновременно удаляя одиночные пиксели — именно то, что нужно для чистого OCR. + +## Шаг 3 — Загрузка изображения для обработки + +Здесь мы указываем движку файл, который нуждается в очистке. `ImageStream.fromFile` читает PNG в память. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Если ваше изображение находится на удалённом сервере, просто передайте `InputStream` — Aspose обработает его без проблем. + +## Шаг 4 — Запуск OCR и получение распознанного текста + +С включённой предобработкой движок теперь читает выпрямленное изображение. Вызов `recognize()` возвращает `RecognitionResult`, содержащий извлечённую строку. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +В консоли вы должны увидеть чистый, читаемый текст, даже если исходное изображение было наклонённым и зернистым. + +## Шаг 5 — Проверка результата (Что ожидать) + +Когда всё работает, консоль выводит что‑то вроде: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Если вывод всё ещё содержит искажённые символы, проверьте: + +- Разрешение изображения (≥ 300 dpi — идеально). +- Правильность пути к файлу. +- Может, помогут дополнительные фильтры (например, `setContrastStretch`). + +--- + +## Необязательно: визуальная проверка на примере изображения + +Ниже небольшая превью‑версия наклонённого, шумного чека. Обратите внимание на наклон — наш код выпрямит его для вас. + +![пример исправления наклона изображения](deskew-demo.png "пример исправления наклона изображения") + +*Alt text: пример исправления наклона изображения — до и после обработки.* + +--- + +## Часто задаваемые вопросы + +### Работает ли это с PDF или только с PNG/JPEG? +Aspose.OCR умеет читать PDF напрямую; просто замените `ImageStream.fromFile` на `ImageStream.fromPdf`. Те же флаги предобработки применяются, так что вы всё равно получаете **how to deskew image** и **how to remove noise**. + +### Что если мне нужно сохранить оригинальную ориентацию для последующих шагов? +Можно клонировать изображение перед предобработкой: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Можно ли задать угол deskew вручную? +Да — `setDeskewAngle(double degrees)` позволяет переопределить алгоритм автоопределения. Полезно, когда автоопределение не справляется с экстремальными наклонами. + +### Чем отличается median denoise от Gaussian blur? +Median‑фильтры заменяют каждый пиксель медианой соседних, сохраняя границы. Gaussian blur размывает всё, что может размыть штрихи символов — поэтому median считается более безопасным выбором для OCR. + +--- + +## Подведение итогов + +В этом учебнике мы рассмотрели **how to deskew image**, продемонстрировали **how to remove noise** и показали, как **recognize text image** с помощью встроенной предобработки Aspose OCR. Включив `setDeskew(true)` и `setMedianDenoise(true)`, вы автоматически **correct image rotation** и убираете пятна, превращая грязный скан в чистую строку текста. + +Экспериментируйте: пробуйте разные стратегии шумоподавления, обрабатывайте PDF или объединяйте несколько изображений в цикле. Один и тот же шаблон — engine → preprocess → recognize — подойдёт для любой задачи, делая эту основу надёжной для любой OCR‑конвейера. + +**Следующие шаги**, которые стоит изучить: + +- **Пакетная обработка** — итерация по папке изображений и запись каждого результата в файл `.txt`. +- **Языковые пакеты** — загрузка словаря конкретного языка для повышения точности распознавания неанглийского текста. +- **Продвинутые фильтры** — например, `setContrastStretch` или `setBinarization` для сканов с низким контрастом. + +Есть вопросы? Оставляйте комментарий, и удачной разработки! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/_index.md b/ocr/spanish/java/advanced-ocr-techniques/_index.md index ad92a78f6..7abd63b1d 100644 --- a/ocr/spanish/java/advanced-ocr-techniques/_index.md +++ b/ocr/spanish/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,14 @@ Desbloquee el poder del reconocimiento de texto con Aspose.OCR para Java. Siga n Potencia tus aplicaciones Java con Aspose.OCR para un reconocimiento de texto preciso. Fácil integración, alta precisión. ### [Especificación de caracteres permitidos en Aspose.OCR](./specify-allowed-characters/) Desbloquee la extracción de texto de imágenes sin problemas con Aspose.OCR para Java. Siga nuestra guía paso a paso para una integración eficiente. +### [Cómo habilitar GPU para OCR en Java – Guía completa](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Aprenda a activar la GPU para acelerar el OCR en Java con Aspose.OCR, mejorando el rendimiento y la precisión. +### [Cómo hacer OCR de una imagen en Java – Notas manuscritas con corrección ortográfica](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Aprenda a reconocer texto manuscrito en imágenes usando Aspose.OCR para Java y aplicar corrección ortográfica para resultados precisos. + {{< /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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/spanish/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..bf2e42e09 --- /dev/null +++ b/ocr/spanish/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,209 @@ +--- +category: general +date: 2026-02-19 +description: Cómo habilitar la GPU para un procesamiento rápido de OCR. Aprende a + cargar una imagen de alta resolución, reconocer texto en la imagen y extraer texto + usando Aspose OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: es +og_description: Cómo habilitar la GPU para un procesamiento rápido de OCR. Esta guía + muestra cómo cargar una imagen de alta resolución, reconocer texto en la imagen + y extraer texto con Aspose OCR. +og_title: Cómo habilitar la GPU para OCR en Java – Guía completa +tags: +- OCR +- Java +- GPU +- Aspose +title: Cómo habilitar la GPU para OCR en Java – Guía completa +url: /es/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo habilitar GPU para OCR en Java – Guía completa + +¿Alguna vez te has preguntado **cómo habilitar GPU** para tu canal de OCR y ahorrar segundos en el tiempo de procesamiento? No estás solo. En muchos proyectos con muchas imágenes, el cuello de botella es el paso de extracción de texto dependiente de la CPU, y cambiar a GPU puede ser un factor decisivo. + +En este tutorial recorreremos la carga de una **imagen de alta resolución**, la configuración de Aspose OCR para ejecutarse en la GPU, y finalmente **reconocer imagen de texto** y **extraer texto** con solo unas pocas líneas de Java. Al final tendrás un programa listo‑para‑ejecutar que demuestra **habilitar procesamiento con GPU** de extremo a extremo. + +## Qué necesitarás + +- Java 17 o superior (el código usa el sistema de módulos pero funciona en JDKs más antiguos con pequeños ajustes) +- Aspose OCR for Java 23.10 (o la última versión) – puedes obtener las coordenadas Maven en el sitio de Aspose +- Una GPU NVIDIA con controladores CUDA 12+ instalados (de lo contrario la biblioteca se negará a iniciarse) +- Una imagen de muestra de alta resolución (PNG o JPEG) de la que quieras leer texto + +Eso es todo. Sin servicios externos, sin créditos en la nube, solo tu máquina y la pila de controladores adecuada. + +![Flujo de trabajo de OCR con GPU – cómo habilitar procesamiento con GPU](gpu-ocr-workflow.png) + +*Texto alternativo de la imagen: diagrama que ilustra cómo habilitar GPU para el procesamiento de OCR en Java.* + +## Implementación paso a paso + +A continuación dividimos la solución en bloques lógicos. Cada sección contiene un fragmento de código conciso, una explicación de **por qué** el paso es importante y algunos consejos prácticos que probablemente apreciarás más adelante. + +### Cómo habilitar GPU para OCR – Paso 1: Instalar dependencias y verificar CUDA + +Antes de que se ejecute cualquier código Java, el tiempo de ejecución nativo de CUDA debe ser detectable. En Windows puedes verificar con: + +```bat +nvcc --version +``` + +En Linux: + +```bash +nvidia-smi +``` + +Si el comando muestra la versión del controlador y los detalles de la GPU, estás listo para continuar. De lo contrario, visita el sitio web de NVIDIA, descarga el controlador apropiado e instala el toolkit CUDA (asegúrate de que la versión coincida con los requisitos de Aspose OCR – actualmente 12.x). + +**Consejo:** Mantén tu controlador de GPU actualizado pero evita las versiones “latest‑beta”; a veces rompen la compatibilidad binaria con las bibliotecas nativas de Aspose. + +### Cómo habilitar GPU para OCR – Paso 2: Añadir la dependencia Maven de Aspose OCR + +Agrega lo siguiente a tu `pom.xml`. Esto incluye el motor OCR central y los binarios nativos de GPU para Windows, Linux y macOS. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Si prefieres Gradle, el equivalente es: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Después de refrescar tu proyecto, las clases `OcrEngine`, `OcrDeviceType` y `ImageStream` estarán disponibles. + +### Cómo habilitar GPU para OCR – Paso 3: Crear el motor OCR y habilitar GPU + +Ahora le indicamos a Aspose que se ejecute en la GPU. El `OcrEngine` expone un objeto `Device` donde podemos cambiar el tipo de dispositivo de procesamiento. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Por qué es importante:** Configurar `OcrDeviceType.GPU` cambia el motor de inferencia subyacente de una implementación solo CPU a una acelerada por CUDA. La llamada opcional `setStreamCount` te permite controlar el paralelismo; dos streams son un valor predeterminado seguro en la mayoría de tarjetas de consumo. + +### Cómo habilitar GPU para OCR – Paso 4: Cargar una imagen de alta resolución + +Las fuentes de alta resolución proporcionan al modelo OCR más detalle visual, lo que se traduce en mayor precisión, especialmente para fuentes pequeñas o escrituras intrincadas. El asistente `ImageStream.fromFile` lee el archivo en un formato que el motor espera. + +Si necesitas **cargar una imagen de alta resolución** desde una URL o un arreglo de bytes en memoria, puedes usar: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Caso límite:** Algunas GPUs tienen un tamaño máximo de textura (a menudo 16384 × 16384). Si tu imagen supera ese límite, considera reducirla a un tamaño que aún preserve la legibilidad (p.ej., 3000 × 2000). El motor OCR redimensionará automáticamente si llamas a `ocrEngine.setResizeFactor(0.5)` antes de cargar. + +### Cómo habilitar GPU para OCR – Paso 5: Reconocer imagen de texto y extraer texto + +Llamar a `ocrEngine.recognize()` activa la inferencia de la red neuronal en la GPU. El método devuelve un objeto `OcrResult`; `getText()` extrae la cadena simple. También puedes obtener cajas delimitadoras, puntuaciones de confianza o el JSON bruto si necesitas datos más completos. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Por qué podrías querer esto:** El paso `recognize text image` es donde la GPU brilla—imágenes grandes que tomarían segundos en la CPU se procesan en una fracción de ese tiempo. Las puntuaciones de confianza te permiten filtrar resultados de baja calidad, un truco útil cuando luego **cómo extraer texto** para análisis posteriores. + +### Consejos profesionales y errores comunes + +| Situación | Qué hacer | +|-----------|------------| +| **Errores de falta de memoria** en la GPU | Reduce `setStreamCount` a 1, o reduce la escala de la imagen antes de pasarla al motor. | +| **Caracteres no reconocidos** a pesar de alta resolución | Asegúrate de que el modelo de idioma (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) coincida con el idioma del texto. | +| **Incompatibilidad de versión de CUDA** | Alinea la versión del toolkit CUDA con la incluida en Aspose OCR (consulta las notas de la versión). | +| **Múltiples GPUs** | Usa `ocrEngine.getDevice().setDeviceId(1)` para seleccionar la segunda GPU si la primera está ocupada. | +| **Ejecutar en un servidor sin pantalla** | No se requieren pasos adicionales; el controlador de GPU funciona sin una pantalla. | + +## Cómo extraer texto – Verificando la salida + +Cuando ejecutes la clase anterior, deberías ver algo como: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Si la salida se ve desordenada, verifica que la imagen sea realmente de alta resolución y que el controlador de GPU esté correctamente instalado. También puedes habilitar el registro detallado: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +Los registros mostrarán si los kernels nativos de CUDA se cargaron correctamente. + +## Próximos pasos y temas relacionados + +- **Procesamiento por lotes:** Envuelve el `OcrEngine` en un bucle y proporciona una lista de rutas de imágenes. Recuerda reutilizar la misma instancia del motor para evitar la sobrecarga de inicialización repetida de la GPU. +- **Detección de idioma:** Aspose OCR soporta más de 30 idiomas. Cambia con `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Post‑procesamiento:** Usa expresiones regulares para limpiar la cadena extraída, o introdúcela en una canalización NLP posterior. +- **Dispositivos alternativos:** Si no dispones de una GPU compatible con CUDA, puedes volver a `OcrDeviceType.CPU`. El mismo código funciona; solo cambia el tipo de dispositivo. +- **Benchmark de rendimiento:** Mide la diferencia de tiempo con `System.nanoTime()` antes y después de `recognize()` para cuantificar la ganancia de **habilitar procesamiento con GPU**. + +--- + +### Conclusión + +Hemos cubierto **cómo habilitar GPU** para Aspose OCR en Java, desde la instalación de los controladores correctos hasta la carga de una **imagen de alta resolución**, **reconocer imagen de texto**, y finalmente **cómo extraer texto** del resultado. El ejemplo completo y ejecutable anterior debería funcionar sin problemas en cualquier GPU NVIDIA moderna. + +Pruébalo, experimenta con diferentes tamaños de imagen y observa cómo aumenta tu rendimiento de OCR. Si encuentras algún problema, revisa la sección de consejos o consulta las notas de la versión de Aspose para las últimas recomendaciones sobre **habilitar procesamiento con GPU**. + +¡Feliz codificación, y que tu GPU se mantenga fresca mientras procesa texto! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/spanish/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..cb773d029 --- /dev/null +++ b/ocr/spanish/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,253 @@ +--- +category: general +date: 2026-02-19 +description: Aprende cómo hacer OCR de una imagen de notas manuscritas en Java usando + Aspose OCR. Incluye cargar la imagen para OCR, leer notas manuscritas y convertir + el texto de la imagen manuscrita. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: es +og_description: Cómo hacer OCR de una imagen de notas manuscritas en Java con Aspose. + Guía paso a paso para cargar la imagen para OCR, leer notas manuscritas y convertir + el texto de la imagen manuscrita. +og_title: Cómo hacer OCR a una imagen en Java – Guía de notas manuscritas +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Cómo hacer OCR de una imagen en Java – Notas manuscritas con corrección ortográfica +url: /es/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +markdown formatting. + +Let's craft.{{< 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 Java – Notas manuscritas con corrección ortográfica + +¿Alguna vez te has preguntado **cómo hacer OCR de una imagen** que contiene tu lista de compras garabateada o las actas de una reunión? No eres el único. En muchas aplicaciones del mundo real, los desarrolladores necesitan leer notas manuscritas y convertirlas en texto buscable—sin necesidad de volver a escribirlo manualmente. + +En este tutorial recorreremos un ejemplo completo, listo para ejecutar, que muestra exactamente **cómo hacer OCR de una imagen** usando Aspose OCR for Java, cómo **cargar imagen para OCR**, y cómo **leer notas manuscritas** con corrección ortográfica incorporada. Al final, podrás **convertir texto de imagen manuscrita** en una cadena limpia que puedes almacenar, indexar o mostrar. + +## Lo que aprenderás + +- Los pasos exactos para configurar un motor OCR que entienda la escritura a mano en inglés. +- Cómo **cargar imagen para OCR** desde disco y pasarla al motor. +- Por qué habilitar el corrector ortográfico es importante al tratar con garabatos desordenados. +- Formas de manejar casos límite comunes, como imágenes de bajo contraste o paquetes de idioma faltantes. +- Un ejemplo de código completo y ejecutable que puedes pegar en tu IDE y ver resultados al instante. + +> **Prerequisites**: Java 8+ instalado, Maven o Gradle para la gestión de dependencias, y una licencia de Aspose OCR for Java (la prueba gratuita sirve para aprender). No se requieren otras bibliotecas externas. + +--- + +## Paso 1: Configura el proyecto y agrega la dependencia de Aspose OCR + +Lo primero: tu proyecto necesita la biblioteca Aspose OCR. Si usas Maven, agrega esto a tu `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +O con Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Pro tip**: Mantén un ojo en el número de versión; las versiones más recientes mejoran el reconocimiento de escritura a mano y añaden soporte de idiomas. + +Una vez resuelta la dependencia, estás listo para **cargar imagen para OCR**. + +## Paso 2: Crea la instancia del motor OCR + +Para **cómo hacer OCR de una imagen** de manera eficaz, necesitas un objeto `OcrEngine`. Este objeto es el corazón del proceso—contiene la configuración de idioma, banderas de corrección ortográfica y la propia imagen. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +¿Por qué instanciamos el motor primero? Porque Aspose OCR está diseñado para ser reutilizable; puedes procesar múltiples imágenes con la misma instancia, ajustando la configuración entre ejecuciones si es necesario. + +## Paso 3: Agrega soporte de idioma inglés y habilita la corrección ortográfica + +Las notas manuscritas a menudo están plagadas de errores ortográficos, letras faltantes o abreviaturas poco convencionales. Habilitar el corrector ortográfico le da al motor la oportunidad de limpiar la salida. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **¿Por qué habilitar la corrección ortográfica?** +> Sin ella, la salida OCR cruda podría leer “t0d@y” o “c0ffee”. El corrector ortográfico normaliza esas peculiaridades, haciendo que el texto final sea mucho más útil para procesos posteriores como la indexación de búsqueda. + +## Paso 4: Carga la imagen manuscrita + +Ahora **cargamos imagen para OCR**. Aspose proporciona el método conveniente `ImageStream.fromFile` que acepta cualquier formato raster común (PNG, JPEG, BMP). + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Si tu imagen está en una carpeta de recursos o la recibes como un arreglo de bytes (p. ej., desde una carga web), puedes usar `ImageStream.fromBytes` en su lugar—simplemente reemplaza la línea anterior con: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Paso 5: Ejecuta OCR y recupera el texto corregido + +Con el motor configurado y la imagen cargada, la llamada real a **cómo hacer OCR de una imagen** es una sola línea: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +El método `recognize()` devuelve un objeto `OcrResult` que contiene no solo el texto plano sino también puntuaciones de confianza, cajas delimitadoras y más. Para la mayoría de los casos de uso, el simple `getText()` es suficiente. + +## Paso 6: Muestra el resultado + +Finalmente, imprimimos la cadena limpiada en la consola. En una aplicación real podrías almacenarla en una base de datos, enviarla a un motor de búsqueda o pasarla a un modelo de lenguaje. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Expected Output + +Suponiendo que la nota manuscrita dice: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +Deberías ver algo como: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Incluso si el garabato original era desordenado—por ejemplo “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”—el corrector ortográfico normalmente lo ordenará. + +--- + +## Cargar imagen para OCR – Consejos para mejorar la precisión + +1. **La resolución importa** – Apunta a al menos 300 dpi. Resoluciones más bajas hacen que el motor pierda trazos diminutos. +2. **El contraste es clave** – Si el fondo es de color, convierte la imagen a escala de grises primero. +3. **Recorta al contenido** – Eliminar márgenes innecesarios reduce el ruido y acelera el procesamiento. + +Puedes pre‑procesar imágenes con bibliotecas como OpenCV o incluso con `BufferedImage` incorporado en Java antes de entregarlas a Aspose. + +## Leer notas manuscritas: manejo de casos límite + +- **Palabras de baja confianza**: `ocrEngine.getResult().getWords()` devuelve una lista donde cada palabra tiene un valor de confianza (0–100). Puedes filtrar palabras por debajo de un umbral y solicitar al usuario una revisión manual. +- **Múltiples idiomas**: Si necesitas **leer notas manuscritas** tanto en inglés como en español, agrega ambos idiomas antes de llamar a `recognize()`. +- **Archivos grandes**: Para PDFs o TIFFs de varias páginas, itera sobre cada página con `ocrEngine.setImage(pageStream)` dentro de un bucle. + +## Convertir texto de imagen manuscrita a datos estructurados + +A menudo no solo necesitas una cadena cruda; podrías querer extraer fechas, montos o ítems de lista. Después de obtener el texto corregido, expresiones regulares o bibliotecas NLP (como Stanford CoreNLP) pueden analizar el contenido: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +Este fragmento muestra lo fácil que es pasar de **convertir texto de imagen manuscrita** a datos accionables. + +## Problemas comunes y cómo evitarlos + +| Síntoma | Causa probable | Solución | +|---------|----------------|----------| +| Salida garbled, muchos caracteres `?` | Imagen demasiado oscura o de bajo contraste | Aumenta el brillo o pre‑procesa con ecualización de histograma | +| Palabras omitidas | Escritura demasiado cursiva | Habilita `ocrEngine.getSettings().setEnableCursive(true)` (si está soportado) | +| El corrector ortográfico introduce palabras incorrectas | Desajuste del modelo de idioma | Añade un diccionario personalizado vía `ocrEngine.getSpellChecker().addUserWords(...)` | +| Error de out‑of‑memory con imágenes grandes | Tamaño de imagen > 10 MB | Reduce la escala antes de cargar, o procesa en mosaicos | + +## Ejemplo completo y funcional (listo para copiar y pegar) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Nota**: Si ejecutas el código desde un IDE, asegúrate de que la carpeta `YOUR_DIRECTORY` esté en tu classpath o usa una ruta absoluta. + +--- + +## Conclusión + +Hemos cubierto **cómo hacer OCR de una imagen** en Java de principio a fin, mostrándote cómo **cargar imagen para OCR**, **leer notas manuscritas**, habilitar la corrección ortográfica y finalmente **convertir texto de imagen manuscrita** en una cadena limpia. El enfoque es sencillo, pero lo suficientemente potente para aplicaciones de nivel de producción. + +¿Listo para el próximo desafío? Prueba con PDFs de varias páginas, agrega diccionarios personalizados para términos específicos de tu industria, o alimenta la salida OCR a un modelo de aprendizaje automático para análisis de sentimiento. El cielo es el límite cuando combinas la precisión de Aspose OCR con la flexibilidad de Java. + +¿Tienes preguntas sobre un caso límite particular, o quieres compartir cómo integraste esto en una app móvil? ¡Deja un comentario abajo—feliz codificación! + +--- + +![ejemplo de cómo hacer OCR de una imagen](/images/ocr-handwritten-example.png "ejemplo de cómo hacer OCR de notas manuscritas") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/spanish/java/ocr-basics/_index.md index 06d11ecbf..99feaa49b 100644 --- a/ocr/spanish/java/ocr-basics/_index.md +++ b/ocr/spanish/java/ocr-basics/_index.md @@ -18,7 +18,7 @@ weight: 20 ## Introducción -En esta guía completa, aprenderás **cómo extraer imágenes de texto** con Aspose.OCR para Java, convirtiendo fotos escaneadas en contenido buscable y editable. Te acompañaremos paso a paso desde la licencia hasta la corrección de sesgo, para que puedas **mejorar la precisión del OCR** y crear canalizaciones de procesamiento de documentos confiables. Ya sea que estés construyendo una aplicación escáner simple o una solución de nivel empresarial, estos pasos te darán la confianza para enfrentar los desafíos del OCR de frente. +En esta guía completa, aprenderás **cómo extraer imágenes de texto** con Aspose.OCR para Java, convirtiendo fotos escaneadas en contenido buscable y editable. Te acompañaremos paso a paso desde la licencia hasta la corrección de sesgo, para que puedas **mejorar la precisión del OCR** y crear canalizaciones de procesamiento de documentos confiables. Ya sea que estés construiendo una aplicación escáner simple o una solución de nivel empresarial, estos pasos te darán la confianza para enfrentar los desafíos del OCR de frente. ## Respuestas Rápidas - **¿Qué significa “extraer imágenes de texto”?** Se refiere a leer caracteres de archivos de imagen (PNG, JPEG, TIFF, etc.) y convertirlos en texto plano. @@ -101,6 +101,14 @@ Desbloquea el potencial de Aspose.OCR para Java con esta guía paso a paso. Conf Mejora la precisión del OCR con Aspose.OCR para Java. Aprende a calcular ángulos de sesgo paso a paso. Mejora el procesamiento de documentos sin complicaciones. ### [Obteniendo rectángulos con áreas de texto en Aspose.OCR](./get-rectangles-with-text-areas/) Desbloquea el poder de Aspose.OCR para Java. Aprende a extraer texto de imágenes sin problemas en esta guía paso a paso. Descárgala ahora para un reconocimiento de texto eficiente. +### [Reconocer texto desde PNG en Java – tutorial de Aspose OCR](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Aprende a reconocer texto en archivos PNG usando Aspose OCR en Java con este tutorial paso a paso. +### [Extraer texto de una imagen – convertir PNG a texto en Java](./extract-text-from-image-convert-png-to-text-in-java/) +Convierte archivos PNG a texto usando Aspose OCR en Java con este tutorial paso a paso. +### [Extraer texto de una imagen en Java – Ejemplo completo de OCR](./extract-text-from-image-in-java-complete-ocr-example/) +Aprende a extraer texto de imágenes en Java con un ejemplo completo que cubre configuración, preprocesamiento y reconocimiento OCR paso a paso. +### [Extraer texto de una imagen con Aspose OCR – Guía rápida de Java](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) +Aprende a extraer texto de imágenes rápidamente con Aspose OCR en Java siguiendo esta guía paso a paso. --- @@ -113,4 +121,4 @@ Desbloquea el poder de Aspose.OCR para Java. Aprende a extraer texto de imágene {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/spanish/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..9aa14eb83 --- /dev/null +++ b/ocr/spanish/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-02-19 +description: extraer texto de una imagen usando Aspose OCR Java – aprende cómo convertir + PNG a texto, cargar la imagen para OCR y seguir un tutorial de OCR en Java. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: es +og_description: extrae texto de una imagen con Aspose OCR Java. Sigue este tutorial + paso a paso de OCR en Java para convertir PNG a texto y cargar la imagen para OCR. +og_title: extraer texto de una imagen – guía de OCR en Java +tags: +- OCR +- Java +- Aspose +- Image Processing +title: extraer texto de una imagen – convertir PNG a texto en Java +url: /es/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# extraer texto de imagen – Tutorial de OCR en Java + +¿Alguna vez necesitaste **extract text from image** pero no estabas seguro de qué biblioteca te permitiría hacerlo sin complicaciones? No eres el único—los desarrolladores preguntan constantemente, “¿Cómo puedo convertir un PNG a texto en Java?” La buena noticia es que Aspose OCR hace que todo el proceso sea como dar un paseo por el parque. En esta guía recorreremos un **java ocr tutorial** completo, te mostraremos cómo **load image for OCR**, y terminaremos con texto limpio y buscable. + +Cubrirémos todo, desde la configuración del motor hasta el manejo de contenido multilingüe, de modo que al final podrás **extract text from image** de archivos de cualquier tamaño, formato o idioma. Sin servicios externos, sin claves API—solo un único JAR y unas pocas líneas de código. + +## Lo que necesitarás + +- JDK 8 o superior instalado (el código también funciona en JDK 11+). +- Maven o Gradle para obtener la biblioteca Aspose OCR, o puedes descargar el JAR manualmente desde el sitio web de Aspose. +- Una imagen PNG que contenga texto legible (para nuestro ejemplo usaremos `khmer-sign.png`). +- Un IDE o editor de texto con el que te sientas cómodo—IntelliJ IDEA, Eclipse, VS Code, cualquiera sirve. + +Eso es todo. Sin frameworks pesados, sin credenciales de nube. ¿Listo? Comencemos a extraer texto de archivos de imagen. + +## Paso 1: Añadir Aspose OCR a tu proyecto + +Lo primero—necesitas el motor OCR en tu classpath. Si usas Maven, agrega esta dependencia a `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +O con Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Si prefieres la ruta manual, descarga el JAR desde la página de descargas de Aspose y colócalo en la carpeta `libs` de tu proyecto, luego añádelo al path de compilación. + +> **Consejo profesional:** Siempre elige la versión estable más reciente; las versiones más antiguas pueden carecer de paquetes de idioma o correcciones de errores. + +## Paso 2: Crear la instancia del motor OCR + +Ahora que la biblioteca está disponible, podemos crear un `OcrEngine`. Piensa en el motor como el cerebro que leerá los píxeles y los convertirá en caracteres. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +¿Por qué creamos un motor nuevo cada vez? El motor mantiene buffers internos y datos de idioma; iniciar limpio garantiza resultados determinísticos, especialmente cuando cambias de idioma más adelante. + +## Paso 3: Habilitar el idioma deseado (Opcional pero recomendado) + +Aspose OCR incluye docenas de paquetes de idioma. Si conoces el idioma de tu imagen fuente, habilítalo explícitamente; esto acelera el reconocimiento y mejora la precisión. En nuestro ejemplo habilitaremos Khmer (`khm`), pero puedes reemplazarlo con `ENG` para inglés, `CHN` para chino, etc. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Por qué es importante:** Cuando **load image for OCR**, el motor solo buscará en los diccionarios de idioma habilitados. Dejar todos los idiomas activados puede ralentizar el proceso e incrementar falsos positivos. + +## Paso 4: Cargar imagen para OCR – Convertir PNG a texto + +Aquí es donde ocurre el paso de **load image for OCR**. Aspose proporciona un práctico ayudante `ImageStream.fromFile` que abstrae el I/O de bajo nivel. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +Si tu imagen está en otro formato (JPEG, BMP, TIFF), el mismo método funciona—Aspose detecta automáticamente el formato. Solo asegúrate de que la ruta del archivo sea correcta; de lo contrario obtendrás una `FileNotFoundException`. + +## Paso 5: Ejecutar el proceso OCR y convertir PNG a texto + +Con el motor listo y la imagen cargada, el reconocimiento real es una única llamada a método. El objeto de resultado te brinda la cadena cruda así como los puntajes de confianza. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Eso es todo—acabas de **convert PNG to text**. La cadena devuelta puede contener saltos de línea y espacios en blanco exactamente como los vio el motor. Puedes post‑procesarla con `trim()`, `replaceAll("\\s+", " ")`, o cualquier otra limpieza que necesites. + +## Paso 6: Mostrar el resultado (o almacenarlo) + +Para una rápida verificación, imprime el resultado en la consola. En una aplicación real probablemente lo escribirías en un archivo, una base de datos, o lo pasarías a otro servicio. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Salida esperada** (para el signo Khmer proporcionado) podría verse así: + +``` +សួស្តី +Welcome +``` + +Si la salida está distorsionada, verifica que hayas habilitado el idioma correcto en el Paso 3 y que la imagen no esté demasiado borrosa. Incrementar la resolución de la imagen (p. ej., usando un escaneo de 300 dpi) suele ayudar. + +## Ejemplo completo funcional + +Juntando todas las piezas, aquí tienes un programa autónomo que puedes copiar y pegar en `ExtractTextExample.java` y ejecutar: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Ejecuta el programa con: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +o, si usas Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +Deberías ver el texto extraído impreso en la consola, confirmando que has **extract text from image** con éxito usando Aspose OCR. + +## Problemas comunes y cómo solucionarlos + +| Síntoma | Causa probable | Solución | +|---------|----------------|----------| +| Cadena vacía devuelta | Ningún idioma habilitado o código de idioma incorrecto | Añade el `OcrLanguage` apropiado (p. ej., `ENG` para inglés). | +| Caracteres distorsionados | Resolución de imagen demasiado baja o fondo ruidoso | Usa una fuente de mayor resolución, o pre‑procesa con un filtro de enfoque. | +| `OutOfMemoryError` | Imagen muy grande cargada a tamaño completo | Reducir la escala de la imagen antes de pasarla al motor (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Ruta incorrecta | Verifica la ruta absoluta o relativa; usa `Paths.get(...).toAbsolutePath()`. | + +> **Recuerda:** OCR es un proceso probabilístico. Incluso con configuraciones perfectas podrías necesitar corregir manualmente algunos caracteres, especialmente en escrituras cursivas. + +## Extender el tutorial – Próximos pasos + +- **Batch processing:** Recorrer un directorio de archivos PNG, llamando a la misma lógica para cada imagen. +- **PDF output:** Usar Aspose PDF para incrustar el texto extraído de nuevo en un PDF buscable. +- **Language detection:** Llamar a `ocrEngine.detectLanguage()` antes de establecer un idioma para que el motor lo adivine automáticamente. +- **Cloud integration:** Si necesitas escalar, envuelve el código en un endpoint REST y permite que micro‑servicios lo llamen. + +Todos estos temas se basan naturalmente en el **java ocr tutorial** que acabamos de completar, y demuestran cuán versátil es realmente la API de Aspose OCR. + +## Conclusión + +Hemos recorrido un **java ocr tutorial** completo que te permite **extract text from image** archivos, **convert PNG to text**, y cargar correctamente **load image for OCR** usando Aspose OCR. Los pasos son sencillos: añadir la biblioteca, crear un motor, habilitar el idioma correcto, cargar el PNG, ejecutar `recognize()`, y manejar la salida. Con esta base puedes automatizar la entrada de datos, crear archivos buscables, o impulsar cualquier aplicación que necesite texto legible por máquina a partir de imágenes. + +Pruébalo con tus propias imágenes—quizá una captura de pantalla de un recibo o un contrato escaneado. Ajusta la configuración de idioma, experimenta con la resolución, y verás rápidamente cuán flexible es la solución. Si encuentras problemas, revisa la tabla de problemas o consulta la documentación oficial de Aspose; es completa y está actualizada. + +¡Feliz codificación, y que tu próximo proyecto esté lleno de texto limpio y buscable! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/spanish/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..d6929e1c1 --- /dev/null +++ b/ocr/spanish/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,157 @@ +--- +category: general +date: 2026-02-19 +description: Extrae texto de una imagen usando Java OCR. Aprende un ejemplo de OCR + en Java que carga una imagen para OCR y extrae texto de archivos de facturas en + solo unos pocos pasos. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: es +og_description: Extrae texto de una imagen usando Java OCR. Esta guía muestra cómo + cargar una imagen para OCR y extraer texto de facturas con un ejemplo sencillo de + OCR en Java. +og_title: Extraer texto de una imagen en Java – Ejemplo completo de OCR +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Extraer texto de una imagen en Java – Ejemplo completo de OCR +url: /es/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +en un microservicio Spring Boot. El mismo patrón funciona para recibos, pasaportes o cualquier documento donde necesites una extracción de texto precisa." + +Next: "If you’ve got questions about scaling this solution or handling noisy scans, drop a comment below—happy coding!" -> "Si tienes preguntas sobre escalar esta solución o manejar escaneos ruidosos, deja un comentario abajo—¡feliz codificación!" + +Then closing shortcodes remain. + +Make sure to keep all shortcodes exactly as original. + +Now produce final content.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extraer texto de una imagen en Java – Ejemplo completo de OCR + +¿Alguna vez necesitaste **extraer texto de una imagen** pero no estabas seguro de qué biblioteca elegir? No estás solo—muchos desarrolladores se topan con este obstáculo al automatizar el procesamiento de facturas o crear archivos buscables. ¿La buena noticia? Con unas pocas líneas de Java puedes cargar una imagen para OCR, definir una región de interés y obtener el texto exacto que necesitas. + +En este tutorial recorreremos un **java ocr example** que muestra exactamente cómo **cargar una imagen para OCR**, establecer una ROI y **extraer texto de facturas** usando Aspose.OCR. Al final tendrás un programa ejecutable que puedes incorporar a cualquier proyecto Java. + +## Lo que aprenderás + +- Cómo crear una instancia de `OcrEngine` y por qué es importante. +- La forma correcta de **cargar una imagen para OCR** con `ImageStream` de Aspose. +- Establecer una **región de interés (ROI)** para procesar solo la parte de la imagen que contiene el importe de la factura. +- Extraer el texto reconocido e imprimirlo en la consola. +- Problemas comunes (p. ej., coordenadas de rectángulo incorrectas) y soluciones rápidas. + +**Requisitos previos** + +- Java 8 o superior instalado. +- Maven o Gradle para obtener la biblioteca Aspose.OCR (`com.aspose:aspose-ocr`). +- Una imagen de factura de ejemplo (`invoice.png`) ubicada en un directorio conocido. + +¿Tienes todo eso? Genial—¡vamos a sumergirnos! + +![Extraer texto de una imagen usando Java OCR](/images/extract-text-from-image-java.png "ejemplo de extracción de texto de imagen") + +## Extraer texto de una imagen – Ejemplo paso a paso de OCR en Java + +A continuación se muestra el código fuente completo. Siéntete libre de copiar‑pegarlo en `RoiOcrExample.java` y ejecutarlo directamente. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Por qué cada paso es importante + +1. **Crear el motor OCR** – sin un motor no hay contexto para el procesamiento de imágenes. El objeto también te permite ajustar paquetes de idiomas más adelante si necesitas soporte multilingüe. +2. **Cargar la imagen** – `ImageStream.fromFile` abstrae el formato del archivo, asegurando que el motor lea los bytes correctamente. Si lo omites, obtendrás una `NullPointerException`. +3. **Establecer la ROI** – procesar toda la página puede ser ineficiente. Al reducir el rectángulo al área del total de la factura, aceleras el reconocimiento y reduces el ruido. +4. **Llamar a `recognize()`** – aquí es donde ocurre la magia. El método ejecuta el algoritmo OCR sobre la ROI y produce un objeto de resultado. +5. **Imprimir la salida** – en proyectos reales probablemente almacenarías el texto en una base de datos, pero `System.out.println` es perfecto para una demostración rápida. + +## Cargar imagen para OCR + +Si te preguntas si la ruta debe ser absoluta o relativa, la respuesta es que ambas funcionan—solo asegúrate de que el proceso Java pueda leer el archivo. En Windows, las barras invertidas deben escaparse (`C:\\images\\invoice.png`) o puedes usar barras normales (`C:/images/invoice.png`). + +**Consejo profesional:** Si estás procesando muchas facturas en un bucle, reutiliza la misma instancia de `OcrEngine`; almacena en caché recursos internos y mejora el rendimiento. + +## Definir región de interés (ROI) + +Elegir el rectángulo correcto puede requerir prueba y error. Una forma práctica de encontrar las coordenadas es abrir la imagen en cualquier editor gráfico (como GIMP o Paint.NET) y pasar el cursor sobre el área—verás los valores X/Y en la barra de estado. + +Caso límite: algunas facturas tienen diseños variables. En ese escenario podrías ejecutar un escaneo rápido previo en toda la imagen, localizar palabras clave como “Total:” con una expresión regular y luego ajustar la ROI dinámicamente. + +## Realizar OCR y obtener texto + +La llamada a `recognize()` es síncrona—tu hilo se bloquea hasta que el motor termina. Para lotes grandes podrías crear un pool de hilos y procesar imágenes en paralelo. Solo recuerda que cada hilo necesita su propia instancia de `OcrEngine`; no son seguros para hilos. + +## Ejecutar y verificar salida + +Compila y ejecuta: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +Deberías ver algo como: + +``` +ROI text: $1,254.00 +``` + +Si la salida se ve distorsionada, verifica nuevamente las coordenadas de la ROI y asegúrate de que la calidad de la imagen sea alta (300 dpi o más funciona mejor). + +### Problemas comunes y cómo solucionarlos + +| Síntoma | Causa probable | Solución | +|---------|----------------|----------| +| Cadena vacía | ROI fuera de los límites de la imagen | Verifica los valores del rectángulo contra las dimensiones de la imagen | +| Palabras mal escritas | Baja resolución | Utiliza una fuente de mayor resolución o aplica preprocesamiento de imagen (p. ej., binarización) | +| `java.lang.NoClassDefFoundError` | Falta el JAR de Aspose en el classpath | Agrega `aspose-ocr.jar` a `-cp` o usa la gestión de dependencias de Maven/Gradle | + +## Conclusión + +Ahora sabes cómo **extraer texto de una imagen** en Java usando un conciso **java ocr example**. Al cargar la imagen correctamente, definir una ROI enfocada y llamar a `recognize()`, puedes **extraer texto de facturas** de forma fiable y alimentar esos datos a sistemas posteriores. + +¿Qué sigue? Prueba cambiar la ROI por diferentes campos (fecha, nombre del proveedor), experimenta con paquetes de idiomas para facturas multilingües, o integra el paso de OCR en un microservicio Spring Boot. El mismo patrón funciona para recibos, pasaportes o cualquier documento donde necesites una extracción de texto precisa. + +Si tienes preguntas sobre escalar esta solución o manejar escaneos ruidosos, deja un comentario abajo—¡feliz codificación! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/spanish/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..383c3dbaa --- /dev/null +++ b/ocr/spanish/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-02-19 +description: Extrae texto de una imagen en Java usando Aspose OCR. Aprende cómo reconocer + texto de PNG, convertir la imagen a cadena y leer texto de un escaneo en solo unos + pocos pasos. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: es +og_description: Extrae texto de la imagen rápidamente. Este tutorial muestra cómo + reconocer texto de PNG, convertir la imagen a cadena y leer texto de un escaneo + usando Aspose OCR. +og_title: Extraer texto de una imagen con Aspose OCR – Guía de Java +tags: +- Java +- OCR +- Aspose +title: Extraer texto de una imagen con Aspose OCR – Guía rápida de Java +url: /es/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extraer texto de una imagen – Tutorial completo de Java + +¿Alguna vez necesitaste **extraer texto de una imagen** pero no sabías qué biblioteca elegir? Tal vez tienes un recibo escaneado en formato PNG y quieres el texto como una cadena simple para procesarlo más adelante. En mi experiencia, la biblioteca Aspose OCR hace ese trabajo pan comido, especialmente cuando trabajas con Java. + +En esta guía repasaremos todo lo que necesitas saber: desde configurar la dependencia de Aspose OCR, cargar un archivo PNG, **reconocer texto de png**, hasta convertir el resultado en un `String` de Java utilizable. Al final podrás **convertir imagen a cadena**, y también verás cómo **leer texto de archivos escaneados** sin complicaciones. + +## Lo que aprenderás + +- Cómo añadir Aspose OCR a un proyecto Maven o Gradle. +- El código exacto necesario para **extraer texto de una imagen** usando una única llamada de método. +- Por qué la clase `ImageStream` es la forma preferida de alimentar datos al motor. +- Consejos para manejar escaneos grandes, PDFs de varias páginas y errores comunes. + +No se requiere experiencia previa en OCR, solo un entendimiento básico de Java y un PNG que quieras procesar. + +## Requisitos previos + +| Requisito | Razón | +|-------------|--------| +| Java 8 o superior | Aspose OCR está dirigido a Java 8+. | +| Maven o Gradle (opcional) | Simplifica la gestión de dependencias. | +| Una imagen PNG (p. ej., `quick.png`) | La fuente sobre la que ejecutaremos OCR. | +| Acceso a Internet (primera ejecución) | La biblioteca puede descargar paquetes de idioma automáticamente. | + +Si ya tienes un IDE de Java como IntelliJ IDEA o Eclipse, estás listo para comenzar. + +--- + +## Paso 1: Configurar Aspose OCR en tu proyecto + +### Maven + +Añade la siguiente dependencia a tu `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Consejo profesional:** Si usas un proxy corporativo, asegúrate de que Maven/Gradle pueda acceder a `repo.maven.apache.org`. De lo contrario la compilación fallará antes de que escribas una sola línea de código. + +--- + +## Paso 2: Cargar la imagen PNG + +La clase `ImageStream` abstrae los detalles del sistema de archivos y funciona con streams, URLs o arreglos de bytes. Así es como se carga un PNG local: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Por qué importa:** Usar `ImageStream.fromFile` garantiza que el motor OCR reciba la imagen en un formato que entiende completamente, lo que mejora la precisión del reconocimiento comparado con alimentar arreglos de bytes crudos. + +--- + +## Paso 3: Reconocer texto del PNG + +Aspose OCR expone un único método estático que hace el trabajo pesado: `OcrEngine.recognize`. Devuelve un `String` de Java sencillo, que es exactamente lo que necesitas cuando quieres **convertir imagen a cadena**. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### ¿Qué ocurre bajo el capó? + +1. **Pre‑procesamiento:** El motor corrige automáticamente la inclinación de la imagen y normaliza el contraste. +2. **Detección de idioma:** Si no especificas un idioma, Aspose intenta inferirlo, lo cual es útil para escaneos rápidos. +3. **Reconocimiento:** El núcleo OCR ejecuta un modelo de red neuronal entrenado con millones de caracteres. + +Como todo esto está encapsulado en una sola llamada, no tienes que manipular configuraciones de bajo nivel a menos que tengas un caso de uso muy especializado. + +--- + +## Paso 4: Mostrar y usar la cadena extraída + +Ahora que tienes el texto, puedes imprimirlo, guardarlo en una base de datos o pasarlo a otra API. Aquí tienes la forma más simple: solo `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Salida esperada + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Nota:** La salida exacta depende del contenido de `quick.png`. Si la imagen contiene una nota manuscrita, podrías ver algunas equivocaciones—nada que un poco de post‑procesamiento no pueda arreglar. + +--- + +## Paso 5: Manejo de casos límite comunes + +### Escaneos grandes o PDFs de varias páginas + +Si necesitas **leer texto de archivos escaneados** que son más grandes que un PNG típico, considera: + +- Dividir la imagen en mosaicos (`ImageStream.fromRegion`). +- Usar `OcrEngine.recognizeMultiplePages` para entradas PDF. + +### Idiomas no ingleses + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Consejos de rendimiento + +- Reutiliza la misma instancia de `OcrEngine` para múltiples imágenes y evita inicializaciones repetidas. +- Para procesamiento por lotes, habilita multihilo pero limita los hilos al número de núcleos de CPU para prevenir sobrecarga de memoria. + +--- + +## Ejemplo completo y funcional + +A continuación tienes la clase Java completa, lista para ejecutar. Copia‑pega en tu IDE, ajusta la ruta de la imagen y pulsa **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +Ejecutar este programa imprime el resultado OCR en la consola, convirtiendo efectivamente **imagen a cadena** en solo unas pocas líneas de código. + +--- + +## Conclusión + +Ahora sabes cómo **extraer texto de una imagen** en Java usando Aspose OCR. El proceso se reduce a tres pasos simples: cargar el PNG, llamar a `OcrEngine.recognize` y usar la cadena resultante. Ya sea que quieras **reconocer texto de png**, **convertir imagen a cadena**, o simplemente **leer texto de escaneos** de documentos, este enfoque te brinda una solución fiable y lista para producción. + +¿Listo para el siguiente reto? Prueba procesar una carpeta de recibos escaneados en un bucle, guarda cada resultado en un CSV, o experimenta con configuraciones específicas de idioma para mejorar la precisión en textos no ingleses. El cielo es el límite, y el código que acabas de escribir es una base sólida. + +¡Feliz codificación! Y no dudes en dejar cualquier pregunta en los comentarios—¡estaré encantado de ayudar! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/spanish/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..4dec1abef --- /dev/null +++ b/ocr/spanish/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-02-19 +description: reconocer texto de png en Java usando Aspose OCR – aprende cómo extraer + texto de una imagen en Java y procesar la imagen con OCR de manera eficiente. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: es +og_description: Reconocer texto de PNG en Java con Aspose OCR. Este tutorial muestra + cómo extraer texto de una imagen en Java y procesar la imagen con OCR paso a paso. +og_title: Reconocer texto de PNG en Java – Guía completa de Aspose OCR +tags: +- OCR +- Java +- Image Processing +title: reconocer texto de png en Java – tutorial de OCR de Aspose +url: /es/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# reconocer texto de png en Java – Guía completa de Aspose OCR + +¿Alguna vez necesitaste **reconocer texto de png** pero no sabías qué biblioteca elegir? No estás solo—muchos desarrolladores Java se topan con ese obstáculo al abordar por primera vez la extracción de datos basada en imágenes. La buena noticia es que Aspose OCR hace que todo el proceso sea casi indoloro, y en esta guía verás exactamente cómo **extraer texto de image java** mientras **procesas imágenes con OCR** de forma segura para hilos. + +En los próximos minutos crearemos un pequeño programa Java que carga un PNG, ejecuta OCR en la CPU usando hasta ocho hilos y muestra la cadena reconocida en la consola. Sin servicios externos, sin claves secretas de API—solo código Java puro que puedes copiar‑pegar y ejecutar hoy. + +## Qué necesitarás + +- **Java 17** o superior (el código compila con versiones anteriores, pero 17 es el punto óptimo). +- **Aspose.OCR for Java** JAR (descárgalo del sitio web de Aspose o inclúyelo vía Maven). +- Una imagen PNG que quieras leer—por ejemplo `document-page1.png` almacenada en algún lugar del disco. +- Tu IDE favorito o un editor de texto simple y una terminal. + +Eso es todo. Si tienes eso, podemos sumergirnos directamente en la solución. + +![Código Java para reconocer texto de png usando Aspose OCR](image-placeholder.png "ejemplo de reconocimiento de texto de png en Java"){alt="Código Java para reconocer texto de png usando Aspose OCR"} + +## Paso a paso: reconocer texto de png + +A continuación dividimos la implementación en fragmentos claros y manejables. Cada fragmento es un encabezado H2, para que puedas saltar directamente a la parte que te interese. + +### 1. Añadir Aspose OCR a tu proyecto + +**¿Por qué?** El motor OCR vive dentro de la biblioteca Aspose; sin ella el compilador no sabrá qué es `OcrEngine`. + +Si usas Maven, inserta este fragmento en tu `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Para Gradle, se ve así: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Consejo profesional:** Siempre verifica el número de versión más reciente; las versiones nuevas suelen traer mejoras de rendimiento para el procesamiento multihilo. + +### 2. Crear y configurar el motor OCR + +**¿Por qué?** Instanciar `OcrEngine` te brinda un objeto listo para usar, y ajustar la configuración del dispositivo te permite aprovechar todos los núcleos de CPU que tienes. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Aquí establecemos explícitamente el dispositivo a `CPU`. Si más adelante pasas a un entorno con GPU, solo cambia el valor del enum—no se necesita modificar otro código. + +### 3. Cargar la imagen PNG + +**¿Por qué?** OCR funciona sobre un flujo de imagen, no directamente sobre una ruta de archivo. Convertir el archivo a un `ImageStream` abstrae el formato subyacente. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Reemplaza `YOUR_DIRECTORY` con la carpeta real. Si el archivo no se encuentra, el motor lanza una `IOException`, que capturaremos más adelante. + +### 4. Ejecutar el reconocimiento y capturar el resultado + +**¿Por qué?** El método `recognize()` realiza el trabajo pesado—detecta caracteres, líneas y disposición. El `OcrResult` devuelto contiene el texto plano. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +También puedes solicitar un resultado en `Pdf` o `Html`, pero para el propósito de **extraer texto de image java** nos quedamos con texto plano. + +### 5. Mostrar el texto y limpiar + +**¿Por qué?** Un simple `System.out.println` basta para la demostración, pero en una aplicación real probablemente escribirías en un archivo o base de datos. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +Como `OcrEngine` implementa `AutoCloseable`, es una buena práctica envolver todo en un bloque try‑with‑resources. Así se liberan los recursos nativos de inmediato. + +### 6. Ejemplo completo y ejecutable + +Juntando todo, aquí tienes el programa completo que puedes compilar y ejecutar: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Salida esperada** (suponiendo que el PNG contiene “Hello World”): + +``` +=== OCR Result === +Hello World +``` + +Si la imagen es más compleja—múltiples líneas, tablas o notas manuscritas—la salida reflejará exactamente lo que Aspose OCR detecte, conservando los saltos de línea donde corresponda. + +## Preguntas frecuentes y casos límite + +### ¿Qué pasa si el PNG es muy grande? + +Las imágenes grandes pueden consumir mucha memoria. Una solución práctica es **reducir** la imagen antes de enviarla al motor: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +Reducir el tamaño disminuye la carga de CPU sin sacrificar la precisión del OCR para la mayoría del texto impreso. + +### ¿Puedo ejecutar OCR en un PDF en lugar de un PNG? + +Claro. Aspose OCR también acepta PDFs mediante objetos `PdfDocument`. La misma llamada `recognize()` funciona, por lo que puedes **procesar imágenes con OCR** sin importar el formato de origen. + +### ¿Cómo mejoro la precisión para scripts no latinos? + +Establece el idioma antes del reconocimiento: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose incluye docenas de paquetes de idioma; simplemente elige el que coincida con el contenido de tu imagen. + +### ¿El número de hilos siempre es beneficioso? + +Más hilos aceleran el procesamiento en CPUs multinúcleo, pero más allá del número de núcleos físicos verás rendimientos decrecientes. Si notas un mayor uso de CPU sin una ganancia proporcional de velocidad, reduce el conteo a `Runtime.getRuntime().availableProcessors()`. + +## Conclusión: lo que logramos + +Acabamos de **reconocer texto de png** usando un programa Java conciso, demostramos cómo **extraer texto de image java** con Aspose OCR y cubrimos los pasos esenciales para **procesar imágenes con OCR** de manera lista para producción. El código es autónomo, las explicaciones responden tanto al “cómo” como al “por qué”, y los consejos abordan los obstáculos típicos que podrías encontrar. + +## ¿Qué sigue? + +- **Procesamiento por lotes:** Recorrer un directorio de PNGs y escribir cada resultado en un archivo `.txt`. +- **Generación de PDF:** Alimentar la salida del OCR a Aspose.PDF para crear PDFs buscables. +- **Escalado en la nube:** Desplegar el mismo código en un contenedor orquestado por Kubernetes y dejar que el pool de hilos se adapte a los recursos del pod. + +Siéntete libre de experimentar—cambia la imagen, ajusta el número de hilos o cambia de idioma. El motor OCR es lo suficientemente flexible para manejar la mayoría de los escenarios, y con la base que ahora tienes, ampliarlo es pan comido. + +¿Tienes preguntas o descubriste una optimización ingeniosa? Deja un comentario abajo, ¡y feliz codificación! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/java/ocr-operations/_index.md b/ocr/spanish/java/ocr-operations/_index.md index 89cdfd8fa..1e662fed1 100644 --- a/ocr/spanish/java/ocr-operations/_index.md +++ b/ocr/spanish/java/ocr-operations/_index.md @@ -82,6 +82,10 @@ Desbloquea el poder del OCR en Java con Aspose.OCR. Reconoce texto en documentos Desbloquea un poderoso reconocimiento de texto en Java con Aspose.OCR. Reconoce texto en imágenes TIFF sin esfuerzo. Descárgalo ahora para una experiencia OCR fluida. ### [Reconocer texto en imagen con Aspose OCR – Tutorial completo de OCR en Java](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Desbloquea la extracción completa de texto de imágenes usando Aspose OCR en Java. Sigue este tutorial paso a paso. +### [Crear PDF buscable a partir de JPG – Guía Java de Imagen a PDF buscable](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Desbloquea la creación de PDFs buscables desde imágenes JPG usando Aspose.OCR para Java. Sigue la guía paso a paso. +### [Cómo enderezar una imagen — Guía paso a paso de pre‑procesamiento OCR](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +Aprende a corregir la inclinación de imágenes antes del OCR para mejorar la precisión del reconocimiento. ## Preguntas frecuentes diff --git a/ocr/spanish/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/spanish/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..ec56020e5 --- /dev/null +++ b/ocr/spanish/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,187 @@ +--- +category: general +date: 2026-02-19 +description: Crear PDF buscable a partir de una imagen JPG con Aspose OCR en Java. + Convertir JPG a PDF y reconocer texto de la imagen rápidamente. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: es +og_description: Crea un PDF buscable a partir de una imagen JPG con Aspose OCR. Aprende + a convertir JPG a PDF y reconocer texto de la imagen en Java. +og_title: Crear PDF buscable a partir de JPG – Tutorial de OCR con Java +tags: +- aspose-ocr +- java +- pdf +- ocr +title: Crear PDF buscable a partir de JPG – Guía Java de imagen a PDF buscable +url: /es/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Crear PDF buscable a partir de JPG – Guía Java de Imagen a PDF buscable + +¿Alguna vez necesitaste **crear un PDF buscable** a partir de una foto escaneada pero no sabías por dónde empezar? No eres el único: muchos desarrolladores se encuentran con el mismo problema cuando tienen un JPG que necesita ser buscable. La buena noticia es que con Aspose OCR para Java puedes convertir esa imagen en un PDF totalmente buscable con solo unas pocas líneas de código. + +En este tutorial recorreremos todo el proceso: cargar un JPG, reconocer el texto y guardar el resultado como un PDF buscable. Al final sabrás cómo **convertir jpg a pdf**, cómo **extraer texto de jpg**, y por qué este enfoque suele ser más fiable que intentar hacer OCR al PDF después de haberlo creado. + +## Lo que necesitarás + +Antes de comenzar, asegúrate de tener lo siguiente en tu máquina: + +* **Java Development Kit (JDK) 8 o superior** – el código usa APIs estándar de Java. +* Biblioteca **Aspose OCR for Java** – puedes obtenerla desde Maven Central o descargar el JAR desde el sitio de Aspose. +* Un **JPG de muestra** que contenga texto legible (por ejemplo, una factura escaneada o una captura de pantalla de un documento). + +No se requieren frameworks adicionales; el ejemplo funciona con un proyecto Java sencillo. + +## Paso 1 – Configurar el proyecto y agregar Aspose OCR + +Primero, crea un nuevo proyecto Maven (o simplemente una carpeta con el JAR en el classpath). Si usas Maven, agrega esta dependencia a tu `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Consejo profesional:** Siempre verifica la última versión en el repositorio Maven de Aspose; las versiones más recientes incluyen mejoras de rendimiento y correcciones de errores. + +Una vez resuelta la dependencia, estás listo para escribir el código Java que **creará un PDF buscable**. + +## Paso 2 – Cargar la imagen (imagen a PDF buscable) + +El primer paso real es indicar al motor OCR la imagen de origen. Aquí es donde realmente comienza la transformación **imagen a PDF buscable**. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Por qué es importante:** `setImage` le dice a Aspose qué bitmap analizar. Si proporcionas una imagen de baja resolución, la calidad del OCR se verá afectada, así que asegúrate de que el JPG tenga al menos 300 dpi para obtener los mejores resultados. + +## Paso 3 – Reconocer texto de la imagen + +Ahora que el motor sabe con qué imagen trabajar, podemos pedirle que **reconozca texto de la imagen**. Aspose OCR realiza el trabajo pesado bajo el capó, manejando la detección de idioma, segmentación de caracteres y puntuación de confianza. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +La llamada `recognize()` devuelve una interfaz fluida, permitiéndonos encadenar el método `save`. Al especificar `OcrOutputFormat.SEARCHABLE_PDF`, la biblioteca inserta una capa de texto invisible dentro del PDF mientras preserva la apariencia original de la imagen. + +> **Caso límite:** Si tu JPG contiene varias páginas (por ejemplo, un TIFF multipágina guardado como JPGs separados), deberás iterar sobre cada archivo y combinar los PDFs resultantes después. El mismo motor OCR puede reutilizarse para cada iteración. + +## Paso 4 – Verificar el resultado + +Una vez completada la operación de guardado, un simple mensaje en la consola te indica que todo salió sin problemas. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +Cuando abras `output-searchable.pdf` en un visor como Adobe Acrobat, deberías poder seleccionar el texto oculto, copiarlo o realizar una búsqueda—exactamente lo que esperas de un **PDF buscable**. + +### Salida esperada + +Ejecutar el programa imprime: + +``` +Searchable PDF created. +``` + +Y el PDF generado mostrará el JPG original mientras permite la selección de texto. Si abres “Propiedades → Descripción → Productor PDF” del PDF, verás algo como `Aspose.OCR for Java`. + +## Ejemplo completo y funcional + +A continuación tienes el archivo fuente completo, listo para ejecutar. Copia‑pega en tu IDE, ajusta las rutas de archivo y ejecuta. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **¿Qué pasa si el OCR falla?** +> * Normalmente ocurre porque la imagen es demasiado ruidosa o el idioma no está soportado de forma nativa. Puedes mejorar la precisión pre‑procesando la imagen (aumentar contraste, corregir inclinación) o estableciendo explícitamente el idioma con `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`. + +## Preguntas frecuentes y trucos + +| Pregunta | Respuesta | +|----------|-----------| +| **¿Puedo extraer el texto plano en lugar de un PDF?** | Sí. Usa `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **¿Qué pasa si necesito procesar un PNG?** | La misma API funciona; solo cambia la extensión del archivo en `fromFile`. | +| **¿El PDF resultante es realmente buscable en todos los visores?** | Los visores modernos (Adobe Reader, Foxit, Chrome) respetan la capa de texto invisible. Herramientas más antiguas podrían ignorarla. | +| **¿Cómo controlo el tamaño de página del PDF?** | Aspose OCR usa las dimensiones de la imagen por defecto. Para tamaños personalizados, genera el PDF manualmente y superpone la capa de texto OCR—esto es un escenario avanzado. | + +## Consejos de rendimiento + +* **Procesamiento por lotes:** Reutiliza una única instancia de `OcrEngine` para muchas imágenes y evita cargar repetidamente la biblioteca nativa. +* **Seguridad en hilos:** El motor **no** es seguro para hilos; crea una instancia por hilo si paralelizas. +* **Uso de memoria:** Las imágenes grandes pueden consumir mucha RAM. Si encuentras `OutOfMemoryError`, reduce la escala de la imagen antes de enviarla al motor. + +## Próximos pasos + +Ahora que sabes cómo **crear un PDF buscable**, quizás quieras explorar tareas relacionadas: + +* **Convertir jpg a pdf** sin OCR (usa la biblioteca Aspose PDF para un PDF de imagen simple). +* **Extraer texto de jpg** a un archivo `.txt` para indexación. +* **Combinar varios PDFs buscables** en un solo documento usando `PdfFileEditor` de Aspose PDF. + +Todas estas se basan en la misma base que acabas de configurar. + +--- + +### Resumen rápido + +* Hemos **creado un PDF buscable** a partir de un JPG usando Aspose OCR para Java. +* El proceso incluyó cargar la imagen, reconocer el texto y guardar como PDF buscable. +* Ahora dispones de un patrón reutilizable para **imagen a PDF buscable**, **reconocer texto de imagen**, **extraer texto de jpg** y **convertir jpg a pdf**. + +Pruébalo con tus propios documentos, ajusta la configuración de idioma si es necesario y deja que el OCR haga el trabajo pesado por ti. ¡Feliz codificación! + +![Create searchable PDF example](placeholder.png){alt="Crear PDF buscable"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/spanish/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..1a556ec4c --- /dev/null +++ b/ocr/spanish/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,173 @@ +--- +category: general +date: 2026-02-19 +description: Aprende a enderezar imágenes y eliminar el ruido para OCR. Este tutorial + muestra cómo reconocer imágenes de texto, corregir la rotación de la imagen y preprocesar + imágenes para OCR con Aspose OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: es +og_description: Cómo enderezar una imagen y eliminar el ruido para reconocer texto + rápidamente. Sigue esta guía para corregir la rotación de la imagen y preprocesar + OCR de imágenes con Aspose. +og_title: Cómo desinclinar una imagen – Tutorial completo de preprocesamiento OCR +tags: +- OCR +- Java +- Image Processing +title: Cómo corregir la inclinación de una imagen — Guía paso a paso de preprocesamiento + OCR +url: /es/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo enderezar una imagen — Tutorial completo de pre‑procesamiento OCR + +¿Alguna vez te has preguntado **cómo enderezar una imagen** antes de enviarla a un motor OCR? Tal vez escaneaste un lote de recibos y las páginas parecen estar ligeramente inclinadas, o el escaneo está salpicado de puntos aleatorios. Ese es un problema común: las fotos inclinadas y ruidosas dificultan el reconocimiento de texto. + +¿La buena noticia? Puedes corregir la rotación de la imagen y eliminar el ruido (cómo quitar el ruido) con solo unas pocas líneas de Java usando Aspose.OCR. En esta guía recorreremos todo el flujo: desde cargar un PNG ruidoso‑rotado, aplicar enderezado + denoise mediano, hasta **reconocer texto de la imagen** e imprimir el resultado. Al final tendrás un fragmento reutilizable que podrás insertar en cualquier proyecto Java. + +## Qué necesitarás + +- **Java 17** o superior (el código compila con versiones anteriores, pero 17 es el punto óptimo). +- **Aspose.OCR para Java** – puedes obtener el último JAR desde Maven Central (`com.aspose:aspose-ocr`). +- Un archivo de imagen que esté tanto rotado como ruidoso (por ejemplo, `noisy-rotated.png`). +- Un IDE modesto (IntelliJ, Eclipse o incluso VS Code). + +No se requieren herramientas de compilación sofisticadas; un simple `javac` + `java` funciona sin problemas. + +--- + +## Paso 1 – Crear la instancia del motor OCR + +Lo primero que haces es iniciar un `OcrEngine`. Piensa en él como el cerebro que más tarde leerá los caracteres por ti. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Consejo:** Mantén el motor como singleton si vas a procesar muchas imágenes; reutiliza los buffers internos y acelera el proceso. + +## Paso 2 – Habilitar enderezado y denoise mediano (Cómo quitar el ruido) + +Ahora indicamos al motor que **corrija la rotación de la imagen** y que **cómo quitar el ruido**. Ambos filtros son opcionales, pero juntos mejoran drásticamente la precisión. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +¿Por qué denoise mediano? Preserva los bordes (las líneas que definen los caracteres) mientras elimina píxeles aislados, exactamente lo que necesitas para un OCR limpio. + +## Paso 3 – Cargar la imagen que deseas procesar + +Aquí apuntamos el motor al archivo que necesita limpieza. `ImageStream.fromFile` lee el PNG en memoria. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Si tu imagen está en un servidor remoto, simplemente pasa un `InputStream` en su lugar—Aspose lo maneja sin problemas. + +## Paso 4 – Ejecutar OCR y capturar el texto reconocido + +Con el pre‑procesamiento activado, el motor ahora lee la imagen corregida. La llamada `recognize()` devuelve un `RecognitionResult` que contiene la cadena extraída. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +Deberías ver texto limpio y legible en la consola, incluso si la foto original estaba torcida y granulada. + +## Paso 5 – Verificar el resultado (Qué esperar) + +Cuando todo funciona, la consola muestra algo como: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Si la salida aún contiene caracteres distorsionados, verifica: + +- La resolución de la imagen (≥ 300 dpi es lo ideal). +- Que la ruta del archivo sea correcta. +- Si filtros adicionales (p. ej., `setContrastStretch`) podrían ayudar. + +--- + +## Opcional: Confirmación visual con una imagen de ejemplo + +A continuación tienes una pequeña vista previa de un recibo rotado y ruidoso. Observa la inclinación—nuestro código lo enderezará por ti. + +![ejemplo de cómo enderezar imagen](deskew-demo.png "cómo enderezar imagen") + +*Texto alternativo: cómo enderezar imagen – antes y después del procesamiento.* + +--- + +## Preguntas frecuentes + +### ¿Esto funciona con PDFs o solo con PNG/JPEG? +Aspose.OCR puede leer PDFs directamente; solo reemplaza `ImageStream.fromFile` por `ImageStream.fromPdf`. Las mismas banderas de pre‑procesamiento se aplican, así que aún obtienes **cómo enderezar una imagen** y **cómo quitar el ruido**. + +### ¿Qué pasa si necesito conservar la orientación original para pasos posteriores? +Puedes clonar la imagen antes del pre‑procesamiento: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### ¿Puedo cambiar el ángulo de enderezado manualmente? +Sí—`setDeskewAngle(double degrees)` te permite sobrescribir el algoritmo de detección automática. Útil cuando la detección automática falla con rotaciones extremas. + +### ¿En qué se diferencia el denoise mediano del desenfoque gaussiano? +Los filtros median reemplazan cada píxel por la mediana de sus vecinos, lo que preserva los bordes. El desenfoque gaussiano suaviza todo, potencialmente difuminando los trazos de los caracteres—por eso el filtro mediano es la opción más segura para OCR. + +--- + +## Conclusión + +En este tutorial cubrimos **cómo enderezar una imagen**, demostramos **cómo quitar el ruido** y te mostramos cómo **reconocer texto de la imagen** usando el pre‑procesamiento incorporado de Aspose OCR. Al habilitar `setDeskew(true)` y `setMedianDenoise(true)`, corriges automáticamente la rotación de la imagen y eliminas los puntos, convirtiendo un escaneo desordenado en una cadena de texto limpia. + +Siéntete libre de experimentar: prueba diferentes estrategias de denoise, procesa PDFs o encadena múltiples imágenes en un bucle. El mismo patrón—motor → pre‑procesar → reconocer—se aplica a cualquier escenario, convirtiéndolo en una base sólida para cualquier pipeline OCR. + +**Próximos pasos** que podrías explorar: + +- **Procesamiento por lotes** – iterar sobre una carpeta de imágenes y escribir cada resultado en un archivo `.txt`. +- **Paquetes de idioma** – cargar un diccionario de idioma específico para mejorar la precisión en textos que no sean en inglés. +- **Filtros avanzados** – como `setContrastStretch` o `setBinarization` para escaneos de bajo contraste. + +¿Tienes más preguntas? Deja un comentario, ¡y feliz codificación! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/java/advanced-ocr-techniques/_index.md b/ocr/swedish/java/advanced-ocr-techniques/_index.md index fcf82f5fd..85efbc485 100644 --- a/ocr/swedish/java/advanced-ocr-techniques/_index.md +++ b/ocr/swedish/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,14 @@ Lås upp kraften i textigenkänning med Aspose.OCR för Java. Följ vår steg-f Styr dina Java-applikationer med Aspose.OCR för exakt textigenkänning. Enkel integration, hög noggrannhet. ### [Ange tillåtna tecken i Aspose.OCR](./specify-allowed-characters/) Lås upp textextraktion från bilder sömlöst med Aspose.OCR för Java. Följ vår steg-för-steg-guide för effektiv integration. +### [Hur du aktiverar GPU för OCR i Java – Komplett guide](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Lär dig aktivera GPU-acceleration för OCR i Java med Aspose.OCR för snabbare och exakt textigenkänning. +### [Hur du OCR:ar bild i Java – Handskrivna anteckningar med stavningskontroll](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Lär dig OCR på handskrivna anteckningar i Java med stavningskontroll för exakt textigenkänning. + {{< /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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/swedish/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..24acdb951 --- /dev/null +++ b/ocr/swedish/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-02-19 +description: Hur du aktiverar GPU för snabb OCR‑behandling. Lär dig att ladda högupplösta + bilder, känna igen textbilder och extrahera text med Aspose OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: sv +og_description: Hur du aktiverar GPU för snabb OCR‑behandling. Denna guide visar hur + du laddar en högupplöst bild, känner igen text i bilden och extraherar text med + Aspose OCR. +og_title: Hur man aktiverar GPU för OCR i Java – Komplett guide +tags: +- OCR +- Java +- GPU +- Aspose +title: Hur man aktiverar GPU för OCR i Java – Komplett guide +url: /sv/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Så aktiverar du GPU för OCR i Java – Komplett guide + +Har du någonsin undrat **hur man aktiverar GPU** för din OCR-pipeline och sparar sekunder på behandlingstiden? Du är inte ensam. I många bildtunga projekt är flaskhalsen det CPU‑bundna textutdragningssteget, och övergången till GPU kan vara en spelväxlare. + +I den här handledningen går vi igenom hur du laddar en **high resolution image**, konfigurerar Aspose OCR för att köra på GPU, och slutligen **recognize text image** och **extract text** med bara några rader Java. I slutet har du ett färdigt program som demonstrerar **enable GPU processing** från början till slut. + +## Vad du behöver + +- Java 17 eller nyare (koden använder modulsystemet men fungerar på äldre JDK:er med mindre justeringar) +- Aspose OCR for Java 23.10 (eller den senaste versionen) – du kan hämta Maven‑koordinaterna från Aspose‑sajten +- Ett NVIDIA‑GPU med CUDA 12+‑drivrutiner installerade (biblioteket vägrar starta annars) +- En high‑resolution sample image (PNG eller JPEG) som du vill läsa text från + +Det är allt. Inga externa tjänster, inga molnkrediter, bara din maskin och rätt drivrutinsstack. + +![GPU OCR‑arbetsflöde – hur man aktiverar GPU‑bearbetning](gpu-ocr-workflow.png) + +*Bildtext: diagram som illustrerar hur man aktiverar GPU för OCR‑bearbetning i Java.* + +## Steg‑för‑steg‑implementation + +Nedan delar vi upp lösningen i logiska delar. Varje avsnitt innehåller ett koncist kodexempel, en förklaring av **varför** steget är viktigt, och några praktiska tips som du sannolikt kommer att uppskatta senare. + +### Så aktiverar du GPU för OCR – Steg 1: Installera beroenden & verifiera CUDA + +Innan någon Java‑kod körs måste den inhemska CUDA‑runtime‑miljön vara upptäckbar. På Windows kan du verifiera med: + +```bat +nvcc --version +``` + +På Linux: + +```bash +nvidia-smi +``` + +Om kommandot skriver ut drivrutinens version och GPU‑detaljer är du redo att köra. Annars, gå till NVIDIAs webbplats, ladda ner rätt drivrutin och installera CUDA‑verktygssatsen (se till att versionen matchar Aspose OCR:s krav – för närvarande 12.x). + +**Tips:** Håll din GPU‑drivrutin uppdaterad men undvik “latest‑beta”-utgåvor; de kan ibland bryta binärkompatibiliteten med Aspose‑biblioteken. + +### Så aktiverar du GPU för OCR – Steg 2: Lägg till Aspose OCR Maven‑beroende + +Lägg till följande i din `pom.xml`. Detta hämtar kärn‑OCR‑motorn och de inhemska GPU‑binärerna för Windows, Linux och macOS. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Om du föredrar Gradle är motsvarande: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Efter att du har uppdaterat ditt projekt blir klasserna `OcrEngine`, `OcrDeviceType` och `ImageStream` tillgängliga. + +### Så aktiverar du GPU för OCR – Steg 3: Skapa OCR‑motorn och aktivera GPU + +Nu säger vi faktiskt åt Aspose att köra på GPU. `OcrEngine` exponerar ett `Device`‑objekt där vi kan byta bearbetningsenhetstyp. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Varför detta är viktigt:** Att sätta `OcrDeviceType.GPU` byter den underliggande inferensmotorn från en CPU‑endast‑implementation till en CUDA‑accelererad. Det valfria anropet `setStreamCount` låter dig styra parallellism; två strömmar är ett säkert standardvärde på de flesta konsumentkort. + +### Så aktiverar du GPU för OCR – Steg 4: Ladda en High‑Resolution Image + +High‑resolution‑källor ger OCR‑modellen mer visuell detalj, vilket ger högre noggrannhet, särskilt för små teckensnitt eller invecklade skript. Hjälpfunktionen `ImageStream.fromFile` läser filen till ett format som motorn förväntar sig. + +Om du behöver **load high resolution image** från en URL eller en in‑memory‑byte‑array, kan du använda: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Edge case:** Vissa GPU:er har en maximal texturstorlek (ofta 16384 × 16384). Om din bild överskrider detta, överväg att skala ner till en storlek som fortfarande bevarar läsbarhet (t.ex. 3000 × 2000). OCR‑motorn kommer automatiskt att ändra storlek om du anropar `ocrEngine.setResizeFactor(0.5)` innan du laddar. + +### Så aktiverar du GPU för OCR – Steg 5: Recognize Text Image och Extract Text + +Att anropa `ocrEngine.recognize()` triggar neurala nätverksinferensen på GPU. Metoden returnerar ett `OcrResult`‑objekt; `getText()` extraherar den rena strängen. Du kan också hämta avgränsningsrutor, förtroendescore eller den råa JSON‑data om du behöver rikare data. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Varför du kan vilja detta:** Steget `recognize text image` är där GPU:n glänser—stora bilder som skulle ta sekunder på CPU bearbetas på en bråkdel av den tiden. Förtroendescorerna låter dig filtrera lågkvalitetsresultat, ett praktiskt knep när du senare **how to extract text** för efterföljande analys. + +### Pro‑tips & vanliga fallgropar + +| Situation | Vad du ska göra | +|-----------|-----------------| +| **Out‑of‑memory‑fel** på GPU | Minska `setStreamCount` till 1, eller skala ner bilden innan du matar den till motorn. | +| **Oigenkända tecken** trots hög upplösning | Se till att språkmodellen (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) matchar textens språk. | +| **CUDA‑versionsmismatch** | Justera CUDA‑verktygssatsens version så att den matchar den som medföljer i Aspose OCR (kontrollera versionsnoterna). | +| **Flera GPU:er** | Använd `ocrEngine.getDevice().setDeviceId(1)` för att välja den andra GPU:n om den första är upptagen. | +| **Kör på en headless‑server** | Inga extra steg behövs; GPU‑drivrutinen fungerar utan en skärm. | + +## Så extraherar du text – Verifiera resultatet + +När du kör klassen ovan bör du se något liknande: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Om utskriften ser förvrängd ut, dubbelkolla att bilden verkligen är high‑resolution och att GPU‑drivrutinen är korrekt installerad. Du kan också aktivera utförlig loggning: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +Loggarna visar om de inhemska CUDA‑kärnorna laddades framgångsrikt. + +## Nästa steg & relaterade ämnen + +- **Batch‑behandling:** Wrappa `OcrEngine` i en loop och mata in en lista med bildvägar. Kom ihåg att återanvända samma motorinstans för att undvika upprepad GPU‑initialiseringskostnad. +- **Språkdetection:** Aspose OCR stödjer över 30 språk. Byt med `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Post‑processing:** Använd reguljära uttryck för att rensa den extraherade strängen, eller mata in den i en efterföljande NLP‑pipeline. +- **Alternativa enheter:** Om du inte har ett CUDA‑kompatibelt GPU kan du falla tillbaka till `OcrDeviceType.CPU`. Samma kod fungerar; byt bara enhetstypen. +- **Prestandamätning:** Mät tidsdifferensen med `System.nanoTime()` före och efter `recognize()` för att kvantifiera vinsten från **enable GPU processing**. + +--- + +### Sammanfattning + +Vi har gått igenom **how to enable GPU** för Aspose OCR i Java, från att installera rätt drivrutiner till att ladda en **high resolution image**, **recognize text image**, och slutligen **how to extract text** från resultatet. Det kompletta, körbara exemplet ovan bör fungera direkt på vilken modern NVIDIA‑GPU som helst. + +Ge det ett försök, experimentera med olika bildstorlekar, och se hur din OCR‑genomströmning skjuter i höjden. Om du stöter på problem, gå tillbaka till tips‑avsnittet eller kontrollera Asposes versionsnoter för de senaste **enable GPU processing**‑rekommendationerna. + +Lycka till med kodandet, och må din GPU hålla sig sval medan den bearbetar text! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/swedish/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..4c66e8f51 --- /dev/null +++ b/ocr/swedish/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,249 @@ +--- +category: general +date: 2026-02-19 +description: Lär dig hur du OCR:ar en bild av handskrivna anteckningar i Java med + Aspose OCR. Inkluderar att ladda bilden för OCR, läsa handskrivna anteckningar och + konvertera texten i den handskrivna bilden. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: sv +og_description: Hur man OCR:ar en bild av handskrivna anteckningar i Java med Aspose. + Steg‑för‑steg‑guide för att ladda bild för OCR, läsa handskrivna anteckningar och + konvertera text från handskriven bild. +og_title: Hur man OCR:ar en bild i Java – Guide för handskrivna anteckningar +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Hur man OCR:ar en bild i Java – Handskrivna anteckningar med stavningskontroll +url: /sv/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hur man OCR:ar bild i Java – Handskrivna anteckningar med stavningskontroll + +Har du någonsin undrat **hur man OCR:ar en bild** som innehåller din klottrade inköpslista eller mötesprotokoll? Du är inte ensam. I många verkliga applikationer måste utvecklare läsa handskrivna anteckningar och omvandla dem till sökbar text—utan att behöva skriva in allt manuellt. + +I den här handledningen går vi igenom ett komplett, färdigt att köra exempel som visar dig exakt **hur man OCR:ar en bild** med Aspose OCR för Java, hur man **laddar en bild för OCR**, och hur man **läser handskrivna anteckningar** med inbyggd stavningskorrigering. I slutet kommer du att kunna **konvertera handskriven bildtext** till en ren sträng som du kan lagra, indexera eller visa. + +## Vad du kommer att lära dig + +- De exakta stegen för att konfigurera en OCR-motor som förstår engelsk handskrift. +- Hur man **laddar en bild för OCR** från disk och matar in den i motorn. +- Varför det är viktigt att aktivera stavningskontrollen när man hanterar röriga klotter. +- Sätt att hantera vanliga kantfall, som lågkontrastbilder eller saknade språkpaket. +- Ett komplett, körbart kodexempel som du kan klistra in i din IDE och se resultat omedelbart. + +> **Förutsättningar**: Java 8+ installerat, Maven eller Gradle för beroendehantering, och en Aspose OCR för Java-licens (gratis provversion fungerar för lärande). Inga andra externa bibliotek krävs. + +## Steg 1: Ställ in projektet och lägg till Aspose OCR‑beroendet + +Först och främst—ditt projekt behöver Aspose OCR‑biblioteket. Om du använder Maven, lägg till detta i din `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Eller med Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Proffstips**: Håll koll på versionsnumret; nyare versioner förbättrar handskriftigenkänning och lägger till språkstöd. + +När beroendet är löst är du redo att **ladda en bild för OCR**. + +## Steg 2: Skapa OCR‑motorinstansen + +För att **OCR:a en bild** effektivt behöver du ett `OcrEngine`‑objekt. Detta objekt är hjärtat i processen—det innehåller språkinställningar, stavningskontrollflaggor och själva bilden. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Varför instansierar vi motorn först? Eftersom Aspose OCR är designat för att vara återanvändbart; du kan bearbeta flera bilder med samma instans och justera inställningarna mellan körningar om det behövs. + +## Steg 3: Lägg till stöd för engelska och aktivera stavningskorrigering + +Handskrivna anteckningar är ofta fulla av stavfel, saknade bokstäver eller okonventionella förkortningar. Att aktivera stavningskontrollen ger motorn en möjlighet att rensa upp resultatet. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **Varför aktivera stavningskorrigering?** +> Utan den kan den råa OCR‑utmatningen se ut som “t0d@y” eller “c0ffee”. Stavningskontrollen normaliserar sådana egenheter, vilket gör den slutliga texten mycket mer användbar för efterföljande bearbetning som sökindexering. + +## Steg 4: Ladda den handskrivna bilden + +Nu **laddar vi en bild för OCR**. Aspose tillhandahåller en bekväm `ImageStream.fromFile`‑metod som accepterar alla vanliga rasterformat (PNG, JPEG, BMP). + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Om din bild finns i en resurspost eller du får den som en byte‑array (t.ex. från en webbladdning), kan du använda `ImageStream.fromBytes` istället—byt bara ut raden ovan mot: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Steg 5: Utför OCR och hämta den korrigerade texten + +Med motorn konfigurerad och bilden laddad är det faktiska **OCR‑anropet** en enda rad: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +`recognize()`‑metoden returnerar ett `OcrResult`‑objekt som innehåller inte bara ren text utan även förtroendescore, avgränsningsrutor och mer. För de flesta användningsfall är den enkla `getText()` tillräcklig. + +## Steg 6: Skriv ut resultatet + +Till sist skriver vi ut den rensade strängen till konsolen. I en riktig applikation kan du lagra den i en databas, skicka den till en sökmotor eller vidarebefordra den till en språkmodell. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Förväntad utdata + +Om vi antar att den handskrivna anteckningen säger: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +Du bör se något liknande: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Även om den ursprungliga klottern var rörig—t.ex. “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”—så kommer stavningskontrollen vanligtvis att räta upp den. + +--- + +## Ladda bild för OCR – Tips för bättre noggrannhet + +1. **Upplösning är viktigt** – Sikta på minst 300 dpi. Lägre upplösningar får motorn att missa små streck. +2. **Kontrast är kung** – Om bakgrunden är färgad, konvertera bilden till gråskala först. +3. **Beskär till innehållet** – Att ta bort onödiga marginaler minskar brus och snabbar upp bearbetningen. + +Du kan förbehandla bilder med bibliotek som OpenCV eller till och med Javas inbyggda `BufferedImage` innan du skickar dem till Aspose. + +## Läs handskrivna anteckningar: Hantera kantfall + +- **Lågt förtroendeord**: `ocrEngine.getResult().getWords()` returnerar en lista där varje ord har ett förtroendevärde (0–100). Du kan filtrera bort ord under en tröskel och be användaren om manuell granskning. +- **Flera språk**: Om du behöver **läsa handskrivna anteckningar** på både engelska och spanska, lägg till båda språken innan du anropar `recognize()`. +- **Stora filer**: För fler‑sidiga PDF‑ eller TIFF‑filer, iterera över varje sida med `ocrEngine.setImage(pageStream)` i en loop. + +## Konvertera handskriven bildtext till strukturerad data + +Ofta behöver du inte bara en rå sträng; du kanske vill extrahera datum, belopp eller checklistpunkter. När du har den korrigerade texten kan reguljära uttryck eller NLP‑bibliotek (som Stanford CoreNLP) parsra innehållet: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +Detta kodexempel visar hur enkelt det är att gå från **konvertera handskriven bildtext** till handlingsbar data. + +## Vanliga fallgropar och hur du undviker dem + +| Symptom | Trolig orsak | Åtgärd | +|---------|--------------|-----| +| Skräpig utdata, många `?`‑tecken | Bilden är för mörk eller har låg kontrast | Öka ljusstyrkan eller förbehandla med histogramutjämning | +| Saknade ord | Handstilen är för kursiv | Aktivera `ocrEngine.getSettings().setEnableCursive(true)` (om stöds) | +| Stavningskontrollen introducerar felaktiga ord | Språkmodellen matchar inte | Lägg till en anpassad ordlista via `ocrEngine.getSpellChecker().addUserWords(...)` | +| Minnesbrist vid stora bilder | Bildstorlek > 10 MB | Skala ner innan inläsning, eller bearbeta i rutor | + +## Fullt fungerande exempel (Klar att kopiera och klistra in) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Obs**: Om du kör koden från en IDE, se till att mappen `YOUR_DIRECTORY` finns på din classpath eller använd en absolut sökväg. + +--- + +## Slutsats + +Vi har gått igenom **hur man OCR:ar en bild** i Java från början till slut, och visat hur man **laddar en bild för OCR**, **läser handskrivna anteckningar**, aktiverar stavningskorrigering och slutligen **konverterar handskriven bildtext** till en ren sträng. Metoden är enkel men ändå kraftfull nog för produktionsklara applikationer. + +Redo för nästa utmaning? Prova att experimentera med fler‑sidiga PDF‑filer, lägg till anpassade ordlistor för branschspecifika termer, eller skicka OCR‑utdata till en maskininlärningsmodell för sentimentanalys. Himlen är gränsen när du kombinerar Aspose OCR:s noggrannhet med Javas flexibilitet. + +Har du frågor om ett specifikt kantfall, eller vill du dela hur du integrerade detta i en mobilapp? Lämna en kommentar nedan—lycklig kodning! + +--- + +![how to OCR image example](/images/ocr-handwritten-example.png "how to OCR image of handwritten notes") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/swedish/java/ocr-basics/_index.md index 0b6fd99af..ead0bf76f 100644 --- a/ocr/swedish/java/ocr-basics/_index.md +++ b/ocr/swedish/java/ocr-basics/_index.md @@ -100,6 +100,14 @@ Lås upp potentialen i Aspose.OCR för Java med denna steg‑för‑steg‑guide Förbättra OCR‑noggrannheten med Aspose.OCR för Java. Lär dig beräkna snedvinklar steg för steg. Förbättra dokumentbehandling utan ansträngning. ### [Hämta rektanglar med textområden i Aspose.OCR](./get-rectangles-with-text-areas/) Lås upp kraften i Aspose.OCR för Java. Lär dig hur du extraherar text från bilder sömlöst i denna steg‑för‑steg‑guide. Ladda ner nu för effektiv textigenkänning. +### [Känna igen text från PNG i Java – Aspose OCR‑handledning](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Lär dig hur du med Aspose.OCR för Java extraherar text från PNG‑bilder i några enkla steg. +### [Extrahär text från bild – konvertera PNG till text i Java](./extract-text-from-image-convert-png-to-text-in-java/) +Lär dig hur du med Aspose.OCR för Java konverterar PNG‑bilder till ren text i några enkla steg. +### [Extrahera text från bild i Java – Komplett OCR‑exempel](./extract-text-from-image-in-java-complete-ocr-example/) +Lär dig hur du med Aspose.OCR för Java utför en komplett OCR‑process för att extrahera text från bilder i några enkla steg. +### [Extrahera text från bild med Aspose OCR – Java snabbguide](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) +Lär dig snabbt hur du med Aspose OCR för Java extraherar text från en bild i några enkla steg. --- @@ -112,4 +120,4 @@ Lås upp kraften i Aspose.OCR för Java. Lär dig hur du extraherar text från b {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/swedish/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..aa59c3659 --- /dev/null +++ b/ocr/swedish/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-02-19 +description: extrahera text från bild med Aspose OCR Java – lär dig hur du konverterar + PNG till text, laddar bild för OCR och följer en Java OCR‑handledning. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: sv +og_description: extrahera text från bild med Aspose OCR Java. Följ denna steg‑för‑steg + Java OCR‑handledning för att konvertera PNG till text och ladda bild för OCR. +og_title: extrahera text från bild – Java OCR‑guide +tags: +- OCR +- Java +- Aspose +- Image Processing +title: extrahera text från bild – konvertera PNG till text i Java +url: /sv/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# extrahera text från bild – Java OCR Tutorial + +Har du någonsin behövt **extrahera text från bild** men varit osäker på vilket bibliotek som låter dig göra det utan krångel? Du är inte ensam—utvecklare frågar ständigt, “Hur kan jag konvertera en PNG till text i Java?” Den goda nyheten är att Aspose OCR gör hela processen lika enkel som en promenad i parken. I den här guiden går vi igenom en komplett **java ocr tutorial**, visar dig hur du **load image for OCR**, och slutar med ren, sökbar text. + +Vi kommer att täcka allt från att konfigurera motorn till att hantera flerspråkigt innehåll, så i slutet kommer du kunna **extrahera text från bild**-filer av vilken storlek, format eller språk som helst. Inga externa tjänster, inga API‑nycklar—bara en enda JAR och några rader kod. + +## Vad du behöver + +- JDK 8 eller nyare installerat (koden fungerar även på JDK 11+). +- Maven eller Gradle för att hämta Aspose OCR‑biblioteket, eller så kan du ladda ner JAR‑filen manuellt från Aspose‑webbplatsen. +- En PNG‑bild som innehåller läsbar text (för vårt exempel använder vi `khmer-sign.png`). +- En IDE eller textredigerare du är bekväm med—IntelliJ IDEA, Eclipse, VS Code, vilken som helst fungerar. + +Det är allt. Inga tunga ramverk, inga moln‑uppgifter. Är du redo? Låt oss börja extrahera text från bildfiler. + +## Steg 1: Lägg till Aspose OCR i ditt projekt + +Först och främst—du behöver OCR‑motorn på din classpath. Om du använder Maven, lägg till detta beroende i `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Eller med Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Om du föredrar den manuella vägen, ladda ner JAR‑filen från Aspose‑nedladdningssidan och placera den i ditt projekts `libs`‑mapp, lägg sedan till den i byggsökvägen. + +> **Proffstips:** Välj alltid den senaste stabila versionen; äldre releaser kan sakna språkpaket eller buggfixar. + +## Steg 2: Skapa OCR‑motorinstansen + +Nu när biblioteket är tillgängligt kan vi starta en `OcrEngine`. Tänk på motorn som hjärnan som läser pixlarna och omvandlar dem till tecken. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Varför skapar vi en ny motor varje gång? Motorn innehåller interna buffertar och språkdata; att börja rent garanterar deterministiska resultat, särskilt när du byter språk senare. + +## Steg 3: Aktivera önskat språk (valfritt men rekommenderat) + +Aspose OCR levereras med dussintals språkpaket. Om du vet språket i din källbild, aktivera det explicit; detta snabbar upp igenkänning och förbättrar noggrannheten. I vårt exempel aktiverar vi Khmer (`khm`), men du kan ersätta det med `ENG` för engelska, `CHN` för kinesiska, osv. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Varför detta är viktigt:** När du **load image for OCR**, kommer motorn bara söka i de aktiverade språk‑ordböckerna. Att ha alla språk påslagna kan sakta ner och öka falska positiva. + +## Steg 4: Ladda bild för OCR – Konvertera PNG till text + +Här sker steget **load image for OCR**. Aspose tillhandahåller en bekväm `ImageStream.fromFile`‑hjälp som abstraherar bort låg‑nivå‑I/O. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +Om din bild är i ett annat format (JPEG, BMP, TIFF) fungerar samma metod—Aspose upptäcker automatiskt formatet. Se bara till att filvägen är korrekt; annars får du ett `FileNotFoundException`. + +## Steg 5: Kör OCR‑processen och konvertera PNG till text + +Med motorn redo och bilden laddad är den faktiska igenkänningen ett enda metodanrop. Resultatobjektet ger dig den råa strängen samt förtroendesiffror. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Det är allt—du har just **convert PNG to text**. Den returnerade strängen kan innehålla radbrytningar och blanksteg exakt som motorn såg dem. Du kan efterbehandla den med `trim()`, `replaceAll("\\s+", " ")` eller någon annan rengöring du behöver. + +## Steg 6: Skriv ut resultatet (eller lagra det) + +För en snabb kontroll, skriv ut resultatet till konsolen. I en riktig applikation skulle du troligen skriva det till en fil, en databas eller skicka det till en annan tjänst. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Förväntad output** (för den medföljande Khmer‑tecknet) kan se ut så här: + +``` +សួស្តី +Welcome +``` + +Om outputen är förvrängd, dubbelkolla att du aktiverade rätt språk i Steg 3 och att bilden inte är för suddig. Att öka bildens upplösning (t.ex. med en 300 dpi‑skanning) hjälper ofta. + +## Fullständigt fungerande exempel + +När alla bitar satts ihop, här är ett fristående program du kan kopiera och klistra in i `ExtractTextExample.java` och köra: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Kör programmet med: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +eller, om du använder Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +Du bör se den extraherade texten skriven till konsolen, vilket bekräftar att du framgångsrikt **extract text from image** med Aspose OCR. + +## Vanliga fallgropar & hur du åtgärdar dem + +| Symtom | Trolig orsak | Åtgärd | +|--------|--------------|--------| +| Tom sträng returnerad | Inget språk aktiverat eller fel språk‑kod | Lägg till lämplig `OcrLanguage` (t.ex. `ENG` för engelska). | +| Förvrängda tecken | Bildens upplösning för låg eller brusig bakgrund | Använd en källa med högre upplösning, eller förbehandla med ett skärpningsfilter. | +| `OutOfMemoryError` | Mycket stor bild laddad i full storlek | Skala ner bilden innan du matar den till motorn (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Felaktig sökväg | Verifiera den absoluta eller relativa sökvägen; använd `Paths.get(...).toAbsolutePath()`. | + +> **Kom ihåg:** OCR är en probabilistisk process. Även med perfekta inställningar kan du behöva korrigera några tecken manuellt, särskilt för kursiva skript. + +## Utöka tutorialen – nästa steg + +- **Batch‑behandling:** Loopa igenom en katalog med PNG‑filer och anropa samma logik för varje bild. +- **PDF‑output:** Använd Aspose PDF för att bädda in den extraherade texten i en sökbar PDF. +- **Språkdetection:** Anropa `ocrEngine.detectLanguage()` innan du sätter ett språk så att motorn kan gissa automatiskt. +- **Molnintegration:** Om du behöver skala, paketera koden i en REST‑endpoint och låt mikrotjänster anropa den. + +Alla dessa ämnen bygger naturligt på den **java ocr tutorial** vi just slutfört, och de visar hur mångsidigt Aspose OCR‑API egentligen är. + +## Slutsats + +Vi har gått igenom en komplett **java ocr tutorial** som låter dig **extrahera text från bild**‑filer, **konvertera PNG till text**, och korrekt **load image for OCR** med Aspose OCR. Stegen är enkla: lägg till biblioteket, skapa en motor, aktivera rätt språk, ladda PNG‑filen, kör `recognize()`, och hantera outputen. Med denna grund kan du automatisera datainmatning, bygga sökbara arkiv, eller driva vilken applikation som helst som behöver maskinläsbar text från bilder. + +Prova det med dina egna bilder—kanske en skärmdump av ett kvitto eller ett skannat kontrakt. Justera språk‑inställningarna, experimentera med upplösning, så kommer du snabbt att se hur flexibel lösningen är. Om du stöter på problem, gå tillbaka till tabellen med fallgropar eller kolla Asposes officiella dokumentation; den är grundlig och uppdaterad. + +Lycka till med kodandet, och må ditt nästa projekt vara fullt av ren, sökbar text! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/swedish/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..69070c390 --- /dev/null +++ b/ocr/swedish/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,147 @@ +--- +category: general +date: 2026-02-19 +description: Extrahera text från bild med Java OCR. Lär dig ett Java OCR‑exempel som + laddar en bild för OCR och extraherar text från fakturafiler på bara några steg. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: sv +og_description: Extrahera text från bild med Java OCR. Denna guide visar hur du laddar + en bild för OCR och hämtar text från fakturor med ett enkelt Java OCR‑exempel. +og_title: Extrahera text från bild i Java – Komplett OCR‑exempel +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Extrahera text från bild i Java – Komplett OCR‑exempel +url: /sv/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrahera text från bild i Java – Komplett OCR-exempel + +Har du någonsin behövt **extrahera text från bild** men varit osäker på vilket bibliotek du ska välja? Du är inte ensam—många utvecklare stöter på detta när de automatiserar fakturabehandling eller bygger sökbara arkiv. Den goda nyheten? Med några rader Java kan du ladda en bild för OCR, definiera ett intresseområde och hämta exakt den text du behöver. + +I den här handledningen går vi igenom ett **java ocr example** som visar exakt hur du **laddar bild för OCR**, sätter ett ROI och **extraherar text från faktura**‑filer med Aspose.OCR. I slutet har du ett körbart program som du kan lägga in i vilket Java‑projekt som helst. + +## Vad du kommer att lära dig + +- Hur du skapar en `OcrEngine`‑instans och varför det är viktigt. +- Det korrekta sättet att **ladda bild för OCR** med Asposes `ImageStream`. +- Att sätta ett **region of interest (ROI)** så att du bara bearbetar den del av bilden som innehåller fakturabeloppet. +- Att extrahera den igenkända texten och skriva ut den i konsolen. +- Vanliga fallgropar (t.ex. fel rektangelkoordinater) och snabba lösningar. + +**Förutsättningar** + +- Java 8 eller nyare installerat. +- Maven eller Gradle för att hämta Aspose.OCR‑biblioteket (`com.aspose:aspose-ocr`). +- En exempel‑fakturabild (`invoice.png`) placerad i en känd katalog. + +Har du allt detta? Bra—låt oss dyka ner. + +![Extrahera text från bild med Java OCR](/images/extract-text-from-image-java.png "exempel på extrahering av text från bild") + +## Extrahera text från bild – Steg‑för‑steg Java OCR‑exempel + +Nedan är hela källkoden. Kopiera‑klistra gärna den i `RoiOcrExample.java` och kör den direkt. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Varför varje steg är viktigt + +1. **Skapa OCR‑motorn** – utan en motor finns ingen kontext för bildbehandling. Objektet låter dig också justera språkpaket senare om du behöver flerspråkigt stöd. +2. **Ladda bilden** – `ImageStream.fromFile` abstraherar filformatet och säkerställer att motorn läser bytes korrekt. Om du hoppar över detta får du ett `NullPointerException`. +3. **Sätta ROI** – att bearbeta hela sidan kan vara slöseri. Genom att begränsa rektangeln till fakturans totalsumma‑område snabbar du upp igenkänningen och minskar brus. +4. **Anropa `recognize()`** – här händer magin. Metoden kör OCR‑algoritmen över ROI och producerar ett resultatobjekt. +5. **Skriva ut resultatet** – i riktiga projekt skulle du troligen lagra texten i en databas, men `System.out.println` är perfekt för en snabb demo. + +## Ladda bild för OCR + +Om du undrar om sökvägen måste vara absolut eller relativ, så fungerar båda—se bara till att Java‑processen kan läsa filen. På Windows måste bakåtsnedstreck escapetas (`C:\\images\\invoice.png`) eller så kan du använda snedstreck (`C:/images/invoice.png`). + +**Proffstips:** Om du bearbetar många fakturor i en loop, återanvänd samma `OcrEngine`‑instans; den cachar interna resurser och förbättrar genomströmning. + +## Definiera Region of Interest (ROI) + +Att välja rätt rektangel kan vara lite trial‑and‑error. Ett praktiskt sätt att hitta koordinater är att öppna bilden i någon grafikredigerare (som GIMP eller Paint.NET) och hålla musen över området—du ser X/Y‑värdena i statusfältet. + +Edge case: vissa fakturor har variabla layouter. I så fall kan du köra en snabb för‑scan av hela bilden, lokalisera nyckelord som “Total:” med ett regex, och sedan justera ROI dynamiskt. + +## Utför OCR och hämta text + +`recognize()`‑anropet är synkront—din tråd blockeras tills motorn är klar. För stora batcher kan du vilja starta en trådpool och bearbeta bilder parallellt. Kom bara ihåg att varje tråd behöver sin egen `OcrEngine`‑instans; de är inte trådsäkra. + +## Kör och verifiera output + +Compile and run: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +You should see something like: + +``` +ROI text: $1,254.00 +``` + +Om output ser förvrängd ut, dubbelkolla ROI‑koordinaterna och säkerställ att bildkvaliteten är hög (300 dpi eller mer fungerar bäst). + +### Vanliga fallgropar & hur du åtgärdar dem + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Tom sträng | ROI utanför bildens gränser | Verifiera rektangelvärden mot bildens dimensioner | +| Felstavade ord | Låg upplösning | Använd en högupplöst källa eller applicera bildförbehandling (t.ex. binarisering) | +| `java.lang.NoClassDefFoundError` | Saknad Aspose‑JAR på classpath | Lägg till `aspose-ocr.jar` till `-cp` eller använd Maven/Gradle‑beroendehantering | + +## Slutsats + +Du vet nu hur du **extraherar text från bild** i Java med ett koncist **java ocr example**. Genom att ladda bilden korrekt, definiera ett fokuserat ROI och anropa `recognize()` kan du pålitligt **extrahera text från faktura**‑filer och föra den datan in i efterföljande system. + +Vad blir nästa? Prova att byta ROI till olika fält (datum, leverantörsnamn), experimentera med språkpaket för flerspråkiga fakturor, eller integrera OCR‑steget i en Spring Boot‑mikrotjänst. Samma mönster fungerar för kvitton, pass eller vilket dokument som helst där du behöver exakt textutvinning. + +Om du har frågor om att skala denna lösning eller hantera brusiga skanningar, lämna en kommentar nedan—lycka till med kodandet! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/swedish/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..63559a0f1 --- /dev/null +++ b/ocr/swedish/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-02-19 +description: Extrahera text från en bild i Java med Aspose OCR. Lär dig hur du känner + igen text från PNG, konverterar bilden till en sträng och läser text från en skanning + på bara några steg. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: sv +og_description: Extrahera text från bild snabbt. Den här handledningen visar hur man + känner igen text från PNG, konverterar bild till sträng och läser text från skanning + med Aspose OCR. +og_title: Extrahera text från bild med Aspose OCR – Java‑guide +tags: +- Java +- OCR +- Aspose +title: Extrahera text från bild med Aspose OCR – Java Snabbguide +url: /sv/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrahera text från bild – Komplett Java‑handledning + +Har du någonsin behövt **extract text from image** men varit osäker på vilket bibliotek du ska välja? Kanske har du ett skannat kvitto i PNG‑format och vill ha texten som en ren sträng för vidare bearbetning. Enligt min erfarenhet gör Aspose OCR‑biblioteket jobbet till en barnlek, särskilt när du arbetar med Java. + +I den här guiden går vi igenom allt du behöver veta: från att konfigurera Aspose OCR‑beroendet, ladda en PNG‑fil, **recognize text from png**, hela vägen till att omvandla resultatet till en användbar Java `String`. I slutet kommer du kunna **convert image to string**, och du kommer också att se hur du **read text from scan**‑filer utan att svettas. + +## Vad du kommer att lära dig + +- Hur du lägger till Aspose OCR i ett Maven‑ eller Gradle‑projekt. +- Den exakta koden som krävs för att **extract text from image** med ett enda metodanrop. +- Varför `ImageStream`‑klassen är det föredragna sättet att mata in data i motorn. +- Tips för att hantera stora skanningar, fler‑sidiga PDF‑filer och vanliga fallgropar. + +Ingen tidigare OCR‑erfarenhet krävs, bara en grundläggande förståelse för Java och en PNG som du vill bearbeta. + +## Förutsättningar + +| Krav | Orsak | +|------|-------| +| Java 8 or newer | Aspose OCR riktar sig mot Java 8+. | +| Maven or Gradle (optional) | Förenklar hantering av beroenden. | +| A PNG image (e.g., `quick.png`) | Källan som vi kör OCR på. | +| Internet access (first run) | Biblioteket kan ladda ner språkpaket automatiskt. | + +Om du redan har en Java‑IDE som IntelliJ IDEA eller Eclipse är du redo att köra. + +--- + +## Steg 1: Konfigurera Aspose OCR i ditt projekt + +### Maven + +Lägg till följande beroende i din `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro tip:** Om du använder en företagsproxy, se till att Maven/Gradle kan nå `repo.maven.apache.org`. Annars kommer bygget att misslyckas innan du ens skrivit en rad kod. + +--- + +## Steg 2: Ladda PNG‑bilden + +`ImageStream`‑klassen abstraherar bort filsystemdetaljer och fungerar med strömmar, URL:er eller byte‑arrayer. Så här laddar du en lokal PNG: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Why this matters:** Att använda `ImageStream.fromFile` garanterar att OCR‑motorn får bilden i ett format den fullt ut förstår, vilket förbättrar igenkänningsnoggrannheten jämfört med att mata in råa byte‑arrayer. + +--- + +## Steg 3: Känn igen text från PNG + +Aspose OCR exponerar en enda statisk metod som gör det tunga arbetet: `OcrEngine.recognize`. Den returnerar en vanlig Java `String`, vilket är exakt vad du behöver när du vill **convert image to string**. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### Vad händer under huven? + +1. **Pre‑processing:** Motorn korrigerar automatiskt bildens snedvridning och normaliserar kontrasten. +2. **Language Detection:** Om du inte anger ett språk försöker Aspose att härleda det, vilket är praktiskt för snabba skanningar. +3. **Recognition:** Kärn‑OCR‑motorn kör en neuronnätsmodell tränad på miljontals tecken. + +Eftersom allt detta är kapslat i ett anrop behöver du inte trixa med låg‑nivåinställningar såvida du inte har ett mycket specialiserat användningsfall. + +--- + +## Steg 4: Visa och använd den extraherade strängen + +Nu när du har texten kan du skriva ut den, lagra den i en databas eller skicka den till ett annat API. Här är det enklaste sättet—bara `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Förväntad output + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Note:** Den exakta outputen beror på innehållet i `quick.png`. Om bilden innehåller en handskriven anteckning kan du se några felaktiga igenkänningar—inget som lite efterbehandling inte kan fixa. + +--- + +## Steg 5: Hantera vanliga edge‑cases + +### Stora skanningar eller fler‑sidiga PDF‑filer + +Om du behöver **read text from scan**‑filer som är större än en vanlig PNG, överväg: + +- Dela upp bilden i rutor (`ImageStream.fromRegion`). +- Använda `OcrEngine.recognizeMultiplePages` för PDF‑inmatningar. + +### Icke‑engelska språk + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Prestandatips + +- Återanvänd samma `OcrEngine`‑instans för flera bilder för att undvika upprepad initiering. +- För batch‑bearbetning, aktivera flertrådad körning men begränsa antalet trådar till antalet CPU‑kärnor för att undvika minnesthrashing. + +--- + +## Komplett fungerande exempel + +Nedan är den fullständiga, färdiga Java‑klassen. Kopiera‑klistra in den i din IDE, justera bildsökvägen och tryck på **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +När du kör detta program skrivs OCR‑resultatet till konsolen, vilket effektivt **convert image to string** på bara några kodrader. + +--- + +## Slutsats + +Du vet nu hur du **extract text from image**‑filer i Java med Aspose OCR. Processen reduceras till tre enkla steg: ladda PNG, anropa `OcrEngine.recognize` och använd den resulterande strängen. Oavsett om du försöker **recognize text from png**, **convert image to string**, eller helt enkelt **read text from scan**‑dokument, ger detta tillvägagångssätt en pålitlig, produktionsklar lösning. + +Redo för nästa utmaning? Försök att mata in en mapp med skannade kvitton i en loop, lagra varje resultat i en CSV, eller experimentera med språk‑specifika inställningar för att förbättra noggrannheten på icke‑engelska texter. Himlen är gränsen, och koden du just skrev är en solid grund. + +Lycka till med kodandet, och tveka inte att ställa frågor i kommentarerna—jag hjälper gärna till! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/swedish/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..09e23eafb --- /dev/null +++ b/ocr/swedish/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,224 @@ +--- +category: general +date: 2026-02-19 +description: Känn igen text från PNG i Java med Aspose OCR – lär dig hur du extraherar + text från en bild i Java och bearbetar bilden med OCR effektivt. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: sv +og_description: Känna igen text från PNG i Java med Aspose OCR. Denna handledning + visar hur man extraherar text från en bild i Java och bearbetar bilden med OCR steg + för steg. +og_title: igenkänna text från png i Java – Komplett Aspose OCR-guide +tags: +- OCR +- Java +- Image Processing +title: igenkänna text från PNG i Java – Aspose OCR-handledning +url: /sv/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +file paths besides `document-page1.png` and `YOUR_DIRECTORY`. Keep them unchanged. + +Check for any markdown links: none. + +Now produce final content with same structure. + +Let's assemble.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# känna igen text från png i Java – Komplett Aspose OCR-guide + +Har du någonsin behövt **recognize text from png** men varit osäker på vilket bibliotek du ska välja? Du är inte ensam—många Java‑utvecklare stöter på samma hinder när de först tar sig an bildbaserad dataextraktion. Den goda nyheten är att Aspose OCR gör hela processen nästan smärtfri, och i den här guiden kommer du att se exakt hur du **extract text from image java** projekt medan du **process image with OCR** på ett trådsäkert sätt. + +Under de kommande minuterna kommer vi att skapa ett litet Java‑program som laddar en PNG, kör OCR på CPU:n med upp till åtta trådar, och skriver ut den igenkända strängen till konsolen. Inga externa tjänster, inga hemliga API‑nycklar—bara ren Java‑kod som du kan kopiera‑klistra in och köra idag. + +## Vad du behöver + +- **Java 17** eller senare (koden kompileras med tidigare versioner, men 17 är den optimala). +- **Aspose.OCR for Java** JAR (ladda ner från Aspose‑webbplatsen eller hämta via Maven). +- En PNG‑bild du vill läsa—t.ex. `document-page1.png` lagrad någonstans på disk. +- Din favorit‑IDE eller en enkel textredigerare och en terminal. + +Det är allt. Om du har dessa kan vi dyka rakt in i lösningen. + +![Java‑kod för att känna igen text från png med Aspose OCR](image-placeholder.png "exempel på Java‑kod för att känna igen text från png"){alt="Java‑kod för att känna igen text från png med Aspose OCR"} + +## Steg‑för‑steg: känna igen text från png + +Nedan delar vi upp implementeringen i tydliga, hanterbara delar. Varje del är en H2‑rubrik, så du kan hoppa direkt till den del du är intresserad av. + +### 1. Lägg till Aspose OCR i ditt projekt + +**Why?** OCR‑motorn finns i Aspose‑biblioteket; utan den har kompilatorn ingen aning om vad `OcrEngine` är. + +If you use Maven, drop this snippet into your `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +För Gradle ser det ut så här: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Pro tip:** Verifiera alltid den senaste versionsnumret; nyare releaser innehåller ofta prestandaförbättringar för flertrådad bearbetning. + +### 2. Skapa och konfigurera OCR‑motorn + +**Why?** Att instansiera `OcrEngine` ger dig ett färdigt objekt, och justering av enhetsinställningarna låter dig utnyttja alla CPU‑kärnor du har. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Här sätter vi explicit enheten till `CPU`. Om du senare går över till en GPU‑aktiverad miljö, byt bara enum‑värdet—inga andra kodändringar behövs. + +### 3. Ladda PNG‑bilden + +**Why?** OCR fungerar på en bildström, inte på en filväg direkt. Att konvertera filen till en `ImageStream` abstraherar bort det underliggande formatet. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Byt ut `YOUR_DIRECTORY` mot den faktiska mappen. Om filen inte hittas kastar motorn ett `IOException`, som vi fångar senare. + +### 4. Kör igenkänning och fånga resultatet + +**Why?** Metoden `recognize()` gör det tunga arbetet—detekterar tecken, rader och layout. Det returnerade `OcrResult` innehåller ren text. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Du kan också begära ett `Pdf`‑ eller `Html`‑resultat, men för syftet att **extract text from image java** håller vi oss till ren text. + +### 5. Skriv ut texten och städa upp + +**Why?** En enkel `System.out.println` räcker för demonstration, men i en riktig applikation skulle du sannolikt skriva till en fil eller en databas. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +Eftersom `OcrEngine` implementerar `AutoCloseable` är det en god vana att omsluta allt i ett try‑with‑resources‑block. Det säkerställer att inhemska resurser frigörs omedelbart. + +### 6. Fullt, körbart exempel + +Genom att sätta ihop allt, här är det kompletta programmet som du kan kompilera och köra: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Förväntad output** (förutsatt att PNG‑filen innehåller “Hello World”): + +``` +=== OCR Result === +Hello World +``` + +Om bilden är mer komplex—flera rader, tabeller eller handskrivna anteckningar—kommer outputen att exakt återge vad Aspose OCR upptäcker, och bevara radbrytningar där det är lämpligt. + +## Vanliga frågor & specialfall + +### Vad händer om PNG‑filen är enorm? + +Stora bilder kan äta upp minne. En praktisk lösning är att **downscale** bilden innan du skickar den till motorn: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +Nedskalning minskar CPU‑belastningen utan att offra OCR‑noggrannheten för de flesta tryckta texter. + +### Kan jag köra OCR på en PDF istället för en PNG? + +Absolut. Aspose OCR accepterar också PDF‑filer via `PdfDocument`‑objekt. Samma `recognize()`‑anrop fungerar, så du kan **process image with OCR** oavsett källformat. + +### Hur förbättrar jag noggrannheten för icke‑latinska skript? + +Ställ in språket innan igenkänning: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose levereras med dussintals språkpaket; välj bara det som matchar ditt bildinnehåll. + +### Är antalet trådar alltid fördelaktigt? + +Fler trådar snabbar upp bearbetning på fler‑kärniga CPU:er, men bortom antalet fysiska kärnor får du avtagande avkastning. Om du märker högre CPU‑användning utan motsvarande hastighetsökning, minska antalet till `Runtime.getRuntime().availableProcessors()`. + +## Sammanfattning: Vad vi uppnådde + +Vi har precis **recognize text from png** med ett koncist Java‑program, demonstrerat hur man **extract text from image java** med Aspose OCR, och gått igenom de väsentliga stegen för att **process image with OCR** på ett produktionsklart sätt. Koden är självständig, förklaringarna svarar både på “hur” och “varför”, och tipsen tar upp de vanliga fallgroparna du kan stöta på. + +## Vad blir nästa steg? + +- **Batch processing:** Loopa över en katalog med PNG‑filer och skriv varje resultat till en `.txt`‑fil. +- **PDF generation:** Mata OCR‑outputen till Aspose.PDF för att skapa sökbara PDF‑filer. +- **Cloud scaling:** Distribuera samma kod till en container orkestrerad av Kubernetes och låt trådpoolen anpassa sig till pod‑resurser. + +Känn dig fri att experimentera—byta bild, justera antalet trådar eller byta språk. OCR‑motorn är tillräckligt flexibel för att hantera de flesta scenarier, och med den grund du nu har är det enkelt att utöka den. + +Har du frågor eller har du upptäckt en smart optimering? Lämna en kommentar nedan, och lycka till med kodandet! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/java/ocr-operations/_index.md b/ocr/swedish/java/ocr-operations/_index.md index c91019ce7..fd4dd9214 100644 --- a/ocr/swedish/java/ocr-operations/_index.md +++ b/ocr/swedish/java/ocr-operations/_index.md @@ -81,6 +81,10 @@ Lås upp kraften i OCR i Java med Aspose.OCR. Känn igen text i PDF‑dokument e Lås upp kraftfull textigenkänning i Java med Aspose.OCR. Känn igen text i TIFF‑bilder enkelt. Ladda ner nu för en sömlös OCR‑upplevelse. ### [Känna igen text i bild med Aspose OCR – Fullständig Java OCR-handledning](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) En komplett guide som visar hur du använder Aspose OCR för att känna igen text i bilder med Java. +### [Skapa sökbar PDF från JPG – Bild till sökbar PDF Java‑guide](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Lär dig konvertera JPG‑bilder till sökbara PDF‑dokument med Aspose.OCR för Java. +### [Hur man räta upp bild — Steg‑för‑steg OCR‑förbehandlingsguide](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +Lär dig hur du räta upp bilder före OCR för att förbättra igenkänningsnoggrannheten. ## Vanliga frågor diff --git a/ocr/swedish/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/swedish/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..e49446133 --- /dev/null +++ b/ocr/swedish/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,187 @@ +--- +category: general +date: 2026-02-19 +description: Skapa sökbar PDF från en JPG-bild med Aspose OCR i Java. Konvertera jpg + till pdf och känna igen text från bilden snabbt. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: sv +og_description: Skapa en sökbar PDF från en JPG‑bild med Aspose OCR. Lär dig hur du + konverterar JPG till PDF och känner igen text från en bild i Java. +og_title: Skapa sökbar PDF från JPG – Java OCR-handledning +tags: +- aspose-ocr +- java +- pdf +- ocr +title: Skapa sökbar PDF från JPG – Bild till sökbar PDF Java‑guide +url: /sv/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Skapa sökbar PDF från JPG – Bild till sökbar PDF Java‑guide + +Har du någonsin behövt **skapa sökbar PDF** från en skannad bild men varit osäker på var du ska börja? Du är inte ensam—många utvecklare stöter på samma problem när de har en JPG som måste vara sökbar. Den goda nyheten är att med Aspose OCR för Java kan du omvandla den bilden till en fullt sökbar PDF med bara några rader kod. + +I den här handledningen går vi igenom hela processen: läsa in en JPG, känna igen texten och spara resultatet som en sökbar PDF. När du är klar vet du hur du **konverterar jpg till pdf**, hur du **extraherar text från jpg**, och varför detta tillvägagångssätt ofta är mer pålitligt än att OCR‑a PDF‑en efter att den har skapats. + +## Vad du behöver + +Innan vi sätter igång, se till att du har följande på din maskin: + +* **Java Development Kit (JDK) 8 eller nyare** – koden använder standard‑Java‑API:er. +* **Aspose OCR for Java**‑biblioteket – du kan hämta det från Maven Central eller ladda ner JAR‑filen från Asposes webbplats. +* En **exempel‑JPG** som innehåller läsbar text (t.ex. en skannad faktura eller en skärmdump av ett dokument). + +Inga ytterligare ramverk krävs; exemplet fungerar med ett vanligt Java‑projekt. + +## Steg 1 – Ställ in projektet och lägg till Aspose OCR + +Först, skapa ett nytt Maven‑projekt (eller bara en mapp med JAR‑filen på classpath). Om du använder Maven, lägg till detta beroende i din `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** Verifiera alltid den senaste versionen i Aspose Maven‑arkivet; nyare releaser innehåller prestandaförbättringar och buggfixar. + +När beroendet är löst är du redo att skriva Java‑koden som kommer att **skapa sökbar PDF**. + +## Steg 2 – Ladda bilden (image to searchable pdf) + +Det första verkliga steget är att peka OCR‑motorn mot källbilden. Här börjar den **image to searchable pdf**‑omvandling som verkligen tar fart. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Why this matters:** `setImage` tells Aspose which bitmap to analyze. If you supply a low‑resolution image, the OCR quality will suffer, so make sure the JPG is at least 300 dpi for best results. + +## Steg 3 – Känn igen text från bild + +Nu när motorn vet vilken bild den ska arbeta med kan vi be den att **recognize text from image**. Aspose OCR gör det tunga arbetet under huven, hanterar språkdetection, teckensegmentering och förtroendescore. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +`recognize()`‑anropet returnerar ett fluent‑gränssnitt, så vi kan kedja `save`‑metoden. Genom att ange `OcrOutputFormat.SEARCHABLE_PDF` bäddar biblioteket in ett osynligt textlager i PDF‑en samtidigt som den ursprungliga bildens utseende bevaras. + +> **Edge case:** If your JPG contains multiple pages (e.g., a multi‑page TIFF saved as separate JPGs), you’ll need to loop over each file and merge the resulting PDFs later. The same OCR engine can be reused for each iteration. + +## Steg 4 – Verifiera resultatet + +Efter att spara‑operationen är klar visar ett enkelt konsolmeddelande att allt gick smidigt. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +När du öppnar `output-searchable.pdf` i en visare som Adobe Acrobat bör du kunna markera den dolda texten, kopiera den eller göra en sökning – exakt vad du förväntar dig av en **searchable PDF**. + +### Förväntat resultat + +När programmet körs skrivs följande ut: + +``` +Searchable PDF created. +``` + +Och den genererade PDF‑en visar den ursprungliga JPG‑en samtidigt som den tillåter textmarkering. Om du öppnar PDF‑ens “Properties → Description → PDF Producer” ser du något i stil med `Aspose.OCR for Java`. + +## Fullt fungerande exempel + +Nedan är den kompletta, färdiga källfilen. Kopiera‑klistra in den i din IDE, justera filsökvägarna och kör. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **What if the OCR fails?** +> * Usually this happens because the image is too noisy or the language isn’t supported out‑of‑the‑box. You can improve accuracy by pre‑processing the image (increase contrast, deskew) or by explicitly setting the language with `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`. + +## Vanliga frågor & fallgropar + +| Question | Answer | +|----------|--------| +| **Can I extract the plain text instead of a PDF?** | Yes. Use `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **What if I need to process a PNG?** | The same API works; just change the file extension in `fromFile`. | +| **Is the resulting PDF truly searchable on all viewers?** | Modern viewers (Adobe Reader, Foxit, Chrome) honor the hidden text layer. Older tools might ignore it. | +| **How do I control the PDF page size?** | Aspose OCR uses the image dimensions by default. For custom sizing, generate a PDF manually and overlay the OCR text layer—this is an advanced scenario. | + +## Prestandatips + +* **Batch processing:** Reuse a single `OcrEngine` instance for many images to avoid repeated native library loading. +* **Thread safety:** The engine is **not** thread‑safe; create one per thread if you parallelize. +* **Memory usage:** Large images can consume a lot of RAM. If you hit `OutOfMemoryError`, downscale the image before feeding it to the engine. + +## Nästa steg + +Nu när du vet hur du **create searchable PDF**, kanske du vill utforska relaterade uppgifter: + +* **Convert jpg to pdf** utan OCR (använd Aspose PDF‑biblioteket för en ren bild‑PDF). +* **Extract text from jpg** till en `.txt`‑fil för indexering. +* **Combine multiple searchable PDFs** till ett enda dokument med Aspose PDF’s `PdfFileEditor`. + +Alla dessa bygger på samma grund du just har satt upp. + +--- + +### Snabb sammanfattning + +* Vi **created a searchable PDF** från en JPG med Aspose OCR för Java. +* Processen omfattade att ladda bilden, känna igen text och spara som en sökbar PDF. +* Du har nu ett återanvändbart mönster för **image to searchable PDF**, **recognize text from image**, **extract text from jpg**, och **convert jpg to pdf**. + +Ge det ett försök med dina egna dokument, justera språk‑inställningarna om det behövs, och låt OCR‑en göra det tunga arbetet åt dig. Happy coding! + +![Exempel på skapad sökbar PDF](placeholder.png){alt="Exempel på skapad sökbar PDF"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/swedish/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..16376a4e8 --- /dev/null +++ b/ocr/swedish/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,172 @@ +--- +category: general +date: 2026-02-19 +description: Lär dig hur du räta upp en bild och tar bort brus för OCR. Denna handledning + visar hur du känner igen text i en bild, korrigerar bildrotation och förbehandlar + bild‑OCR med Aspose OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: sv +og_description: Hur man räta upp en bild och tar bort brus så att du snabbt kan känna + igen text i bilden. Följ den här guiden för att korrigera bildrotation och förbehandla + bild‑OCR med Aspose. +og_title: Hur man räta upp en bild – Komplett OCR‑förbehandlingshandledning +tags: +- OCR +- Java +- Image Processing +title: Hur man räta upp bild — Steg‑för‑steg OCR‑förbehandlingsguide +url: /sv/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hur man deskew‑ar bild — Fullständig OCR‑förbehandlingshandledning + +Har du någonsin undrat **how to deskew image** filer innan du matar dem till en OCR‑motor? Kanske har du skannat en bunt kvitton och sidorna ser lite lutande ut, eller så är skanningen prickig med slumpmässiga punkter. Det är ett vanligt problem – sneda, brusiga bilder får textigenkänning att snubbla. + +Den goda nyheten? Du kan räta upp (correct image rotation) och ta bort brus (how to remove noise) på bara några rader Java med Aspose.OCR. I den här guiden går vi igenom hela flödet: från att ladda en brusig‑roterad PNG, applicera deskew + median denoise, hela vägen till **recognize text image** och skriva ut resultatet. I slutet har du ett återanvändbart kodstycke som du kan slänga in i vilket Java‑projekt som helst. + +## Vad du behöver + +- **Java 17** eller nyare (koden kompilerar med äldre versioner, men 17 är den optimala). +- **Aspose.OCR for Java** – du kan hämta den senaste JAR‑filen från Maven Central (`com.aspose:aspose-ocr`). +- En bildfil som både är roterad och brusig (t.ex. `noisy-rotated.png`). +- En enkel IDE (IntelliJ, Eclipse eller till och med VS Code). + +Inga avancerade byggverktyg behövs; ett enkelt `javac` + `java`‑körning fungerar bra. + +--- + +## Steg 1 – Skapa OCR‑motorinstans + +Det första du gör är att starta en `OcrEngine`. Tänk på den som hjärnan som senare kommer att läsa tecknen åt dig. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Pro tip:** Behåll motorn som en singleton om du bearbetar många bilder; den återanvänder interna buffertar och snabbar upp processen. + +## Steg 2 – Aktivera Deskew och Median‑denoise (Hur man tar bort brus) + +Nu instruerar vi motorn att **correct image rotation** och att **how to remove noise**. Båda filtren är valfria, men tillsammans förbättrar de noggrannheten avsevärt. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Varför median‑denoise? Det bevarar kanter (linjerna som definierar tecken) samtidigt som det tar bort isolerade pixlar – precis vad du behöver för ren OCR. + +## Steg 3 – Ladda bilden du vill bearbeta + +Här pekar vi motorn på filen som behöver rengöras. `ImageStream.fromFile` läser PNG‑filen till minnet. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Om din bild finns på en fjärrserver, mata bara in ett `InputStream` istället – Aspose hanterar det smidigt. + +## Steg 4 – Kör OCR och fånga den igenkända texten + +Med förbehandling aktiverad läser motorn nu den korrigerade bilden. Anropet `recognize()` returnerar ett `RecognitionResult` som innehåller den extraherade strängen. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +Du bör se ren, läsbar text i konsolen, även om den ursprungliga bilden var sned och kornig. + +## Steg 5 – Verifiera resultatet (Vad du kan förvänta dig) + +När allt fungerar skriver konsolen ut något liknande: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Om utskriften fortfarande innehåller förvrängda tecken, dubbelkolla: + +- Bildens upplösning (≥ 300 dpi är idealiskt). +- Att filvägen är korrekt. +- Om ytterligare filter (t.ex. `setContrastStretch`) kan hjälpa. + +--- + +## Valfritt: Visuell bekräftelse med ett exempel på bild + +Nedan är en liten förhandsgranskning av ett roterat, brusigt kvitto. Lägg märke till lutningen – vår kod kommer att räta upp den åt dig. + +![exempel på hur man deskew‑ar bild](deskew-demo.png "exempel på hur man deskew‑ar bild") + +*Alt‑text: hur man deskew‑ar bild – före och efter bearbetning.* + +--- + +## Vanliga frågor + +### Fungerar detta med PDF‑filer eller bara PNG/JPEG? +Aspose.OCR kan läsa PDF‑filer direkt; ersätt bara `ImageStream.fromFile` med `ImageStream.fromPdf`. Samma förbehandlingsflaggor gäller, så du får fortfarande **how to deskew image** och **how to remove noise**. + +### Vad händer om jag behöver behålla den ursprungliga orienteringen för senare steg? +Du kan klona bilden innan förbehandling: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Kan jag ändra deskew‑vinkeln manuellt? +Ja—`setDeskewAngle(double degrees)` låter dig åsidosätta den automatiska detekteringsalgoritmen. Användbart när auto‑detect misslyckas vid extrema rotationer. + +### Hur skiljer sig median‑denoise från Gaussian blur? +Medianfilter ersätter varje pixel med medianen av dess grannar, vilket bevarar kanter. Gaussian blur jämnar ut allt, vilket kan sudda ut teckenstreck – så median är det säkrare valet för OCR. + +--- + +## Avslutning + +I den här handledningen gick vi igenom **how to deskew image** filer, demonstrerade **how to remove noise**, och visade hur du **recognize text image** med Aspose OCR:s inbyggda förbehandling. Genom att aktivera `setDeskew(true)` och `setMedianDenoise(true)` korrigerar du automatiskt **correct image rotation** och rensar bort prickar, vilket förvandlar en rörig skanning till en ren textsträng. + +Känn dig fri att experimentera: prova olika denoise‑strategier, mata in PDF‑filer, eller kedja flera bilder i en loop. Mönstret – motor → förbehandling → igenkänning – gäller för alla scenarier och ger en solid grund för vilken OCR‑pipeline som helst. + +**Nästa steg** du kan utforska: + +- **Batch‑behandling** – iterera över en mapp med bilder och skriv varje resultat till en `.txt`‑fil. +- **Språkpaket** – ladda en specifik språkordbok för att öka noggrannheten för icke‑engelsk text. +- **Avancerade filter** – som `setContrastStretch` eller `setBinarization` för lågkontrastskanningar. + +Har du fler frågor? lämna en kommentar, och lycka till med kodandet! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/java/advanced-ocr-techniques/_index.md b/ocr/thai/java/advanced-ocr-techniques/_index.md index 39f6051c8..ff7ab2931 100644 --- a/ocr/thai/java/advanced-ocr-techniques/_index.md +++ b/ocr/thai/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,14 @@ Aspose.OCR สำหรับ Java เป็นตัวเปลี่ยนเ เสริมศักยภาพแอปพลิเคชัน Java ของคุณด้วย Aspose.OCR เพื่อการจดจำข้อความที่แม่นยำ บูรณาการได้ง่าย มีความแม่นยำสูง ### [การระบุอักขระที่อนุญาตใน Aspose.OCR](./specify-allowed-characters/) ปลดล็อกการแยกข้อความจากรูปภาพได้อย่างราบรื่นด้วย Aspose.OCR สำหรับ Java ปฏิบัติตามคำแนะนำทีละขั้นตอนของเราเพื่อการบูรณาการที่มีประสิทธิภาพ +### [วิธีเปิดใช้งาน GPU สำหรับ OCR ใน Java – คู่มือฉบับสมบูรณ์](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +เรียนรู้วิธีเปิดใช้ GPU เพื่อเพิ่มความเร็วของ OCR ใน Java ด้วย Aspose.OCR อย่างละเอียด +### [วิธีทำ OCR รูปภาพใน Java – โน้ตมือเขียนพร้อมการตรวจสอบการสะกด](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +เรียนรู้วิธี OCR รูปภาพของโน้ตมือเขียนใน Java พร้อมการตรวจสอบการสะกดเพื่อผลลัพธ์ที่แม่นยำ + {{< /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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/thai/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..c4fd0091e --- /dev/null +++ b/ocr/thai/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,207 @@ +--- +category: general +date: 2026-02-19 +description: วิธีเปิดใช้งาน GPU เพื่อการประมวลผล OCR อย่างรวดเร็ว เรียนรู้การโหลดภาพความละเอียดสูง + การจดจำภาพข้อความ และการดึงข้อความด้วย Aspose OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: th +og_description: วิธีเปิดใช้งาน GPU เพื่อการประมวลผล OCR ที่เร็วขึ้น คู่มือนี้จะแสดงวิธีโหลดภาพความละเอียดสูง, + จดจำข้อความในภาพ, และดึงข้อความด้วย Aspose OCR. +og_title: วิธีเปิดใช้งาน GPU สำหรับ OCR ใน Java – คู่มือครบถ้วน +tags: +- OCR +- Java +- GPU +- Aspose +title: วิธีเปิดใช้งาน GPU สำหรับ OCR ใน Java – คู่มือเต็ม +url: /th/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีเปิดใช้งาน GPU สำหรับ OCR ใน Java – คู่มือฉบับสมบูรณ์ + +เคยสงสัย **วิธีเปิดใช้งาน GPU** สำหรับ pipeline OCR ของคุณและลดเวลาการประมวลผลลงเป็นวินาทีหรือไม่? คุณไม่ได้อยู่คนเดียว ในโครงการที่มีภาพจำนวนมาก บ่อยครั้งขั้นตอนการสกัดข้อความที่ทำงานบน CPU จะเป็นคอขวด และการสลับไปใช้ GPU สามารถเปลี่ยนเกมได้อย่างมาก + +ในบทแนะนำนี้เราจะพาคุณผ่านการโหลด **ภาพความละเอียดสูง**, การตั้งค่า Aspose OCR ให้ทำงานบน GPU, และสุดท้าย **การจดจำภาพข้อความ** และ **การสกัดข้อความ** ด้วยเพียงไม่กี่บรรทัดของ Java. เมื่อเสร็จสิ้นคุณจะมีโปรแกรมพร้อมรันที่สาธิต **การเปิดใช้งานการประมวลผลด้วย GPU** ตั้งแต่ต้นจนจบ + +## สิ่งที่คุณต้องเตรียม + +- Java 17 หรือใหม่กว่า (โค้ดใช้ระบบโมดูล แต่ทำงานบน JDK เก่าได้ด้วยการปรับเล็กน้อย) +- Aspose OCR for Java 23.10 (หรือเวอร์ชันล่าสุด) – สามารถดึงพิกัด Maven จากเว็บไซต์ Aspose +- GPU NVIDIA ที่ติดตั้งไดรเวอร์ CUDA 12+ (หากไม่มีไลบรารีจะไม่สามารถเริ่มทำงานได้) +- ตัวอย่างภาพความละเอียดสูง (PNG หรือ JPEG) ที่คุณต้องการอ่านข้อความจาก + +เท่านี้แค่นั้น ไม่ต้องใช้บริการภายนอก ไม่ต้องใช้เครดิตคลาวด์ เพียงเครื่องของคุณและไดรเวอร์สแต็กที่เหมาะสม + +![GPU OCR workflow – how to enable GPU processing](gpu-ocr-workflow.png) + +*ข้อความแทนภาพ: แผนภาพแสดงวิธีเปิดใช้งาน GPU สำหรับการประมวลผล OCR ใน Java.* + +## การดำเนินการแบบขั้นตอนต่อขั้นตอน + +ด้านล่างเราจะแบ่งวิธีแก้เป็นส่วนย่อย ๆ แต่ละส่วนมีโค้ดสั้น ๆ คำอธิบาย **ทำไม** ขั้นตอนนั้นสำคัญ และเคล็ดลับปฏิบัติที่คุณอาจชื่นชอบในภายหลัง + +### วิธีเปิดใช้งาน GPU สำหรับ OCR – ขั้นตอน 1: ติดตั้ง Dependencies & ตรวจสอบ CUDA + +ก่อนที่โค้ด Java ใด ๆ จะทำงาน runtime ของ CUDA ต้องสามารถค้นพบได้บนระบบของคุณ บน Windows คุณสามารถตรวจสอบได้ด้วย: + +```bat +nvcc --version +``` + +บน Linux: + +```bash +nvidia-smi +``` + +หากคำสั่งแสดงเวอร์ชันของไดรเวอร์และรายละเอียดของ GPU คุณก็พร้อมแล้ว หากไม่แสดง ให้ไปที่เว็บไซต์ของ NVIDIA ดาวน์โหลดไดรเวอร์ที่เหมาะสมและติดตั้ง CUDA toolkit (ตรวจสอบให้เวอร์ชันตรงกับข้อกำหนดของ Aspose OCR – ปัจจุบันคือ 12.x) + +**เคล็ดลับ:** ควรอัปเดตไดรเวอร์ GPU อย่างสม่ำเสมอ แต่หลีกเลี่ยง “latest‑beta” เพราะบางครั้งอาจทำให้ความเข้ากันได้ของไบนารีกับไลบรารีเนทีฟของ Aspose แตกหัก + +### วิธีเปิดใช้งาน GPU สำหรับ OCR – ขั้นตอน 2: เพิ่ม Dependency ของ Aspose OCR ใน Maven + +เพิ่มโค้ดต่อไปนี้ลงใน `pom.xml` ของคุณ เพื่อดึงเอา core OCR engine และไบนารี GPU เนทีฟสำหรับ Windows, Linux, และ macOS + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +หากคุณใช้ Gradle ให้ใช้รูปแบบที่เทียบเท่า: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +หลังจากรีเฟรชโปรเจกต์แล้ว คลาส `OcrEngine`, `OcrDeviceType`, และ `ImageStream` จะพร้อมใช้งาน + +### วิธีเปิดใช้งาน GPU สำหรับ OCR – ขั้นตอน 3: สร้าง OCR Engine และเปิดใช้งาน GPU + +ตอนนี้เราจะบอก Aspose ให้ทำงานบน GPU. `OcrEngine` มีอ็อบเจกต์ `Device` ที่เราสามารถสลับประเภทอุปกรณ์ประมวลผลได้ + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**ทำไมขั้นตอนนี้สำคัญ:** การตั้งค่า `OcrDeviceType.GPU` จะสลับ engine การสรุปผลจากการทำงานบน CPU‑only ไปเป็น CUDA‑accelerated. การเรียก `setStreamCount` แบบเลือกจะช่วยควบคุมระดับการทำงานขนาน; สองสตรีมเป็นค่าเริ่มต้นที่ปลอดภัยสำหรับการ์ดผู้บริโภคส่วนใหญ่ + +### วิธีเปิดใช้งาน GPU สำหรับ OCR – ขั้นตอน 4: โหลดภาพความละเอียดสูง + +แหล่งข้อมูลความละเอียดสูงให้โมเดล OCR มีรายละเอียดภาพมากขึ้น ซึ่งแปลเป็นความแม่นยำที่สูงกว่า โดยเฉพาะสำหรับฟอนต์ขนาดเล็กหรือสคริปต์ซับซ้อน `ImageStream.fromFile` ช่วยอ่านไฟล์เข้าสู่รูปแบบที่ engine คาดหวัง + +หากคุณต้องการ **โหลดภาพความละเอียดสูง** จาก URL หรืออาร์เรย์ไบต์ในหน่วยความจำ สามารถใช้โค้ดต่อไปนี้: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**กรณีขอบ:** GPU บางรุ่นมีขนาดเทกซ์เจอร์สูงสุด (มัก 16384 × 16384). หากภาพของคุณใหญ่เกินกว่านั้น ให้พิจารณาลดขนาดลงเป็นขนาดที่ยังคงอ่านได้ (เช่น 3000 × 2000). OCR engine จะปรับขนาดอัตโนมัติหากคุณเรียก `ocrEngine.setResizeFactor(0.5)` ก่อนโหลด + +### วิธีเปิดใช้งาน GPU สำหรับ OCR – ขั้นตอน 5: จดจำภาพข้อความและสกัดข้อความ + +การเรียก `ocrEngine.recognize()` จะทำให้ neural network inference ทำงานบน GPU. เมธอดนี้คืนค่าเป็นอ็อบเจกต์ `OcrResult`; `getText()` จะดึงสตริงข้อความธรรมดาออกมา คุณยังสามารถดึง bounding boxes, คะแนนความเชื่อมั่น, หรือ JSON ดิบได้หากต้องการข้อมูลที่ละเอียดกว่า + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**ทำไมคุณอาจต้องการขั้นตอนนี้:** ขั้นตอน `recognize text image` คือจุดที่ GPU แสดงพลัง – ภาพขนาดใหญ่ที่อาจใช้เวลาหลายนาทีบน CPU จะประมวลผลในส่วนเล็กของเวลานั้น คะแนนความเชื่อมั่นช่วยกรองผลลัพธ์คุณภาพต่ำ, เป็นเทคนิคที่มีประโยชน์เมื่อคุณต่อไป **วิธีสกัดข้อความ** สำหรับการวิเคราะห์ต่อเนื่อง + +### เคล็ดลับพิเศษ & ปัญหาที่พบบ่อย + +| สถานการณ์ | วิธีแก้ | +|-----------|------------| +| **ข้อผิดพลาด Out‑of‑memory** บน GPU | ลด `setStreamCount` ลงเป็น 1, หรือทำการลดขนาดภาพก่อนส่งให้ engine | +| **อักขระไม่ถูกต้อง** แม้ภาพจะความละเอียดสูง | ตรวจสอบให้โมเดลภาษา (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) ตรงกับภาษาของข้อความ | +| **CUDA version mismatch** | ปรับเวอร์ชันของ CUDA toolkit ให้ตรงกับที่บรรจุใน Aspose OCR (ดู release notes) | +| **หลาย GPU** | ใช้ `ocrEngine.getDevice().setDeviceId(1)` เพื่อเลือก GPU ตัวที่สองหากตัวแรกกำลังทำงาน | +| **รันบนเซิร์ฟเวอร์ headless** | ไม่ต้องทำขั้นตอนเพิ่มเติม; ไดรเวอร์ GPU ทำงานได้โดยไม่มีหน้าจอ | + +## วิธีสกัดข้อความ – ตรวจสอบผลลัพธ์ + +เมื่อคุณรันคลาสด้านบน ควรเห็นผลลัพธ์ประมาณนี้: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +หากผลลัพธ์ดูเป็นอักขระแปลก ๆ ให้ตรวจสอบว่าภาพเป็นความละเอียดสูงจริงและไดรเวอร์ GPU ถูกติดตั้งอย่างถูกต้อง คุณยังสามารถเปิดการบันทึกแบบละเอียดได้: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +บันทึกจะแสดงว่า kernel CUDA เนทีฟถูกโหลดสำเร็จหรือไม่ + +## ขั้นตอนต่อไป & หัวข้อที่เกี่ยวข้อง + +- **การประมวลผลแบบแบตช์:** วาง `OcrEngine` ไว้ในลูปและป้อนรายการพาธของภาพ อย่าลืมใช้ instance เดียวกันเพื่อหลีกเลี่ยงค่าใช้จ่ายในการเริ่มต้น GPU ซ้ำหลายครั้ง +- **การตรวจจับภาษา:** Aspose OCR รองรับกว่า 30 ภาษา สลับด้วย `ocrEngine.setLanguage(OcrLanguage.FRENCH)` +- **การประมวลผลหลังการสกัด:** ใช้ regular expressions ทำความสะอาดสตริงที่สกัดได้ หรือส่งต่อไปยัง pipeline NLP ต่อไป +- **อุปกรณ์ทางเลือก:** หากคุณไม่มี GPU ที่รองรับ CUDA สามารถกลับไปใช้ `OcrDeviceType.CPU` ได้ โค้ดเดียวกันทำงาน; เพียงเปลี่ยนประเภทอุปกรณ์ +- **การวัดประสิทธิภาพ:** ใช้ `System.nanoTime()` ก่อนและหลัง `recognize()` เพื่อวัดความแตกต่างของเวลาและประเมินผลประโยชน์จาก **การเปิดใช้งานการประมวลผลด้วย GPU** + +--- + +### สรุป + +เราได้ครอบคลุม **วิธีเปิดใช้งาน GPU** สำหรับ Aspose OCR ใน Java ตั้งแต่การติดตั้งไดรเวอร์ที่เหมาะสม ไปจนถึงการโหลด **ภาพความละเอียดสูง**, **จดจำภาพข้อความ**, และสุดท้าย **วิธีสกัดข้อความ** จากผลลัพธ์ ตัวอย่างที่สมบูรณ์และรันได้ข้างต้นควรทำงานได้ทันทีบน NVIDIA GPU รุ่นใหม่ใดก็ได้ + +ลองใช้งาน ปรับขนาดภาพต่าง ๆ และสังเกตการเพิ่มขึ้นของอัตราการประมวลผล OCR ของคุณ หากเจออุปสรรคใด ๆ ให้กลับไปตรวจสอบส่วนเคล็ดลับหรือดู release notes ของ Aspose สำหรับคำแนะนำล่าสุดเกี่ยวกับ **การเปิดใช้งานการประมวลผลด้วย GPU** + +ขอให้เขียนโค้ดสนุกและ GPU ของคุณทำงานเย็น ๆ ขณะประมวลผลข้อความ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/thai/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..9bf96e259 --- /dev/null +++ b/ocr/thai/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,249 @@ +--- +category: general +date: 2026-02-19 +description: เรียนรู้วิธีทำ OCR รูปภาพของบันทึกมือเขียนใน Java ด้วย Aspose OCR รวมถึงการโหลดรูปภาพสำหรับ + OCR, อ่านบันทึกมือเขียนและแปลงข้อความจากรูปภาพมือเขียน +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: th +og_description: วิธีทำ OCR รูปภาพของบันทึกมือใน Java ด้วย Aspose คู่มือขั้นตอนต่อขั้นตอนในการโหลดรูปภาพเพื่อ + OCR อ่านบันทึกมือและแปลงข้อความจากรูปภาพที่เขียนด้วยมือ +og_title: วิธีทำ OCR รูปภาพใน Java – คู่มือบันทึกมือเขียน +tags: +- Java +- OCR +- Aspose +- Handwriting +title: วิธีทำ OCR รูปภาพใน Java – โน้ตมือเขียนพร้อมการตรวจสอบการสะกด +url: /th/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีทำ OCR รูปภาพใน Java – บันทึกมือเขียนพร้อมตรวจสอบการสะกด + +เคยสงสัย **how to OCR image** ที่มีรายการของใช้ในครัวหรือบันทึกการประชุมที่คุณเขียนเป็นลายมือหรือไม่? คุณไม่ได้เป็นคนเดียว ในหลายแอปพลิเคชันจริง ๆ นักพัฒนาต้องอ่านบันทึกมือเขียนและแปลงเป็นข้อความที่สามารถค้นหาได้—โดยไม่ต้องพิมพ์ใหม่ด้วยมือ + +ในบทเรียนนี้เราจะเดินผ่านตัวอย่างที่พร้อมรันเต็มรูปแบบที่แสดงให้คุณเห็นอย่างชัดเจน **how to OCR image** ด้วย Aspose OCR for Java, วิธี **load image for OCR**, และวิธี **read handwritten notes** พร้อมการแก้ไขการสะกดในตัว เมื่อจบคุณจะสามารถ **convert handwritten image text** ให้เป็นสตริงที่สะอาดพร้อมเก็บ, ทำดัชนี, หรือแสดงผลได้ + +## สิ่งที่คุณจะได้เรียนรู้ + +- ขั้นตอนที่แม่นยำในการตั้งค่า OCR engine ที่เข้าใจลายมือภาษาอังกฤษ +- วิธี **load image for OCR** จากดิสก์และส่งให้ engine +- ทำไมการเปิดใช้งาน spell‑checker ถึงสำคัญเมื่อจัดการกับลายมือที่รก +- วิธีจัดการกับกรณีขอบที่พบบ่อย เช่น รูปภาพความคมชัดต่ำหรือไม่มี language pack +- ตัวอย่างโค้ดเต็มที่สามารถคัดลอกไปวางใน IDE ของคุณและเห็นผลทันที + +> **Prerequisites**: Java 8+ ติดตั้ง, Maven หรือ Gradle สำหรับจัดการ dependency, และลิขสิทธิ์ Aspose OCR for Java (เวอร์ชันทดลองฟรีใช้ได้สำหรับการเรียน) ไม่จำเป็นต้องใช้ไลบรารีภายนอกอื่น + +--- + +## ขั้นตอนที่ 1: ตั้งค่าโปรเจกต์และเพิ่ม Aspose OCR Dependency + +สิ่งแรกที่ต้องทำ—โปรเจกต์ของคุณต้องมีไลบรารี Aspose OCR หากคุณใช้ Maven ให้เพิ่มส่วนนี้ลงใน `pom.xml` ของคุณ: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +หรือกับ Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Pro tip**: ตรวจสอบหมายเลขเวอร์ชัน; เวอร์ชันใหม่ ๆ จะปรับปรุงการจดจำลายมือและเพิ่มการสนับสนุนภาษา + +เมื่อ dependency ถูกดึงมาแล้ว คุณก็พร้อมที่จะ **load image for OCR** แล้ว + +## ขั้นตอนที่ 2: สร้างอินสแตนซ์ของ OCR Engine + +เพื่อ **how to OCR image** อย่างมีประสิทธิภาพ คุณต้องมีอ็อบเจ็กต์ `OcrEngine` อ็อบเจ็กต์นี้คือหัวใจของกระบวนการ—เก็บการตั้งค่าภาษา, ธงการตรวจสอบการสะกด, และภาพเอง + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +ทำไมเราต้องสร้าง engine ก่อน? เพราะ Aspose OCR ถูกออกแบบให้ใช้ซ้ำได้; คุณสามารถประมวลผลหลายภาพด้วยอินสแตนซ์เดียวโดยปรับการตั้งค่าระหว่างรันได้ตามต้องการ + +## ขั้นตอนที่ 3: เพิ่มการสนับสนุนภาษาอังกฤษและเปิดใช้งาน Spell Correction + +บันทึกมือเขียนมักเต็มไปด้วยการสะกดผิด, ตัวอักษรหาย, หรืออักษรย่อที่ไม่เป็นมาตรฐาน การเปิดใช้งาน spell checker จะให้ engine มีโอกาสทำความสะอาดผลลัพธ์ + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **ทำไมต้องเปิดใช้งาน spell correction?** +> หากไม่เปิดใช้งาน, ผลลัพธ์ OCR ดิบอาจออกมาเป็น “t0d@y” หรือ “c0ffee”. Spell checker จะทำให้คำเหล่านี้เป็นรูปแบบปกติ, ทำให้ข้อความสุดท้ายมีประโยชน์ต่อการประมวลผลต่อไป เช่น การทำดัชนีการค้นหา + +## ขั้นตอนที่ 4: โหลดภาพลายมือ + +ตอนนี้เราจะ **load image for OCR**. Aspose มีเมธอด `ImageStream.fromFile` ที่สะดวกซึ่งรับรูปแบบ raster ทั่วไป (PNG, JPEG, BMP) + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +หากภาพของคุณอยู่ในโฟลเดอร์ resources หรือได้รับเป็น byte array (เช่น จากการอัปโหลดเว็บ) คุณสามารถใช้ `ImageStream.fromBytes` แทน—เพียงเปลี่ยนบรรทัดข้างบนเป็น: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## ขั้นตอนที่ 5: ทำ OCR และดึงข้อความที่แก้ไขแล้ว + +เมื่อ engine ถูกตั้งค่าและโหลดภาพแล้ว การเรียก **how to OCR image** จริง ๆ คือบรรทัดเดียว: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +เมธอด `recognize()` จะคืนค่าอ็อบเจ็กต์ `OcrResult` ที่บรรจุไม่เพียงแต่ข้อความธรรมดา แต่ยังมีคะแนนความเชื่อมั่น, bounding box, และข้อมูลอื่น ๆ สำหรับกรณีส่วนใหญ่ การใช้ `getText()` เพียงอย่างเดียวก็เพียงพอ + +## ขั้นตอนที่ 6: แสดงผลลัพธ์ + +สุดท้าย เราพิมพ์สตริงที่ทำความสะอาดแล้วออกที่คอนโซล ในแอปพลิเคชันจริงคุณอาจเก็บลงฐานข้อมูล, ส่งต่อให้ search engine, หรือป้อนให้โมเดลภาษา + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### ผลลัพธ์ที่คาดหวัง + +สมมติว่าบันทึกลายมือเขียนว่า: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +คุณควรเห็นอะไรคล้าย ๆ นี้: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +แม้ว่าลายมือดั้งเดิมจะรก—เช่น “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”—spell‑checker มักจะแก้ให้เป็นประโยคที่อ่านได้ + +--- + +## Load Image for OCR – เคล็ดลับเพื่อความแม่นยำที่ดียิ่งขึ้น + +1. **Resolution matters** – ควรมีความละเอียดอย่างน้อย 300 dpi. ความละเอียดต่ำทำให้ engine พลาดเส้นสั้น ๆ +2. **Contrast is king** – หากพื้นหลังมีสี, แปลงภาพเป็น grayscale ก่อน +3. **Crop to content** – การตัดขอบที่ไม่จำเป็นลดสัญญาณรบกวนและเร่งการประมวลผล + +คุณสามารถทำการพรี‑โปรเซสภาพด้วยไลบรารีอย่าง OpenCV หรือแม้แต่ `BufferedImage` ของ Java ก่อนส่งให้ Aspose + +## Read Handwritten Notes: การจัดการ Edge Cases + +- **Low‑confidence words**: `ocrEngine.getResult().getWords()` คืนรายการที่แต่ละคำมีค่า confidence (0–100). คุณสามารถกรองคำที่ต่ำกว่าค่าที่กำหนดและขอให้ผู้ใช้ตรวจสอบด้วยตนเอง +- **Multiple languages**: หากต้อง **read handwritten notes** ทั้งภาษาอังกฤษและสเปน, ให้เพิ่มทั้งสองภาษา ก่อนเรียก `recognize()` +- **Large files**: สำหรับ PDF หรือ TIFF หลายหน้า, ให้วนลูปโดยตั้ง `ocrEngine.setImage(pageStream)` ภายในลูป + +## Convert Handwritten Image Text to Structured Data + +บ่อยครั้งคุณไม่ต้องการแค่สตริงดิบ; คุณอาจต้องสกัดวันที่, จำนวนเงิน, หรือรายการตรวจสอบ หลังจากได้ข้อความที่แก้ไขแล้ว, สามารถใช้ regular expression หรือไลบรารี NLP (เช่น Stanford CoreNLP) เพื่อแยกข้อมูลได้: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +ส่วนนี้แสดงให้เห็นว่าการแปลงจาก **convert handwritten image text** ไปเป็นข้อมูลที่นำไปใช้ได้ง่ายแค่ไหน + +## Common Pitfalls and How to Avoid Them + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Garbled output, many `?` characters | Image too dark or low‑contrast | Increase brightness or preprocess with histogram equalization | +| Missed words | Handwriting too cursive | Enable `ocrEngine.getSettings().setEnableCursive(true)` (if supported) | +| Spell checker introduces wrong words | Language model mismatch | Add a custom dictionary via `ocrEngine.getSpellChecker().addUserWords(...)` | +| Out‑of‑memory error on large images | Image size > 10 MB | Downscale before loading, or process in tiles | + +## Full Working Example (Copy‑Paste Ready) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Note**: หากคุณรันโค้ดจาก IDE, ตรวจสอบให้แน่ใจว่าโฟลเดอร์ `YOUR_DIRECTORY` อยู่ใน classpath หรือใช้เส้นทางแบบ absolute + +--- + +## สรุป + +เราได้ครอบคลุม **how to OCR image** ใน Java ตั้งแต่ต้นจนจบ, แสดงวิธี **load image for OCR**, **read handwritten notes**, เปิดใช้งาน spell correction, และสุดท้าย **convert handwritten image text** ให้เป็นสตริงที่สะอาด วิธีนี้ง่ายต่อการทำตาม แต่ก็มีพลังพอสำหรับแอประดับ production + +พร้อมสำหรับความท้าทายต่อไปหรือยัง? ลองทดลองกับ PDF หลายหน้า, เพิ่มพจนานุกรมเฉพาะอุตสาหกรรม, หรือส่งผลลัพธ์ OCR ไปยังโมเดล machine‑learning เพื่อวิเคราะห์ความรู้สึก ความเป็นไปได้ไม่มีที่สิ้นสุดเมื่อคุณผสานความแม่นยำของ Aspose OCR กับความยืดหยุ่นของ Java + +มีคำถามเกี่ยวกับ edge case ใด ๆ หรืออยากแชร์วิธีที่คุณรวมโค้ดนี้เข้าแอปมือถือ? แสดงความคิดเห็นด้านล่าง—ขอให้สนุกกับการเขียนโค้ด! + +--- + +![ตัวอย่างการทำ OCR รูปภาพ](/images/ocr-handwritten-example.png "ตัวอย่างการทำ OCR รูปภาพของบันทึกมือเขียน") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/java/ocr-basics/_index.md b/ocr/thai/java/ocr-basics/_index.md index 48626dab5..5eef763d1 100644 --- a/ocr/thai/java/ocr-basics/_index.md +++ b/ocr/thai/java/ocr-basics/_index.md @@ -95,11 +95,12 @@ A: มากกว่า 30 ภาษา รวมถึง English, Spanish, Ch ## OCR Basics Tutorials ### [How to Set License for Aspose.OCR in Java](./set-license/) -ปลดล็อกศักยภาพของ Aspose.OCR for Java ด้วยคู่มือขั้นตอนนี้ ตั้งค่าลิขสิทธิ์อย่างง่ายและเพิ่มประสิทธิภาพ OCR ของคุณ ### [Calculating Skew Angle in Aspose.OCR for Java](./calculate-skew-angle/) -เพิ่มความแม่นยำของ OCR ด้วย Aspose.OCR for Java เรียนรู้การคำนวณมุมเอียงแบบละเอียด ปรับปรุงการประมวลผลเอกสารได้อย่างง่ายดาย ### [Getting Rectangles with Text Areas in Aspose.OCR](./get-rectangles-with-text-areas/) -ปลดล็อกพลังของ Aspose.OCR for Java เรียนรู้วิธีสกัดข้อความจากรูปภาพอย่างไร้รอยต่อในคู่มือขั้นตอนนี้ ดาวน์โหลดตอนนี้เพื่อการจดจำข้อความที่มีประสิทธิภาพ +### [จดจำข้อความจาก PNG ใน Java – คู่มือ Aspose OCR](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +### [สกัดข้อความจากภาพ – แปลง PNG เป็นข้อความใน Java](./extract-text-from-image-convert-png-to-text-in-java/) +### [สกัดข้อความจากภาพใน Java – ตัวอย่าง OCR ครบถ้วน](./extract-text-from-image-in-java-complete-ocr-example/) +### [สกัดข้อความจากภาพด้วย Aspose OCR – คู่มือ Java อย่างรวดเร็ว](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) --- @@ -112,4 +113,4 @@ A: มากกว่า 30 ภาษา รวมถึง English, Spanish, Ch {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/thai/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..bcabfecfb --- /dev/null +++ b/ocr/thai/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,210 @@ +--- +category: general +date: 2026-02-19 +description: ดึงข้อความจากภาพด้วย Aspose OCR Java – เรียนรู้วิธีแปลง PNG เป็นข้อความ, + โหลดภาพสำหรับ OCR, และทำตามบทเรียน Java OCR. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: th +og_description: ดึงข้อความจากภาพด้วย Aspose OCR Java. ทำตามบทเรียน OCR ภาษา Java ทีละขั้นตอนนี้เพื่อแปลง + PNG เป็นข้อความและโหลดภาพสำหรับ OCR. +og_title: ดึงข้อความจากภาพ – คู่มือ OCR ด้วย Java +tags: +- OCR +- Java +- Aspose +- Image Processing +title: ดึงข้อความจากภาพ – แปลง PNG เป็นข้อความใน Java +url: /th/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# แยกข้อความจากรูปภาพ – Java OCR Tutorial + +เคยต้องการ **extract text from image** แต่ไม่แน่ใจว่าห้องสมุดใดจะทำได้โดยไม่ต้องผ่านขั้นตอนยุ่งยากหรือไม่? คุณไม่ได้เป็นคนเดียว—นักพัฒนามักถามว่า “How can I convert a PNG to text in Java?” ข่าวดีคือ Aspose OCR ทำให้กระบวนการทั้งหมดรู้สึกง่ายเหมือนเดินในสวนสาธารณะ ในคู่มือนี้เราจะพาเดินผ่าน **java ocr tutorial** ฉบับเต็ม แสดงวิธี **load image for OCR** และได้ผลลัพธ์เป็นข้อความที่สะอาดและสามารถค้นหาได้ + +เราจะครอบคลุมทุกอย่างตั้งแต่การตั้งค่าเอนจินจนถึงการจัดการเนื้อหาหลายภาษา ดังนั้นเมื่อจบคุณจะสามารถ **extract text from image** ไฟล์ใดก็ได้ ไม่ว่าจะเป็นขนาด รูปแบบ หรือภาษาใด ๆ ไม่ต้องใช้บริการภายนอก ไม่ต้องใช้ API keys—เพียง JAR เดียวและไม่กี่บรรทัดของโค้ด + +## สิ่งที่คุณต้องการ + +- JDK 8 หรือใหม่กว่า (โค้ดทำงานบน JDK 11+ ด้วย) +- Maven หรือ Gradle เพื่อดึงไลบรารี Aspose OCR หรือคุณสามารถดาวน์โหลด JAR ด้วยตนเองจากเว็บไซต์ Aspose +- รูป PNG ที่มีข้อความที่อ่านได้ (ในตัวอย่างของเราจะใช้ `khmer-sign.png`) +- IDE หรือโปรแกรมแก้ไขข้อความที่คุณถนัด—IntelliJ IDEA, Eclipse, VS Code, ใดก็ได้ + +เท่านี้เอง ไม่ต้องใช้เฟรมเวิร์กหนัก ๆ ไม่ต้องใช้ข้อมูลรับรองคลาวด์ พร้อมหรือยัง? มาเริ่มแยกข้อความจากไฟล์รูปภาพกันเลย + +## ขั้นตอนที่ 1: เพิ่ม Aspose OCR ไปยังโปรเจกต์ของคุณ + +สิ่งแรกที่ต้องทำ—คุณต้องมี OCR engine อยู่ใน classpath หากคุณใช้ Maven ให้เพิ่ม dependency นี้ลงใน `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +หรือกับ Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +หากคุณชอบวิธีแบบแมนนวล ให้ดาวน์โหลด JAR จากหน้าดาวน์โหลดของ Aspose แล้ววางลงในโฟลเดอร์ `libs` ของโปรเจกต์ของคุณ จากนั้นเพิ่มลงใน build path + +> **เคล็ดลับ:** ควรเลือกเวอร์ชันที่เสถียรล่าสุดเสมอ; เวอร์ชันเก่าอาจขาดแพ็คภาษา หรือการแก้บั๊ก + +## ขั้นตอนที่ 2: สร้างอินสแตนซ์ของ OCR Engine + +เมื่อไลบรารีพร้อมใช้งาน เราสามารถสร้าง `OcrEngine` ได้ คิดว่าเอนจินเป็นสมองที่อ่านพิกเซลและแปลงเป็นอักขระ + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +ทำไมเราต้องสร้างเอนจินใหม่ทุกครั้ง? เอนจินเก็บบัฟเฟอร์ภายในและข้อมูลภาษา; การเริ่มต้นใหม่ทำให้ผลลัพธ์เป็นแบบ deterministic โดยเฉพาะเมื่อคุณสลับภาษาภายหลัง + +## ขั้นตอนที่ 3: เปิดใช้งานภาษาที่ต้องการ (ไม่บังคับแต่แนะนำ) + +Aspose OCR มาพร้อมกับหลายสิบแพ็คภาษา หากคุณรู้ภาษาของภาพต้นฉบับ ให้เปิดใช้งานอย่างชัดเจน; จะทำให้การจดจำเร็วขึ้นและความแม่นยำดีขึ้น ในตัวอย่างของเราจะเปิดใช้งาน Khmer (`khm`) แต่คุณสามารถเปลี่ยนเป็น `ENG` สำหรับอังกฤษ, `CHN` สำหรับจีน ฯลฯ + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **ทำไมเรื่องนี้สำคัญ:** เมื่อคุณ **load image for OCR** เอนจินจะค้นหาเฉพาะพจนานุกรมภาษาที่เปิดใช้งาน การเปิดทุกภาษาอาจทำให้ช้าลงและเพิ่ม false positives + +## ขั้นตอนที่ 4: โหลดภาพสำหรับ OCR – แปลง PNG เป็นข้อความ + +นี่คือขั้นตอนที่ **load image for OCR** เกิดขึ้น Aspose มี helper `ImageStream.fromFile` ที่สะดวกซึ่งทำให้การ I/O ระดับต่ำเป็นนามธรรม + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +หากภาพของคุณอยู่ในรูปแบบอื่น (JPEG, BMP, TIFF) วิธีเดียวกันก็ทำงาน—Aspose จะตรวจจับรูปแบบโดยอัตโนมัติ เพียงตรวจสอบว่าเส้นทางไฟล์ถูกต้อง; มิฉะนั้นคุณจะเจอ `FileNotFoundException` + +## ขั้นตอนที่ 5: รันกระบวนการ OCR และแปลง PNG เป็นข้อความ + +เมื่อเอนจินพร้อมและโหลดภาพแล้ว การจดจำจริงเป็นการเรียกเมธอดเดียว ผลลัพธ์เป็นอ็อบเจ็กต์ที่ให้สตริงดิบและคะแนนความเชื่อมั่น + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +เท่านี้—คุณเพิ่ง **convert PNG to text** แล้ว สตริงที่คืนอาจมีการขึ้นบรรทัดใหม่และช่องว่างตามที่เอนจินเห็น คุณสามารถทำ post‑process ด้วย `trim()`, `replaceAll("\\s+", " ")` หรือการทำความสะอาดอื่น ๆ ที่ต้องการ + +## ขั้นตอนที่ 6: แสดงผลลัพธ์ (หรือบันทึกไว้) + +เพื่อการตรวจสอบอย่างรวดเร็ว ให้พิมพ์ผลลัพธ์ลงคอนโซล ในแอปพลิเคชันจริงคุณอาจเขียนลงไฟล์ ฐานข้อมูล หรือส่งต่อให้บริการอื่น + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**ผลลัพธ์ที่คาดหวัง** (สำหรับสัญลักษณ์ Khmer ที่ให้มา) อาจมีลักษณะดังนี้: + +``` +សួស្តី +Welcome +``` + +หากผลลัพธ์เป็นอักขระเสีย ให้ตรวจสอบว่าคุณเปิดใช้งานภาษาที่ถูกต้องในขั้นตอนที่ 3 และภาพไม่เบลอเกินไป การเพิ่มความละเอียดของภาพ (เช่น สแกนที่ 300 dpi) มักช่วยได้ + +## ตัวอย่างการทำงานเต็มรูปแบบ + +เมื่อรวมทุกส่วนเข้าด้วยกัน นี่คือโปรแกรมที่ทำงานได้เอง คุณสามารถคัดลอก‑วางลงใน `ExtractTextExample.java` แล้วรันได้: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +รันโปรแกรมด้วย: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +หรือ หากคุณใช้ Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +คุณควรเห็นข้อความที่แยกได้พิมพ์ลงคอนโซล ยืนยันว่าคุณได้ **extract text from image** สำเร็จด้วย Aspose OCR + +## ข้อผิดพลาดทั่วไป & วิธีแก้ + +| อาการ | สาเหตุที่เป็นไปได้ | วิธีแก้ | +|---------|--------------|-----| +| คืนสตริงว่าง | ไม่มีการเปิดใช้งานภาษา หรือรหัสภาษาผิด | เพิ่ม `OcrLanguage` ที่เหมาะสม (เช่น `ENG` สำหรับภาษาอังกฤษ). | +| อักขระเสีย | ความละเอียดภาพต่ำเกินไปหรือพื้นหลังมีเสียงรบกวน | ใช้แหล่งที่มาที่ความละเอียดสูงขึ้น หรือทำการประมวลผลล่วงหน้าด้วยฟิลเตอร์เพิ่มความคม | +| `OutOfMemoryError` | ภาพขนาดใหญ่มากถูกโหลดเต็มขนาด | ลดขนาดภาพก่อนส่งให้เอนจิน (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | เส้นทางไม่ถูกต้อง | ตรวจสอบเส้นทางแบบ absolute หรือ relative; ใช้ `Paths.get(...).toAbsolutePath()`. | + +> **จำไว้:** OCR เป็นกระบวนการเชิงความน่าจะเป็น แม้จะตั้งค่าที่สมบูรณ์แบบแล้ว คุณอาจต้องแก้ไขอักขระบางตัวด้วยตนเอง โดยเฉพาะสคริปต์ที่เป็นลายมือ + +## การต่อยอดบทเรียน – ขั้นตอนต่อไป + +- **Batch processing:** วนลูปผ่านไดเรกทอรีของไฟล์ PNG เรียกใช้ตรรกะเดียวกันสำหรับแต่ละภาพ. +- **PDF output:** ใช้ Aspose PDF เพื่อฝังข้อความที่แยกได้กลับเข้าไปใน PDF ที่สามารถค้นหาได้. +- **Language detection:** เรียก `ocrEngine.detectLanguage()` ก่อนตั้งค่าภาษาเพื่อให้เอนจินทายโดยอัตโนมัติ. +- **Cloud integration:** หากต้องการขยายขนาด ให้ห่อโค้ดใน REST endpoint แล้วให้ micro‑services เรียกใช้. + +หัวข้อทั้งหมดนี้ต่อยอดจาก **java ocr tutorial** ที่เราเพิ่งทำเสร็จ และแสดงให้เห็นว่า Aspose OCR API มีความหลากหลายแค่ไหน + +## สรุป + +เราได้เดินผ่าน **java ocr tutorial** ฉบับเต็มที่ทำให้คุณสามารถ **extract text from image** ไฟล์, **convert PNG to text**, และ **load image for OCR** อย่างถูกต้องด้วย Aspose OCR ขั้นตอนง่าย ๆ: เพิ่มไลบรารี, สร้างเอนจิน, เปิดใช้งานภาษาที่ถูกต้อง, โหลด PNG, รัน `recognize()`, และจัดการผลลัพธ์ ด้วยพื้นฐานนี้คุณสามารถอัตโนมัติการกรอกข้อมูล, สร้างคลังข้อมูลที่ค้นหาได้, หรือขับเคลื่อนแอปพลิเคชันใด ๆ ที่ต้องการข้อความที่เครื่องอ่านได้จากรูปภาพ + +ลองใช้กับภาพของคุณเอง—อาจเป็นภาพหน้าจอของใบเสร็จหรือสัญญาที่สแกน ปรับการตั้งค่าภาษา ทดลองกับความละเอียด แล้วคุณจะเห็นว่าการแก้ปัญหานี้ยืดหยุ่นแค่ไหน หากเจอปัญหา ให้กลับไปดูตารางข้อผิดพลาดหรือดูเอกสารอย่างเป็นทางการของ Aspose; มีรายละเอียดครบถ้วนและอัปเดตอยู่เสมอ + +ขอให้เขียนโค้ดอย่างสนุกสนาน และขอให้โปรเจกต์ต่อไปของคุณเต็มไปด้วยข้อความที่สะอาดและค้นหาได้! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/thai/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..51fcda31a --- /dev/null +++ b/ocr/thai/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,147 @@ +--- +category: general +date: 2026-02-19 +description: ดึงข้อความจากภาพโดยใช้ Java OCR. เรียนรู้ตัวอย่าง Java OCR ที่โหลดภาพเพื่อทำ + OCR และดึงข้อความจากไฟล์ใบแจ้งหนี้ในไม่กี่ขั้นตอน. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: th +og_description: ดึงข้อความจากภาพโดยใช้ Java OCR คู่มือนี้แสดงวิธีโหลดภาพสำหรับ OCR + และดึงข้อความจากใบแจ้งหนี้ด้วยตัวอย่าง Java OCR อย่างง่าย. +og_title: สกัดข้อความจากภาพใน Java – ตัวอย่าง OCR ครบถ้วน +tags: +- OCR +- Java +- Aspose +- Image Processing +title: ดึงข้อความจากภาพใน Java – ตัวอย่าง OCR ครบวงจร +url: /th/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# ดึงข้อความจากรูปภาพใน Java – ตัวอย่าง OCR ฉบับสมบูรณ์ + +เคยต้องการ **extract text from image** แต่ไม่แน่ใจว่าจะเลือกไลบรารีใด? คุณไม่ได้อยู่คนเดียว—นักพัฒนาหลายคนเจออุปสรรคนี้เมื่อต้องทำระบบอัตโนมัติการประมวลผลใบแจ้งหนี้หรือสร้างคลังข้อมูลที่สามารถค้นหาได้ ข่าวดีคือ? ด้วยไม่กี่บรรทัดของ Java คุณสามารถโหลดรูปภาพสำหรับ OCR, กำหนด region of interest, และดึงข้อความที่ต้องการได้อย่างแม่นยำ. + +ในบทแนะนำนี้ เราจะพาไปผ่าน **java ocr example** ที่แสดงอย่างชัดเจนว่าอย่างไรจะ **load image for OCR**, ตั้งค่า ROI, และ **extract text from invoice** ด้วย Aspose.OCR. เมื่อเสร็จคุณจะได้โปรแกรมที่สามารถรันได้และนำไปใส่ในโปรเจค Java ใดก็ได้. + +## สิ่งที่คุณจะได้เรียนรู้ + +- วิธีสร้างอินสแตนซ์ `OcrEngine` และเหตุผลที่สำคัญ +- วิธีที่ถูกต้องในการ **load image for OCR** ด้วย `ImageStream` ของ Aspose +- การตั้งค่า **region of interest (ROI)** เพื่อให้คุณประมวลผลเฉพาะส่วนของรูปที่มีจำนวนเงินในใบแจ้งหนี้ +- การดึงข้อความที่ถูกจดจำและพิมพ์ออกไปยังคอนโซล +- ข้อผิดพลาดทั่วไป (เช่น พิกัดสี่เหลี่ยมไม่ถูกต้อง) และวิธีแก้ไขอย่างรวดเร็ว + +**ข้อกำหนดเบื้องต้น** + +- ติดตั้ง Java 8 หรือใหม่กว่า +- Maven หรือ Gradle เพื่อดึงไลบรารี Aspose.OCR (`com.aspose:aspose-ocr`) +- ตัวอย่างรูปใบแจ้งหนี้ (`invoice.png`) ที่วางไว้ในไดเรกทอรีที่รู้จัก + +พร้อมหรือยัง? ดี—มาเริ่มกันเลย. + +![ดึงข้อความจากรูปภาพด้วย Java OCR](/images/extract-text-from-image-java.png "ตัวอย่างการดึงข้อความจากรูปภาพ") + +## ดึงข้อความจากรูปภาพ – ตัวอย่าง Java OCR ทีละขั้นตอน + +ด้านล่างเป็นซอร์สโค้ดเต็ม คุณสามารถคัดลอก‑วางลงในไฟล์ `RoiOcrExample.java` และรันโดยตรงได้. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### ทำไมแต่ละขั้นตอนถึงสำคัญ + +1. **Creating the OCR engine** – หากไม่มี engine จะไม่มีบริบทสำหรับการประมวลผลภาพ วัตถุนี้ยังช่วยให้คุณปรับ language packs ภายหลังได้หากต้องการสนับสนุนหลายภาษา +2. **Loading the image** – `ImageStream.fromFile` ทำให้ไม่ต้องกังวลเกี่ยวกับรูปแบบไฟล์, รับประกันว่า engine จะอ่านไบต์ได้อย่างถูกต้อง หากข้ามขั้นตอนนี้จะเกิด `NullPointerException` +3. **Setting the ROI** – การประมวลผลทั้งหน้าอาจเสียเปล่า โดยการจำกัดสี่เหลี่ยมให้ตรงกับพื้นที่รวมยอดใบแจ้งหนี้ จะทำให้การจดจำเร็วขึ้นและลดสัญญาณรบกวน +4. **Calling `recognize()`** – นี่คือจุดที่เกิดการทำงานของเวทมนตร์ วิธีนี้รันอัลกอริทึม OCR บน ROI และสร้างอ็อบเจ็กต์ผลลัพธ์ +5. **Printing the output** – ในโครงการจริงคุณอาจเก็บข้อความลงฐานข้อมูล, แต่ `System.out.println` เหมาะสำหรับการสาธิตอย่างรวดเร็ว + +## โหลดรูปภาพสำหรับ OCR + +หากคุณสงสัยว่าพาธต้องเป็นแบบเต็มหรือสัมพันธ์ คำตอบคือทั้งสองแบบทำงานได้—แค่ตรวจสอบให้แน่ใจว่าโปรเซส Java สามารถอ่านไฟล์ได้ บน Windows ต้องหนีอักขระ backslash (`C:\\images\\invoice.png`) หรือใช้ slash ปกติ (`C:/images/invoice.png`). + +**Pro tip:** หากคุณประมวลผลใบแจ้งหนี้หลายใบในลูป ให้ใช้ `OcrEngine` อินสแตนซ์เดียวกันซ้ำ; มันจะเก็บแคชทรัพยากรภายในและเพิ่มประสิทธิภาพการทำงาน + +## กำหนด Region of Interest (ROI) + +การเลือกสี่เหลี่ยมที่เหมาะสมอาจต้องลองและผิดพลาดบ้าง วิธีที่สะดวกในการหาพิกัดคือเปิดรูปในโปรแกรมแก้ไขกราฟิกใดก็ได้ (เช่น GIMP หรือ Paint.NET) แล้ววางเมาส์เหนือพื้นที่—คุณจะเห็นค่า X/Y ในแถบสถานะ. + +กรณีพิเศษ: ใบแจ้งหนี้บางฉบับมีเลย์เอาต์ที่เปลี่ยนแปลงได้ ในสถานการณ์นั้นคุณอาจทำการสแกนล่วงหน้าอย่างรวดเร็วบนรูปทั้งหมด, ค้นหาคำสำคัญเช่น “Total:” ด้วย regex, แล้วปรับ ROI อย่างไดนามิก + +## ทำ OCR และดึงข้อความ + +การเรียก `recognize()` เป็นแบบ synchronous—เธรดของคุณจะบล็อกจนกว่า engine จะทำงานเสร็จ สำหรับชุดข้อมูลขนาดใหญ่คุณอาจต้องสร้าง thread pool เพื่อประมวลผลรูปภาพพร้อมกัน เพียงจำไว้ว่าทุกเธรดต้องมี `OcrEngine` อินสแตนซ์ของตนเอง; ไม่ปลอดภัยต่อการใช้หลายเธรดพร้อมกัน + +## รันและตรวจสอบผลลัพธ์ + +คอมไพล์และรัน: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +คุณควรเห็นผลลัพธ์ประมาณ: + +``` +ROI text: $1,254.00 +``` + +หากผลลัพธ์ดูเป็นอักขระแปลก ๆ ให้ตรวจสอบพิกัด ROI อีกครั้งและตรวจสอบว่าคุณภาพรูปภาพสูง (300 dpi หรือมากกว่าดีที่สุด). + +### ข้อผิดพลาดทั่วไป & วิธีแก้ + +| อาการ | สาเหตุที่เป็นไปได้ | วิธีแก้ | +|---------|--------------|-----| +| สตริงว่าง | ROI อยู่นอกขอบเขตของรูปภาพ | ตรวจสอบค่าสี่เหลี่ยมเทียบกับขนาดของรูปภาพ | +| คำที่สะกดผิด | ความละเอียดต่ำ | ใช้แหล่งที่มาความละเอียดสูงขึ้นหรือทำการประมวลผลภาพล่วงหน้า (เช่น การทำไบนารี) | +| `java.lang.NoClassDefFoundError` | ไม่มีไฟล์ JAR ของ Aspose ใน classpath | เพิ่ม `aspose-ocr.jar` ไปยัง `-cp` หรือใช้การจัดการ dependency ของ Maven/Gradle | + +## สรุป + +ตอนนี้คุณรู้วิธี **extract text from image** ใน Java ด้วย **java ocr example** ที่กระชับแล้ว การโหลดรูปภาพอย่างถูกต้อง, กำหนด ROI ที่โฟกัส, และเรียก `recognize()` ทำให้คุณสามารถ **extract text from invoice** ได้อย่างเชื่อถือและส่งข้อมูลนั้นไปยังระบบต่อไปได้ + +ต่อไปทำอะไรดี? ลองเปลี่ยน ROI เพื่อดึงฟิลด์ต่าง ๆ (วันที่, ชื่อผู้ขาย), ทดลองใช้ language packs สำหรับใบแจ้งหนี้หลายภาษา, หรือรวมขั้นตอน OCR เข้าใน Spring Boot microservice. รูปแบบเดียวกันนี้ใช้ได้กับใบเสร็จ, หนังสือเดินทาง, หรือเอกสารใด ๆ ที่ต้องการการดึงข้อความที่แม่นยำ + +หากคุณมีคำถามเกี่ยวกับการขยายโซลูชันนี้หรือการจัดการสแกนที่มีสัญญาณรบกวน, แสดงความคิดเห็นด้านล่าง—ขอให้เขียนโค้ดอย่างสนุก! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/thai/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..1df5554a4 --- /dev/null +++ b/ocr/thai/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-02-19 +description: ดึงข้อความจากภาพใน Java ด้วย Aspose OCR. เรียนรู้วิธีจดจำข้อความจากไฟล์ + PNG, แปลงภาพเป็นสตริง, และอ่านข้อความจากการสแกนในไม่กี่ขั้นตอน. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: th +og_description: ดึงข้อความจากภาพได้อย่างรวดเร็ว บทเรียนนี้แสดงวิธีการจดจำข้อความจากไฟล์ + PNG, แปลงภาพเป็นสตริง, และอ่านข้อความจากการสแกนโดยใช้ Aspose OCR. +og_title: ดึงข้อความจากภาพด้วย Aspose OCR – คู่มือ Java +tags: +- Java +- OCR +- Aspose +title: ดึงข้อความจากภาพด้วย Aspose OCR – คู่มือ Java อย่างรวดเร็ว +url: /th/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# ดึงข้อความจากรูปภาพ – คู่มือ Java ฉบับสมบูรณ์ + +เคยต้อง **ดึงข้อความจากรูปภาพ** แต่ไม่แน่ใจว่าจะใช้ไลบรารีไหน? บางทีคุณอาจมีใบเสร็จสแกนเป็นไฟล์ PNG และต้องการข้อความเป็นสตริงธรรมดาเพื่อทำการประมวลผลต่อไป จากประสบการณ์ของผม ไลบรารี Aspose OCR ทำให้การทำงานนี้เป็นเรื่องง่าย โดยเฉพาะเมื่อคุณทำงานกับ Java + +ในคู่มือนี้เราจะพาคุณผ่านทุกขั้นตอนที่ต้องรู้: ตั้งค่า dependency ของ Aspose OCR, โหลดไฟล์ PNG, **จดจำข้อความจาก png**, จนถึงการแปลงผลลัพธ์เป็น `String` ของ Java ที่ใช้งานได้ เมื่ออ่านจบคุณจะสามารถ **แปลงรูปภาพเป็นสตริง** ได้และยังเห็นวิธี **อ่านข้อความจากสแกน** ไฟล์โดยไม่ต้องลำบาก + +## สิ่งที่คุณจะได้เรียนรู้ + +- วิธีเพิ่ม Aspose OCR ลงในโปรเจกต์ Maven หรือ Gradle +- โค้ดที่จำเป็นเพื่อ **ดึงข้อความจากรูปภาพ** ด้วยการเรียกเมธอดเดียว +- ทำไมคลาส `ImageStream` จึงเป็นวิธีที่แนะนำในการส่งข้อมูลเข้าเอนจิน +- เคล็ดลับการจัดการสแกนขนาดใหญ่, PDF หลายหน้า, และข้อผิดพลาดทั่วไป + +ไม่จำเป็นต้องมีประสบการณ์ OCR มาก่อน เพียงแค่เข้าใจพื้นฐาน Java และมีไฟล์ PNG ที่ต้องการประมวลผล + +## ข้อกำหนดเบื้องต้น + +| ความต้องการ | เหตุผล | +|-------------|--------| +| Java 8 หรือใหม่กว่า | Aspose OCR รองรับ Java 8+ | +| Maven หรือ Gradle (ไม่บังคับ) | ช่วยจัดการ dependency ได้ง่าย | +| ภาพ PNG (เช่น `quick.png`) | แหล่งข้อมูลที่เราจะทำ OCR | +| การเชื่อมต่ออินเทอร์เน็ต (ครั้งแรก) | ไลบรารีอาจดาวน์โหลด language pack โดยอัตโนมัติ | + +หากคุณมี IDE ของ Java เช่น IntelliJ IDEA หรือ Eclipse อยู่แล้วก็พร้อมใช้งานได้เลย + +--- + +## ขั้นตอนที่ 1: ตั้งค่า Aspose OCR ในโปรเจกต์ของคุณ + +### Maven + +เพิ่ม dependency ต่อไปนี้ในไฟล์ `pom.xml` ของคุณ: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro tip:** หากคุณใช้พร็อกซีขององค์กร อย่าลืมให้ Maven/Gradle สามารถเข้าถึง `repo.maven.apache.org` ได้ มิฉะนั้นการสร้างจะล้มเหลวก่อนที่คุณจะเขียนโค้ดบรรทัดแรก + +--- + +## ขั้นตอนที่ 2: โหลดภาพ PNG + +คลาส `ImageStream` จะทำหน้าที่ซ่อนรายละเอียดของระบบไฟล์และทำงานกับสตรีม, URL หรืออาร์เรย์ไบต์ นี่คือตัวอย่างการโหลด PNG จากเครื่องของคุณ: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **ทำไมเรื่องนี้สำคัญ:** การใช้ `ImageStream.fromFile` รับประกันว่าเอนจิน OCR จะได้รับภาพในรูปแบบที่มันเข้าใจเต็มที่ ซึ่งช่วยเพิ่มความแม่นยำของการจดจำเมื่อเทียบกับการส่งอาร์เรย์ไบต์ดิบ + +--- + +## ขั้นตอนที่ 3: จดจำข้อความจาก PNG + +Aspose OCR มีเมธอดสเตติกเดียวที่ทำงานหนักทั้งหมดคือ `OcrEngine.recognize` ซึ่งจะคืนค่าเป็น `String` ของ Java ซึ่งตรงกับสิ่งที่คุณต้องการเมื่อ **แปลงรูปภาพเป็นสตริง** + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### สิ่งที่เกิดขึ้นเบื้องหลัง + +1. **Pre‑processing:** เอนจินจะทำการแก้ไขการเอียงของภาพและปรับคอนทราสต์โดยอัตโนมัติ +2. **Language Detection:** หากไม่ได้ระบุภาษา Aspose จะพยายามตรวจจับเอง ซึ่งสะดวกสำหรับสแกนเร็วๆ +3. **Recognition:** เอนจิน OCR หลักทำงานด้วยโมเดลเครือข่ายประสาทเทียมที่ฝึกด้วยตัวอักษรหลายล้านตัว + +เพราะทุกอย่างถูกห่อหุ้มไว้ในหนึ่งการเรียก คุณไม่จำเป็นต้องปรับตั้งค่าระดับล่าง เว้นแต่กรณีใช้งานเฉพาะเจาะจง + +--- + +## ขั้นตอนที่ 4: แสดงและใช้สตริงที่ดึงมา + +เมื่อคุณได้ข้อความแล้ว สามารถพิมพ์ลงคอนโซล, เก็บลงฐานข้อมูล, หรือส่งต่อให้ API อื่นได้ ตัวอย่างที่ง่ายที่สุดคือใช้ `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### ผลลัพธ์ที่คาดหวัง + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **หมายเหตุ:** ผลลัพธ์ที่ได้ขึ้นอยู่กับเนื้อหาใน `quick.png` หากภาพเป็นโน้ตมือเขียน คุณอาจพบการจดจำที่ผิดพลาดบ้าง—แต่สามารถแก้ไขได้ด้วยการประมวลผลต่อ + +--- + +## ขั้นตอนที่ 5: จัดการกับกรณีขอบทั่วไป + +### สแกนขนาดใหญ่หรือ PDF หลายหน้า + +หากต้อง **อ่านข้อความจากสแกน** ที่ใหญ่กว่า PNG ปกติ ให้พิจารณา: + +- แบ่งภาพเป็นส่วนย่อย (`ImageStream.fromRegion`) +- ใช้ `OcrEngine.recognizeMultiplePages` สำหรับไฟล์ PDF + +### ภาษาไม่ใช่ภาษาอังกฤษ + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### เคล็ดลับด้านประสิทธิภาพ + +- ใช้ instance ของ `OcrEngine` เดียวกันสำหรับหลายภาพ เพื่อลดการเริ่มต้นซ้ำ +- สำหรับการประมวลผลเป็นชุด ให้เปิดใช้งานมัลติ‑ทรีด แต่จำกัดจำนวนเธรดให้เท่ากับจำนวนคอร์ CPU เพื่อหลีกเลี่ยงการใช้หน่วยความจำเกิน + +--- + +## ตัวอย่างทำงานครบถ้วน + +ด้านล่างเป็นคลาส Java เต็มรูปแบบที่พร้อมรัน คัดลอกวางลง IDE ของคุณ ปรับเส้นทางภาพ แล้วกด **Run** + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +การรันโปรแกรมนี้จะแสดงผล OCR บนคอนโซล ทำให้ **แปลงรูปภาพเป็นสตริง** ได้ในไม่กี่บรรทัดโค้ด + +--- + +## สรุป + +คุณได้เรียนรู้วิธี **ดึงข้อความจากรูปภาพ** ใน Java ด้วย Aspose OCR กระบวนการสรุปได้เป็นสามขั้นตอนง่ายๆ: โหลด PNG, เรียก `OcrEngine.recognize`, แล้วใช้สตริงที่ได้ ไม่ว่าคุณจะต้อง **จดจำข้อความจาก png**, **แปลงรูปภาพเป็นสตริง**, หรือเพียง **อ่านข้อความจากสแกน** เอกสาร วิธีนี้ให้โซลูชันที่เชื่อถือได้และพร้อมใช้งานในระดับผลิต + +พร้อมรับความท้าทายต่อไปหรือยัง? ลองทำลูปอ่านโฟลเดอร์ใบเสร็จสแกนทั้งหมด เก็บผลลัพธ์แต่ละไฟล์ลง CSV หรือทดลองตั้งค่าภาษาเฉพาะเพื่อเพิ่มความแม่นยำในข้อความที่ไม่ใช่ภาษาอังกฤษ โค้ดที่คุณเขียนตอนนี้เป็นพื้นฐานที่แข็งแรง + +ขอให้สนุกกับการเขียนโค้ด และหากมีคำถามใดๆ โปรดแสดงความคิดเห็นในคอมเมนต์—ผมยินดีช่วยเหลือ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/thai/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..fc6818a22 --- /dev/null +++ b/ocr/thai/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-02-19 +description: จดจำข้อความจากไฟล์ PNG ใน Java ด้วย Aspose OCR – เรียนรู้วิธีดึงข้อความจากรูปภาพใน + Java และประมวลผลรูปภาพด้วย OCR อย่างมีประสิทธิภาพ +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: th +og_description: จดจำข้อความจากไฟล์ PNG ด้วย Java และ Aspose OCR. บทเรียนนี้แสดงวิธีการดึงข้อความจากภาพใน + Java และประมวลผลภาพด้วย OCR ทีละขั้นตอน. +og_title: แปลงข้อความจาก PNG ใน Java – คู่มือ Aspose OCR ฉบับสมบูรณ์ +tags: +- OCR +- Java +- Image Processing +title: แยกข้อความจาก PNG ใน Java – บทแนะนำ Aspose OCR +url: /th/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# จดจำข้อความจาก png ใน Java – คู่มือ Aspose OCR ฉบับสมบูรณ์ + +เคยต้อง **recognize text from png** แต่ไม่แน่ใจว่าจะเลือกไลบรารีไหนไหม? คุณไม่ได้เป็นคนเดียว—นักพัฒนา Java จำนวนมากเจออุปสรรคนี้เมื่อต้องดึงข้อมูลจากภาพเป็นครั้งแรก ข่าวดีคือ Aspose OCR ทำให้กระบวนการทั้งหมดเป็นเรื่องง่าย และในคู่มือนี้คุณจะได้เห็นวิธี **extract text from image java** อย่างละเอียด พร้อมกับ **process image with OCR** อย่างปลอดภัยต่อเธรด + +ในไม่กี่นาทีต่อไป เราจะสร้างโปรแกรม Java เล็ก ๆ ที่โหลดไฟล์ PNG, รัน OCR บน CPU ด้วยสูงสุดแปดเธรด, แล้วพิมพ์ข้อความที่จดจำได้ลงคอนโซล ไม่ต้องใช้บริการภายนอก ไม่ต้องมีคีย์ API ลับ—แค่โค้ด Java ธรรมดาที่คุณคัดลอก‑วางและรันได้ทันที + +## สิ่งที่คุณต้องเตรียม + +- **Java 17** หรือใหม่กว่า (โค้ดสามารถคอมไพล์กับเวอร์ชันก่อนหน้าได้ แต่ 17 เป็นจุดที่เหมาะที่สุด) +- **Aspose.OCR for Java** JAR (ดาวน์โหลดจากเว็บไซต์ Aspose หรือดึงผ่าน Maven) +- ไฟล์ PNG ที่คุณต้องการอ่าน—เช่น `document-page1.png` ที่เก็บไว้บนดิสก์ +- IDE ที่คุณชื่นชอบหรือเพียงแค่เครื่องมือแก้ไขข้อความและเทอร์มินัล + +เท่านี้แค่นั้น หากคุณมีสิ่งเหล่านี้ เราก็พร้อมจะดำดิ่งสู่การแก้ปัญหา + +![Java code to recognize text from png using Aspose OCR](image-placeholder.png "recognize text from png Java example"){alt="Java code to recognize text from png using Aspose OCR"} + +## ขั้นตอน‑ต่อ‑ขั้นตอน: recognize text from png + +ด้านล่างเราจะแบ่งการทำงานออกเป็นส่วนย่อยที่ชัดเจนและจัดการได้ง่าย แต่ละส่วนเป็นหัวข้อ H2 เพื่อให้คุณสามารถกระโดดไปยังส่วนที่ต้องการได้ทันที + +### 1. เพิ่ม Aspose OCR ลงในโปรเจกต์ของคุณ + +**ทำไม?** เครื่องมือ OCR อยู่ภายในไลบรารี Aspose; หากไม่มีมันคอมไพเลอร์จะไม่รู้จัก `OcrEngine` + +หากคุณใช้ Maven ให้ใส่โค้ดสแนปนี้ลงในไฟล์ `pom.xml` ของคุณ: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +สำหรับ Gradle จะเป็นแบบนี้: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **เคล็ดลับ:** ตรวจสอบหมายเลขเวอร์ชันล่าสุดเสมอ; รุ่นใหม่มักมาพร้อมการปรับปรุงประสิทธิภาพสำหรับการประมวลผลแบบหลาย‑เธรด + +### 2. สร้างและกำหนดค่า OCR Engine + +**ทำไม?** การสร้างอินสแตนซ์ `OcrEngine` จะให้วัตถุพร้อมใช้งาน, และการปรับตั้งค่าอุปกรณ์ช่วยให้คุณใช้ทุกคอร์ของ CPU ที่มี + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +ที่นี่เรากำหนดอุปกรณ์เป็น `CPU` อย่างชัดเจน หากในภายหลังคุณย้ายไปสภาพแวดล้อมที่เปิดใช้งาน GPU เพียงเปลี่ยนค่า enum—ไม่ต้องแก้โค้ดส่วนอื่น + +### 3. โหลดภาพ PNG + +**ทำไม?** OCR ทำงานกับสตรีมของภาพ, ไม่ได้ทำงานกับเส้นทางไฟล์โดยตรง การแปลงไฟล์เป็น `ImageStream` จะทำให้ซ่อนรายละเอียดรูปแบบพื้นฐานไว้ + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +แทนที่ `YOUR_DIRECTORY` ด้วยโฟลเดอร์จริงของคุณ หากไฟล์ไม่พบ, engine จะโยน `IOException` ซึ่งเราจะจับในขั้นตอนต่อไป + +### 4. รันการจดจำและดึงผลลัพธ์ + +**ทำไม?** เมธอด `recognize()` ทำหน้าที่หลัก—ตรวจจับอักขระ, บรรทัด, และโครงร่าง ผลลัพธ์ `OcrResult` จะบรรจุข้อความแบบธรรมดา + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +คุณยังสามารถขอผลลัพธ์เป็น `Pdf` หรือ `Html` ได้, แต่สำหรับ **extract text from image java** เราเลือกใช้ข้อความธรรมดา + +### 5. แสดงผลข้อความและทำความสะอาด + +**ทำไม?** `System.out.println` เพียงอย่างเดียวก็พอสำหรับการสาธิต, แต่ในแอปจริงคุณอาจต้องเขียนลงไฟล์หรือฐานข้อมูล + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +เนื่องจาก `OcrEngine` implements `AutoCloseable` การห่อหุ้มทั้งหมดด้วยบล็อก `try‑with‑resources` เป็นนิสัยที่ดี เพื่อให้ทรัพยากรเนทีฟถูกปล่อยอย่างทันท่วงที + +### 6. ตัวอย่างเต็มที่สามารถรันได้ + +รวมทุกส่วนเข้าด้วยกัน นี่คือโปรแกรมสมบูรณ์ที่คุณสามารถคอมไพล์และรันได้: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**ผลลัพธ์ที่คาดหวัง** (สมมติว่า PNG มีข้อความ “Hello World”): + +``` +=== OCR Result === +Hello World +``` + +หากภาพซับซ้อนกว่า—หลายบรรทัด, ตาราง, หรือโน้ตมือ—ผลลัพธ์จะสะท้อนสิ่งที่ Aspose OCR ตรวจจับได้อย่างแม่นยำ พร้อมคงการขึ้นบรรทัดที่เหมาะสม + +## คำถามที่พบบ่อย & กรณีขอบ + +### PNG ขนาดใหญ่จะทำอย่างไร? + +ภาพขนาดใหญ่กินหน่วยความจำมาก วิธีแก้ที่เป็นประโยชน์คือ **downscale** ภาพก่อนส่งให้ engine: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +การลดขนาดช่วยลดภาระ CPU โดยไม่สูญเสียความแม่นยำของ OCR สำหรับข้อความพิมพ์ส่วนใหญ่ + +### สามารถรัน OCR บน PDF แทน PNG ได้ไหม? + +ได้เลย Aspose OCR รองรับ PDF ผ่านอ็อบเจ็กต์ `PdfDocument` การเรียก `recognize()` เดียวกันทำงานได้, ดังนั้นคุณสามารถ **process image with OCR** ไม่ว่าต้นทางจะเป็นรูปแบบใด + +### จะเพิ่มความแม่นยำสำหรับสคริปต์ที่ไม่ใช่ละตินอย่างไร? + +ตั้งค่าภาษา ก่อนทำการจดจำ: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose มีแพ็คเกจภาษามากมาย; เลือกแพ็คที่ตรงกับเนื้อหาภาพของคุณ + +### จำนวนเธรดที่มากขึ้นเสมอเป็นประโยชน์หรือไม่? + +เธรดเพิ่มจะเร่งการประมวลผลบน CPU หลายคอร์, แต่เมื่อเกินจำนวนคอร์จริงจะเห็นผลลดลง หากคุณสังเกตการใช้ CPU สูงแต่ความเร็วไม่เพิ่ม, ควรลดจำนวนลงเป็น `Runtime.getRuntime().availableProcessors()` + +## สรุป: สิ่งที่เราทำสำเร็จ + +เราจดจำ **recognize text from png** ด้วยโปรแกรม Java สั้น ๆ, แสดงวิธี **extract text from image java** ด้วย Aspose OCR, และอธิบายขั้นตอนสำคัญเพื่อ **process image with OCR** ในระดับพร้อมผลิตจริง โค้ดเป็นอิสระ, คำอธิบายตอบ “ทำอย่างไร” และ “ทำไม”, พร้อมเคล็ดลับแก้ปัญหาที่มักเจอ + +## ขั้นตอนต่อไปคืออะไร? + +- **ประมวลผลเป็นชุด:** วนลูปผ่านไดเรกทอรีของ PNGs แล้วเขียนผลลัพธ์แต่ละไฟล์เป็น `.txt` +- **สร้าง PDF:** นำผล OCR ไปใส่ใน Aspose.PDF เพื่อสร้าง PDF ที่ค้นหาได้ +- **ขยายสเกลบนคลาวด์:** ปรับใช้โค้ดเดียวกันในคอนเทนเนอร์ที่จัดการโดย Kubernetes ให้พูลเธรดปรับตามทรัพยากรของพ็อด + +ลองทดลองได้เลย—เปลี่ยนภาพ, ปรับจำนวนเธรด, หรือสลับภาษา Engine ของ 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/java/ocr-operations/_index.md b/ocr/thai/java/ocr-operations/_index.md index 62bd4ef9b..21e7272ef 100644 --- a/ocr/thai/java/ocr-operations/_index.md +++ b/ocr/thai/java/ocr-operations/_index.md @@ -80,6 +80,9 @@ weight: 21 ปลดล็อกการจดจำข้อความที่ทรงพลังใน Java ด้วย Aspose.OCR Recognize ข้อความในภาพ TIFF อย่างไม่มีอุปสรรค ดาวน์โหลดเลยเพื่อประสบการณ์ OCR ที่ไร้รอยต่อ ### [จดจำข้อความจากภาพด้วย Aspose OCR – คำแนะนำเต็มสำหรับ Java OCR](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) เรียนรู้ขั้นตอนเต็มเพื่อจดจำข้อความจากภาพด้วย Aspose OCR ใน Java +### [สร้าง PDF ที่ค้นหาได้จาก JPG – คำแนะนำ Java สำหรับแปลงภาพเป็น PDF ที่ค้นหาได้](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +เรียนรู้วิธีแปลงไฟล์ JPG เป็น PDF ที่ค้นหาได้ด้วย Aspose.OCR for Java +### [วิธีทำ Deskew ภาพ — คู่มือการเตรียม OCR ขั้นตอนต่อขั้นตอน](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) {{< /blocks/products/pf/tutorial-page-section >}} diff --git a/ocr/thai/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/thai/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..5be037221 --- /dev/null +++ b/ocr/thai/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,185 @@ +--- +category: general +date: 2026-02-19 +description: สร้าง PDF ที่ค้นหาได้จากภาพ JPG ด้วย Aspose OCR ใน Java แปลง JPG เป็น + PDF และจดจำข้อความจากภาพอย่างรวดเร็ว. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: th +og_description: สร้าง PDF ที่ค้นหาได้จากภาพ JPG ด้วย Aspose OCR เรียนรู้วิธีแปลง JPG + เป็น PDF และจดจำข้อความจากภาพใน Java +og_title: สร้าง PDF ที่ค้นหาได้จาก JPG – บทเรียน Java OCR +tags: +- aspose-ocr +- java +- pdf +- ocr +title: สร้าง PDF ที่ค้นหาได้จาก JPG – คำแนะนำ Java สำหรับแปลงภาพเป็น PDF ที่ค้นหาได้ +url: /th/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# สร้าง PDF ที่ค้นหาได้จาก JPG – คำแนะนำ Java สำหรับแปลงภาพเป็น PDF ที่ค้นหาได้ + +เคยต้องการ **สร้าง PDF ที่ค้นหาได้** จากรูปสแกนแต่ไม่รู้ว่าจะเริ่มต้นอย่างไรหรือไม่? คุณไม่ได้เป็นคนเดียว—นักพัฒนาจำนวนมากเจออุปสรรคเดียวกันเมื่อมี JPG ที่ต้องการให้ค้นหาได้ ข่าวดีคือด้วย Aspose OCR for Java คุณสามารถแปลงภาพนั้นเป็น PDF ที่ค้นหาได้อย่างเต็มรูปแบบเพียงไม่กี่บรรทัดของโค้ด + +ในบทแนะนำนี้เราจะเดินผ่านกระบวนการทั้งหมด: โหลด JPG, จดจำข้อความ, และบันทึกผลลัพธ์เป็น PDF ที่ค้นหาได้ เมื่อจบคุณจะรู้วิธี **convert jpg to pdf**, วิธี **extract text from jpg**, และทำไมวิธีนี้มักจะเชื่อถือได้มากกว่าการ OCR PDF หลังจากที่สร้างแล้ว + +## สิ่งที่คุณต้องการ + +* **Java Development Kit (JDK) 8 หรือใหม่กว่า** – โค้ดใช้ API มาตรฐานของ Java +* **Aspose OCR for Java** library – สามารถดาวน์โหลดจาก Maven Central หรือรับไฟล์ JAR จากเว็บไซต์ของ Aspose +* **sample JPG** ที่มีข้อความที่อ่านได้ (เช่น ใบแจ้งหนี้สแกนหรือภาพหน้าจอของเอกสาร) + +ไม่มีเฟรมเวิร์กเพิ่มเติมที่จำเป็น; ตัวอย่างทำงานกับโปรเจกต์ Java ธรรมดา + +## ขั้นตอนที่ 1 – ตั้งค่าโปรเจกต์และเพิ่ม Aspose OCR + +แรกเริ่มสร้างโปรเจกต์ Maven ใหม่ (หรือเพียงโฟลเดอร์ที่มี JAR บน classpath) หากคุณใช้ Maven ให้เพิ่ม dependency นี้ในไฟล์ `pom.xml` ของคุณ: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** ตรวจสอบเวอร์ชันล่าสุดเสมอในที่เก็บ Maven ของ Aspose; รุ่นใหม่มักมีการปรับปรุงประสิทธิภาพและแก้บั๊ก + +เมื่อ dependency ถูก resolve แล้ว คุณพร้อมเขียนโค้ด Java ที่จะ **create searchable PDF** แล้ว + +## ขั้นตอนที่ 2 – โหลดภาพ (image to searchable pdf) + +ขั้นตอนแรกที่สำคัญคือการชี้ engine OCR ไปที่ภาพต้นฉบับ นี่คือจุดเริ่มต้นของการแปลง **image to searchable pdf** อย่างแท้จริง + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Why this matters:** `setImage` บอก Aspose ว่าจะวิเคราะห์บิตแมปใด หากคุณใช้ภาพความละเอียดต่ำ คุณภาพ OCR จะลดลง ดังนั้นควรให้ JPG มีความละเอียดอย่างน้อย 300 dpi เพื่อผลลัพธ์ที่ดีที่สุด + +## ขั้นตอนที่ 3 – จดจำข้อความจากภาพ + +ตอนนี้ engine รู้ว่าต้องทำงานกับภาพใดแล้ว เราจึงสามารถสั่งให้ **recognize text from image** Aspose OCR จะทำงานหนักในเบื้องหลัง จัดการการตรวจจับภาษา, การแยกอักขระ, และการให้คะแนนความเชื่อมั่น + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +การเรียก `recognize()` จะคืนค่าเป็น fluent interface ทำให้เราสามารถต่อ chain กับเมธอด `save` ได้ โดยระบุ `OcrOutputFormat.SEARCHABLE_PDF` ไลบรารีจะฝังชั้นข้อความที่มองไม่เห็นลงใน PDF พร้อมคงลักษณะภาพเดิมไว้ + +> **Edge case:** หาก JPG ของคุณมีหลายหน้า (เช่น TIFF หลายหน้าที่บันทึกเป็น JPG แยกไฟล์) คุณต้องวนลูปแต่ละไฟล์และรวม PDF ที่ได้ในภายหลัง Engine OCR เดียวกันสามารถใช้ซ้ำได้สำหรับแต่ละรอบ + +## ขั้นตอนที่ 4 – ตรวจสอบผลลัพธ์ + +หลังจากการบันทึกเสร็จสิ้น ข้อความคอนโซลง่าย ๆ จะบอกว่าทุกอย่างทำงานได้อย่างราบรื่น + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +เมื่อคุณเปิด `output-searchable.pdf` ด้วยโปรแกรมอ่านเช่น Adobe Acrobat คุณควรจะสามารถเลือกข้อความที่ซ่อนอยู่, คัดลอก, หรือค้นหาได้—พอดีกับที่คุณคาดหวังจาก **searchable PDF** + +### ผลลัพธ์ที่คาดหวัง + +การรันโปรแกรมจะพิมพ์: + +``` +Searchable PDF created. +``` + +และ PDF ที่สร้างขึ้นจะแสดง JPG ต้นฉบับพร้อมให้เลือกข้อความได้ หากคุณเปิด “Properties → Description → PDF Producer” ของ PDF จะเห็นข้อความเช่น `Aspose.OCR for Java` + +## ตัวอย่างการทำงานเต็มรูปแบบ + +ด้านล่างเป็นไฟล์ซอร์สที่พร้อมรัน คัดลอก‑วางลงใน IDE ของคุณ, ปรับเส้นทางไฟล์, แล้วกดรัน + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **What if the OCR fails?** +> * ปกติจะเกิดจากภาพมีสัญญาณรบกวนมากหรือภาษาที่ใช้ไม่ได้รับการสนับสนุนโดยตรง คุณสามารถปรับความแม่นยำได้โดยทำการประมวลผลล่วงหน้าที่ภาพ (เพิ่มคอนทราสต์, แก้ไขการเอียง) หรือกำหนดภาษาชัดเจนด้วย `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);` + +## คำถามทั่วไปและข้อควรระวัง + +| Question | Answer | +|----------|--------| +| **Can I extract the plain text instead of a PDF?** | Yes. Use `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **What if I need to process a PNG?** | The same API works; just change the file extension in `fromFile`. | +| **Is the resulting PDF truly searchable on all viewers?** | Modern viewers (Adobe Reader, Foxit, Chrome) honor the hidden text layer. Older tools might ignore it. | +| **How do I control the PDF page size?** | Aspose OCR uses the image dimensions by default. For custom sizing, generate a PDF manually and overlay the OCR text layer—this is an advanced scenario. | + +## เคล็ดลับด้านประสิทธิภาพ + +* **Batch processing:** Reuse a single `OcrEngine` instance for many images to avoid repeated native library loading. +* **Thread safety:** The engine is **not** thread‑safe; create one per thread if you parallelize. +* **Memory usage:** Large images can consume a lot of RAM. If you hit `OutOfMemoryError`, downscale the image before feeding it to the engine. + +## ขั้นตอนต่อไป + +ตอนนี้คุณรู้วิธี **create searchable PDF** แล้ว คุณอาจอยากสำรวจงานที่เกี่ยวข้องต่อไป: + +* **Convert jpg to pdf** โดยไม่ใช้ OCR (ใช้ Aspose PDF library เพื่อสร้าง PDF ที่มีภาพอย่างเดียว) +* **Extract text from jpg** ไปยังไฟล์ `.txt` เพื่อทำดัชนี +* **Combine multiple searchable PDFs** เป็นเอกสารเดียวโดยใช้ `PdfFileEditor` ของ Aspose PDF + +ทั้งหมดนี้สร้างบนพื้นฐานเดียวกับที่คุณตั้งค่าไว้ + +--- + +### สรุปสั้น ๆ + +* เรา **created a searchable PDF** จาก JPG ด้วย Aspose OCR for Java +* กระบวนการครอบคลุมการโหลดภาพ, การจดจำข้อความ, และการบันทึกเป็น PDF ที่ค้นหาได้ +* ตอนนี้คุณมีแพทเทิร์นที่ใช้ซ้ำได้สำหรับ **image to searchable PDF**, **recognize text from image**, **extract text from jpg**, และ **convert jpg to pdf** + +ลองใช้กับเอกสารของคุณเอง ปรับการตั้งค่าภาษา หากจำเป็น แล้วให้ OCR ทำงานหนักให้คุณ Happy coding! + +![ตัวอย่างการสร้าง PDF ที่ค้นหาได้](placeholder.png){alt="ตัวอย่างการสร้าง PDF ที่ค้นหาได้"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/thai/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..f9eec0ca7 --- /dev/null +++ b/ocr/thai/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,174 @@ +--- +category: general +date: 2026-02-19 +description: เรียนรู้วิธีการแก้ไขการเอียงของภาพและกำจัดสัญญาณรบกวนสำหรับ OCR บทแนะนำนี้แสดงวิธีการจดจำข้อความในภาพ, + แก้ไขการหมุนของภาพ, และทำการเตรียมภาพสำหรับ OCR ด้วย Aspose OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: th +og_description: วิธีแก้ไขการเอียงของภาพและทำความสะอาดสัญญาณรบกวนเพื่อให้คุณสามารถจดจำข้อความในภาพได้อย่างรวดเร็ว + ปฏิบัติตามคำแนะนำนี้เพื่อแก้ไขการหมุนของภาพและเตรียมการประมวลผล OCR ของภาพด้วย Aspose. +og_title: วิธีแก้ไขการเอียงของภาพ – คู่มือการเตรียม OCR อย่างครบถ้วน +tags: +- OCR +- Java +- Image Processing +title: วิธีแก้ไขการเอียงของภาพ — คู่มือการเตรียม OCR ขั้นตอนโดยละเอียด +url: /th/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +< blocks/products/products-backtop-button >}} + +All good. + +Now produce final content with translations.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีแก้ไขการเอียงของภาพ — การสอนการเตรียมการ OCR อย่างสมบูรณ์ + +เคยสงสัยไหมว่า **how to deskew image** ไฟล์ก่อนนำเข้าเครื่อง OCR? บางทีคุณอาจสแกนชุดใบเสร็จและหน้ากระดาษดูเหมือนจะเอียงเล็กน้อย หรือสแกนมีจุดสีสุ่ม นั่นเป็นปัญหาที่พบบ่อย—ภาพที่เอียงและมีเสียงรบกวนทำให้การจดจำข้อความล้มเหลว. + +ข่าวดีคืออะไร? คุณสามารถทำให้ภาพตรง (correct image rotation) และลดสัญญาณรบกวน (how to remove noise) ได้ด้วยเพียงไม่กี่บรรทัดของ Java โดยใช้ Aspose.OCR. ในคู่มือนี้เราจะอธิบายขั้นตอนทั้งหมด: ตั้งแต่การโหลด PNG ที่มีเสียงรบกวนและเอียง, การใช้ deskew + median denoise, จนถึง **recognize text image** และพิมพ์ผลลัพธ์. เมื่อจบคุณจะมีโค้ดสั้นที่สามารถนำไปใช้ในโปรเจค Java ใดก็ได้. + +## สิ่งที่คุณต้องการ + +- **Java 17** หรือใหม่กว่า (โค้ดสามารถคอมไพล์กับเวอร์ชันเก่าได้ แต่ 17 เป็นจุดที่เหมาะที่สุด). +- **Aspose.OCR for Java** – คุณสามารถดาวน์โหลด JAR ล่าสุดจาก Maven Central (`com.aspose:aspose-ocr`). +- ไฟล์รูปภาพที่ทั้งเอียงและมีสัญญาณรบกวน (เช่น `noisy-rotated.png`). +- IDE ที่ไม่ซับซ้อน (IntelliJ, Eclipse หรือแม้แต่ VS Code). + +ไม่จำเป็นต้องใช้เครื่องมือสร้างที่ซับซ้อน; การรัน `javac` + `java` อย่างง่ายก็ทำงานได้ดี. + +--- + +## ขั้นตอนที่ 1 – สร้างอินสแตนซ์ของ OCR Engine + +สิ่งแรกที่คุณทำคือสร้าง `OcrEngine`. คิดว่าเป็นสมองที่จะอ่านอักขระให้คุณในภายหลัง. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **เคล็ดลับ:** เก็บ engine เป็น singleton หากคุณประมวลผลหลายภาพ; มันจะใช้บัฟเฟอร์ภายในซ้ำและทำให้เร็วขึ้น. + +## ขั้นตอนที่ 2 – เปิดใช้งาน Deskew และ Median Denoise (How to Remove Noise) + +ตอนนี้เราบอก engine ให้ **correct image rotation** และ **how to remove noise**. ทั้งสองฟิลเตอร์เป็นทางเลือก, แต่เมื่อใช้ร่วมกันจะเพิ่มความแม่นยำอย่างมาก. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +ทำไมต้องใช้ median denoise? มันรักษาขอบ (เส้นที่กำหนดอักขระ) ในขณะที่ลบพิกเซลที่โดดเดี่ยว—ตรงกับสิ่งที่คุณต้องการสำหรับ OCR ที่สะอาด. + +## ขั้นตอนที่ 3 – โหลดภาพที่คุณต้องการประมวลผล + +ที่นี่เราชี้ engine ไปที่ไฟล์ที่ต้องทำความสะอาด. `ImageStream.fromFile` อ่าน PNG เข้าไปในหน่วยความจำ. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +หากภาพของคุณอยู่บนเซิร์ฟเวอร์ระยะไกล, เพียงส่ง `InputStream` แทน—Aspose จะจัดการอย่างราบรื่น. + +## ขั้นตอนที่ 4 – รัน OCR และจับข้อความที่จดจำได้ + +เมื่อเปิดใช้งานการเตรียมข้อมูลล่วงหน้า, engine จะอ่านภาพที่แก้ไขแล้ว. การเรียก `recognize()` จะคืนค่า `RecognitionResult` ที่มีสตริงที่สกัดออกมา. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +คุณควรเห็นข้อความที่สะอาดและอ่านง่ายในคอนโซล, แม้ว่าภาพต้นฉบับจะเอียงและมีเม็ดสี. + +## ขั้นตอนที่ 5 – ตรวจสอบผลลัพธ์ (What to Expect) + +เมื่อทุกอย่างทำงาน, คอนโซลจะแสดงผลบางอย่างเช่น: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +หากผลลัพธ์ยังมีอักขระผิดรูป, ให้ตรวจสอบสองครั้ง: + +- ความละเอียดของภาพ (≥ 300 dpi เป็นที่เหมาะสม). +- ว่าเส้นทางไฟล์ถูกต้องหรือไม่. +- ว่าฟิลเตอร์เพิ่มเติม (เช่น `setContrastStretch`) อาจช่วยได้หรือไม่. + +--- + +## ตัวเลือก: การยืนยันด้วยภาพตัวอย่าง + +ด้านล่างเป็นตัวอย่างขนาดเล็กของใบเสร็จที่เอียงและมีสัญญาณรบกวน. สังเกตการเอียง—โค้ดของเราจะทำให้ตรงสำหรับคุณ. + +![ตัวอย่างการแก้ไขการเอียงของภาพ](deskew-demo.png "การแก้ไขการเอียงของภาพ") + +*ข้อความแทนภาพ: การแก้ไขการเอียงของภาพ – ก่อนและหลังการประมวลผล.* + +## คำถามที่พบบ่อย + +### ทำงานกับ PDF หรือเฉพาะ PNG/JPEG เท่านั้น? + +Aspose.OCR สามารถอ่าน PDF ได้โดยตรง; เพียงเปลี่ยน `ImageStream.fromFile` เป็น `ImageStream.fromPdf`. ธงการเตรียมข้อมูลล่วงเดิมยังคงใช้ได้, ดังนั้นคุณยังคงได้ **how to deskew image** และ **how to remove noise**. + +### ถ้าฉันต้องการเก็บการวางแนวเดิมไว้สำหรับขั้นตอนต่อไป? + +คุณสามารถคลอนภาพก่อนการเตรียมข้อมูลล่วงหน้า: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### ฉันสามารถเปลี่ยนมุม deskew ด้วยตนเองได้หรือไม่? + +ใช่—`setDeskewAngle(double degrees)` ให้คุณแทนที่อัลกอริทึมการตรวจจับอัตโนมัติ. มีประโยชน์เมื่อการตรวจจับอัตโนมัติล้มเหลวกับการเอียงที่รุนแรง. + +### median denoise แตกต่างจาก Gaussian blur อย่างไร? + +ฟิลเตอร์ median แทนที่พิกเซลแต่ละตัวด้วยค่ามัธยฐานของเพื่อนบ้าน, ซึ่งรักษาขอบ. Gaussian blur ทำให้ทุกอย่างเรียบ, อาจทำให้เส้นอักขระเบลอ—ดังนั้น median จึงเป็นตัวเลือกที่ปลอดภัยกว่าสำหรับ OCR. + +## สรุป + +ในบทเรียนนี้เราได้ครอบคลุมไฟล์ **how to deskew image**, แสดง **how to remove noise**, และสาธิตวิธี **recognize text image** ด้วยการเตรียมข้อมูลล่วงหน้าที่มาพร้อมกับ Aspose OCR. โดยการเปิด `setDeskew(true)` และ `setMedianDenoise(true)`, คุณจะทำให้ **correct image rotation** และทำความสะอาดจุดรบกวนโดยอัตโนมัติ, เปลี่ยนการสแกนที่ยุ่งเหยิงให้เป็นสตริงข้อความที่สะอาด. + +ลองทดลองได้ตามสบาย: ลองใช้กลยุทธ์การลดสัญญาณรบกวนต่าง ๆ, ป้อน PDF, หรือเชื่อมต่อหลายภาพในลูป. รูปแบบเดียวกัน—engine → preprocess → recognize—ใช้ได้กับทุกสถานการณ์, ทำให้เป็นพื้นฐานที่มั่นคงสำหรับ pipeline OCR ใด ๆ. + +**ขั้นตอนต่อไป** ที่คุณอาจสำรวจ: + +- **การประมวลผลเป็นชุด** – วนลูปผ่านโฟลเดอร์ของภาพและเขียนผลลัพธ์แต่ละไฟล์เป็นไฟล์ `.txt`. +- **แพ็คเกจภาษา** – โหลดพจนานุกรมภาษาที่เฉพาะเจาะจงเพื่อเพิ่มความแม่นยำสำหรับข้อความที่ไม่ใช่ภาษาอังกฤษ. +- **ฟิลเตอร์ขั้นสูง** – เช่น `setContrastStretch` หรือ `setBinarization` สำหรับการสแกนที่มีคอนทราสต์ต่ำ. + +มีคำถามเพิ่มเติม? แสดงความคิดเห็นได้, และขอให้สนุกกับการเขียนโค้ด! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/_index.md b/ocr/turkish/java/advanced-ocr-techniques/_index.md index fe9ccf330..2f402733e 100644 --- a/ocr/turkish/java/advanced-ocr-techniques/_index.md +++ b/ocr/turkish/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,14 @@ Aspose.OCR for Java ile metin tanımanın gücünü ortaya çıkarın. Sorunsuz Hassas metin tanıma için Java uygulamalarınızı Aspose.OCR ile güçlendirin. Kolay entegrasyon, yüksek doğruluk. ### [Aspose.OCR'da İzin Verilen Karakterleri Belirleme](./specify-allowed-characters/) Aspose.OCR for Java ile görüntülerden metin çıkarmanın kilidini sorunsuz bir şekilde açın. Verimli entegrasyon için adım adım kılavuzumuzu izleyin. +### [Java’da OCR için GPU’yu Etkinleştirme – Tam Kılavuz](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Java projelerinizde OCR performansını artırmak için GPU kullanımını etkinleştirin. Adım adım rehberle yüksek hız ve doğruluk elde edin. +### [Java’da Görüntüyü OCR Yapma – El Yazısı Notlarıyla Yazım Denetimi](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Java’da el yazısı notları üzerindeki OCR ve otomatik yazım denetimi ile metni doğru şekilde çıkarı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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/turkish/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..bac7de6e6 --- /dev/null +++ b/ocr/turkish/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,209 @@ +--- +category: general +date: 2026-02-19 +description: GPU'yu hızlı OCR işleme için nasıl etkinleştirirsiniz. Yüksek çözünürlüklü + görüntüyü yüklemeyi, metin görüntüsünü tanımayı ve Aspose OCR kullanarak metni çıkarmayı + öğrenin. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: tr +og_description: GPU'yi hızlı OCR işleme için nasıl etkinleştirirsiniz. Bu rehber, + yüksek çözünürlüklü bir görüntüyü nasıl yükleyeceğinizi, metin görüntüsünü tanıyacağınızı + ve Aspose OCR ile metni nasıl çıkaracağınızı gösterir. +og_title: Java’da OCR için GPU’yu Etkinleştirme – Tam Rehber +tags: +- OCR +- Java +- GPU +- Aspose +title: Java'da OCR için GPU'yu Nasıl Etkinleştirirsiniz – Tam Kılavuz +url: /tr/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java’da OCR için GPU Nasıl Etkinleştirilir – Tam Kılavuz + +OCR hattınızda **GPU'yu nasıl etkinleştireceğinizi** merak ettiniz mi ve işleme süresinden saniyeler kazandırmak istediniz? Tek başınıza değilsiniz. Görüntü ağırlıklı birçok projede darboğaz, CPU‑bağlı metin çıkarma adımıdır ve GPU'ya geçmek bir oyun değiştirici olabilir. + +Bu öğreticide **yüksek çözünürlüklü bir görüntü** yüklemeyi, Aspose OCR'yi GPU üzerinde çalışacak şekilde yapılandırmayı ve sonunda sadece birkaç Java satırıyla **metin görüntüsünü tanıma** ve **metni çıkarma** işlemlerini göstereceğiz. Sonunda, **GPU işleme etkinleştirme** sürecini uçtan uca gösteren çalıştırmaya hazır bir programınız olacak. + +## Gereksinimler + +- Java 17 veya daha yeni (kod modül sistemini kullanıyor ancak küçük ayarlamalarla daha eski JDK'larda da çalışır) +- Aspose OCR for Java 23.10 (veya en son sürüm) – Maven koordinatlarını Aspose sitesinden alabilirsiniz +- CUDA 12+ sürücüleri yüklü bir NVIDIA GPU (aksi takdirde kütüphane başlatılamaz) +- Metin okumak istediğiniz yüksek çözünürlüklü örnek bir görüntü (PNG veya JPEG) + +Hepsi bu. Harici hizmetler, bulut kredileri yok, sadece makineniz ve doğru sürücü yığını. + +![GPU OCR workflow – how to enable GPU processing](gpu-ocr-workflow.png) + +*Görsel alt metni: Java’da OCR işleme için GPU'nun nasıl etkinleştirileceğini gösteren diyagram.* + +## Adım‑Adım Uygulama + +Aşağıda çözümü mantıksal parçalara ayırıyoruz. Her bölüm, kısa bir kod parçacığı, adımın **neden** önemli olduğuna dair bir açıklama ve muhtemelen ileride takdir edeceğiniz birkaç pratik ipucu içerir. + +### GPU'yu OCR için Etkinleştirme – Adım 1: Bağımlılıkları Kurun ve CUDA'yı Doğrulayın + +Herhangi bir Java kodu çalıştırılmadan önce, yerel CUDA çalışma zamanı bulunabilir olmalıdır. Windows'ta şu komutla doğrulayabilirsiniz: + +```bat +nvcc --version +``` + +Linux'ta: + +```bash +nvidia-smi +``` + +Komut sürücü sürümünü ve GPU detaylarını yazdırıyorsa, hazırsınız demektir. Aksi takdirde NVIDIA'nın web sitesine gidin, uygun sürücüyü indirin ve CUDA araç setini kurun (sürümün Aspose OCR gereksinimleriyle – şu anda 12.x – eşleştiğinden emin olun). + +**İpucu:** GPU sürücünüzü güncel tutun ancak “en son‑beta” sürümlerinden kaçının; bazen Aspose yerel kütüphaneleriyle ikili uyumluluğu bozabilirler. + +### GPU'yu OCR için Etkinleştirme – Adım 2: Aspose OCR Maven Bağımlılığını Ekleyin + +`pom.xml` dosyanıza aşağıdakileri ekleyin. Bu, çekirdek OCR motorunu ve Windows, Linux ve macOS için yerel GPU ikili dosyalarını getirir. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Gradle tercih ediyorsanız eşdeğeri şudur: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Projenizi yeniledikten sonra `OcrEngine`, `OcrDeviceType` ve `ImageStream` sınıfları kullanılabilir hâle gelir. + +### GPU'yu OCR için Etkinleştirme – Adım 3: OCR Motorunu Oluşturun ve GPU'yu Etkinleştirin + +Şimdi Aspose'ye GPU üzerinde çalışmasını söylüyoruz. `OcrEngine`, işleme cihaz tipini değiştirebileceğimiz bir `Device` nesnesi sunar. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Neden önemli:** `OcrDeviceType.GPU` ayarı, temel çıkarım motorunu yalnızca CPU tabanlı bir uygulamadan CUDA hızlandırmalı birine değiştirir. İsteğe bağlı `setStreamCount` çağrısı paralelliği kontrol etmenizi sağlar; iki akış, çoğu tüketici kartı için güvenli bir varsayılandır. + +### GPU'yu OCR için Etkinleştirme – Adım 4: Yüksek Çözünürlüklü Görüntüyü Yükleyin + +Yüksek çözünürlüklü kaynaklar OCR modeline daha fazla görsel detay sağlar; bu da özellikle küçük yazı tipleri veya karmaşık betikler için daha yüksek doğruluk anlamına gelir. `ImageStream.fromFile` yardımcı işlevi dosyayı motorun beklediği formata okur. + +Bir URL'den veya bellek içi bayt dizisinden **yüksek çözünürlüklü görüntü** yüklemeniz gerekiyorsa, şu şekilde kullanabilirsiniz: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Köşe durumu:** Bazı GPU'ların maksimum doku boyutu vardır (genellikle 16384 × 16384). Görüntünüz bunu aşıyorsa, okunabilirliği koruyan bir boyuta (ör. 3000 × 2000) küçültmeyi düşünün. Görüntüyü yüklemeden önce `ocrEngine.setResizeFactor(0.5)` çağırırsanız OCR motoru otomatik olarak yeniden boyutlandırır. + +### GPU'yu OCR için Etkinleştirme – Adım 5: Metin Görüntüsünü Tanıyın ve Metni Çıkarın + +`ocrEngine.recognize()` çağrısı, GPU üzerinde sinir ağı çıkarımını tetikler. Metot bir `OcrResult` nesnesi döndürür; `getText()` düz metni çıkarır. Daha zengin veri gerekiyorsa sınırlayıcı kutuları, güven skorlarını veya ham JSON'u da alabilirsiniz. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Neden isteyebilirsiniz:** `recognize text image` adımı, GPU'nun parladığı yerdir—CPU'da saniyeler sürecek büyük görüntüler, çok daha kısa sürede işlenir. Güven skorları, düşük kalite sonuçları filtrelemenizi sağlar; bu, daha sonra **metni nasıl çıkaracağınız** konusunda faydalı bir hiledir. + +### Profesyonel İpuçları ve Yaygın Tuzaklar + +| Durum | Ne Yapmalı | +|-----------|------------| +| **GPU'da bellek yetersizliği hataları** | `setStreamCount` değerini 1'e düşürün veya görüntüyü motorun içine beslemeden önce küçültün. | +| **Yüksek çözünürlüğe rağmen tanınmayan karakterler** | Dil modelinin (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) metin diliyle eşleştiğinden emin olun. | +| **CUDA sürüm uyumsuzluğu** | CUDA araç seti sürümünü Aspose OCR ile gelen sürümle eşleştirin (sürüm notlarını kontrol edin). | +| **Birden fazla GPU** | İlk GPU meşgulse ikinci GPU'yu seçmek için `ocrEngine.getDevice().setDeviceId(1)` kullanın. | +| **Ekransız bir sunucuda çalıştırma** | Ek bir adım gerekmez; GPU sürücüsü ekran olmadan da çalışır. | + +## Metni Çıkarma – Çıktıyı Doğrulama + +Yukarıdaki sınıfı çalıştırdığınızda aşağıdakine benzer bir çıktı görmelisiniz: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Çıktı bozuk görünüyorsa, görüntünün gerçekten yüksek çözünürlüklü olduğundan ve GPU sürücüsünün doğru kurulduğundan iki kez kontrol edin. Ayrıntılı günlüklemeyi de etkinleştirebilirsiniz: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +Günlükler, yerel CUDA çekirdeklerinin başarıyla yüklenip yüklenmediğini gösterecek. + +## Sonraki Adımlar ve İlgili Konular + +- **Toplu işleme:** `OcrEngine`'i bir döngü içinde sarın ve bir görüntü yolu listesi besleyin. Tekrarlanan GPU başlatma maliyetinden kaçınmak için aynı motor örneğini yeniden kullanmayı unutmayın. +- **Dil algılama:** Aspose OCR 30'dan fazla dili destekler. `ocrEngine.setLanguage(OcrLanguage.FRENCH)` ile değiştirin. +- **Son işleme:** Çıkarılan dizeyi temizlemek için düzenli ifadeler kullanın veya bir sonraki NLP hattına besleyin. +- **Alternatif cihazlar:** CUDA‑uyumlu bir GPU'nuz yoksa `OcrDeviceType.CPU`'ya geri dönebilirsiniz. Aynı kod çalışır; sadece cihaz tipini değiştirin. +- **Performans ölçümü:** `recognize()` öncesi ve sonrası `System.nanoTime()` ile zaman farkını ölçerek **GPU işleme etkinleştirme** kazancını nicel olarak belirleyin. + +--- + +### Özet + +Java'da Aspose OCR için **GPU'yu nasıl etkinleştireceğinizi** doğru sürücüleri kurmaktan **yüksek çözünürlüklü bir görüntü** yüklemeye, **metin görüntüsünü tanımaya** ve sonunda sonuçtan **metni nasıl çıkaracağınızı** kapsadık. Yukarıdaki tam, çalıştırılabilir örnek, modern bir NVIDIA GPU'da sorunsuz çalışmalıdır. + +Deneyin, farklı görüntü boyutlarıyla oynayın ve OCR verimliliğinizin nasıl yükseldiğini izleyin. Herhangi bir sorunla karşılaşırsanız, ipuçları bölümüne geri dönün veya en yeni **GPU işleme etkinleştirme** önerileri için Aspose sürüm notlarını kontrol edin. + +Kodlamaktan keyif alın ve GPU'nuz metni işlerken serin kalmaya devam etsin! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/turkish/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..ce11127b5 --- /dev/null +++ b/ocr/turkish/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,251 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR kullanarak Java’da el yazısı notların görüntüsünü OCR nasıl + yapılır öğrenin. OCR için görüntünün yüklenmesi, el yazısı notların okunması ve + el yazısı görüntü metninin dönüştürülmesini içerir. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: tr +og_description: Java'da Aspose ile el yazısı notların görüntüsünü OCR'lamak nasıl + yapılır. OCR için görüntüyü yükleme, el yazısı notları okuma ve el yazısı görüntü + metnini dönüştürme adım adım rehberi. +og_title: Java'da Görüntüyü OCR Nasıl Yapılır – El Yazısı Notlar Rehberi +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Java’da Görüntüyü OCR Nasıl Yapılır – El Yazısı Notlar ve Yazım Denetimi +url: /tr/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java’da Görüntüyü OCR ile Okuma – El Yazısı Notlar ve Yazım Denetimi + +Hiç **görüntüyü OCR ile nasıl okuyacağınızı** merak ettiniz mi? Çizdiğiniz market listesi ya da toplantı tutanakları gibi el yazısı notları okumak isteyen tek siz değilsiniz. Gerçek dünya uygulamalarında geliştiriciler, el yazısı notları alıp bunları arama yapılabilir metne dönüştürmek zorunda kalıyor—manuel yeniden yazma ihtiyacı olmadan. + +Bu öğreticide, Aspose OCR for Java kullanarak **görüntüyü OCR ile nasıl okuyacağınızı**, **OCR için görüntüyü nasıl yükleyeceğinizi** ve yerleşik yazım düzeltmesiyle **el yazısı notları nasıl okuyacağınızı** gösteren, tamamen çalışır bir örnek üzerinden adım adım ilerleyeceğiz. Sonunda, **el yazısı görüntü metnini** temiz bir dizeye dönüştürüp saklayabilir, indeksleyebilir ya da görüntüleyebilirsiniz. + +## Öğrenecekleriniz + +- İngilizce el yazısını anlayabilen bir OCR motorunu nasıl kuracağınız. +- Diskten **OCR için görüntüyü nasıl yükleyeceğiniz** ve motorun içine nasıl besleyeceğiniz. +- Dağınık karalamalarla çalışırken yazım denetleyicisinin neden etkinleştirilmesi gerektiği. +- Düşük kontrastlı görüntüler ya da eksik dil paketleri gibi yaygın kenar durumlarını nasıl yöneteceğiniz. +- IDE’nize yapıştırıp anında sonuç alabileceğiniz tam, çalıştırılabilir bir kod örneği. + +> **Önkoşullar**: Java 8+ yüklü, bağımlılık yönetimi için Maven ya da Gradle ve bir Aspose OCR for Java lisansı (öğrenme amaçlı ücretsiz deneme yeterli). Başka harici kütüphane gerekmez. + +--- + +## Adım 1: Projeyi Oluşturun ve Aspose OCR Bağımlılığını Ekleyin + +İlk olarak projenize Aspose OCR kütüphanesini eklemeniz gerekiyor. Maven kullanıyorsanız `pom.xml` dosyanıza şunu ekleyin: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Veya Gradle ile: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **İpucu**: Sürüm numarasına dikkat edin; yeni sürümler el yazısı tanımasını iyileştirir ve dil desteği ekler. + +Bağımlılık çözüldükten sonra **OCR için görüntüyü yüklemeye** hazırsınız. + +## Adım 2: OCR Motoru Örneğini Oluşturun + +**Görüntüyü OCR ile etkili bir şekilde** işlemek için bir `OcrEngine` nesnesine ihtiyacınız var. Bu nesne sürecin kalbidir—dil ayarlarını, yazım denetimi bayraklarını ve görüntüyü tutar. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Neden önce motoru örnekliyoruz? Çünkü Aspose OCR, aynı örnekle birden fazla görüntüyü işleyebilecek şekilde tasarlanmıştır; gerektiğinde ayarları çalıştırmalar arasında değiştirebilirsiniz. + +## Adım 3: İngilizce Dil Desteği Ekleyin ve Yazım Düzeltmeyi Etkinleştirin + +El yazısı notlar sık sık yazım hataları, eksik harfler ya da alışılmadık kısaltmalar içerir. Yazım denetleyiciyi etkinleştirmek, motorun çıktıyı temizlemesine olanak tanır. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +> **Yazım düzeltme neden etkinleştirilmeli?** +> Etkinleştirilmezse, ham OCR çıktısı “t0d@y” ya da “c0ffee” gibi ifadeler içerebilir. Yazım denetleyicisi bu tuhaflıkları normalleştirir ve sonuç metni, arama indeksleme gibi sonraki işlemler için çok daha kullanışlı hâle getirir. + +## Adım 4: El Yazısı Görüntüsünü Yükleyin + +Şimdi **OCR için görüntüyü yükleyelim**. Aspose, yaygın raster formatlarını (PNG, JPEG, BMP) kabul eden kullanışlı bir `ImageStream.fromFile` metodu sunar. + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Görüntünüz bir kaynak klasöründe bulunuyorsa ya da bir web yüklemesi gibi bir bayt dizisi olarak geliyorsa, `ImageStream.fromBytes` kullanabilirsiniz—yukarıdaki satırı şu şekilde değiştirin: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Adım 5: OCR’u Gerçekleştirin ve Düzeltmeli Metni Alın + +Motor yapılandırıldı ve görüntü yüklendi, **görüntüyü OCR ile nasıl okuyacağınız** tek bir satırda gerçekleşir: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +`recognize()` metodu, sadece düz metni değil aynı zamanda güven skorları, sınırlama kutuları ve daha fazlasını içeren bir `OcrResult` nesnesi döndürür. Çoğu senaryo için basit `getText()` yeterlidir. + +## Adım 6: Sonucu Yazdırın + +Son olarak, temizlenmiş dizeyi konsola bastırıyoruz. Gerçek bir uygulamada bunu bir veritabanına kaydedebilir, bir arama motoruna besleyebilir ya da bir dil modeline gönderebilirsiniz. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Beklenen Çıktı + +El yazısı not şu şekilde ise: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +Şuna benzer bir çıktı görmelisiniz: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Orijinal karalama ne kadar dağınık olursa olsun—örneğin “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”—yazım denetleyicisi genellikle düzeltir. + +--- + +## OCR için Görüntü Yükleme – Daha İyi Doğruluk İçin İpuçları + +1. **Çözünürlük önemlidir** – En az 300 dpi hedefleyin. Düşük çözünürlük motorun ince çizgileri kaçırmasına yol açar. +2. **Kontrast kraliçedir** – Arka plan renkliyse, önce görüntüyü gri tonlamaya çevirin. +3. **İçeriğe kırpın** – Gereksiz kenar boşluklarını kaldırmak gürültüyü azaltır ve işleme süresini hızlandırır. + +Görüntüleri OpenCV gibi kütüphanelerle ya da Java’nın yerleşik `BufferedImage` sınıfıyla ön‑işleme yapıp Aspose’a gönderebilirsiniz. + +## El Yazısı Notları Okuma: Kenar Durumlarını Yönetme + +- **Düşük güvenilirlikli kelimeler**: `ocrEngine.getResult().getWords()` her kelimenin 0–100 arasında bir güven değeri olduğu bir liste döndürür. Belirli bir eşik altındaki kelimeleri filtreleyebilir ve kullanıcıdan manuel inceleme isteyebilirsiniz. +- **Çoklu diller**: **El yazısı notları** hem İngilizce hem de İspanyolca okumak istiyorsanız, `recognize()` çağırmadan önce her iki dili de ekleyin. +- **Büyük dosyalar**: Çok sayfalı PDF’ler ya da TIFF’ler için, bir döngü içinde `ocrEngine.setImage(pageStream)` kullanarak her sayfayı ayrı ayrı işleyin. + +## El Yazısı Görüntü Metnini Yapısal Veriye Dönüştürme + +Genellikle sadece ham bir dizeye ihtiyaç duymazsınız; tarih, tutar ya da kontrol listesi öğeleri gibi bilgileri çıkarmak isteyebilirsiniz. Düzeltmeli metni elde ettikten sonra, düzenli ifadeler ya da Stanford CoreNLP gibi NLP kütüphaneleri içeriği ayrıştırabilir: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +Bu snippet, **el yazısı görüntü metnini** kullanılabilir veri haline getirmenin ne kadar kolay olduğunu gösterir. + +## Yaygın Tuzaklar ve Çözümleri + +| Belirti | Muhtemel Neden | Çözüm | +|---------|----------------|------| +| Bozuk çıktı, çok sayıda `?` karakteri | Görüntü çok karanlık veya düşük kontrastlı | Parlaklığı artırın veya histogram eşitleme ile ön‑işleme yapın | +| Kaçırılan kelimeler | El yazısı çok akıcı | `ocrEngine.getSettings().setEnableCursive(true)` (destekleniyorsa) etkinleştirin | +| Yazım denetleyicisi yanlış kelimeler ekliyor | Dil modeli uyumsuzluğu | `ocrEngine.getSpellChecker().addUserWords(...)` ile özel sözlük ekleyin | +| Büyük görüntülerde bellek hatası | Görüntü boyutu > 10 MB | Yüklemeden önce ölçek küçültün veya parçalar halinde işleyin | + +## Tam Çalışan Örnek (Kopyala‑Yapıştır Hazır) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Not**: Kodu bir IDE’den çalıştırıyorsanız, `YOUR_DIRECTORY` klasörünün sınıf yolunda olduğundan emin olun ya da mutlak bir yol kullanın. + +--- + +## Sonuç + +Java’da **görüntüyü OCR ile nasıl okuyacağınızı** baştan sona ele aldık; **OCR için görüntüyü nasıl yükleyeceğinizi**, **el yazısı notları nasıl okuyacağınızı**, yazım denetlemesini nasıl etkinleştireceğinizi ve sonunda **el yazısı görüntü metnini** temiz bir dizeye dönüştürmeyi gösterdik. Yaklaşım basit, ancak üretim seviyesindeki uygulamalar için yeterince güçlü. + +Bir sonraki meydan okumaya hazır mısınız? Çok sayfalı PDF’lerle denemeler yapın, sektöre özgü terimler için özel sözlükler ekleyin ya da OCR çıktısını duygu analizi için bir makine öğrenmesi modeline besleyin. Aspose OCR’un doğruluğu ile Java’nın esnekliğini birleştirdiğinizde sınır yoktur. + +Belirli bir kenar durumu hakkında sorunuz mu var, yoksa bunu bir mobil uygulamaya nasıl entegre ettiğinizi paylaşmak mı istiyorsunuz? Aşağıya yorum bırakın—iyi kodlamalar! + +--- + +![how to OCR image example](/images/ocr-handwritten-example.png "how to OCR image of handwritten notes") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/turkish/java/ocr-basics/_index.md index 564df867f..69ff2dd14 100644 --- a/ocr/turkish/java/ocr-basics/_index.md +++ b/ocr/turkish/java/ocr-basics/_index.md @@ -101,6 +101,13 @@ Aspose.OCR for Java’ın potansiyelini bu adım‑adım rehberle ortaya çıkar Aspose.OCR for Java ile OCR doğruluğunu artırın. Eğim açılarını adım‑adım nasıl hesaplayacağınızı öğrenin. Belge işleme sürecinizi zahmetsizce iyileştirin. ### [Aspose.OCR’da Metin Alanlarıyla Dikdörtgenleri Alma](./get-rectangles-with-text-areas/) Aspose.OCR for Java’ın gücünü keşfedin. Bu adım‑adım rehberde görüntülerden metin çıkarmayı sorunsuz bir şekilde öğrenin. Verimli metin tanıma için hemen indirin. +### [Java’da PNG’den Metin Tanıma – Aspose OCR Eğitimi](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Java kullanarak PNG dosyalarından metin çıkarın. Aspose OCR ile adım adım tanıma sürecini öğrenin. +### [Java’da PNG’den Metin Çıkarma – Görüntüyü Metne Dönüştürme](./extract-text-from-image-convert-png-to-text-in-java/) +Java kullanarak PNG dosyalarından metin çıkarın. Aspose OCR ile adım adım dönüşüm sürecini öğrenin. +### [Java’da Görüntüden Metin Çıkarma – Tam OCR Örneği](./extract-text-from-image-in-java-complete-ocr-example/) +Java kullanarak bir görüntüden tam OCR süreciyle metin çıkarın. Adım adım örnekle öğrenin. +### [Java’da Aspose OCR ile Görüntüden Metin Çıkarma – Hızlı Kılavuz](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) --- @@ -113,4 +120,4 @@ Aspose.OCR for Java’ın gücünü keşfedin. Bu adım‑adım rehberde görün {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/turkish/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..5a5ae07a3 --- /dev/null +++ b/ocr/turkish/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,212 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR Java kullanarak görüntüden metin çıkarma – PNG'yi metne dönüştürmeyi, + OCR için görüntüyü yüklemeyi öğrenin ve bir Java OCR öğreticisini izleyin. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: tr +og_description: Aspose OCR Java ile görüntüden metin çıkarın. PNG'yi metne dönüştürmek + ve OCR için görüntüyü yüklemek için bu adım adım Java OCR öğreticisini izleyin. +og_title: Görüntüden metin çıkarma – Java OCR rehberi +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Görüntüden Metin Çıkar – Java’da PNG’yi Metne Dönüştür +url: /tr/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# görüntüden metin çıkarma – Java OCR Eğitimi + +Ever needed to **extract text from image** but weren't sure which library would let you do it without jumping through hoops? You're not the only one—developers constantly ask, “How can I convert a PNG to text in Java?” The good news is that Aspose OCR makes the whole process feel like a walk in the park. In this guide we'll walk through a complete **java ocr tutorial**, show you how to **load image for OCR**, and end up with clean, searchable text. + +Görüntüden **metin çıkarma** ihtiyacı hiç duydunuz mu, ancak hangi kütüphanenin bunu zahmetsiz bir şekilde yapabileceğinden emin değildiniz? Tek başınıza değilsiniz—geliştiriciler sürekli olarak “Java’da bir PNG’yi metne nasıl dönüştürebilirim?” sorusunu soruyor. İyi haber, Aspose OCR tüm süreci bir yürüyüş gibi hissettiriyor. Bu rehberde eksiksiz bir **java ocr tutorial** üzerinden geçecek, **load image for OCR** nasıl yapılacağını gösterecek ve temiz, aranabilir bir metin elde edeceksiniz. + +Motoru kurmaktan çok dilli içeriği işlemeye kadar her şeyi ele alacağız, böylece sonunda **extract text from image** dosyalarını herhangi bir boyut, format veya dilde işleyebileceksiniz. Harici hizmetler yok, API anahtarları yok—sadece tek bir JAR ve birkaç satır kod. + +## Gerekenler + +- JDK 8 veya daha yeni bir sürüm yüklü (kod JDK 11+’da da çalışır). +- Maven veya Gradle ile Aspose OCR kütüphanesini çekin, ya da JAR’ı Aspose web sitesinden manuel olarak indirin. +- Okunabilir metin içeren bir PNG görüntüsü (örnek olarak `khmer-sign.png` kullanacağız). +- Kullanım rahatlığı sağlayan bir IDE veya metin editörü—IntelliJ IDEA, Eclipse, VS Code, herhangi biri yeterli. + +Hepsi bu. Ağır çerçeveler yok, bulut kimlik bilgileri yok. Hazır mısınız? Görüntü dosyalarından metin çıkarmaya başlayalım. + +## Adım 1: Aspose OCR’yi Projenize Ekleyin + +İlk olarak—OCR motorunun sınıf yolunuzda olması gerekir. Maven kullanıyorsanız, bu bağımlılığı `pom.xml` dosyanıza ekleyin: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Veya Gradle ile: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Manuel yöntemi tercih ediyorsanız, Aspose indirme sayfasından JAR’ı indirin ve projenizin `libs` klasörüne koyun, ardından derleme yoluna ekleyin. + +> **Pro tip:** Her zaman en yeni kararlı sürümü seçin; eski sürümler dil paketlerini veya hata düzeltmelerini içermeyebilir. + +## Adım 2: OCR Motoru Örneğini Oluşturun + +Kütüphane artık kullanılabilir olduğuna göre, bir `OcrEngine` oluşturabiliriz. Motoru, pikselleri okuyup karakterlere dönüştüren bir beyin olarak düşünün. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Neden her seferinde yeni bir motor oluşturuyoruz? Motor, iç tamponları ve dil verilerini tutar; temiz bir başlangıç, özellikle daha sonra dilleri değiştirdiğinizde, belirli sonuçlar garantiler. + +## Adım 3: İstenen Dili Etkinleştirin (Opsiyonel ama Önerilir) + +Aspose OCR, onlarca dil paketiyle birlikte gelir. Kaynak görüntünüzün dilini biliyorsanız, bunu açıkça etkinleştirin; bu tanıma hız kazandırır ve doğruluğu artırır. Örneğimizde Khmer (`khm`) dilini etkinleştireceğiz, ancak `ENG` (İngilizce), `CHN` (Çince) gibi diğer dillerle değiştirebilirsiniz. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Neden önemli:** **load image for OCR** yaptığınızda, motor yalnızca etkinleştirilmiş dil sözlüklerini arar. Tüm dilleri açık bırakmak işlemi yavaşlatabilir ve yanlış pozitifleri artırabilir. + +## Adım 4: OCR İçin Görüntüyü Yükle – PNG’yi Metne Dönüştürme + +İşte **load image for OCR** adımının gerçekleştiği yer. Aspose, düşük seviyeli I/O işlemlerini soyutlayan kullanışlı bir `ImageStream.fromFile` yardımcı metodunu sunar. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +Görüntünüz başka bir formatta (JPEG, BMP, TIFF) ise aynı metod çalışır—Aspose formatı otomatik olarak algılar. Sadece dosya yolunun doğru olduğundan emin olun; aksi takdirde `FileNotFoundException` alırsınız. + +## Adım 5: OCR İşlemini Çalıştır ve PNG’yi Metne Dönüştür + +Motor hazır ve görüntü yüklendiğinde, gerçek tanıma tek bir metod çağrısıdır. Sonuç nesnesi ham dizeyi ve güven puanlarını verir. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Hepsi bu—**convert PNG to text** işlemini gerçekleştirdiniz. Dönen dize, motorun gördüğü gibi satır sonları ve boşluklar içerebilir. `trim()`, `replaceAll("\\s+", " ")` gibi yöntemlerle ya da ihtiyacınız olan başka temizlik işlemleriyle sonradan işleyebilirsiniz. + +## Adım 6: Sonucu Çıktıla (veya Sakla) + +Hızlı bir doğrulama için sonucu konsola yazdırın. Gerçek bir uygulamada muhtemelen bir dosyaya, veritabanına yazacak ya da başka bir servise aktaracaksınız. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Beklenen çıktı** (verilen Khmer işareti için) şu şekilde görünebilir: + +``` +សួស្តី +Welcome +``` + +Eğer çıktı bozuksa, Adım 3’te doğru dili etkinleştirdiğinizi ve görüntünün çok bulanık olmadığını iki kez kontrol edin. Görüntü çözünürlüğünü artırmak (ör. 300 dpi tarama) genellikle yardımcı olur. + +## Tam Çalışan Örnek + +Tüm parçaları bir araya getirerek, `ExtractTextExample.java` içine kopyalayıp çalıştırabileceğiniz bağımsız bir program burada: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Programı şu şekilde çalıştırın: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +ya da Gradle kullanıyorsanız: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +Konsola çıkarılan metni göreceksiniz, bu da Aspose OCR kullanarak **extract text from image** işlemini başarıyla tamamladığınızı doğrular. + +## Yaygın Tuzaklar ve Çözümleri + +| Semptom | Muhtemel Neden | Çözüm | +|---------|----------------|------| +| Boş dize döndü | Dil etkinleştirilmemiş veya yanlış dil kodu | Uygun `OcrLanguage` ekleyin (ör. İngilizce için `ENG`). | +| Bozuk karakterler | Görüntü çözünürlüğü çok düşük veya gürültülü arka plan | Daha yüksek çözünürlüklü bir kaynak kullanın veya keskinleştirme filtresiyle ön işleme yapın. | +| `OutOfMemoryError` | Tam boyutlu çok büyük bir görüntü yüklendi | Motorun içine vermeden önce görüntüyü küçültün (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Yanlış yol | Mutlak ya da göreli yolu doğrulayın; `Paths.get(...).toAbsolutePath()` kullanın. | + +> **Unutmayın:** OCR olasılıksal bir süreçtir. Mükemmel ayarlarla bile, özellikle el yazısı betikler için birkaç karakteri manuel olarak düzeltmeniz gerekebilir. + +## Eğitimi Genişletmek – Sonraki Adımlar + +- **Batch processing:** PNG dosyalarının bulunduğu bir klasörü döngüye alıp her görüntü için aynı mantığı çalıştırın. +- **PDF output:** Çıkarılan metni aranabilir bir PDF’e gömmek için Aspose PDF kullanın. +- **Language detection:** Bir dili ayarlamadan önce `ocrEngine.detectLanguage()` çağırarak motorun otomatik tahmin etmesini sağlayın. +- **Cloud integration:** Ölçeklendirme ihtiyacınız varsa, kodu bir REST uç noktasına sarın ve mikro‑servislerin çağırmasını sağlayın. + +Bu konuların tümü, yeni tamamladığımız **java ocr tutorial** üzerine doğal olarak inşa edilir ve Aspose OCR API’nin ne kadar çok yönlü olduğunu gösterir. + +## Sonuç + +Tam bir **java ocr tutorial** üzerinden geçtik; bu sayede Aspose OCR kullanarak **extract text from image** dosyaları, **convert PNG to text** ve doğru **load image for OCR** işlemlerini yapabilirsiniz. Adımlar basittir: kütüphaneyi ekleyin, bir motor oluşturun, doğru dili etkinleştirin, PNG’yi yükleyin, `recognize()` çalıştırın ve çıktıyı işleyin. Bu temelle veri girişini otomatikleştirebilir, aranabilir arşivler oluşturabilir veya resimlerden makine‑okunur metin gerektiren herhangi bir uygulamayı güçlendirebilirsiniz. + +Kendi görüntülerinizle deneyin—belki bir makbuz ekran görüntüsü ya da taranmış bir sözleşme. Dil ayarlarını ince ayarlayın, çözünürlükle deney yapın ve çözümün ne kadar esnek olduğunu çabuk göreceksiniz. Sorunla karşılaşırsanız, tuzaklar tablosuna tekrar bakın ya da Aspose’un resmi belgelerini kontrol edin; kapsamlı ve güncel tutulmuş. + +Kodlamaktan keyif alın ve bir sonraki projeniz temiz, aranabilir metinlerle dolu olsun! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/turkish/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..8ebf61cca --- /dev/null +++ b/ocr/turkish/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,155 @@ +--- +category: general +date: 2026-02-19 +description: Java OCR kullanarak görüntüden metin çıkarın. OCR için bir görüntü yükleyen + ve sadece birkaç adımda fatura dosyalarından metin çıkaran bir Java OCR örneğini + öğrenin. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: tr +og_description: Java OCR kullanarak görüntüden metin çıkarın. Bu kılavuz, OCR için + görüntünün nasıl yükleneceğini ve basit bir Java OCR örneğiyle faturalardan metnin + nasıl alınacağını gösterir. +og_title: Java’da Görüntüden Metin Çıkarma – Tam OCR Örneği +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Java'da Görüntüden Metin Çıkarma – Tam OCR Örneği +url: /tr/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +yi farklı alanlar (tarih, satıcı adı) için değiştirin, çok dilli faturalar için dil paketleriyle deney yapın veya OCR adımını bir Spring Boot mikroservisine entegre edin. Aynı desen makbuzlar, pasaportlar veya kesin metin çıkarımı gereken herhangi bir belge için çalışır." + +"If you’ve got questions about scaling this solution or handling noisy scans, drop a comment below—happy coding!" => "Bu çözümü ölçeklendirme veya gürültülü taramalarla başa çıkma konusunda sorularınız varsa, aşağıya yorum bırakın—iyi kodlamalar!" + +Now ensure we keep shortcodes at start and end. + +Let's assemble final content.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Görüntüden Metin Çıkarma Java’da – Tam OCR Örneği + +Görüntüden **metin çıkarma** ihtiyacı hiç duydunuz mu ama hangi kütüphaneyi seçeceğinizden emin değildiniz? Tek başınıza değilsiniz—birçok geliştirici fatura işleme otomasyonu veya aranabilir arşivler oluştururken bu engelle karşılaşıyor. İyi haber? Birkaç Java satırıyla bir resmi OCR için yükleyebilir, ilgi bölgesi (ROI) tanımlayabilir ve ihtiyacınız olan tam metni alabilirsiniz. + +Bu öğreticide **java ocr example** üzerinden **load image for OCR**, ROI ayarlama ve Aspose.OCR kullanarak **extract text from invoice** dosyalarını nasıl çıkaracağınızı adım adım göstereceğiz. Sonunda, herhangi bir Java projesine ekleyebileceğiniz çalıştırılabilir bir programınız olacak. + +## Öğrenecekleriniz + +- `OcrEngine` örneği oluşturmanın önemi ve nasıl yapılacağı. +- Aspose’un `ImageStream` ile **load image for OCR** doğru yöntemi. +- **region of interest (ROI)** ayarlayarak sadece fatura tutarının bulunduğu bölgeyi işleme. +- Tanınan metni çıkarma ve konsola yazdırma. +- Yaygın tuzaklar (ör. yanlış dikdörtgen koordinatları) ve hızlı çözümler. + +**Önkoşullar** + +- Java 8 veya daha yeni bir sürüm yüklü. +- Aspose.OCR kütüphanesini (`com.aspose:aspose-ocr`) çekmek için Maven veya Gradle. +- Bilinen bir dizine yerleştirilmiş örnek fatura resmi (`invoice.png`). + +Hepsi hazır mı? Harika—hadi başlayalım. + +![Extract text from image using Java OCR](/images/extract-text-from-image-java.png "görüntüden metin çıkarma örneği") + +## Görüntüden Metin Çıkarma – Adım Adım Java OCR Örneği + +Aşağıda tam kaynak kodu bulunuyor. `RoiOcrExample.java` dosyasına kopyalayıp doğrudan çalıştırabilirsiniz. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Her Adım Neden Önemli + +1. **OCR motoru oluşturma** – motor olmadan görüntü işleme bağlamı yoktur. Nesne ayrıca çok‑dilli destek gerekiyorsa dil paketlerini ayarlamanıza olanak tanır. +2. **Görüntüyü yükleme** – `ImageStream.fromFile` dosya formatını soyutlayarak motorun baytları doğru okumasını sağlar. Bunu atlayınca `NullPointerException` alırsınız. +3. **ROI ayarlama** – tüm sayfayı işlemek gereksizdir. Dikdörtgeni fatura toplamı alanına daraltarak tanıma süresini kısar ve gürültüyü azaltırsınız. +4. **`recognize()` çağrısı** – işin sihri burada gerçekleşir. Metod, ROI üzerinde OCR algoritmasını çalıştırır ve bir sonuç nesnesi üretir. +5. **Çıktıyı yazdırma** – gerçek projelerde metni bir veritabanına kaydedebilirsiniz, ancak `System.out.println` hızlı bir demo için idealdir. + +## OCR için Görüntü Yükleme + +Yolun mutlak mı yoksa göreli mi olması gerektiğini merak ediyorsanız, her ikisi de çalışır—sadece Java sürecinin dosyayı okuyabildiğinden emin olun. Windows’ta ters eğik çizgileri kaçırmanız gerekir (`C:\\images\\invoice.png`) ya da ileri eğik çizgileri (`C:/images/invoice.png`) kullanabilirsiniz. + +**İpucu:** Döngüde birçok fatura işliyorsanız aynı `OcrEngine` örneğini yeniden kullanın; dahili kaynakları önbelleğe alır ve verimliliği artırır. + +## İlgi Bölgesi (ROI) Tanımlama + +Doğru dikdörtgeni bulmak biraz deneme yanılma gerektirebilir. Koordinatları öğrenmenin pratik bir yolu, görüntüyü herhangi bir grafik editöründe (GIMP, Paint.NET vb.) açıp bölge üzerine gelmek; durum çubuğunda X/Y değerlerini görebilirsiniz. + +Köşe durum: bazı faturaların düzeni değişken olabilir. Bu durumda tüm görüntüde hızlı bir ön‑tarama yapıp, “Total:” gibi anahtar kelimeleri regex ile bulabilir ve ROI'yi dinamik olarak ayarlayabilirsiniz. + +## OCR Yap ve Metni Al + +`recognize()` çağrısı eşzamanlıdır—motor bitene kadar threadiniz bloklanır. Büyük partiler için bir thread havuzu oluşturup görüntüleri paralel işleyebilirsiniz. Her thread’in kendi `OcrEngine` örneğine ihtiyacı olduğunu unutmayın; motor thread‑güvenli değildir. + +## Çalıştır ve Çıktıyı Doğrula + +Derleyin ve çalıştırın: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +Şuna benzer bir çıktı görmelisiniz: + +``` +ROI text: $1,254.00 +``` + +Çıktı bozuk görünüyorsa, ROI koordinatlarını tekrar kontrol edin ve görüntü kalitesinin yüksek (300 dpi veya daha fazla) olduğundan emin olun. + +### Yaygın Tuzaklar ve Çözüm Yolları + +| Belirti | Muhtemel Neden | Çözüm | +|---------|----------------|------| +| Boş string | ROI, görüntü sınırları dışında | Dikdörtgen değerlerini görüntü boyutlarıyla karşılaştırın | +| Yanlış yazılmış kelimeler | Düşük çözünürlük | Daha yüksek çözünürlüklü kaynak kullanın veya görüntü ön‑işleme (ör. ikilileştirme) uygulayın | +| `java.lang.NoClassDefFoundError` | Aspose JAR’ı sınıf yolunda yok | `aspose-ocr.jar` dosyasını `-cp`’ye ekleyin veya Maven/Gradle bağımlılık yönetimini kullanın | + +## Sonuç + +Artık Java’da **extract text from image** işlemini kısa bir **java ocr example** ile nasıl yapacağınızı biliyorsunuz. Görüntüyü doğru şekilde yükleyip, odaklı bir ROI tanımlayıp ve `recognize()` çağırarak **extract text from invoice** dosyalarından güvenilir bir şekilde metin çıkarabilir ve bu veriyi sonraki sistemlere aktarabilirsiniz. + +Sırada ne var? ROI'yi farklı alanlar (tarih, satıcı adı) için değiştirin, çok dilli faturalar için dil paketleriyle deney yapın veya OCR adımını bir Spring Boot mikroservisine entegre edin. Aynı desen makbuzlar, pasaportlar veya kesin metin çıkarımı gereken herhangi bir belge için çalışır. + +Bu çözümü ölçeklendirme veya gürültülü taramalarla başa çıkma konusunda sorularınız varsa, aşağıya yorum bırakın—iyi kodlamalar! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/turkish/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..ca8943984 --- /dev/null +++ b/ocr/turkish/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR kullanarak Java’da görüntüden metin çıkarın. PNG’den metni + tanıma, görüntüyü dize dönüştürme ve taramadan metni okuma konusunda sadece birkaç + adımda öğrenin. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: tr +og_description: Görüntüden metni hızlı bir şekilde çıkarın. Bu öğreticide PNG'den + metni tanıma, görüntüyü dize dönüştürme ve Aspose OCR kullanarak taramadan metin + okuma gösterilmektedir. +og_title: Aspose OCR ile Görüntüden Metin Çıkarma – Java Rehberi +tags: +- Java +- OCR +- Aspose +title: Aspose OCR ile Görüntüden Metin Çıkarma – Java Hızlı Kılavuzu +url: /tr/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Görüntüden Metin Çıkarma – Tam Java Eğitimi + +Görüntüden **görüntüden metin çıkarma** istediğiniz ama hangi kütüphaneyi seçeceğinizden emin olmadığınız oldu mu? Belki PNG formatında taranmış bir makbuzunuz var ve metni daha sonraki işlemeler için düz bir dize olarak istiyorsunuz. Benim deneyimime göre Aspose OCR kütüphanesi bu işi çocuk oyuncağı haline getiriyor, özellikle Java ile çalışıyorsanız. + +Bu rehberde bilmeniz gereken her şeyi adım adım inceleyeceğiz: Aspose OCR bağımlılığını kurmaktan, bir PNG dosyasını yüklemeye, **png'den metin tanıma**'ya, sonucun kullanılabilir bir Java `String`'e dönüştürülmesine kadar. Sonunda **görüntüyü dizeye dönüştürme**'yi yapabilecek ve **tarama dosyalarından metin okuma**'yı sorunsuz bir şekilde göreceksiniz. + +## Öğrenecekleriniz + +- Aspose OCR'ı bir Maven veya Gradle projesine nasıl ekleyeceğinizi. +- Tek bir metod çağrısı ile **görüntüden metin çıkarma** için gereken tam kod. +- `ImageStream` sınıfının motorun içine veri beslemek için tercih edilen yol olmasının nedeni. +- Büyük taramaları, çok sayfalı PDF'leri ve yaygın tuzakları ele almanız için ipuçları. + +Önceden OCR deneyimi gerekmez, sadece Java hakkında temel bir anlayış ve işlemek istediğiniz bir PNG yeterlidir. + +## Önkoşullar + +| Gereksinim | Sebep | +|-------------|--------| +| Java 8 ve üzeri | Aspose OCR, Java 8+ hedef alır. | +| Maven veya Gradle (isteğe bağlı) | Bağımlılık yönetimini basitleştirir. | +| Bir PNG görüntüsü (ör. `quick.png`) | OCR çalıştıracağımız kaynak. | +| İnternet erişimi (ilk çalıştırmada) | Kütüphane, dil paketlerini otomatik olarak indirebilir. | + +Eğer zaten IntelliJ IDEA veya Eclipse gibi bir Java IDE'niz varsa, hazırsınız. + +--- + +## Adım 1: Projenizde Aspose OCR'ı Kurun + +### Maven + +Aşağıdaki bağımlılığı `pom.xml` dosyanıza ekleyin: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro ipucu:** Kurumsal bir proxy kullanıyorsanız, Maven/Gradle'ın `repo.maven.apache.org` adresine ulaşabildiğinden emin olun. Aksi takdirde kod satırı yazmadan önce derleme başarısız olur. + +--- + +## Adım 2: PNG Görüntüsünü Yükleyin + +`ImageStream` sınıfı dosya sistemi detaylarını soyutlar ve akışlar, URL'ler veya bayt dizileriyle çalışır. Yerel bir PNG'yi nasıl yükleyeceğiniz aşağıdadır: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Neden önemli:** `ImageStream.fromFile` kullanmak, OCR motorunun görüntüyü tam olarak anlayabileceği bir formatta almasını garanti eder; bu, ham bayt dizileri beslemek yerine tanıma doğruluğunu artırır. + +--- + +## Adım 3: PNG'den Metin Tanıma + +Aspose OCR, işi yapan tek bir statik metod sunar: `OcrEngine.recognize`. Bu metod, düz bir Java `String` döndürür; bu da **görüntüyü dizeye dönüştürme** istediğinizde tam olarak ihtiyacınız olan şeydir. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### Arkada Ne Oluyor? + +1. **Ön‑işleme:** Motor, görüntüyü otomatik olarak eğriltmeyi giderir ve kontrastı normalleştirir. +2. **Dil Algılama:** Bir dil belirtmezseniz, Aspose bunu tahmin etmeye çalışır; bu, hızlı taramalar için kullanışlıdır. +3. **Tanıma:** Çekirdek OCR motoru, milyonlarca karakter üzerinde eğitilmiş bir sinir ağı modelini çalıştırır. + +Tüm bunlar tek bir çağrıda kapsandığı için, çok özel bir kullanım durumunuz olmadıkça düşük seviyeli ayarlarla uğraşmanız gerekmez. + +--- + +## Adım 4: Çıkarılan Dizeyi Görüntüleme ve Kullanma + +Artık metne sahip olduğunuza göre, bunu yazdırabilir, bir veritabanına kaydedebilir veya başka bir API'ye besleyebilirsiniz. En basit yol — sadece `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Beklenen Çıktı + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Not:** Kesin çıktı, `quick.png` içeriğine bağlıdır. Görüntü el yazısı bir not içeriyorsa, bazı hatalı tanıma sonuçları görebilirsiniz — biraz son işlemle düzeltilemeyecek bir şey yok. + +--- + +## Adım 5: Yaygın Kenar Durumlarını Ele Alma + +### Büyük Taramalar veya Çok Sayfalı PDF'ler + +Tipik bir PNG'den daha büyük **tarama dosyalarından metin okuma** ihtiyacınız varsa, şunları göz önünde bulundurun: + +- Görüntüyü parçalara bölmek (`ImageStream.fromRegion`). +- PDF girdileri için `OcrEngine.recognizeMultiplePages` kullanmak. + +### Non‑English Languages + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Performans İpuçları + +- Tekrarlanan başlatmayı önlemek için birden fazla görüntüde aynı `OcrEngine` örneğini yeniden kullanın. +- Toplu işleme için çoklu iş parçacığını etkinleştirin ancak bellek aşırı kullanımını önlemek için iş parçacıklarını CPU çekirdek sayısıyla sınırlayın. + +--- + +## Tam Çalışan Örnek + +Aşağıda, tamamen çalıştırılabilir Java sınıfı bulunmaktadır. IDE'nize kopyalayıp yapıştırın, görüntü yolunu ayarlayın ve **Run** tuşuna basın. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +Bu programı çalıştırmak, OCR sonucunu konsola yazdırır ve sadece birkaç satır kodla **görüntüyü dizeye dönüştürme** işlemini etkili bir şekilde gerçekleştirir. + +--- + +## Sonuç + +Artık Aspose OCR kullanarak Java'da **görüntüden metin çıkarma** dosyalarını nasıl yapacağınızı biliyorsunuz. Süreç üç basit adıma indirgenir: PNG'yi yükleyin, `OcrEngine.recognize` metodunu çağırın ve ortaya çıkan dizeyi kullanın. **png'den metin tanıma**, **görüntüyü dizeye dönüştürme** ya da sadece **tarama belgelerinden metin okuma** isterken, bu yaklaşım size güvenilir, üretime hazır bir çözüm sunar. + +Bir sonraki meydan okumaya hazır mısınız? Tarama makbuzları içeren bir klasörü döngüye sokmayı, her sonucu bir CSV'ye kaydetmeyi ya da doğruluğu artırmak için dil‑spesifik ayarlarla denemeler yapmayı deneyin. Gökyüzü sınırdır ve az önce yazdığınız kod sağlam bir temeldir. + +Kodlamaktan keyif alın, ve yorumlarda sorularınızı bırakmaktan çekinmeyin — yardımcı olmaktan memnuniyet duyarım! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/turkish/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..0eedf7ca6 --- /dev/null +++ b/ocr/turkish/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-02-19 +description: Java'da Aspose OCR kullanarak PNG'den metin tanıma – görüntüden metni + nasıl çıkaracağınızı ve OCR ile görüntüyü verimli bir şekilde nasıl işleyeceğinizi + öğrenin. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: tr +og_description: Java'da Aspose OCR ile PNG'den metin tanıma. Bu öğretici, görüntüden + Java ile metin nasıl çıkarılır ve OCR ile adım adım nasıl işlenir gösterir. +og_title: Java’da PNG’den metin tanıma – Tam Aspose OCR Rehberi +tags: +- OCR +- Java +- Image Processing +title: Java'da PNG'den metin tanıma – Aspose OCR öğreticisi +url: /tr/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNG'den metin tanıma Java’da – Tam Aspose OCR Rehberi + +Hiç **png'den metin tanıma** ihtiyacı duydunuz ama hangi kütüphaneyi seçeceğinizden emin değildiniz mi? Yalnız değilsiniz—birçok Java geliştiricisi, görüntü‑tabanlı veri çıkarımına ilk kez başladıklarında bu engelle karşılaşıyor. İyi haber, Aspose OCR tüm süreci neredeyse ağrısız hâle getiriyor ve bu rehberde **image java'dan metin çıkarma** projelerinde **OCR ile görüntü işleme** işlemini iş parçacığı‑güvenli bir şekilde nasıl yapacağınızı tam olarak göreceksiniz. + +Önümüzdeki birkaç dakikada, bir PNG dosyasını yükleyen, OCR'ı CPU üzerinde en fazla sekiz iş parçacığı kullanarak çalıştıran ve tanınan dizeyi konsola yazdıran küçük bir Java programı oluşturacağız. Harici hizmetler yok, gizli API anahtarları yok—sadece bugün kopyalayıp yapıştırıp çalıştırabileceğiniz sade Java kodu. + +## Gereksinimler + +- **Java 17** veya daha yeni (kod daha eski sürümlerle de derlenebilir, ancak 17 ideal noktadır). +- **Aspose.OCR for Java** JAR (Aspose web sitesinden indirin veya Maven üzerinden çekin). +- Okumak istediğiniz bir PNG görüntüsü—örneğin `document-page1.png` diskte bir yerde saklı. +- Favori IDE'niz ya da basit bir metin editörü ve bir terminal. + +Hepsi bu. Bunlara sahipseniz, doğrudan çözüme dalabiliriz. + +![Aspose OCR kullanarak png'den metin tanıyan Java kodu](image-placeholder.png "png'den metin tanıma Java örneği"){alt="Aspose OCR kullanarak png'den metin tanıyan Java kodu"} + +## Adım‑Adım: png'den metin tanıma + +Aşağıda uygulamayı net, yönetilebilir parçalara ayırıyoruz. Her parça bir H2 başlığıdır, böylece ilgilendiğiniz bölüme doğrudan atlayabilirsiniz. + +### 1. Projenize Aspose OCR Ekleyin + +**Neden?** OCR motoru Aspose kütüphanesinin içinde bulunur; onsuz derleyici `OcrEngine`'in ne olduğunu bilemez. + +If you use Maven, drop this snippet into your `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +For Gradle, it looks like: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Pro ipucu:** Her zaman en son sürüm numarasını doğrulayın; yeni sürümler genellikle çok‑iş parçacıklı işleme için performans iyileştirmeleri getirir. + +### 2. OCR Motorunu Oluşturun ve Yapılandırın + +**Neden?** `OcrEngine`'i örneklemek, kullanıma hazır bir nesne sağlar ve cihaz ayarlarını ayarlamak, sahip olduğunuz tüm CPU çekirdeklerini kullanmanıza olanak tanır. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Burada cihazı açıkça `CPU` olarak ayarlıyoruz. Daha sonra GPU‑destekli bir ortama geçerseniz, sadece enum değerini değiştirin—başka bir kod değişikliğine gerek yok. + +### 3. PNG Görüntüyü Yükleyin + +**Neden?** OCR, doğrudan bir dosya yolunda değil, bir görüntü akışı üzerinde çalışır. Dosyayı `ImageStream`'e dönüştürmek, alttaki formatı soyutlar. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +`YOUR_DIRECTORY` ifadesini gerçek klasörle değiştirin. Dosya bulunamazsa, motor bir `IOException` fırlatır; bunu daha sonra yakalayacağız. + +### 4. Tanıma Çalıştırın ve Sonucu Yakalayın + +**Neden?** `recognize()` metodu ağır işi yapar—karakterleri, satırları ve düzeni algılar. Dönen `OcrResult` düz metni tutar. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Ayrıca bir `Pdf` veya `Html` sonucu da isteyebilirsiniz, ancak **image java'dan metin çıkarma** amacıyla sadece düz metni kullanıyoruz. + +### 5. Metni Çıktılayın ve Temizleyin + +**Neden?** Demonstrasyon için basit bir `System.out.println` yeterlidir, ancak gerçek bir uygulamada muhtemelen bir dosyaya ya da veritabanına yazarsınız. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +`OcrEngine` `AutoCloseable` arayüzünü uyguladığından, her şeyi bir try‑with‑resources bloğuna sarmak iyi bir alışkanlıktır. Bu, yerel kaynakların hızlıca serbest bırakılmasını sağlar. + +### 6. Tam, Çalıştırılabilir Örnek + +Putting it all together, here’s the complete program you can compile and run: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Beklenen çıktı** (PNG'nin “Hello World” içerdiğini varsayarsak): + +``` +=== OCR Result === +Hello World +``` + +Görüntü daha karmaşıksa—birden fazla satır, tablo veya el yazısı notlar—çıktı, Aspose OCR'nin tam olarak algıladığını yansıtacak ve uygun yerlerde satır sonlarını koruyacaktır. + +## Yaygın Sorular & Kenar Durumları + +### PNG çok büyük olursa ne olur? + +Büyük görüntüler bellek tüketebilir. Pratik bir çözüm, motorun önüne göndermeden önce görüntüyü **küçültmek**tir: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +Küçültme, çoğu basılı metin için OCR doğruluğundan ödün vermeden CPU yükünü azaltır. + +### OCR'yi PNG yerine PDF üzerinde çalıştırabilir miyim? + +Kesinlikle. Aspose OCR, `PdfDocument` nesneleri aracılığıyla PDF'leri de kabul eder. Aynı `recognize()` çağrısı çalışır, böylece kaynak format ne olursa olsun **OCR ile görüntü işleme** yapabilirsiniz. + +### Latin dışı betikler için doğruluğu nasıl artırırım? + +Tanımadan önce dili ayarlayın: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose, onlarca dil paketiyle birlikte gelir; görüntü içeriğinize uyanı seçmeniz yeterlidir. + +### İş parçacığı sayısı her zaman faydalı mı? + +Daha fazla iş parçacığı, çok‑çekirdekli CPU'larda işleme hızını artırır, ancak fiziksel çekirdek sayısının ötesinde getirisi azalır. Orantısız bir hız artışı olmadan CPU kullanımının yükseldiğini fark ederseniz, sayıyı `Runtime.getRuntime().availableProcessors()` değerine geri çekin. + +## Özet: Neler Başardık + +Kısa bir Java programı kullanarak **png'den metin tanıma** işlemini gerçekleştirdik, Aspose OCR ile **image java'dan metin çıkarma** nasıl yapılır gösterdik ve **OCR ile görüntü işleme** için üretim‑hazır adımları kapsadık. Kod bağımsızdır, açıklamalar hem “nasıl” hem de “neden” sorularını yanıtlar ve ipuçları karşılaşabileceğiniz tipik sorunları ele alır. + +## Sıradaki Adımlar + +- **Toplu işleme:** Bir PNG dizini üzerinde döngü kurup her sonucu bir `.txt` dosyasına yazın. +- **PDF oluşturma:** OCR çıktısını Aspose.PDF'ye besleyerek aranabilir PDF'ler oluşturun. +- **Bulut ölçeklendirme:** Aynı kodu Kubernetes tarafından yönetilen bir konteynere dağıtın ve iş parçacığı havuzunun pod kaynaklarına uyum sağlamasına izin verin. + +Denemekten çekinmeyin—görüntüyü değiştirin, iş parçacığı sayısını ayarlayın veya dilleri değiştirin. OCR motoru çoğu senaryoyu idare edecek kadar esnektir ve artık sahip olduğunuz temel ile genişletmek çok kolay. + +Sorularınız mı var, ya da akıllı bir optimizasyon mu keşfettiniz? Aşağıya bir yorum bırakın, iyi kodlamalar! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/java/ocr-operations/_index.md b/ocr/turkish/java/ocr-operations/_index.md index 802843c9e..9067179fc 100644 --- a/ocr/turkish/java/ocr-operations/_index.md +++ b/ocr/turkish/java/ocr-operations/_index.md @@ -80,6 +80,10 @@ Aspose.OCR ile Java'da OCR gücünü açığa çıkarın. PDF belgelerinde metni Aspose.OCR ile Java'da güçlü metin tanımanın kilidini açın. TIFF görüntülerinde metni sorunsuz bir şekilde tanıyın. Kesintisiz bir OCR deneyimi için şimdi indirin. ### [Aspose OCR ile Görüntü Metni Tanıma – Tam Java OCR Öğreticisi](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Java'da Aspose OCR kullanarak görüntüden metin tanıma sürecini adım adım öğrenin. +### [JPG Görüntüsünden Aranabilir PDF Oluşturma – Görüntüden Aranabilir PDF Java Rehberi](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +JPG görüntüsünden aranabilir PDF oluşturun. Aspose.OCR for Java ile adım adım kılavuz. +### [Görüntüyü Düzeltme — Adım Adım OCR Ön İşleme Kılavuzu](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +Görüntü eğriliğini gidererek OCR doğruluğunu artırın. Adım adım deskew işlemini öğrenin. ## Sıkça Sorulan Sorular diff --git a/ocr/turkish/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/turkish/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..5e723bddb --- /dev/null +++ b/ocr/turkish/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,188 @@ +--- +category: general +date: 2026-02-19 +description: Aspose OCR ile Java’da bir JPG görüntüsünden aranabilir PDF oluşturun. + JPG’yi PDF’ye dönüştürün ve görüntüden metni hızlıca tanıyın. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: tr +og_description: Aspose OCR ile bir JPG görüntüsünden aranabilir PDF oluşturun. JPG'yi + PDF'ye dönüştürmeyi ve Java'da görüntüden metin tanımayı öğrenin. +og_title: JPG'den Aranabilir PDF Oluştur – Java OCR Öğreticisi +tags: +- aspose-ocr +- java +- pdf +- ocr +title: JPG'den Aranabilir PDF Oluştur – Görüntüyü Aranabilir PDF'ye Dönüştürme Java + Kılavuzu +url: /tr/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# JPG'den Aranabilir PDF Oluşturma – Görüntüden Aranabilir PDF Java Rehberi + +Hiç taranmış bir resimden **searchable PDF** oluşturmanız gerekti, ancak nereden başlayacağınızı bilemediniz mi? Tek başınıza değilsiniz—bir JPG'nin aranabilir olması gerektiğinde birçok geliştirici aynı sorunla karşılaşıyor. İyi haber şu ki, Aspose OCR for Java ile bu görüntüyü sadece birkaç satır kodla tamamen **searchable PDF**'ye dönüştürebilirsiniz. + +Bu öğreticide tüm süreci adım adım inceleyeceğiz: bir JPG'yi yüklemek, metni tanımak ve sonucu aranabilir bir PDF olarak kaydetmek. Sonuna kadar **convert jpg to pdf**, **extract text from jpg** nasıl yapılır ve bu yaklaşımın PDF oluşturulduktan sonra OCR yapmaktan genellikle daha güvenilir neden olduğunu öğreneceksiniz. + +## Gereksinimler + +Başlamadan önce, makinenizde aşağıdakilerin olduğundan emin olun: + +* **Java Development Kit (JDK) 8 veya daha yeni** – kod standart Java API'lerini kullanır. +* **Aspose OCR for Java** kütüphanesi – Maven Central'dan alabilir veya JAR'ı Aspose sitesinden indirebilirsiniz. +* Okunabilir metin içeren bir **sample JPG** (ör. taranmış bir fatura veya bir belgenin ekran görüntüsü). + +Ek bir çerçeve (framework) gerekmez; örnek sade bir Java projesiyle çalışır. + +## Adım 1 – Projeyi Kurun ve Aspose OCR'yi Ekleyin + +İlk olarak, yeni bir Maven projesi oluşturun (ya da JAR'ı sınıf yoluna eklediğiniz bir klasör). Maven kullanıyorsanız, bu bağımlılığı `pom.xml` dosyanıza ekleyin: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** Her zaman Aspose Maven deposundaki en son sürümü kontrol edin; yeni sürümler performans iyileştirmeleri ve hata düzeltmeleri içerir. + +Bağımlılık çözüldükten sonra, **searchable PDF** oluşturacak Java kodunu yazmaya hazırsınız. + +## Adım 2 – Görüntüyü Yükleyin (image to searchable pdf) + +İlk gerçek adım, OCR motorunu kaynak görüntüye yönlendirmektir. İşte **image to searchable pdf** dönüşümünün gerçekten başladığı yer. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Neden önemli:** `setImage`, Aspose'a hangi bitmap'i analiz edeceğini söyler. Düşük çözünürlüklü bir görüntü sağlarsanız OCR kalitesi düşer, bu yüzden en iyi sonuçlar için JPG'nin en az 300 dpi olduğundan emin olun. + +## Adım 3 – Görüntüden Metni Tanıyın + +Motor artık hangi görüntüyle çalışacağını bildiğine göre, ona **recognize text from image** yapmasını isteyebiliriz. Aspose OCR, dil algılama, karakter segmentasyonu ve güven puanı gibi işlemleri arka planda halleder. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +`recognize()` çağrısı akıcı bir arayüz döndürür, böylece `save` metodunu zincirleyebiliriz. `OcrOutputFormat.SEARCHABLE_PDF` belirterek, kütüphane orijinal görüntünün görünümünü korurken PDF içine görünmez bir metin katmanı ekler. + +> **Köşe durumu:** JPG'niz birden fazla sayfa içeriyorsa (ör. ayrı JPG'ler olarak kaydedilmiş çok sayfalı bir TIFF), her dosya üzerinde döngü yapıp ortaya çıkan PDF'leri daha sonra birleştirmeniz gerekir. Aynı OCR motoru her yineleme için yeniden kullanılabilir. + +## Adım 4 – Sonucu Doğrulayın + +Kaydetme işlemi tamamlandıktan sonra, basit bir konsol mesajı her şeyin sorunsuz gerçekleştiğini bildirir. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +`output-searchable.pdf` dosyasını Adobe Acrobat gibi bir görüntüleyicide açtığınızda, gizli metni seçebilmeniz, kopyalamanız veya arama yapabilmeniz gerekir—tam da bir **searchable PDF**'den beklediğiniz gibi. + +### Beklenen Çıktı + +Programı çalıştırdığınızda şu çıktı verir: + +``` +Searchable PDF created. +``` + +Oluşturulan PDF, orijinal JPG'yi gösterirken metin seçimine izin verir. PDF'nin “Properties → Description → PDF Producer” bölümünü açarsanız, `Aspose.OCR for Java` gibi bir şey göreceksiniz. + +## Tam Çalışan Örnek + +Aşağıda tam, çalıştırmaya hazır kaynak dosya bulunmaktadır. IDE'nize kopyalayıp yapıştırın, dosya yollarını ayarlayın ve çalıştırın. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **OCR başarısız olursa ne olur?** +> * Genellikle bu, görüntünün çok gürültülü olması veya dilin kutudan çıkınca desteklenmemesinden kaynaklanır. Görüntüyü ön işleme (kontrastı artırma, eğikliği düzeltme) yaparak ya da dili `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);` ile açıkça ayarlayarak doğruluğu artırabilirsiniz. + +## Yaygın Sorular & Dikkat Edilmesi Gerekenler + +| Question | Answer | +|----------|--------| +| **PDF yerine düz metni çıkarabilir miyim?** | Evet. `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` kullanın. | +| **PNG işlemek gerekirse ne olur?** | Aynı API çalışır; sadece `fromFile` içinde dosya uzantısını değiştirin. | +| **Oluşturulan PDF tüm görüntüleyicilerde gerçekten aranabilir mi?** | Modern görüntüleyiciler (Adobe Reader, Foxit, Chrome) gizli metin katmanını tanır. Eski araçlar bunu görmezden gelebilir. | +| **PDF sayfa boyutunu nasıl kontrol edebilirim?** | Aspose OCR varsayılan olarak görüntü boyutlarını kullanır. Özel boyutlandırma için PDF'yi manuel olarak oluşturup OCR metin katmanını üzerine yerleştirin—bu gelişmiş bir senaryodur. | + +## Performans İpuçları + +* **Batch processing:** Birçok görüntü için tek bir `OcrEngine` örneğini yeniden kullanın, böylece yerel kütüphane yüklemeleri tekrarlanmaz. +* **Thread safety:** Motor **thread‑safe** değildir; paralel çalıştırıyorsanız her thread için bir tane oluşturun. +* **Memory usage:** Büyük görüntüler çok RAM tüketebilir. `OutOfMemoryError` alırsanız, motoru beslemeden önce görüntüyü küçültün. + +## Sonraki Adımlar + +Artık **searchable PDF** oluşturmayı bildiğinize göre, ilgili görevleri keşfetmek isteyebilirsiniz: + +* **Convert jpg to pdf** OCR olmadan (düz bir görüntü PDF'si için Aspose PDF kütüphanesini kullanın). +* **Extract text from jpg** indeksleme için bir `.txt` dosyasına çıkarın. +* **Combine multiple searchable PDFs** tek bir belgeye birleştirin, Aspose PDF’nin `PdfFileEditor`'ını kullanarak. + +Bunların hepsi, az önce kurduğunuz aynı temele dayanır. + +--- + +### Hızlı Özet + +* Aspose OCR for Java kullanarak bir JPG'den **searchable PDF** oluşturduk. +* Süreç, görüntüyü yüklemeyi, metni tanımayı ve **searchable PDF** olarak kaydetmeyi kapsadı. +* Artık **image to searchable PDF**, **recognize text from image**, **extract text from jpg**, ve **convert jpg to pdf** için yeniden kullanılabilir bir deseniniz var. + +Kendi belgelerinizle deneyin, gerekirse dil ayarlarını değiştirin ve OCR'un sizin için ağır işi yapmasına izin verin. İyi kodlamalar! + +![Create searchable PDF example](placeholder.png){alt="Aranabilir PDF oluşturma örneği"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/turkish/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..e4305f2b7 --- /dev/null +++ b/ocr/turkish/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,172 @@ +--- +category: general +date: 2026-02-19 +description: OCR için görüntünün eğriliğini düzeltmeyi ve gürültüyü kaldırmayı öğrenin. + Bu öğreticide metin görüntüsünü tanıma, görüntü döndürmesini düzeltme ve Aspose + OCR ile görüntü OCR ön işleme nasıl yapılacağını gösterir. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: tr +og_description: Görüntüyü eğriltmeyi düzeltmek ve gürültüyü temizlemek, metin görüntüsünü + hızlıca tanımanıza olanak sağlar. Bu kılavuzu izleyerek görüntü döndürmeyi düzeltin + ve Aspose ile OCR ön işleme yapın. +og_title: Resmi Nasıl Düzeltiriz – Tam OCR Ön İşleme Eğitimi +tags: +- OCR +- Java +- Image Processing +title: Görüntüyü Eğri Düzeltme — Adım Adım OCR Ön İşleme Rehberi +url: /tr/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Görüntüyü Eğikliği Düzeltme — Tam OCR Ön İşleme Eğitimi + +Bir OCR motoruna beslemeden önce **görüntüyü eğikliği düzeltme** işlemini nasıl yapacağınızı hiç merak ettiniz mi? Belki bir grup makbuzu taradınız ve sayfalar hafifçe yana yatmış gibi görünüyor ya da tarama rastgele noktalara sahip. Bu yaygın bir sorun—eğik ve gürültülü fotoğraflar metin tanıma sürecini zorlaştırır. + +İyi haber? Aspose.OCR kullanarak sadece birkaç Java satırıyla görüntüyü döndürmeyi (image rotation) düzeltebilir ve gürültüyü (how to remove noise) temizleyebilirsiniz. Bu rehberde, gürültülü‑döndürülmüş bir PNG'yi yüklemek, eğikliği düzeltme + medyan gürültü giderme uygulamak ve **metin tanıma** yapıp sonucu yazdırmak için tüm akışı adım adım inceleyeceğiz. Sonunda, herhangi bir Java projesine ekleyebileceğiniz yeniden kullanılabilir bir kod parçacığına sahip olacaksınız. + +## Gereksinimler + +- **Java 17** veya daha yeni (kod eski sürümlerle de derlenebilir, ancak 17 ideal). +- **Aspose.OCR for Java** – en yeni JAR dosyasını Maven Central'dan (`com.aspose:aspose-ocr`) alabilirsiniz. +- Döndürülmüş ve gürültülü bir görüntü dosyası (ör. `noisy-rotated.png`). +- Basit bir IDE (IntelliJ, Eclipse veya hatta VS Code). + +Karmaşık derleme araçlarına gerek yok; basit bir `javac` + `java` çalıştırması yeterli. + +--- + +## Adım 1 – OCR Motoru Örneğini Oluşturma + +İlk yaptığınız şey bir `OcrEngine` başlatmak. Bu, karakterleri sizin için okuyacak beyin gibi düşünülebilir. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **İpucu:** Birçok görüntü işliyorsanız motoru singleton olarak tutun; iç tamponları yeniden kullanır ve hızı artırır. + +## Adım 2 – Eğikliği Düzeltme ve Medyan Gürültü Giderme (How to Remove Noise) Özelliğini Etkinleştirme + +Şimdi motoru **görüntü döndürmeyi düzeltme** ve **gürültüyü nasıl kaldırılır** işlemlerini yapması için ayarlıyoruz. Her iki filtre de isteğe bağlıdır, ancak birlikte kullanıldıklarında doğruluğu büyük ölçüde artırırlar. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Neden medyan gürültü giderme? Kenarları (karakterleri tanımlayan çizgileri) korurken izole pikseları siler—temiz OCR için tam da ihtiyacınız olan şey budur. + +## Adım 3 – İşlenecek Görüntüyü Yükleme + +Burada motoru temizlenmesi gereken dosyaya yönlendiriyoruz. `ImageStream.fromFile` PNG'yi belleğe okur. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Görüntünüz uzak bir sunucuda ise, bunun yerine bir `InputStream` sağlayın—Aspose bunu sorunsuz yönetir. + +## Adım 4 – OCR'ı Çalıştırma ve Tanınan Metni Yakalama + +Ön işleme etkinleştirildiğinde, motor artık düzeltilmiş görüntüyü okur. `recognize()` çağrısı, çıkarılan dizeyi içeren bir `RecognitionResult` döndürür. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +Orijinal fotoğraf eğik ve grenli olsa bile, konsolda temiz ve okunabilir bir metin görmelisiniz. + +## Adım 5 – Sonucu Doğrulama (What to Expect) + +Her şey doğru çalıştığında, konsol aşağıdakine benzer bir çıktı verir: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Çıktı hâlâ bozuk karakterler içeriyorsa, şunları kontrol edin: + +- Görüntü çözünürlüğü (≥ 300 dpi ideal). +- Dosya yolunun doğru olduğundan emin olun. +- Ek filtrelerin (`setContrastStretch` gibi) yardımcı olup olmayacağını değerlendirin. + +--- + +## İsteğe Bağlı: Örnek Görüntü ile Görsel Doğrulama + +Aşağıda döndürülmüş, gürültülü bir makbuzun küçük bir ön izlemesi yer alıyor. Eğikliği fark edin—kodumuz sizin için bunu düzeltecek. + +![görüntüyü eğikliği düzeltme örneği](deskew-demo.png "görüntüyü eğikliği düzeltme") + +*Alt metin: görüntüyü eğikliği düzeltme – işleme öncesi ve sonrası.* + +--- + +## Sık Sorulan Sorular + +### Bu sadece PNG/JPEG mi, PDF'lerde de çalışır mı? +Aspose.OCR PDF'leri doğrudan okuyabilir; sadece `ImageStream.fromFile` yerine `ImageStream.fromPdf` kullanmanız yeterlidir. Aynı ön işleme bayrakları geçerlidir, böylece hâlâ **görüntüyü eğikliği düzeltme** ve **gürültüyü nasıl kaldırılır** işlemlerini yaparsınız. + +### Orijinal yönelimi sonraki adımlar için korumam gerekirse? +Ön işleme başlamadan önce görüntüyü klonlayabilirsiniz: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Eğikliği manuel olarak ayarlayabilir miyim? +Evet—`setDeskewAngle(double degrees)` otomatik algılama algoritmasını geçersiz kılar. Aşırı döndürmelerde otomatik algılama başarısız olduğunda faydalıdır. + +### Medyan gürültü giderme, Gaussian bulanıklaştırmadan nasıl farklıdır? +Medyan filtre, her pikseli komşularının medyanı ile değiştirir ve kenarları korur. Gaussian bulanıklaştırma her şeyi yumuşatır, karakter çizgilerini de bulanıklaştırabilir—bu yüzden OCR için medyan daha güvenlidir. + +--- + +## Sonuç + +Bu eğitimde **görüntüyü eğikliği düzeltme** işlemini, **gürültüyü nasıl kaldırılır** yöntemini ve Aspose OCR’ın yerleşik ön işleme özellikleriyle **metin tanıma** nasıl yapılır gösterdik. `setDeskew(true)` ve `setMedianDenoise(true)` ayarlarını etkinleştirerek otomatik olarak **görüntü döndürmeyi düzeltme** ve nokta‑nokta gürültüyü temizleme işlemlerini gerçekleştirirsiniz; böylece dağınık bir taramayı temiz bir metin dizesine dönüştürmüş olursunuz. + +Deney yapmaktan çekinmeyin: farklı gürültü giderme stratejileri deneyin, PDF'leri besleyin veya bir döngü içinde birden çok görüntüyü işleyin. Motor → ön işleme → tanıma modeli her senaryo için aynı kalır ve bu da herhangi bir OCR hattı için sağlam bir temel oluşturur. + +**İleri adımlar** olarak şunları inceleyebilirsiniz: + +- **Toplu işleme** – bir klasördeki tüm görüntüler üzerinde döngü kurup her sonucu bir `.txt` dosyasına yazdırma. +- **Dil paketleri** – İngilizce dışı metinlerde doğruluğu artırmak için belirli bir dil sözlüğü yükleme. +- **Gelişmiş filtreler** – düşük kontrastlı taramalar için `setContrastStretch` veya `setBinarization` gibi seçenekler. + +Başka sorularınız mı var? Yorum bırakın, iyi kodlamalar! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/java/advanced-ocr-techniques/_index.md b/ocr/vietnamese/java/advanced-ocr-techniques/_index.md index 744ed3b3c..2a62d4065 100644 --- a/ocr/vietnamese/java/advanced-ocr-techniques/_index.md +++ b/ocr/vietnamese/java/advanced-ocr-techniques/_index.md @@ -45,6 +45,9 @@ Trao quyền cho các ứng dụng Java của bạn với Aspose.OCR để nhậ Dễ dàng trích xuất văn bản từ hình ảnh bằng cách chỉ định các ký tự được phép bằng Aspose.OCR cho Java. Hãy làm theo hướng dẫn từng bước của chúng tôi để tích hợp hiệu quả, đảm bảo trải nghiệm nhận dạng văn bản liền mạch. Nâng cao các ứng dụng Java của bạn với khả năng Aspose.OCR. +## [Cách bật GPU cho OCR trong Java – Hướng dẫn đầy đủ](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Khám phá cách cấu hình GPU để tăng tốc OCR trong Java, nâng cao hiệu suất và độ chính xác. + ## Phần kết luận Với Aspose.OCR cho Java, việc thành thạo các kỹ thuật OCR nâng cao chưa bao giờ dễ dàng hơn thế. Đi sâu vào các hướng dẫn này và khám phá toàn bộ tiềm năng của tính năng nhận dạng văn bản trong các dự án Java của bạn. Nâng cao ứng dụng của bạn với khả năng tích hợp liền mạch, độ chính xác cao và khả năng trích xuất văn bản linh hoạt. Hãy tải xuống ngay bây giờ và thực hiện bước đầu tiên hướng tới sự xuất sắc của OCR với Aspose.OCR cho Java! @@ -61,9 +64,14 @@ Khai phá sức mạnh của nhận dạng văn bản với Aspose.OCR cho Java. Trao quyền cho các ứng dụng Java của bạn với Aspose.OCR để nhận dạng văn bản chính xác. Tích hợp dễ dàng, độ chính xác cao. ### [Chỉ định các ký tự được phép trong Aspose.OCR](./specify-allowed-characters/) Mở khóa tính năng trích xuất văn bản từ hình ảnh một cách liền mạch với Aspose.OCR cho Java. Hãy làm theo hướng dẫn từng bước của chúng tôi để tích hợp hiệu quả. +### [Cách bật GPU cho OCR trong Java – Hướng dẫn đầy đủ](./how-to-enable-gpu-for-ocr-in-java-complete-guide/) +Khám phá cách cấu hình GPU để tăng tốc OCR trong Java, nâng cao hiệu suất và độ chính xác. +### [Cách thực hiện OCR hình ảnh trong Java – Ghi chú viết tay với kiểm tra chính tả](./how-to-ocr-image-in-java-handwritten-notes-with-spell-check/) +Khám phá cách OCR hình ảnh ghi chú viết tay trong Java và tích hợp kiểm tra chính tả để cải thiện độ 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/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md b/ocr/vietnamese/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md new file mode 100644 index 000000000..ff831968f --- /dev/null +++ b/ocr/vietnamese/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/_index.md @@ -0,0 +1,208 @@ +--- +category: general +date: 2026-02-19 +description: Cách bật GPU để xử lý OCR nhanh chóng. Tìm hiểu cách tải ảnh độ phân + giải cao, nhận dạng ảnh văn bản và trích xuất văn bản bằng Aspose OCR. +draft: false +keywords: +- how to enable gpu +- load high resolution image +- recognize text image +- how to extract text +- enable gpu processing +language: vi +og_description: Cách bật GPU để xử lý OCR nhanh chóng. Hướng dẫn này chỉ cho bạn cách + tải ảnh độ phân giải cao, nhận dạng hình ảnh văn bản và trích xuất văn bản bằng + Aspose OCR. +og_title: Cách kích hoạt GPU cho OCR trong Java – Hướng dẫn toàn diện +tags: +- OCR +- Java +- GPU +- Aspose +title: Cách kích hoạt GPU cho OCR trong Java – Hướng dẫn đầy đủ +url: /vi/java/advanced-ocr-techniques/how-to-enable-gpu-for-ocr-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách bật GPU cho OCR trong Java – Hướng dẫn đầy đủ + +Bạn đã bao giờ tự hỏi **cách bật GPU** cho quy trình OCR của mình và giảm vài giây thời gian xử lý chưa? Bạn không phải là người duy nhất. Trong nhiều dự án xử lý hình ảnh nặng, nút thắt là bước trích xuất văn bản phụ thuộc CPU, và chuyển sang GPU có thể là một bước đột phá. + +Trong hướng dẫn này, chúng tôi sẽ hướng dẫn cách tải một **hình ảnh độ phân giải cao**, cấu hình Aspose OCR để chạy trên GPU, và cuối cùng **nhận dạng hình ảnh văn bản** và **trích xuất văn bản** chỉ với vài dòng Java. Khi kết thúc, bạn sẽ có một chương trình sẵn sàng chạy, thể hiện **bật xử lý GPU** từ đầu đến cuối. + +## Những gì bạn cần + +- Java 17 hoặc mới hơn (mã sử dụng hệ thống module nhưng vẫn hoạt động trên các JDK cũ hơn với một vài chỉnh sửa nhỏ) +- Aspose OCR cho Java 23.10 (hoặc phiên bản mới nhất) – bạn có thể lấy các tọa độ Maven từ trang Aspose +- Một GPU NVIDIA với driver CUDA 12+ đã được cài đặt (thư viện sẽ từ chối khởi động nếu không có) +- Một mẫu hình ảnh độ phân giải cao (PNG hoặc JPEG) mà bạn muốn đọc văn bản từ + +Chỉ vậy thôi. Không có dịch vụ bên ngoài, không có tín dụng đám mây, chỉ cần máy của bạn và bộ driver phù hợp. + +![Luồng công việc OCR GPU – cách bật xử lý GPU](gpu-ocr-workflow.png) + +*Văn bản thay thế hình ảnh: sơ đồ minh họa cách bật GPU cho xử lý OCR trong Java.* + +## Triển khai từng bước + +Dưới đây chúng tôi chia giải pháp thành các phần logic. Mỗi phần chứa một đoạn mã ngắn gọn, giải thích **tại sao** bước này quan trọng, và một vài mẹo thực tế mà bạn có thể sẽ đánh giá cao sau này. + +### Cách bật GPU cho OCR – Bước 1: Cài đặt phụ thuộc & Xác minh CUDA + +Trước khi bất kỳ mã Java nào chạy, runtime CUDA gốc phải có thể được phát hiện. Trên Windows bạn có thể xác minh bằng: + +```bat +nvcc --version +``` + +Trên Linux: + +```bash +nvidia-smi +``` + +Nếu lệnh in ra phiên bản driver và chi tiết GPU, bạn đã sẵn sàng. Nếu không, hãy truy cập trang web của NVIDIA, tải xuống driver phù hợp và cài đặt bộ công cụ CUDA (đảm bảo phiên bản khớp với yêu cầu của Aspose OCR – hiện tại là 12.x). + +**Mẹo:** Giữ driver GPU luôn cập nhật nhưng tránh các bản “beta‑mới nhất”; chúng đôi khi phá vỡ tính tương thích nhị phân với các thư viện gốc của Aspose. + +### Cách bật GPU cho OCR – Bước 2: Thêm phụ thuộc Aspose OCR Maven + +Thêm đoạn sau vào `pom.xml` của bạn. Điều này sẽ kéo vào engine OCR cốt lõi và các binary GPU gốc cho Windows, Linux và macOS. + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Nếu bạn thích Gradle, tương đương là: + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Sau khi làm mới dự án, các lớp `OcrEngine`, `OcrDeviceType` và `ImageStream` sẽ khả dụng. + +### Cách bật GPU cho OCR – Bước 3: Tạo OCR Engine và bật GPU + +Bây giờ chúng ta thực sự nói với Aspose để chạy trên GPU. `OcrEngine` cung cấp một đối tượng `Device` nơi chúng ta có thể chuyển loại thiết bị xử lý. + +```java +import com.aspose.ocr.*; + +public class GpuOcrExample { + public static void main(String[] args) throws Exception { + + // Step 3.1: Instantiate the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 3.2: Enable GPU processing (requires a CUDA‑enabled driver & runtime) + ocrEngine.getDevice().setDeviceType(OcrDeviceType.GPU); + + // Optional: limit the number of GPU streams for better resource control + ocrEngine.getDevice().setStreamCount(2); + + // Step 3.3: Load the high‑resolution image to be recognized + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/sample-highres.png")); + + // Step 3.4: Perform OCR and retrieve the recognized text + String recognizedText = ocrEngine.recognize().getText(); + + // Step 3.5: Display the extracted text + System.out.println("=== OCR RESULT ==="); + System.out.println(recognizedText); + } +} +``` + +**Tại sao điều này quan trọng:** Đặt `OcrDeviceType.GPU` sẽ thay đổi engine suy luận nền tảng từ triển khai chỉ CPU sang một phiên bản tăng tốc bằng CUDA. Lệnh tùy chọn `setStreamCount` cho phép bạn kiểm soát mức độ song song; hai luồng là mặc định an toàn trên hầu hết các card tiêu dùng. + +### Cách bật GPU cho OCR – Bước 4: Tải hình ảnh độ phân giải cao + +Nguồn hình ảnh độ phân giải cao cung cấp cho mô hình OCR nhiều chi tiết hình ảnh hơn, giúp tăng độ chính xác, đặc biệt với phông chữ nhỏ hoặc các chữ viết phức tạp. Trợ giúp `ImageStream.fromFile` đọc tệp vào định dạng mà engine mong đợi. + +Nếu bạn cần **tải hình ảnh độ phân giải cao** từ URL hoặc một mảng byte trong bộ nhớ, bạn có thể sử dụng: + +```java +byte[] imageBytes = java.nio.file.Files.readAllBytes(Paths.get("remote-image.png")); +ocrEngine.setImage(ImageStream.fromBytes(imageBytes)); +``` + +**Trường hợp đặc biệt:** Một số GPU có kích thước texture tối đa (thường là 16384 × 16384). Nếu hình ảnh của bạn vượt quá kích thước này, hãy cân nhắc giảm kích thước xuống một mức vẫn giữ được khả năng đọc (ví dụ, 3000 × 2000). Engine OCR sẽ tự động thay đổi kích thước nếu bạn gọi `ocrEngine.setResizeFactor(0.5)` trước khi tải. + +### Cách bật GPU cho OCR – Bước 5: Nhận dạng hình ảnh văn bản và trích xuất văn bản + +Gọi `ocrEngine.recognize()` sẽ kích hoạt suy luận mạng nơ-ron trên GPU. Phương thức trả về một đối tượng `OcrResult`; `getText()` trích xuất chuỗi văn bản thuần. Bạn cũng có thể lấy các hộp bao, điểm tin cậy, hoặc JSON thô nếu cần dữ liệu phong phú hơn. + +```java +OcrResult result = ocrEngine.recognize(); +String plainText = result.getText(); +System.out.println("Detected text length: " + plainText.length()); + +// Optional: iterate over each line with its confidence +result.getPages().forEach(page -> { + page.getLines().forEach(line -> { + System.out.printf("Line: \"%s\" (Confidence: %.2f%%)%n", + line.getText(), line.getConfidence() * 100); + }); +}); +``` + +**Tại sao bạn có thể muốn điều này:** Bước `recognize text image` là nơi GPU tỏa sáng—các hình ảnh lớn mà trên CPU mất vài giây sẽ được xử lý trong một phần thời gian. Điểm tin cậy cho phép bạn lọc kết quả kém chất lượng, một mẹo hữu ích khi bạn sau này **cách trích xuất văn bản** cho các phân tích downstream. + +### Mẹo chuyên nghiệp & Những bẫy thường gặp + +| Tình huống | Cách xử lý | +|-----------|------------| +| **Lỗi hết bộ nhớ** trên GPU | Giảm `setStreamCount` xuống 1, hoặc giảm kích thước hình ảnh trước khi đưa vào engine. | +| **Ký tự không nhận dạng được** mặc dù độ phân giải cao | Đảm bảo mô hình ngôn ngữ (`ocrEngine.setLanguage(OcrLanguage.ENGLISH)`) khớp với ngôn ngữ của văn bản. | +| **Không khớp phiên bản CUDA** | Đồng bộ phiên bản toolkit CUDA với phiên bản được đóng gói trong Aspose OCR (kiểm tra ghi chú phát hành). | +| **Nhiều GPU** | Sử dụng `ocrEngine.getDevice().setDeviceId(1)` để chọn GPU thứ hai nếu GPU đầu tiên bận. | +| **Chạy trên máy chủ không có giao diện** | Không cần bước bổ sung; driver GPU hoạt động mà không cần màn hình. | + +## Cách trích xuất văn bản – Xác minh đầu ra + +Khi bạn chạy lớp trên, bạn sẽ thấy một kết quả tương tự: + +``` +=== OCR RESULT === +Welcome to the Aspose OCR demo! +Your GPU is now accelerating text extraction. +``` + +Nếu đầu ra bị rối, hãy kiểm tra lại rằng hình ảnh thực sự có độ phân giải cao và driver GPU đã được cài đặt đúng. Bạn cũng có thể bật ghi log chi tiết: + +```java +ocrEngine.setLogLevel(OcrLogLevel.DEBUG); +``` + +Log sẽ cho biết liệu các kernel CUDA gốc đã được tải thành công hay chưa. + +## Các bước tiếp theo & Chủ đề liên quan + +- **Xử lý hàng loạt:** Đặt `OcrEngine` trong một vòng lặp và cung cấp danh sách các đường dẫn hình ảnh. Hãy nhớ tái sử dụng cùng một instance của engine để tránh việc khởi tạo GPU lặp lại. +- **Phát hiện ngôn ngữ:** Aspose OCR hỗ trợ hơn 30 ngôn ngữ. Chuyển đổi bằng `ocrEngine.setLanguage(OcrLanguage.FRENCH)`. +- **Xử lý hậu kỳ:** Sử dụng biểu thức chính quy để làm sạch chuỗi đã trích xuất, hoặc đưa nó vào pipeline NLP downstream. +- **Thiết bị thay thế:** Nếu bạn không có GPU hỗ trợ CUDA, bạn có thể quay lại `OcrDeviceType.CPU`. Mã vẫn hoạt động; chỉ cần thay đổi loại thiết bị. +- **Đánh giá hiệu năng:** Đo thời gian chênh lệch bằng `System.nanoTime()` trước và sau `recognize()` để định lượng lợi ích từ **bật xử lý GPU**. + +--- + +### Kết luận + +Chúng tôi đã trình bày **cách bật GPU** cho Aspose OCR trong Java, từ việc cài đặt driver phù hợp đến tải một **hình ảnh độ phân giải cao**, **nhận dạng hình ảnh văn bản**, và cuối cùng **cách trích xuất văn bản** từ kết quả. Ví dụ hoàn chỉnh, có thể chạy ngay trên bất kỳ GPU NVIDIA hiện đại nào. + +Hãy thử nghiệm, thay đổi kích thước hình ảnh khác nhau, và xem tốc độ OCR của bạn tăng vọt. Nếu gặp khó khăn, hãy xem lại phần mẹo hoặc kiểm tra ghi chú phát hành của Aspose để có các khuyến nghị mới nhất về **bật xử lý GPU**. + +Chúc lập trình vui vẻ, và chúc GPU của bạn luôn mát khi xử lý văn bả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/vietnamese/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md b/ocr/vietnamese/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md new file mode 100644 index 000000000..ec7366392 --- /dev/null +++ b/ocr/vietnamese/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/_index.md @@ -0,0 +1,243 @@ +--- +category: general +date: 2026-02-19 +description: Học cách OCR hình ảnh ghi chú viết tay trong Java bằng Aspose OCR. Bao + gồm tải hình ảnh để OCR, đọc ghi chú viết tay và chuyển đổi văn bản từ hình ảnh + viết tay. +draft: false +keywords: +- how to OCR image +- OCR handwritten notes +- read handwritten notes +- load image for OCR +- convert handwritten image text +language: vi +og_description: Cách OCR hình ảnh ghi chú viết tay trong Java với Aspose. Hướng dẫn + từng bước để tải hình ảnh cho OCR, đọc ghi chú viết tay và chuyển đổi văn bản từ + hình ảnh viết tay. +og_title: Cách OCR Hình ảnh trong Java – Hướng dẫn Ghi chú Viết tay +tags: +- Java +- OCR +- Aspose +- Handwriting +title: Cách OCR hình ảnh trong Java – Ghi chú viết tay với kiểm tra chính tả +url: /vi/java/advanced-ocr-techniques/how-to-ocr-image-in-java-handwritten-notes-with-spell-check/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách OCR Hình ảnh trong Java – Ghi chú viết tay với Kiểm tra Chính tả + +Bạn đã bao giờ tự hỏi **cách OCR hình ảnh** chứa danh sách mua sắm hoặc biên bản họp viết tay của mình chưa? Bạn không phải là người duy nhất. Trong nhiều ứng dụng thực tế, các nhà phát triển cần đọc ghi chú viết tay và chuyển chúng thành văn bản có thể tìm kiếm—không cần nhập lại thủ công. + +Trong hướng dẫn này, chúng tôi sẽ đi qua một ví dụ hoàn chỉnh, sẵn sàng chạy, cho bạn thấy chính xác **cách OCR hình ảnh** bằng Aspose OCR for Java, cách **tải hình ảnh để OCR**, và cách **đọc ghi chú viết tay** với tính năng kiểm tra chính tả tích hợp. Khi kết thúc, bạn sẽ có thể **chuyển đổi văn bản hình ảnh viết tay** thành một chuỗi sạch mà bạn có thể lưu, lập chỉ mục hoặc hiển thị. + +## Những gì bạn sẽ học + +- Các bước chính xác để thiết lập một công cụ OCR hiểu được chữ viết tay tiếng Anh. +- Cách **tải hình ảnh để OCR** từ đĩa và đưa vào công cụ. +- Tại sao việc bật bộ kiểm tra chính tả lại quan trọng khi xử lý các nét vẽ lộn xộn. +- Các cách xử lý các trường hợp biên thường gặp, như hình ảnh độ tương phản thấp hoặc thiếu gói ngôn ngữ. +- Một mẫu mã đầy đủ, có thể chạy được mà bạn có thể dán vào IDE và thấy kết quả ngay lập tức. + +> **Yêu cầu trước**: Java 8+ đã cài đặt, Maven hoặc Gradle để quản lý phụ thuộc, và giấy phép Aspose OCR for Java (bản dùng thử miễn phí đủ cho việc học). Không cần thư viện bên ngoài nào khác. + +## Bước 1: Thiết lập dự án và thêm phụ thuộc Aspose OCR + +Đầu tiên—dự án của bạn cần thư viện Aspose OCR. Nếu bạn đang sử dụng Maven, thêm đoạn sau vào `pom.xml` của bạn: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Hoặc với Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +> **Mẹo chuyên nghiệp**: Hãy chú ý đến số phiên bản; các bản phát hành mới cải thiện khả năng nhận dạng chữ viết tay và thêm hỗ trợ ngôn ngữ. + +Khi phụ thuộc đã được giải quyết, bạn đã sẵn sàng để **tải hình ảnh để OCR**. + +## Bước 2: Tạo đối tượng OCR Engine + +Để **cách OCR hình ảnh** hiệu quả, bạn cần một đối tượng `OcrEngine`. Đối tượng này là trung tâm của quá trình—nó chứa các cài đặt ngôn ngữ, cờ kiểm tra chính tả và hình ảnh. + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // The rest of the steps follow... +``` + +Tại sao chúng ta khởi tạo công cụ trước? Bởi vì Aspose OCR được thiết kế để tái sử dụng; bạn có thể xử lý nhiều hình ảnh với cùng một đối tượng, điều chỉnh cài đặt giữa các lần chạy nếu cần. + +## Bước 3: Thêm hỗ trợ ngôn ngữ tiếng Anh và bật sửa lỗi chính tả + +Ghi chú viết tay thường đầy các lỗi chính tả, thiếu chữ, hoặc viết tắt không chuẩn. Bật bộ kiểm tra chính tả cho phép công cụ làm sạch kết quả. + +```java + // Add English language support + ocrEngine.getLanguages().add(OcrLanguage.ENG); + + // Turn on the built‑in spell checker + ocrEngine.getSpellChecker().setEnabled(true); +``` + +**Tại sao bật sửa lỗi chính tả?** +> Nếu không, kết quả OCR thô có thể là “t0d@y” hoặc “c0ffee”. Bộ kiểm tra chính tả chuẩn hoá những bất thường này, làm cho văn bản cuối cùng hữu ích hơn nhiều cho các quy trình tiếp theo như lập chỉ mục tìm kiếm. + +## Bước 4: Tải hình ảnh viết tay + +Bây giờ chúng ta **tải hình ảnh để OCR**. Aspose cung cấp phương thức tiện lợi `ImageStream.fromFile` chấp nhận bất kỳ định dạng raster phổ biến nào (PNG, JPEG, BMP). + +```java + // Path to your handwritten note image + String imagePath = "YOUR_DIRECTORY/handwritten-note.png"; + + // Load the image into the OCR engine + ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Nếu hình ảnh của bạn nằm trong thư mục tài nguyên hoặc bạn nhận được dưới dạng mảng byte (ví dụ, từ tải lên web), bạn có thể dùng `ImageStream.fromBytes` thay thế—chỉ cần thay dòng trên bằng: + +```java + // ocrEngine.setImage(ImageStream.fromBytes(uploadedBytes)); +``` + +## Bước 5: Thực hiện OCR và lấy văn bản đã sửa + +Với công cụ đã được cấu hình và hình ảnh đã được tải, lời gọi **cách OCR hình ảnh** thực tế chỉ là một dòng: + +```java + // Run OCR and get the corrected text + String correctedText = ocrEngine.recognize().getText(); +``` + +Phương thức `recognize()` trả về một đối tượng `OcrResult` chứa không chỉ văn bản thuần mà còn điểm tin cậy, hộp bao và hơn thế nữa. Đối với hầu hết các trường hợp, `getText()` đơn giản là đủ. + +## Bước 6: Xuất kết quả + +Cuối cùng, chúng ta in chuỗi đã được làm sạch ra console. Trong một ứng dụng thực tế, bạn có thể lưu nó vào cơ sở dữ liệu, đưa vào công cụ tìm kiếm, hoặc truyền cho mô hình ngôn ngữ. + +```java + // Display the corrected text + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +### Kết quả mong đợi + +Giả sử ghi chú viết tay là: + +``` +Buy milk, eggs, and bread tomorrow. +``` + +Bạn sẽ thấy một kết quả giống như: + +``` +Corrected text: +Buy milk, eggs, and bread tomorrow. +``` + +Ngay cả khi nét viết gốc lộn xộn—ví dụ “B u y m i l k , e g g s , a n d B r e a d t o m o r r o w”—bộ kiểm tra chính tả thường sẽ chỉnh sửa lại. + +## Tải hình ảnh để OCR – Mẹo để tăng độ chính xác + +1. **Độ phân giải quan trọng** – Nhắm ít nhất 300 dpi. Độ phân giải thấp khiến công cụ bỏ lỡ các nét mảnh. +2. **Độ tương phản là quan trọng nhất** – Nếu nền có màu, chuyển hình ảnh sang thang độ xám trước. +3. **Cắt tới nội dung** – Loại bỏ các lề không cần thiết giảm nhiễu và tăng tốc xử lý. + +Bạn có thể tiền xử lý hình ảnh bằng các thư viện như OpenCV hoặc thậm chí `BufferedImage` tích hợp sẵn trong Java trước khi đưa cho Aspose. + +## Đọc ghi chú viết tay: Xử lý các trường hợp biên + +- **Từ có độ tin cậy thấp**: `ocrEngine.getResult().getWords()` trả về một danh sách trong đó mỗi từ có giá trị độ tin cậy (0–100). Bạn có thể lọc các từ dưới ngưỡng và yêu cầu người dùng xem xét thủ công. +- **Nhiều ngôn ngữ**: Nếu bạn cần **đọc ghi chú viết tay** bằng cả tiếng Anh và tiếng Tây Ban Nha, hãy thêm cả hai ngôn ngữ trước khi gọi `recognize()`. +- **Tệp lớn**: Đối với PDF hoặc TIFF đa trang, lặp lại mỗi trang bằng `ocrEngine.setImage(pageStream)` trong một vòng lặp. + +## Chuyển đổi văn bản hình ảnh viết tay thành dữ liệu có cấu trúc + +Thường bạn không chỉ cần một chuỗi thô; bạn có thể muốn trích xuất ngày tháng, số tiền, hoặc các mục danh sách kiểm tra. Sau khi có văn bản đã được sửa, các biểu thức chính quy hoặc thư viện NLP (như Stanford CoreNLP) có thể phân tích nội dung: + +```java +// Example: Extract a date from the OCR output +Pattern datePattern = Pattern.compile("\\b\\d{2}/\\d{2}/\\d{4}\\b"); +Matcher matcher = datePattern.matcher(correctedText); +if (matcher.find()) { + System.out.println("Found date: " + matcher.group()); +} +``` + +Đoạn mã này cho thấy việc chuyển từ **chuyển đổi văn bản hình ảnh viết tay** sang dữ liệu có thể hành động là bao nhiêu dễ dàng. + +## Những lỗi thường gặp và cách tránh chúng + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Kết quả rối loạn, nhiều ký tự `?` | Hình ảnh quá tối hoặc độ tương phản thấp | Tăng độ sáng hoặc tiền xử lý bằng cân bằng histogram | +| Thiếu từ | Chữ viết tay quá nối liền | Bật `ocrEngine.getSettings().setEnableCursive(true)` (nếu hỗ trợ) | +| Bộ kiểm tra chính tả đưa ra từ sai | Mô hình ngôn ngữ không khớp | Thêm từ điển tùy chỉnh qua `ocrEngine.getSpellChecker().addUserWords(...)` | +| Lỗi hết bộ nhớ khi xử lý hình ảnh lớn | Kích thước hình ảnh > 10 MB | Giảm kích thước trước khi tải, hoặc xử lý theo từng phần | + +## Ví dụ đầy đủ hoạt động (Sẵn sàng sao chép‑dán) + +```java +import com.aspose.ocr.*; + +public class SpellCorrectExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Add English language support and enable spell correction + ocrEngine.getLanguages().add(OcrLanguage.ENG); + ocrEngine.getSpellChecker().setEnabled(true); + + // Step 3: Load the image that contains handwritten text + // Replace with the actual path to your handwritten note + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/handwritten-note.png")); + + // Step 4: Perform OCR and obtain the corrected text + String correctedText = ocrEngine.recognize().getText(); + + // Step 5: Output the result + System.out.println("Corrected text:"); + System.out.println(correctedText); + } +} +``` + +> **Lưu ý**: Nếu bạn chạy mã từ IDE, hãy chắc chắn thư mục `YOUR_DIRECTORY` nằm trong classpath hoặc sử dụng đường dẫn tuyệt đối. + +## Kết luận + +Chúng tôi đã trình bày **cách OCR hình ảnh** trong Java từ đầu đến cuối, cho bạn thấy cách **tải hình ảnh để OCR**, **đọc ghi chú viết tay**, bật kiểm tra chính tả, và cuối cùng **chuyển đổi văn bản hình ảnh viết tay** thành một chuỗi sạch. Cách tiếp cận này đơn giản, nhưng đủ mạnh cho các ứng dụng cấp sản xuất. + +Sẵn sàng cho thử thách tiếp theo? Hãy thử nghiệm với PDF đa trang, thêm từ điển tùy chỉnh cho các thuật ngữ ngành, hoặc đưa kết quả OCR vào mô hình học máy để phân tích cảm xúc. Không gì là không thể khi bạn kết hợp độ chính xác của Aspose OCR với tính linh hoạt của Java. + +Có câu hỏi về một trường hợp biên cụ thể, hoặc muốn chia sẻ cách bạn tích hợp tính năng này vào ứng dụng di động? Hãy để lại bình luận bên dưới—chúc lập trình vui vẻ! + +![ví dụ cách OCR hình ảnh](/images/ocr-handwritten-example.png "cách OCR hình ảnh của ghi chú viết tay") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/_index.md b/ocr/vietnamese/java/ocr-basics/_index.md index a1b914e74..88a616047 100644 --- a/ocr/vietnamese/java/ocr-basics/_index.md +++ b/ocr/vietnamese/java/ocr-basics/_index.md @@ -97,11 +97,25 @@ Hãy nhớ, hành trình không dừng lại ở đây—Aspose.OCR còn cung c ## Các tutorial Cơ bản OCR ### [How to Set License for Aspose.OCR in Java](./set-license/) Mở khóa tiềm năng của Aspose.OCR cho Java với hướng dẫn từng bước này. Thiết lập giấy phép một cách dễ dàng và nâng cao khả năng OCR của bạn. + ### [Calculating Skew Angle in Aspose.OCR for Java](./calculate-skew-angle/) Nâng cao độ chính xác OCR với Aspose.OCR cho Java. Học cách tính góc nghiêng từng bước. Cải thiện xử lý tài liệu một cách dễ dàng. + ### [Getting Rectangles with Text Areas in Aspose.OCR](./get-rectangles-with-text-areas/) Mở khóa sức mạnh của Aspose.OCR cho Java. Học cách trích xuất văn bản từ hình ảnh một cách liền mạch trong hướng dẫn chi tiết này. Tải ngay để nhận dạng văn bản hiệu quả. +### [Nhận dạng văn bản từ PNG trong Java – Hướng dẫn Aspose OCR](./recognize-text-from-png-in-java-aspose-ocr-tutorial/) +Học cách trích xuất và nhận dạng văn bản từ tệp PNG bằng Aspose OCR trong Java một cách nhanh chóng và chính xác. + +### [Trích xuất văn bản từ hình ảnh – chuyển PNG sang văn bản trong Java](./extract-text-from-image-convert-png-to-text-in-java/) +Học cách chuyển đổi tệp PNG thành văn bản bằng Aspose.OCR trong Java một cách nhanh chóng và chính xác. + +### [Trích xuất văn bản từ hình ảnh trong Java – Ví dụ OCR hoàn chỉnh](./extract-text-from-image-in-java-complete-ocr-example/) +Học cách thực hiện OCR đầy đủ trên hình ảnh trong Java bằng Aspose.OCR, từ thiết lập đến trích xuất văn bản chính xác. + +### [Trích xuất văn bản từ hình ảnh với Aspose OCR – Hướng dẫn nhanh Java](./extract-text-from-image-with-aspose-ocr-java-quick-guide/) +Hướng dẫn nhanh cách sử dụng Aspose OCR trong Java để trích xuất văn bản từ hình ảnh một cách hiệu quả. + --- **Last Updated:** 2025-12-08 @@ -113,4 +127,4 @@ Mở khóa sức mạnh của Aspose.OCR cho Java. Học cách trích xuất vă {{< /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/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md b/ocr/vietnamese/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md new file mode 100644 index 000000000..3512c1d3e --- /dev/null +++ b/ocr/vietnamese/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/_index.md @@ -0,0 +1,211 @@ +--- +category: general +date: 2026-02-19 +description: trích xuất văn bản từ hình ảnh bằng Aspose OCR Java – học cách chuyển + đổi PNG sang văn bản, tải hình ảnh cho OCR và làm theo hướng dẫn OCR Java. +draft: false +keywords: +- extract text from image +- convert png to text +- load image for ocr +- java ocr tutorial +- Aspose OCR Java +- OCR language support +language: vi +og_description: Trích xuất văn bản từ hình ảnh bằng Aspose OCR Java. Thực hiện theo + hướng dẫn OCR Java từng bước để chuyển đổi PNG sang văn bản và tải hình ảnh cho + OCR. +og_title: trích xuất văn bản từ hình ảnh – Hướng dẫn OCR Java +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Trích xuất văn bản từ hình ảnh – chuyển PNG thành văn bản trong Java +url: /vi/java/ocr-basics/extract-text-from-image-convert-png-to-text-in-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# trích xuất văn bản từ hình ảnh – Hướng dẫn OCR Java + +Bạn đã bao giờ cần **extract text from image** nhưng không chắc thư viện nào cho phép bạn làm điều đó mà không phải vượt qua nhiều rào cản? Bạn không phải là người duy nhất—các nhà phát triển thường hỏi, “Làm sao tôi có thể convert a PNG to text in Java?” Tin tốt là Aspose OCR khiến toàn bộ quá trình trở nên dễ dàng như đi dạo trong công viên. Trong hướng dẫn này, chúng tôi sẽ đi qua một **java ocr tutorial** hoàn chỉnh, cho bạn thấy cách **load image for OCR**, và cuối cùng có được văn bản sạch, có thể tìm kiếm. + +Chúng tôi sẽ đề cập đến mọi thứ từ việc thiết lập engine đến xử lý nội dung đa ngôn ngữ, vì vậy vào cuối bạn sẽ có thể **extract text from image** các tệp có bất kỳ kích thước, định dạng hoặc ngôn ngữ nào. Không có dịch vụ bên ngoài, không có API keys—chỉ một JAR duy nhất và vài dòng mã. + +## Những gì bạn cần + +- JDK 8 hoặc mới hơn đã được cài đặt (mã cũng chạy trên JDK 11+). +- Maven hoặc Gradle để tải thư viện Aspose OCR, hoặc bạn có thể tải JAR thủ công từ trang web Aspose. +- Một hình ảnh PNG chứa một số văn bản có thể đọc được (trong ví dụ của chúng tôi sẽ dùng `khmer-sign.png`). +- Một IDE hoặc trình soạn thảo văn bản mà bạn cảm thấy thoải mái—IntelliJ IDEA, Eclipse, VS Code, bất kỳ cái nào cũng được. + +Chỉ vậy thôi. Không có framework nặng, không có thông tin đăng nhập cloud. Sẵn sàng chưa? Hãy bắt đầu **extract text from image** các tệp hình ảnh. + +## Bước 1: Thêm Aspose OCR vào Dự án của bạn + +Đầu tiên—bạn cần engine OCR trên classpath. Nếu bạn dùng Maven, thêm phụ thuộc này vào `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +Hoặc với Gradle: + +```groovy +implementation 'com.aspose:aspose-ocr:23.10' +``` + +Nếu bạn thích cách thủ công, tải JAR từ trang tải xuống của Aspose và đặt nó vào thư mục `libs` của dự án, sau đó thêm vào đường dẫn biên dịch. + +> **Pro tip:** Luôn chọn phiên bản ổn định mới nhất; các phiên bản cũ hơn có thể thiếu các gói ngôn ngữ hoặc bản sửa lỗi. + +## Bước 2: Tạo Instance của OCR Engine + +Bây giờ thư viện đã sẵn sàng, chúng ta có thể khởi tạo một `OcrEngine`. Hãy nghĩ engine như bộ não sẽ đọc các pixel và chuyển chúng thành ký tự. + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + // ... further steps will follow + } +} +``` + +Tại sao chúng ta tạo một engine mới mỗi lần? Engine giữ các bộ đệm nội bộ và dữ liệu ngôn ngữ; bắt đầu sạch sẽ đảm bảo kết quả xác định, đặc biệt khi bạn chuyển đổi ngôn ngữ sau này. + +## Bước 3: Bật Ngôn ngữ Mong muốn (Tùy chọn nhưng Được Khuyến nghị) + +Aspose OCR đi kèm với hàng chục gói ngôn ngữ. Nếu bạn biết ngôn ngữ của hình ảnh nguồn, hãy bật nó một cách rõ ràng; điều này tăng tốc nhận dạng và cải thiện độ chính xác. Trong ví dụ của chúng tôi sẽ bật Khmer (`khm`), nhưng bạn có thể thay bằng `ENG` cho tiếng Anh, `CHN` cho tiếng Trung, v.v. + +```java +// Enable Khmer language support (ISO 639‑2 code "khm") +ocrEngine.getLanguages().add(OcrLanguage.KHM); +``` + +> **Why this matters:** Khi bạn **load image for OCR**, engine sẽ chỉ tìm trong các từ điển ngôn ngữ đã bật. Để tất cả ngôn ngữ bật có thể làm chậm và tăng các kết quả sai. + +## Bước 4: Load Image for OCR – Chuyển đổi PNG sang Văn bản + +Đây là nơi bước **load image for OCR** diễn ra. Aspose cung cấp tiện ích `ImageStream.fromFile` giúp trừu tượng hoá I/O cấp thấp. + +```java +// Load the PNG that contains the text you want to extract +ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); +``` + +Nếu hình ảnh của bạn ở định dạng khác (JPEG, BMP, TIFF), cùng một phương thức vẫn hoạt động—Aspose tự động phát hiện định dạng. Chỉ cần chắc chắn đường dẫn tệp đúng; nếu không bạn sẽ gặp `FileNotFoundException`. + +## Bước 5: Chạy Quy trình OCR và Chuyển đổi PNG sang Văn bản + +Với engine đã sẵn sàng và hình ảnh đã được tải, việc nhận dạng thực tế chỉ là một lời gọi phương thức. Đối tượng kết quả cung cấp cho bạn chuỗi thô cùng với các điểm tin cậy. + +```java +// Run OCR and fetch the recognized text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Xong rồi—bạn vừa **convert PNG to text**. Chuỗi trả về có thể chứa các ngắt dòng và khoảng trắng chính xác như engine đã thấy. Bạn có thể xử lý thêm bằng `trim()`, `replaceAll("\\s+", " ")`, hoặc bất kỳ bước làm sạch nào bạn cần. + +## Bước 6: Xuất Kết quả (hoặc Lưu lại) + +Để kiểm tra nhanh, in kết quả ra console. Trong một ứng dụng thực tế bạn có thể ghi nó vào tệp, cơ sở dữ liệu, hoặc truyền cho dịch vụ khác. + +```java +System.out.println("Recognized text:"); +System.out.println(recognizedText); +``` + +**Expected output** (cho ký hiệu Khmer được cung cấp) có thể trông như sau: + +``` +សួស្តី +Welcome +``` + +Nếu đầu ra bị rối, hãy kiểm tra lại rằng bạn đã bật đúng ngôn ngữ ở Bước 3 và hình ảnh không quá mờ. Tăng độ phân giải hình ảnh (ví dụ, dùng quét 300 dpi) thường giúp cải thiện. + +## Ví dụ Hoạt động Đầy đủ + +Kết hợp tất cả các phần lại, đây là một chương trình tự chứa mà bạn có thể sao chép‑dán vào `ExtractTextExample.java` và chạy: + +```java +import com.aspose.ocr.*; + +public class ExtractTextExample { + public static void main(String[] args) throws Exception { + // 1️⃣ Create OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // 2️⃣ Enable the language you need (Khmer in this case) + ocrEngine.getLanguages().add(OcrLanguage.KHM); + + // 3️⃣ Load the PNG image you want to extract text from + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/khmer-sign.png")); + + // 4️⃣ Run OCR – this step actually converts PNG to text + String recognizedText = ocrEngine.recognize().getText(); + + // 5️⃣ Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + } +} +``` + +Chạy chương trình với: + +```bash +mvn compile exec:java -Dexec.mainClass=ExtractTextExample +``` + +hoặc, nếu bạn đang dùng Gradle: + +```bash +./gradlew run --args='ExtractTextExample' +``` + +Bạn sẽ thấy văn bản đã trích xuất được in ra console, xác nhận rằng bạn đã thành công **extract text from image** bằng Aspose OCR. + +## Những Cạm Bẫy Thường Gặp & Cách Khắc Phục + +| Triệu chứng | Nguyên nhân có thể | Cách khắc phục | +|------------|-------------------|----------------| +| Chuỗi trả về rỗng | Chưa bật ngôn ngữ hoặc mã ngôn ngữ sai | Thêm `OcrLanguage` phù hợp (ví dụ, `ENG` cho tiếng Anh). | +| Ký tự bị rối | Độ phân giải hình ảnh quá thấp hoặc nền nhiễu | Sử dụng nguồn có độ phân giải cao hơn, hoặc tiền xử lý bằng bộ lọc làm nét. | +| `OutOfMemoryError` | Hình ảnh quá lớn được tải nguyên kích thước | Giảm kích thước hình ảnh trước khi đưa vào engine (`ImageStream.fromFile(...).scale(0.5)`). | +| `FileNotFoundException` | Đường dẫn không đúng | Xác minh đường dẫn tuyệt đối hoặc tương đối; sử dụng `Paths.get(...).toAbsolutePath()`. | + +> **Remember:** OCR là một quá trình xác suất. Ngay cả khi cài đặt hoàn hảo, bạn vẫn có thể cần chỉnh sửa thủ công một vài ký tự, đặc biệt với các chữ viết nối. + +## Mở rộng Hướng dẫn – Các Bước Tiếp Theo + +- **Batch processing:** Lặp qua một thư mục chứa các tệp PNG, gọi cùng một logic cho mỗi hình ảnh. +- **PDF output:** Sử dụng Aspose PDF để nhúng văn bản đã trích xuất trở lại vào PDF có thể tìm kiếm. +- **Language detection:** Gọi `ocrEngine.detectLanguage()` trước khi đặt ngôn ngữ để cho engine tự động đoán. +- **Cloud integration:** Nếu bạn cần mở rộng, đóng gói mã trong một endpoint REST và để các micro‑service gọi nó. + +Tất cả các chủ đề này tự nhiên dựa trên **java ocr tutorial** chúng ta vừa hoàn thành, và chúng cho thấy API Aspose OCR thực sự đa năng như thế nào. + +## Kết luận + +Chúng tôi đã đi qua một **java ocr tutorial** hoàn chỉnh cho phép bạn **extract text from image** các tệp, **convert PNG to text**, và đúng cách **load image for OCR** bằng Aspose OCR. Các bước rất đơn giản: thêm thư viện, tạo engine, bật ngôn ngữ phù hợp, tải PNG, chạy `recognize()`, và xử lý đầu ra. Với nền tảng này bạn có thể tự động hoá nhập liệu, xây dựng kho lưu trữ có thể tìm kiếm, hoặc cung cấp cho bất kỳ ứng dụng nào cần văn bản máy đọc từ hình ảnh. + +Hãy thử với các hình ảnh của bạn—có thể là ảnh chụp màn hình của biên lai hoặc hợp đồng đã quét. Điều chỉnh cài đặt ngôn ngữ, thử nghiệm với độ phân giải, và bạn sẽ nhanh chóng thấy giải pháp này linh hoạt như thế nào. Nếu gặp khó khăn, hãy xem lại bảng cạm bẫy hoặc kiểm tra tài liệu chính thức của Aspose; nó đầy đủ và luôn được cập nhật. + +Chúc lập trình vui vẻ, và hy vọng dự án tiếp theo của bạn sẽ đầy đủ văn bản sạch, có thể tìm kiếm! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md b/ocr/vietnamese/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md new file mode 100644 index 000000000..35ef5a409 --- /dev/null +++ b/ocr/vietnamese/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/_index.md @@ -0,0 +1,148 @@ +--- +category: general +date: 2026-02-19 +description: Trích xuất văn bản từ hình ảnh bằng Java OCR. Tìm hiểu ví dụ Java OCR + tải hình ảnh để OCR và trích xuất văn bản từ các tệp hoá đơn chỉ trong vài bước. +draft: false +keywords: +- extract text from image +- java ocr example +- load image for ocr +- extract text from invoice +language: vi +og_description: Trích xuất văn bản từ hình ảnh bằng Java OCR. Hướng dẫn này cho thấy + cách tải hình ảnh cho OCR và lấy văn bản từ hoá đơn bằng một ví dụ Java OCR đơn + giản. +og_title: Trích xuất văn bản từ hình ảnh trong Java – Ví dụ OCR hoàn chỉnh +tags: +- OCR +- Java +- Aspose +- Image Processing +title: Trích xuất văn bản từ hình ảnh trong Java – Ví dụ OCR hoàn chỉnh +url: /vi/java/ocr-basics/extract-text-from-image-in-java-complete-ocr-example/ +--- + +final answer.{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Trích xuất văn bản từ hình ảnh trong Java – Ví dụ OCR hoàn chỉnh + +Bạn đã bao giờ cần **trích xuất văn bản từ hình ảnh** nhưng không chắc nên chọn thư viện nào chưa? Bạn không đơn độc—nhiều nhà phát triển gặp khó khăn này khi tự động hoá xử lý hoá đơn hoặc xây dựng kho lưu trữ có thể tìm kiếm. Tin tốt là gì? Chỉ với vài dòng Java, bạn có thể tải một hình ảnh để OCR, xác định vùng quan tâm, và lấy chính xác văn bản bạn cần. + +Trong hướng dẫn này, chúng ta sẽ đi qua một **java ocr example** cho thấy cách **load image for OCR**, thiết lập ROI, và **extract text from invoice** bằng Aspose.OCR. Khi kết thúc, bạn sẽ có một chương trình có thể chạy được mà bạn có thể đưa vào bất kỳ dự án Java nào. + +## Những gì bạn sẽ học + +- Cách tạo một instance của `OcrEngine` và lý do tại sao nó quan trọng. +- Cách đúng để **load image for OCR** với `ImageStream` của Aspose. +- Thiết lập một **region of interest (ROI)** để bạn chỉ xử lý phần hình ảnh chứa số tiền hoá đơn. +- Trích xuất văn bản đã nhận dạng và in ra console. +- Các lỗi thường gặp (ví dụ: tọa độ hình chữ nhật sai) và cách khắc phục nhanh. + +**Yêu cầu trước** + +- Java 8 hoặc mới hơn đã được cài đặt. +- Maven hoặc Gradle để tải thư viện Aspose.OCR (`com.aspose:aspose-ocr`). +- Một hình ảnh mẫu hoá đơn (`invoice.png`) được đặt trong thư mục đã biết. + +Đã có đầy đủ chưa? Tuyệt—hãy bắt đầu. + +![Trích xuất văn bản từ hình ảnh bằng Java OCR](/images/extract-text-from-image-java.png "ví dụ trích xuất văn bản từ hình ảnh") + +## Trích xuất văn bản từ hình ảnh – Ví dụ OCR Java từng bước + +Dưới đây là toàn bộ mã nguồn. Bạn có thể sao chép‑dán nó vào `RoiOcrExample.java` và chạy trực tiếp. + +```java +import com.aspose.ocr.*; + +public class RoiOcrExample { + public static void main(String[] args) throws Exception { + + // Step 1: Create an OCR engine instance. + // The engine holds all configuration and performs the heavy lifting. + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image. + // You can point to any PNG, JPG, or TIFF file. Here we use a sample invoice. + String imagePath = "YOUR_DIRECTORY/invoice.png"; + ocrEngine.setImage(ImageStream.fromFile(imagePath)); + + // Step 3: Define the region of interest (ROI) you want to recognize. + // x = 120, y = 340, width = 500, height = 120 – tweak these values for your own layout. + Rectangle regionOfInterest = new Rectangle(120, 340, 500, 120); + ocrEngine.setRegionOfInterest(regionOfInterest); + + // Step 4: Perform OCR on the specified ROI and retrieve the text. + // recognize() returns an OcrResult object; getText() extracts the plain string. + String extractedText = ocrEngine.recognize().getText(); + + // Step 5: Output the recognized text. + System.out.println("ROI text: " + extractedText); + } +} +``` + +### Tại sao mỗi bước lại quan trọng + +1. **Creating the OCR engine** – without an engine there’s no context for image processing. The object also lets you tweak language packs later if you need multi‑language support. +2. **Loading the image** – `ImageStream.fromFile` abstracts away the file format, ensuring the engine reads the bytes correctly. If you skip this, you’ll get a `NullPointerException`. +3. **Setting the ROI** – processing the whole page can be wasteful. By narrowing the rectangle to the invoice total area, you speed up recognition and reduce noise. +4. **Calling `recognize()`** – this is where the magic happens. The method runs the OCR algorithm over the ROI and produces a result object. +5. **Printing the output** – in real projects you’d probably store the text in a database, but `System.out.println` is perfect for a quick demo. + +## Tải hình ảnh để OCR + +Nếu bạn thắc mắc đường dẫn cần là tuyệt đối hay tương đối, câu trả lời là cả hai đều hoạt động—chỉ cần đảm bảo quá trình Java có thể đọc được tệp. Trên Windows, dấu gạch chéo ngược phải được escape (`C:\\images\\invoice.png`) hoặc bạn có thể dùng dấu gạch chéo xuôi (`C:/images/invoice.png`). + +**Mẹo:** Nếu bạn đang xử lý nhiều hoá đơn trong một vòng lặp, hãy tái sử dụng cùng một instance của `OcrEngine`; nó sẽ cache các tài nguyên nội bộ và cải thiện tốc độ xử lý. + +## Xác định Region of Interest (ROI) + +Việc chọn đúng hình chữ nhật có thể cần một vài lần thử. Một cách tiện lợi để tìm tọa độ là mở hình ảnh trong bất kỳ trình chỉnh sửa đồ họa nào (như GIMP hoặc Paint.NET) và di chuột lên vùng cần—bạn sẽ thấy giá trị X/Y trong thanh trạng thái. + +Trường hợp đặc biệt: một số hoá đơn có bố cục thay đổi. Trong trường hợp đó, bạn có thể thực hiện một lần quét nhanh toàn bộ hình ảnh, tìm các từ khóa như “Total:” bằng regex, rồi điều chỉnh ROI một cách động. + +## Thực hiện OCR và Lấy Văn bản + +Lệnh `recognize()` là đồng bộ—luồng của bạn sẽ chờ cho đến khi engine hoàn thành. Đối với các lô lớn, bạn có thể tạo một pool luồng và xử lý các hình ảnh song song. Chỉ cần nhớ mỗi luồng cần một instance riêng của `OcrEngine`; chúng không an toàn với đa luồng. + +## Chạy và Kiểm tra Kết quả + +Biên dịch và chạy: + +```bash +javac -cp "path/to/aspose-ocr.jar" RoiOcrExample.java +java -cp ".:path/to/aspose-ocr.jar" RoiOcrExample +``` + +Bạn sẽ thấy kết quả tương tự: + +``` +ROI text: $1,254.00 +``` + +Nếu đầu ra bị rối, hãy kiểm tra lại tọa độ ROI và đảm bảo chất lượng hình ảnh cao (300 dpi hoặc hơn là tốt nhất). + +### Các lỗi thường gặp & Cách khắc phục + +| Triệu chứng | Nguyên nhân có thể | Cách khắc phục | +|------------|--------------------|----------------| +| Empty string | ROI outside image bounds | Verify rectangle values against image dimensions | +| Misspelled words | Low resolution | Use a higher‑resolution source or apply image preprocessing (e.g., binarization) | +| `java.lang.NoClassDefFoundError` | Missing Aspose JAR on classpath | Add `aspose-ocr.jar` to `-cp` or use Maven/Gradle dependency management | + +## Kết luận + +Bạn giờ đã biết cách **extract text from image** trong Java bằng một **java ocr example** ngắn gọn. Bằng cách tải hình ảnh đúng cách, xác định ROI tập trung, và gọi `recognize()`, bạn có thể đáng tin cậy **extract text from invoice** và đưa dữ liệu đó vào các hệ thống downstream. + +Tiếp theo bạn muốn làm gì? Hãy thử thay đổi ROI cho các trường khác (ngày, tên nhà cung cấp), thử các language pack cho hoá đơn đa ngôn ngữ, hoặc tích hợp bước OCR vào một microservice Spring Boot. Mẫu này cũng áp dụng cho biên lai, hộ chiếu, hoặc bất kỳ tài liệu nào mà bạn cần trích xuất văn bản một cách chính xác. + +Nếu bạn có câu hỏi về việc mở rộng giải pháp này hoặc xử lý các bản scan nhiễu, hãy để lại bình luận bên dưới—chúc bạn lập trình vui! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md b/ocr/vietnamese/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md new file mode 100644 index 000000000..cacc9d2b3 --- /dev/null +++ b/ocr/vietnamese/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-02-19 +description: Trích xuất văn bản từ hình ảnh trong Java bằng Aspose OCR. Tìm hiểu cách + nhận dạng văn bản từ PNG, chuyển đổi hình ảnh thành chuỗi và đọc văn bản từ bản + quét chỉ trong vài bước. +draft: false +keywords: +- extract text from image +- recognize text from png +- convert image to string +- ocr image to text +- read text from scan +language: vi +og_description: Trích xuất văn bản từ hình ảnh nhanh chóng. Hướng dẫn này chỉ cách + nhận dạng văn bản từ file PNG, chuyển đổi hình ảnh thành chuỗi và đọc văn bản từ + bản quét bằng Aspose OCR. +og_title: Trích xuất văn bản từ hình ảnh bằng Aspose OCR – Hướng dẫn Java +tags: +- Java +- OCR +- Aspose +title: Trích xuất văn bản từ hình ảnh bằng Aspose OCR – Hướng dẫn nhanh Java +url: /vi/java/ocr-basics/extract-text-from-image-with-aspose-ocr-java-quick-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Trích xuất Văn bản từ Hình ảnh – Hướng dẫn Java Đầy đủ + +Bạn đã bao giờ cần **trích xuất văn bản từ hình ảnh** nhưng không chắc nên dùng thư viện nào? Có thể bạn có một biên lai đã quét ở định dạng PNG và muốn lấy văn bản dưới dạng chuỗi thuần để xử lý tiếp. Theo kinh nghiệm của tôi, thư viện Aspose OCR làm cho công việc này trở nên cực kỳ đơn giản, đặc biệt khi bạn làm việc với Java. + +Trong hướng dẫn này, chúng ta sẽ đi qua mọi thứ bạn cần biết: từ việc thiết lập phụ thuộc Aspose OCR, tải tệp PNG, **nhận dạng văn bản từ png**, cho tới việc chuyển kết quả thành một `String` Java có thể sử dụng. Khi kết thúc, bạn sẽ có thể **chuyển đổi hình ảnh thành chuỗi**, và bạn cũng sẽ thấy cách **đọc văn bản từ file scan** mà không gặp khó khăn. + +## Những gì bạn sẽ học + +- Cách thêm Aspose OCR vào dự án Maven hoặc Gradle. +- Đoạn mã chính xác để **trích xuất văn bản từ hình ảnh** chỉ bằng một lời gọi phương thức. +- Tại sao lớp `ImageStream` là cách ưu tiên để đưa dữ liệu vào engine. +- Mẹo xử lý các bản quét lớn, PDF đa trang, và các lỗi thường gặp. + +Không yêu cầu kinh nghiệm OCR trước, chỉ cần hiểu cơ bản về Java và có một tệp PNG muốn xử lý. + +## Điều kiện tiên quyết + +| Yêu cầu | Lý do | +|-------------|--------| +| Java 8 hoặc mới hơn | Aspose OCR hỗ trợ Java 8+. | +| Maven hoặc Gradle (tùy chọn) | Giúp quản lý phụ thuộc dễ dàng. | +| Một hình ảnh PNG (ví dụ: `quick.png`) | Nguồn dữ liệu chúng ta sẽ chạy OCR. | +| Kết nối Internet (lần chạy đầu) | Thư viện có thể tự động tải gói ngôn ngữ. | + +Nếu bạn đã có IDE Java như IntelliJ IDEA hoặc Eclipse, bạn đã sẵn sàng. + +--- + +## Bước 1: Thiết lập Aspose OCR trong Dự án của bạn + +### Maven + +Thêm phụ thuộc sau vào file `pom.xml` của bạn: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +### Gradle + +```gradle +implementation 'com.aspose:aspose-ocr:23.10' // verify the latest version on Maven Central +``` + +> **Pro tip:** Nếu bạn đang sử dụng proxy công ty, hãy chắc chắn Maven/Gradle có thể truy cập `repo.maven.apache.org`. Nếu không, quá trình build sẽ thất bại trước khi bạn viết một dòng mã nào cả. + +--- + +## Bước 2: Tải hình ảnh PNG + +Lớp `ImageStream` trừu tượng hoá chi tiết hệ thống tệp và làm việc với streams, URLs, hoặc mảng byte. Dưới đây là cách tải một PNG cục bộ: + +```java +import com.aspose.ocr.ImageStream; + +// ... + +// Replace the path with the location of your PNG file. +String imagePath = "YOUR_DIRECTORY/quick.png"; +ImageStream image = ImageStream.fromFile(imagePath); +``` + +> **Why this matters:** Sử dụng `ImageStream.fromFile` đảm bảo engine OCR nhận được hình ảnh ở định dạng mà nó hiểu đầy đủ, giúp cải thiện độ chính xác nhận dạng so với việc đưa thô mảng byte. + +--- + +## Bước 3: Nhận dạng Văn bản từ PNG + +Aspose OCR cung cấp một phương thức tĩnh duy nhất thực hiện toàn bộ công việc: `OcrEngine.recognize`. Nó trả về một `String` Java thuần, chính là những gì bạn cần khi muốn **chuyển đổi hình ảnh thành chuỗi**. + +```java +import com.aspose.ocr.OcrEngine; + +// ... + +String extractedText = OcrEngine.recognize(image); +``` + +### Điều gì xảy ra phía sau? + +1. **Tiền xử lý:** Engine tự động chỉnh nghiêng ảnh và chuẩn hoá độ tương phản. +2. **Phát hiện Ngôn ngữ:** Nếu bạn không chỉ định ngôn ngữ, Aspose sẽ cố gắng suy đoán, rất tiện cho các bản quét nhanh. +3. **Nhận dạng:** Core OCR engine chạy mô hình mạng nơ-ron đã được huấn luyện trên hàng triệu ký tự. + +Vì tất cả được gói gọn trong một lời gọi, bạn không cần can thiệp vào các cài đặt mức thấp trừ khi có trường hợp sử dụng đặc biệt. + +--- + +## Bước 4: Hiển thị và Sử dụng Chuỗi Đã Trích xuất + +Bây giờ bạn đã có văn bản, có thể in ra, lưu vào cơ sở dữ liệu, hoặc đưa vào API khác. Đây là cách đơn giản nhất—chỉ cần `System.out.println`: + +```java +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // Load the PNG image + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // Recognize text from the image + String extractedText = OcrEngine.recognize(image); + + // Display the recognized text + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +#### Kết quả Dự kiến + +``` +=== OCR Result === +Hello, world! +This is a sample OCR extraction. +``` + +> **Note:** Kết quả chính xác phụ thuộc vào nội dung của `quick.png`. Nếu ảnh chứa ghi chú viết tay, bạn có thể thấy một số lỗi nhận dạng—điều này có thể được khắc phục bằng một chút xử lý hậu kỳ. + +--- + +## Bước 5: Xử lý Các Trường hợp Đặc biệt Thường gặp + +### Bản quét lớn hoặc PDF đa trang + +Nếu bạn cần **đọc văn bản từ file scan** có kích thước lớn hơn một PNG thông thường, hãy cân nhắc: + +- Chia ảnh thành các ô (`ImageStream.fromRegion`). +- Sử dụng `OcrEngine.recognizeMultiplePages` cho đầu vào PDF. + +### Ngôn ngữ không phải tiếng Anh + +```java +OcrEngine engine = new OcrEngine(); +engine.setLanguage(OcrEngine.Language.FRENCH); // or any supported language +String frenchText = engine.recognize(image); +``` + +### Mẹo về Hiệu năng + +- Tái sử dụng cùng một thể hiện `OcrEngine` cho nhiều ảnh để tránh việc khởi tạo lại liên tục. +- Đối với xử lý hàng loạt, bật đa luồng nhưng giới hạn số luồng bằng số lõi CPU để tránh quá tải bộ nhớ. + +--- + +## Ví dụ Hoàn chỉnh + +Dưới đây là lớp Java đầy đủ, sẵn sàng chạy. Sao chép‑dán vào IDE, điều chỉnh đường dẫn ảnh, và nhấn **Run**. + +```java +import com.aspose.ocr.*; + +public class OcrTutorial { + public static void main(String[] args) throws Exception { + // ------------------------------------------------- + // Step 1: Load the image to be processed + // ------------------------------------------------- + ImageStream image = ImageStream.fromFile("YOUR_DIRECTORY/quick.png"); + + // ------------------------------------------------- + // Step 2: Recognize text from the image using Aspose OCR + // ------------------------------------------------- + String extractedText = OcrEngine.recognize(image); + + // ------------------------------------------------- + // Step 3: Display the recognized text + // ------------------------------------------------- + System.out.println("=== OCR Result ==="); + System.out.println(extractedText); + } +} +``` + +Chạy chương trình này sẽ in kết quả OCR ra console, thực hiện **chuyển đổi hình ảnh thành chuỗi** chỉ trong vài dòng mã. + +--- + +## Kết luận + +Bây giờ bạn đã biết cách **trích xuất văn bản từ hình ảnh** trong Java bằng Aspose OCR. Quy trình chỉ gồm ba bước đơn giản: tải PNG, gọi `OcrEngine.recognize`, và sử dụng chuỗi kết quả. Dù bạn đang muốn **nhận dạng văn bản từ png**, **chuyển đổi hình ảnh thành chuỗi**, hay chỉ **đọc văn bản từ file scan**, cách tiếp cận này cung cấp giải pháp đáng tin cậy, sẵn sàng cho môi trường production. + +Sẵn sàng cho thử thách tiếp theo? Hãy thử đưa một thư mục các biên lai đã quét vào vòng lặp, lưu mỗi kết quả vào CSV, hoặc thử các cài đặt ngôn ngữ riêng để cải thiện độ chính xác cho văn bản không phải tiếng Anh. Không có giới hạn, và đoạn mã bạn vừa viết là nền tảng vững chắc. + +Chúc lập trình vui vẻ, và đừng ngại để lại câu hỏi trong phần bình luận—tôi sẽ sẵn sàng hỗ trợ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md b/ocr/vietnamese/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md new file mode 100644 index 000000000..cbb1203c9 --- /dev/null +++ b/ocr/vietnamese/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-02-19 +description: nhận dạng văn bản từ png trong Java bằng Aspose OCR – tìm hiểu cách trích + xuất văn bản từ hình ảnh trong Java và xử lý hình ảnh bằng OCR một cách hiệu quả. +draft: false +keywords: +- recognize text from png +- extract text from image java +- process image with OCR +- Aspose OCR Java +- Java image processing +language: vi +og_description: Nhận dạng văn bản từ file PNG trong Java 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 Java và xử lý hình ảnh bằng OCR + từng bước. +og_title: Nhận dạng văn bản từ PNG trong Java – Hướng dẫn đầy đủ Aspose OCR +tags: +- OCR +- Java +- Image Processing +title: Nhận dạng văn bản từ PNG trong Java – Hướng dẫn Aspose OCR +url: /vi/java/ocr-basics/recognize-text-from-png-in-java-aspose-ocr-tutorial/ +--- + +{{< 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ừ png trong Java – Hướng dẫn đầy đủ Aspose OCR + +Bạn đã bao giờ cần **nhận dạng văn bản từ png** nhưng không chắc nên dùng thư viện nào? Bạn không phải là người duy nhất—nhiều lập trình viên Java gặp khó khăn này khi lần đầu tiên xử lý trích xuất dữ liệu dựa trên hình ảnh. Tin tốt là Aspose OCR giúp toàn bộ quá trình gần như không đau đầu, và trong hướng dẫn này bạn sẽ thấy cách **trích xuất văn bản từ image java** trong các dự án đồng thời **xử lý hình ảnh với OCR** một cách an toàn với đa luồng. + +Trong vài phút tới, chúng ta sẽ tạo một chương trình Java nhỏ, tải một PNG, chạy OCR trên CPU với tối đa tám luồng, và in chuỗi đã nhận dạng ra console. Không có dịch vụ bên ngoài, không có khóa API bí mật—chỉ cần mã Java thuần túy mà bạn có thể sao chép‑dán và chạy ngay hôm nay. + +## Những gì bạn cần + +- **Java 17** trở lên (mã có thể biên dịch với các phiên bản cũ hơn, nhưng 17 là lựa chọn tối ưu). +- **Aspose.OCR for Java** JAR (tải từ trang web Aspose hoặc lấy qua Maven). +- Một ảnh PNG mà bạn muốn đọc—ví dụ `document-page1.png` được lưu ở đâu đó trên ổ đĩa. +- IDE yêu thích của bạn hoặc một trình soạn thảo văn bản đơn giản và một terminal. + +Hết rồi. Nếu bạn đã có những thứ trên, chúng ta có thể bắt đầu ngay vào giải pháp. + +![Java code to recognize text from png using Aspose OCR](image-placeholder.png "recognize text from png Java example"){alt="Mã Java để nhận dạng văn bản từ png bằng Aspose OCR"} + +## Các bước thực hiện: nhận dạng văn bản từ png + +Dưới đây chúng tôi chia việc triển khai thành các phần rõ ràng, dễ quản lý. Mỗi phần là một tiêu đề H2, vì vậy bạn có thể nhảy thẳng tới phần mình quan tâm. + +### 1. Thêm Aspose OCR vào dự án của bạn + +**Tại sao?** Engine OCR nằm trong thư viện Aspose; nếu không có nó, trình biên dịch sẽ không biết `OcrEngine` là gì. + +Nếu bạn dùng Maven, chèn đoạn sau vào `pom.xml` của bạn: + +```xml + + com.aspose + aspose-ocr + 23.9 + +``` + +Đối với Gradle, nó trông như sau: + +```gradle +implementation 'com.aspose:aspose-ocr:23.9' +``` + +> **Mẹo chuyên nghiệp:** Luôn kiểm tra số phiên bản mới nhất; các bản phát hành mới thường mang lại cải tiến hiệu năng cho xử lý đa luồng. + +### 2. Tạo và cấu hình OCR Engine + +**Tại sao?** Khởi tạo `OcrEngine` cung cấp cho bạn một đối tượng sẵn sàng sử dụng, và việc điều chỉnh cài đặt thiết bị cho phép bạn khai thác toàn bộ lõi CPU có sẵn. + +```java +// Step 2: Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine to run on the CPU (no GPU required) +ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + +// Use up to 8 threads – adjust based on your hardware +ocrEngine.getDevice().setThreadCount(8); +``` + +Ở đây chúng tôi đặt thiết bị thành `CPU` một cách rõ ràng. Nếu sau này bạn chuyển sang môi trường hỗ trợ GPU, chỉ cần đổi giá trị enum—không cần thay đổi mã khác. + +### 3. Tải ảnh PNG + +**Tại sao?** OCR hoạt động trên một luồng ảnh, không phải trên đường dẫn tệp trực tiếp. Việc chuyển đổi tệp thành `ImageStream` giúp trừu tượng hoá định dạng nền tảng. + +```java +// Step 3: Load the image you want to process +String imagePath = "YOUR_DIRECTORY/document-page1.png"; +ocrEngine.setImage(ImageStream.fromFile(imagePath)); +``` + +Thay `YOUR_DIRECTORY` bằng thư mục thực tế. Nếu không tìm thấy tệp, engine sẽ ném `IOException`, chúng ta sẽ bắt lỗi này ở bước sau. + +### 4. Thực hiện nhận dạng và lấy kết quả + +**Tại sao?** Phương thức `recognize()` thực hiện công việc nặng—phát hiện ký tự, dòng và bố cục. Đối tượng `OcrResult` trả về chứa văn bản thuần. + +```java +// Step 4: Perform OCR and fetch the plain text +String recognizedText = ocrEngine.recognize().getText(); +``` + +Bạn cũng có thể yêu cầu kết quả dạng `Pdf` hoặc `Html`, nhưng cho mục đích **trích xuất văn bản từ image java** chúng tôi chỉ dùng văn bản thuần. + +### 5. Xuất văn bản và dọn dẹp + +**Tại sao?** Một `System.out.println` đơn giản là đủ cho phần demo, nhưng trong ứng dụng thực tế bạn có thể ghi vào tệp hoặc cơ sở dữ liệu. + +```java +// Step 5: Display the recognized text +System.out.println("=== OCR Result ==="); +System.out.println(recognizedText); +``` + +Vì `OcrEngine` triển khai `AutoCloseable`, nên việc bọc toàn bộ trong khối try‑with‑resources là thói quen tốt. Điều này đảm bảo các tài nguyên gốc được giải phóng kịp thời. + +### 6. Ví dụ đầy đủ, có thể chạy được + +Kết hợp tất cả lại, đây là chương trình hoàn chỉnh mà bạn có thể biên dịch và chạy: + +```java +import com.aspose.ocr.*; + +public class ParallelOcrExample { + public static void main(String[] args) { + // Use try-with-resources to guarantee cleanup + try (OcrEngine ocrEngine = new OcrEngine()) { + + // Configure the engine for CPU and multi‑threading + ocrEngine.getDevice().setDeviceType(OcrDeviceType.CPU); + ocrEngine.getDevice().setThreadCount(8); + + // Load the PNG you want to process + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/document-page1.png")); + + // Run OCR and collect the text + String recognizedText = ocrEngine.recognize().getText(); + + // Show the result + System.out.println("=== OCR Result ==="); + System.out.println(recognizedText); + + } catch (Exception e) { + // Handle common pitfalls: missing file, unsupported format, etc. + System.err.println("Error during OCR processing:"); + e.printStackTrace(); + } + } +} +``` + +**Kết quả mong đợi** (giả sử PNG chứa “Hello World”): + +``` +=== OCR Result === +Hello World +``` + +Nếu ảnh phức tạp hơn—nhiều dòng, bảng, hoặc ghi chú tay—kết quả sẽ phản ánh chính xác những gì Aspose OCR phát hiện, giữ lại các ngắt dòng khi cần. + +## Câu hỏi thường gặp & Trường hợp đặc biệt + +### PNG quá lớn thì sao? + +Ảnh lớn có thể tiêu tốn nhiều bộ nhớ. Một cách khắc phục thực tế là **thu nhỏ** ảnh trước khi đưa vào engine: + +```java +// Optional: downscale to 1500px width while preserving aspect ratio +ocrEngine.setImage(ImageStream.fromFile("big-image.png") + .resize(1500, ResizeMode.PRESERVE_ASPECT_RATIO)); +``` + +Thu nhỏ giảm tải CPU mà không làm giảm độ chính xác OCR đối với hầu hết văn bản in. + +### Có thể chạy OCR trên PDF thay vì PNG không? + +Chắc chắn rồi. Aspose OCR cũng chấp nhận PDF thông qua đối tượng `PdfDocument`. Lệnh `recognize()` vẫn hoạt động, vì vậy bạn có thể **xử lý hình ảnh với OCR** bất kể định dạng nguồn. + +### Làm sao cải thiện độ chính xác cho các script không phải Latin? + +Đặt ngôn ngữ trước khi nhận dạng: + +```java +ocrEngine.getLanguage().setLanguage(OcrLanguage.FRENCH); +``` + +Aspose cung cấp hàng chục gói ngôn ngữ; chỉ cần chọn gói phù hợp với nội dung ảnh của bạn. + +### Số luồng luôn luôn có lợi không? + +Nhiều luồng sẽ tăng tốc xử lý trên CPU đa lõi, nhưng vượt quá số lõi vật lý sẽ giảm hiệu quả. Nếu bạn thấy CPU sử dụng cao mà tốc độ không tăng tương xứng, hãy giảm số luồng về `Runtime.getRuntime().availableProcessors()`. + +## Tổng kết: Những gì chúng ta đã đạt được + +Chúng ta vừa **nhận dạng văn bản từ png** bằng một chương trình Java ngắn gọn, minh họa cách **trích xuất văn bản từ image java** với Aspose OCR, và đề cập các bước cần thiết để **xử lý hình ảnh với OCR** trong môi trường sản xuất. Mã nguồn độc lập, giải thích đáp ứng cả “cách làm” và “tại sao”, và các mẹo giúp tránh những bẫy thường gặp. + +## Bước tiếp theo là gì? + +- **Xử lý hàng loạt:** Duyệt qua một thư mục các PNG và ghi mỗi kết quả vào tệp `.txt`. +- **Tạo PDF:** Đưa đầu ra OCR vào Aspose.PDF để tạo PDF có thể tìm kiếm. +- **Mở rộng trên đám mây:** Triển khai cùng mã lên container được quản lý bởi Kubernetes và để pool luồng tự điều chỉnh theo tài nguyên pod. + +Hãy thoải mái thử nghiệm—đổi ảnh, điều chỉnh số luồng, hoặc thay đổi ngôn ngữ. Engine OCR đủ linh hoạt để đáp ứng hầu hết các kịch bản, và với nền tảng bạn vừa có, việc mở rộng sẽ trở nên dễ dàng. + +Có câu hỏi, hoặc tìm ra cách tối ưu thông minh? Hãy để lại bình luận bên dưới, và chúc bạn lập trình vui vẻ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/java/ocr-operations/_index.md b/ocr/vietnamese/java/ocr-operations/_index.md index 7d9b0fa83..db93d4328 100644 --- a/ocr/vietnamese/java/ocr-operations/_index.md +++ b/ocr/vietnamese/java/ocr-operations/_index.md @@ -79,6 +79,10 @@ Mở khóa sức mạnh của OCR trong Java với Aspose.OCR. Nhận dạng vă Mở khóa khả năng nhận dạng văn bản mạnh mẽ trong Java với Aspose.OCR. Nhận dạng văn bản trong hình ảnh TIFF một cách dễ dàng. Tải xuống ngay để có trải nghiệm OCR liền mạch. ### [Nhận dạng hình ảnh văn bản với Aspose OCR – Hướng dẫn OCR Java đầy đủ](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Khám phá cách nhận dạng toàn diện hình ảnh văn bản bằng Aspose OCR trong Java, từ cấu hình đến xuất kết quả chính xác. +### [Tạo PDF có thể tìm kiếm từ JPG – Hướng dẫn Java chuyển ảnh thành PDF có thể tìm kiếm](./create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/) +Khám phá cách chuyển đổi ảnh JPG thành PDF có thể tìm kiếm bằng Aspose.OCR cho Java, nhanh chóng và chính xác. +### [Cách chỉnh nghiêng ảnh — Hướng dẫn tiền xử lý OCR từng bước](./how-to-deskew-image-step-by-step-ocr-pre-processing-guide/) +Hướng dẫn chi tiết cách loại bỏ độ nghiêng của ảnh trước khi OCR, cải thiện độ chính xác và hiệu suất xử lý. ## Câu hỏi Thường gặp diff --git a/ocr/vietnamese/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md b/ocr/vietnamese/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md new file mode 100644 index 000000000..02bd0c114 --- /dev/null +++ b/ocr/vietnamese/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/_index.md @@ -0,0 +1,186 @@ +--- +category: general +date: 2026-02-19 +description: Tạo PDF có thể tìm kiếm từ hình ảnh JPG bằng Aspose OCR trong Java. Chuyển + đổi JPG sang PDF và nhận dạng văn bản từ hình ảnh nhanh chóng. +draft: false +keywords: +- create searchable pdf +- image to searchable pdf +- recognize text from image +- extract text from jpg +- convert jpg to pdf +language: vi +og_description: Tạo PDF có thể tìm kiếm từ hình ảnh JPG bằng Aspose OCR. Tìm hiểu + cách chuyển đổi JPG sang PDF và nhận dạng văn bản từ hình ảnh trong Java. +og_title: Tạo PDF có thể tìm kiếm từ JPG – Hướng dẫn OCR Java +tags: +- aspose-ocr +- java +- pdf +- ocr +title: Tạo PDF có thể tìm kiếm từ JPG – Hướng dẫn Java chuyển ảnh thành PDF có thể + tìm kiếm +url: /vi/java/ocr-operations/create-searchable-pdf-from-jpg-image-to-searchable-pdf-java/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tạo PDF có thể tìm kiếm từ JPG – Hướng dẫn Java Chuyển ảnh thành PDF có thể tìm kiếm + +Bạn đã bao giờ cần **tạo PDF có thể tìm kiếm** từ một bức ảnh đã quét nhưng không biết bắt đầu từ đâu chưa? Bạn không phải là người duy nhất—rất nhiều nhà phát triển gặp khó khăn khi có một JPG cần được tìm kiếm. Tin tốt là với Aspose OCR for Java, bạn có thể chuyển ảnh đó thành một PDF có thể tìm kiếm hoàn chỉnh chỉ trong vài dòng mã. + +Trong tutorial này chúng ta sẽ đi qua toàn bộ quy trình: tải JPG, nhận dạng văn bản, và lưu kết quả dưới dạng PDF có thể tìm kiếm. Khi hoàn thành, bạn sẽ biết cách **convert jpg to pdf**, cách **extract text from jpg**, và tại sao cách tiếp cận này thường đáng tin cậy hơn so với việc OCR PDF sau khi nó đã được tạo. + +## Những gì bạn cần + +* **Java Development Kit (JDK) 8 hoặc mới hơn** – mã sử dụng các API Java tiêu chuẩn. +* **Thư viện Aspose OCR for Java** – bạn có thể lấy nó từ Maven Central hoặc tải JAR từ trang web của Aspose. +* Một **tệp JPG mẫu** chứa văn bản có thể đọc được (ví dụ: hoá đơn đã quét hoặc ảnh chụp màn hình của tài liệu). + +Không cần bất kỳ framework bổ sung nào; ví dụ hoạt động với một dự án Java thuần. + +## Bước 1 – Thiết lập dự án và thêm Aspose OCR + +Đầu tiên, tạo một dự án Maven mới (hoặc chỉ một thư mục có JAR trên classpath). Nếu bạn dùng Maven, thêm phụ thuộc này vào `pom.xml` của bạn: + +```xml + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** Luôn kiểm tra phiên bản mới nhất trên kho Maven của Aspose; các bản phát hành mới hơn bao gồm các cải tiến hiệu năng và sửa lỗi. + +Khi phụ thuộc đã được giải quyết, bạn đã sẵn sàng viết mã Java để **tạo PDF có thể tìm kiếm**. + +## Bước 2 – Tải ảnh (image to searchable pdf) + +Bước thực tế đầu tiên là chỉ định engine OCR tới ảnh nguồn. Đây là nơi quá trình **image to searchable pdf** thực sự bắt đầu. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the JPG you want to turn into a searchable PDF + // Replace "YOUR_DIRECTORY/input.jpg" with the actual path to your file + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); +``` + +> **Why this matters:** `setImage` cho Aspose biết bitmap nào cần phân tích. Nếu bạn cung cấp ảnh độ phân giải thấp, chất lượng OCR sẽ giảm, vì vậy hãy chắc chắn JPG có ít nhất 300 dpi để đạt kết quả tốt nhất. + +## Bước 3 – Nhận dạng văn bản từ ảnh + +Bây giờ engine đã biết ảnh nào sẽ làm việc, chúng ta có thể yêu cầu nó **recognize text from image**. Aspose OCR thực hiện phần nặng phía sau, xử lý phát hiện ngôn ngữ, phân đoạn ký tự, và tính điểm tin cậy. + +```java + // Perform OCR and directly output a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); +``` + +Lệnh `recognize()` trả về một fluent interface, cho phép chúng ta nối chuỗi phương thức `save`. Bằng cách chỉ định `OcrOutputFormat.SEARCHABLE_PDF`, thư viện sẽ nhúng một lớp văn bản vô hình vào trong PDF đồng thời giữ nguyên hình ảnh gốc. + +> **Edge case:** Nếu JPG của bạn chứa nhiều trang (ví dụ: TIFF đa trang được lưu dưới dạng các JPG riêng biệt), bạn sẽ cần lặp qua từng tệp và sau đó hợp nhất các PDF kết quả. Cùng một engine OCR có thể được tái sử dụng cho mỗi vòng lặp. + +## Bước 4 – Xác minh kết quả + +Sau khi thao tác lưu hoàn tất, một thông báo console đơn giản sẽ cho bạn biết mọi thứ đã diễn ra suôn sẻ. + +```java + // Let the user know the PDF is ready + System.out.println("Searchable PDF created."); + } +} +``` + +Khi bạn mở `output-searchable.pdf` bằng một trình xem như Adobe Acrobat, bạn sẽ có thể chọn văn bản ẩn, sao chép nó, hoặc thực hiện tìm kiếm—đúng như mong đợi từ một **searchable PDF**. + +### Kết quả mong đợi + +Chạy chương trình sẽ in: + +``` +Searchable PDF created. +``` + +Và PDF được tạo sẽ hiển thị JPG gốc đồng thời cho phép chọn văn bản. Nếu bạn mở “Properties → Description → PDF Producer” của PDF, bạn sẽ thấy một chuỗi như `Aspose.OCR for Java`. + +## Ví dụ đầy đủ hoạt động + +Dưới đây là tệp nguồn hoàn chỉnh, sẵn sàng chạy. Sao chép‑dán vào IDE của bạn, điều chỉnh đường dẫn tệp, và chạy. + +```java +import com.aspose.ocr.*; + +public class SearchablePdfExample { + public static void main(String[] args) throws Exception { + // Step 1: Create an OCR engine instance + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the source image containing the text to be recognized + // Make sure the path points to a real JPG on your disk + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/input.jpg")); + + // Step 3: Recognize the text and directly save it as a searchable PDF + ocrEngine.recognize() + .save("YOUR_DIRECTORY/output-searchable.pdf", OcrOutputFormat.SEARCHABLE_PDF); + + // Step 4: Notify that the PDF has been created + System.out.println("Searchable PDF created."); + } +} +``` + +> **What if the OCR fails?** +> * Thông thường điều này xảy ra vì ảnh quá nhiễu hoặc ngôn ngữ không được hỗ trợ ngay lập tức. Bạn có thể cải thiện độ chính xác bằng cách tiền xử lý ảnh (tăng độ tương phản, căn chỉnh) hoặc bằng cách đặt ngôn ngữ một cách rõ ràng với `ocrEngine.getLanguage().setLanguage(OcrLanguage.English);`. + +## Câu hỏi thường gặp & Lưu ý + +| Question | Answer | +|----------|--------| +| **Can I extract the plain text instead of a PDF?** | Yes. Use `ocrEngine.recognize().save("output.txt", OcrOutputFormat.TEXT);` | +| **What if I need to process a PNG?** | The same API works; just change the file extension in `fromFile`. | +| **Is the resulting PDF truly searchable on all viewers?** | Modern viewers (Adobe Reader, Foxit, Chrome) honor the hidden text layer. Older tools might ignore it. | +| **How do I control the PDF page size?** | Aspose OCR uses the image dimensions by default. For custom sizing, generate a PDF manually and overlay the OCR text layer—this is an advanced scenario. | + +## Mẹo hiệu năng + +* **Batch processing:** Tái sử dụng một thể hiện `OcrEngine` duy nhất cho nhiều ảnh để tránh việc tải lại thư viện native liên tục. +* **Thread safety:** Engine **không** an toàn với đa luồng; tạo một thể hiện cho mỗi luồng nếu bạn thực hiện song song. +* **Memory usage:** Ảnh lớn có thể tiêu tốn nhiều RAM. Nếu gặp `OutOfMemoryError`, hãy giảm kích thước ảnh trước khi đưa vào engine. + +## Bước tiếp theo + +Bây giờ bạn đã biết cách **tạo PDF có thể tìm kiếm**, bạn có thể khám phá các nhiệm vụ liên quan: + +* **Convert jpg to pdf** mà không cần OCR (sử dụng thư viện Aspose PDF để tạo PDF chỉ chứa ảnh). +* **Extract text from jpg** vào tệp `.txt` để lập chỉ mục. +* **Combine multiple searchable PDFs** thành một tài liệu duy nhất bằng `PdfFileEditor` của Aspose PDF. + +Tất cả những việc này đều dựa trên nền tảng bạn vừa thiết lập. + +--- + +### Tóm tắt nhanh + +* Chúng tôi **đã tạo một searchable PDF** từ JPG bằng Aspose OCR for Java. +* Quy trình bao gồm tải ảnh, nhận dạng văn bản, và lưu dưới dạng searchable PDF. +* Bạn hiện có một mẫu có thể tái sử dụng cho **image to searchable PDF**, **recognize text from image**, **extract text from jpg**, và **convert jpg to pdf**. + +Hãy thử với tài liệu của riêng bạn, điều chỉnh cài đặt ngôn ngữ nếu cần, và để OCR thực hiện phần việc nặng. Chúc lập trình vui vẻ! + +![Create searchable PDF example](placeholder.png){alt="Tạo PDF có thể tìm kiếm"} + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md b/ocr/vietnamese/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md new file mode 100644 index 000000000..5067e097c --- /dev/null +++ b/ocr/vietnamese/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/_index.md @@ -0,0 +1,168 @@ +--- +category: general +date: 2026-02-19 +description: Học cách chỉnh nghiêng ảnh và loại bỏ nhiễu cho OCR. Hướng dẫn này chỉ + cách nhận dạng ảnh văn bản, sửa góc quay của ảnh và tiền xử lý ảnh OCR bằng Aspose + OCR. +draft: false +keywords: +- how to deskew image +- recognize text image +- how to remove noise +- correct image rotation +- preprocess image ocr +language: vi +og_description: Cách chỉnh nghiêng ảnh và loại bỏ nhiễu để bạn có thể nhận dạng văn + bản nhanh chóng. Hãy làm theo hướng dẫn này để sửa góc quay của ảnh và tiền xử lý + OCR ảnh bằng Aspose. +og_title: Cách chỉnh nghiêng ảnh – Hướng dẫn xử lý trước OCR đầy đủ +tags: +- OCR +- Java +- Image Processing +title: Cách chỉnh nghiêng ảnh — Hướng dẫn tiền xử lý OCR từng bước +url: /vi/java/ocr-operations/how-to-deskew-image-step-by-step-ocr-pre-processing-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách Deskew Image — Hướng Dẫn Xử Lý Trước OCR Toàn Diện + +Bạn đã bao giờ tự hỏi **how to deskew image** các tệp ảnh trước khi đưa chúng vào một engine OCR chưa? Có thể bạn đã quét một loạt biên lai, và các trang trông như đang nghiêng một chút, hoặc bản quét bị điểm nhiễu ngẫu nhiên. Đó là một vấn đề phổ biến—các hình ảnh nghiêng, nhiễu làm cho việc nhận dạng văn bản gặp khó khăn. + +Tin tốt? Bạn có thể chỉnh thẳng (correct image rotation) và loại bỏ nhiễu (how to remove noise) chỉ với vài dòng Java bằng cách sử dụng Aspose.OCR. Trong hướng dẫn này, chúng tôi sẽ đi qua toàn bộ quy trình: từ việc tải một PNG bị nhiễu‑và‑xoay, áp dụng deskew + median denoise, cho đến **recognize text image** và in kết quả. Khi kết thúc, bạn sẽ có một đoạn mã có thể tái sử dụng và chèn vào bất kỳ dự án Java nào. + +## Những Gì Bạn Cần + +- **Java 17** hoặc mới hơn (mã sẽ biên dịch với các phiên bản cũ hơn, nhưng 17 là lựa chọn tối ưu). +- **Aspose.OCR for Java** – bạn có thể tải JAR mới nhất từ Maven Central (`com.aspose:aspose-ocr`). +- Một tệp ảnh vừa bị xoay vừa nhiễu (ví dụ, `noisy-rotated.png`). +- Một IDE cơ bản (IntelliJ, Eclipse, hoặc thậm chí VS Code). + +Không cần công cụ xây dựng phức tạp; chỉ cần chạy đơn giản với `javac` + `java` là đủ. + +## Bước 1 – Tạo Instance của OCR Engine + +Điều đầu tiên bạn làm là khởi tạo một `OcrEngine`. Hãy nghĩ nó như bộ não sẽ đọc các ký tự cho bạn. + +```java +import com.aspose.ocr.*; + +public class PreprocessExample { + public static void main(String[] args) throws Exception { + + // Initialize the OCR engine – this object holds all settings + OcrEngine ocrEngine = new OcrEngine(); +``` + +> **Mẹo:** Giữ engine dưới dạng singleton nếu bạn đang xử lý nhiều ảnh; nó sẽ tái sử dụng bộ nhớ trong và tăng tốc độ. + +## Bước 2 – Bật Deskew và Median Denoise (How to Remove Noise) + +Bây giờ chúng ta yêu cầu engine **correct image rotation** và **how to remove noise**. Cả hai bộ lọc đều tùy chọn, nhưng khi kết hợp chúng sẽ cải thiện độ chính xác đáng kể. + +```java + // Turn on preprocessing filters + ocrEngine.getPreprocessing().setDeskew(true); // fixes rotation + ocrEngine.getPreprocessing().setMedianDenoise(true); // smooths out speckles +``` + +Tại sao lại dùng median denoise? Nó bảo tồn các cạnh (các đường nét xác định ký tự) trong khi loại bỏ các pixel riêng lẻ—đúng là những gì bạn cần cho OCR sạch sẽ. + +## Bước 3 – Tải Ảnh Bạn Muốn Xử Lý + +Ở đây chúng ta chỉ định engine tới tệp cần làm sạch. `ImageStream.fromFile` đọc PNG vào bộ nhớ. + +```java + // Load the noisy‑rotated image + ocrEngine.setImage(ImageStream.fromFile("YOUR_DIRECTORY/noisy-rotated.png")); +``` + +Nếu ảnh của bạn nằm trên máy chủ từ xa, chỉ cần cung cấp một `InputStream` thay thế—Aspose sẽ xử lý một cách mượt mà. + +## Bước 4 – Chạy OCR và Lấy Văn Bản Được Nhận Diện + +Với tiền xử lý được bật, engine bây giờ sẽ đọc ảnh đã được chỉnh sửa. Lệnh `recognize()` trả về một `RecognitionResult` chứa chuỗi đã trích xuất. + +```java + // Perform OCR – the engine automatically applies deskew & denoise first + String recognizedText = ocrEngine.recognize().getText(); + + // Show the output + System.out.println("=== Recognized Text ==="); + System.out.println(recognizedText); + } +} +``` + +Bạn sẽ thấy văn bản sạch sẽ, dễ đọc trên console, ngay cả khi ảnh gốc bị nghiêng và nhiễu. + +## Bước 5 – Xác Minh Kết Quả (What to Expect) + +Khi mọi thứ hoạt động, console sẽ in ra một thứ gì đó như: + +``` +=== Recognized Text === +Invoice #12345 +Date: 2026‑02‑15 +Total: $1,234.56 +``` + +Nếu đầu ra vẫn chứa các ký tự rối, hãy kiểm tra lại: + +- Độ phân giải ảnh (≥ 300 dpi là lý tưởng). +- Đường dẫn tệp đúng. +- Liệu các bộ lọc bổ sung (ví dụ, `setContrastStretch`) có hữu ích không. + +## Tùy Chọn: Xác Nhận Bằng Hình Ảnh Ví Dụ + +Dưới đây là một bản xem trước nhỏ của một biên lai bị xoay và nhiễu. Hãy chú ý đến độ nghiêng—code của chúng tôi sẽ chỉnh thẳng cho bạn. + +![ví dụ cách deskew image](deskew-demo.png "cách deskew image") + +*Văn bản thay thế: cách deskew image – trước và sau khi xử lý.* + +## Câu Hỏi Thường Gặp + +### Điều này có hoạt động với PDF hay chỉ PNG/JPEG? + +Aspose.OCR có thể đọc PDF trực tiếp; chỉ cần thay thế `ImageStream.fromFile` bằng `ImageStream.fromPdf`. Các cờ tiền xử lý vẫn được áp dụng, vì vậy bạn vẫn nhận được **how to deskew image** và **how to remove noise**. + +### Nếu tôi cần giữ nguyên hướng gốc cho các bước sau thì sao? + +Bạn có thể sao chép ảnh trước khi tiền xử lý: + +```java +Image original = ocrEngine.getImage().clone(); +ocrEngine.getPreprocessing().apply(); // modifies the internal copy +// Use original later if needed +``` + +### Tôi có thể thay đổi góc deskew thủ công không? + +Có—`setDeskewAngle(double degrees)` cho phép bạn ghi đè thuật toán tự động phát hiện. Hữu ích khi auto‑detect thất bại với các góc xoay cực đoan. + +### Median denoise khác gì so với Gaussian blur? + +Bộ lọc median thay thế mỗi pixel bằng giá trị trung vị của các pixel lân cận, giúp bảo tồn các cạnh. Gaussian blur làm mờ mọi thứ, có thể làm mờ nét ký tự—do đó median là lựa chọn an toàn hơn cho OCR. + +## Tổng Kết + +Trong tutorial này, chúng tôi đã đề cập đến **how to deskew image** các tệp, trình diễn **how to remove noise**, và cho bạn thấy cách **recognize text image** bằng việc sử dụng tiền xử lý tích hợp của Aspose OCR. Bằng cách bật `setDeskew(true)` và `setMedianDenoise(true)`, bạn tự động **correct image rotation** và loại bỏ các điểm nhiễu, biến một bản quét lộn xộn thành một chuỗi văn bản sạch. + +Hãy thoải mái thử nghiệm: thử các chiến lược denoise khác nhau, đưa PDF vào, hoặc nối nhiều ảnh trong một vòng lặp. Mẫu giống nhau—engine → preprocess → recognize—áp dụng cho mọi tình huống, tạo nền tảng vững chắc cho bất kỳ pipeline OCR nào. + +**Các bước tiếp theo** bạn có thể khám phá: + +- **Xử lý hàng loạt** – lặp qua một thư mục ảnh và ghi mỗi kết quả vào tệp `.txt`. +- **Gói ngôn ngữ** – tải từ điển ngôn ngữ cụ thể để tăng độ chính xác cho văn bản không phải tiếng Anh. +- **Bộ lọc nâng cao** – như `setContrastStretch` hoặc `setBinarization` cho các bản quét có độ tương phản thấp. + +Có thêm câu hỏi? Để lại bình luận, và chúc bạn lập trình vui vẻ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file